fix experiment_handler_util
diff --git a/.asf.yaml b/.asf.yaml
index 0fabe21..d4a5f2f 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -1,3 +1,31 @@
+
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+notifications:
+  commits:              commits@airavata.apache.org
+  # Send all issue emails (new, closed, comments) to issues@
+  issues:               issues@airavata.apache.org
+  # Send new/closed PR notifications to dev@
+  pullrequests_status:  custos@airavata.apache.org
+  # Send individual PR comments/reviews to issues@
+  pullrequests_comment: issues@airavata.apache.org
+  
 github:
   description: "A general purpose Distributed Systems Framework"
   homepage: https://airavata.apache.org/
@@ -10,4 +38,4 @@
     - java
     - workfloworchestrator
     - workflow
-    - bigdata
\ No newline at end of file
+    - bigdata
diff --git a/AWSCLIV2.pkg b/AWSCLIV2.pkg
new file mode 100644
index 0000000..ab2c9f5
--- /dev/null
+++ b/AWSCLIV2.pkg
Binary files differ
diff --git a/CITATION.cff b/CITATION.cff
new file mode 100644
index 0000000..92f4e12
--- /dev/null
+++ b/CITATION.cff
@@ -0,0 +1,56 @@
+# This CITATION.cff file was generated with cffinit.
+# Visit https://bit.ly/cffinit to generate yours today!
+
+cff-version: 1.2.0
+title: Apache Airavata
+message: >-
+  If you use this software, please cite it using the
+  metadata from this file.
+type: software
+authors:
+  - given-names: Airavata
+    family-names: Apache
+    email: dev@airavata.apache.org
+repository-code: 'https://github.com/apache/airavata'
+url: 'https://airavata.apache.org/'
+license: Apache-2.0
+preferred-citation:
+  type: proceedings
+  authors:
+  - family-names: "Marru"
+    given-names: "Suresh"
+  - family-names: "Gunathilake"
+    given-names: "Lahiru"
+  - family-names: "Herath"
+    given-names: "Chathura"
+  - family-names: "Tangchaisin"
+    given-names: "Patanachai"
+  - family-names: "Pierce"
+    given-names: "Marlon"
+  - family-names: "Mattmann"
+    given-names: "Chris"
+  - family-names: "Singh"
+    given-names: "Raminder"
+  - family-names: "Gunarathne"
+    given-names: "Thilina"
+  - family-names: "Chinthaka"
+    given-names: "Eran"
+  - family-names: "Gardler"
+    given-names: "Ross"
+  - family-names: "Slominski"
+    given-names: "Aleksander"
+  - family-names: "Douma"
+    given-names: "Ate"
+  - family-names: "Perera"
+    given-names: "Srinath"
+  - family-names: "Weerawarana"
+    given-names: "Sanjiva"
+  doi: "10.1145/2110486.2110490"
+  journal: "Proceedings of the 2011 ACM workshop on Gateway computing environments"
+  month: 11
+  start: 1 # 21
+  end: 10 # 28
+  title: "Apache airavata: a framework for distributed applications and computational workflows"
+  issue: 1
+  volume: 1
+  year: 2011
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
index 9abf15e..fa24355 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/AiravataAPIServer.java
@@ -59,7 +59,7 @@
 	public AiravataAPIServer() {
 		setStatus(ServerStatus.STOPPED);
 	}
-	
+
     public void startAiravataServer(Airavata.Processor<Airavata.Iface> airavataAPIServer) throws AiravataSystemException {
         try {
             final String serverHost = ServerSettings.getSetting(Constants.API_SERVER_HOST, null);
@@ -110,6 +110,7 @@
 							setStatus(ServerStatus.STARTED);
 							logger.info("Starting Airavata API Server on Port " + serverPort);
 							logger.info("Listening to Airavata Clients ....");
+
 						}
 					}
 				}.start();
@@ -211,14 +212,14 @@
 	@Override
 	public void configure() throws Exception {
 		// TODO Auto-generated method stub
-		
+
 	}
 
 	@Override
 	public ServerStatus getStatus() throws Exception {
 		return status;
 	}
-	
+
 	private void setStatus(ServerStatus stat){
 		status=stat;
 		status.updateTime();
diff --git a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
index b957e5a..dc62989 100644
--- a/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
+++ b/airavata-api/airavata-api-server/src/main/java/org/apache/airavata/api/server/handler/AiravataServerHandler.java
@@ -1639,6 +1639,11 @@
                 sharingClientPool.returnResource(sharingClient);
                 return null;
             }
+        } catch (ExperimentNotFoundException e) {
+            logger.error(e.getMessage(), e);
+            registryClientPool.returnResource(regClient);
+            sharingClientPool.returnResource(sharingClient);
+            throw e;
         } catch (Exception e) {
             logger.error("Error while getting the experiment", e);
             AiravataSystemException exception = new AiravataSystemException();
@@ -2185,12 +2190,18 @@
 
             // Verify user has READ access to Application Deployment
             final String appInterfaceId = experiment.getExecutionId();
-            final String resourceHostId = experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId();
             ApplicationInterfaceDescription applicationInterfaceDescription = regClient.getApplicationInterface(appInterfaceId);
+
             List<String> appModuleIds = applicationInterfaceDescription.getApplicationModules();
             // Assume that there is only one app module for this interface (otherwise, how could we figure out the deployment)
             String appModuleId = appModuleIds.get(0);
             List<ApplicationDeploymentDescription> applicationDeploymentDescriptions = regClient.getApplicationDeployments(appModuleId);
+
+
+            if (!experiment.getUserConfigurationData().isAiravataAutoSchedule()) {
+            final String resourceHostId = experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId();
+
+
             Optional<ApplicationDeploymentDescription> applicationDeploymentDescription = applicationDeploymentDescriptions
                     .stream()
                     .filter(dep -> dep.getComputeHostId().equals(resourceHostId))
@@ -2200,8 +2211,25 @@
                 if (!sharingClient.userHasAccess(gatewayId, username + "@" + gatewayId, appDeploymentId, gatewayId + ":READ")) {
                     throw new AuthorizationException("User " + username + " in gateway " + gatewayId + " doesn't have access to app deployment " + appDeploymentId);
                 }
-            } else {
+            }
+            else {
                 throw new InvalidRequestException("Application deployment doesn't exist for application interface " + appInterfaceId + " and host " + resourceHostId + " in gateway " + gatewayId);
+            }} else if (experiment.getUserConfigurationData().getAutoScheduledCompResourceSchedulingList() != null &&
+                    !experiment.getUserConfigurationData().getAutoScheduledCompResourceSchedulingList().isEmpty()) {
+               List<ComputationalResourceSchedulingModel> compResourceSchedulingList  =  experiment.
+                       getUserConfigurationData().getAutoScheduledCompResourceSchedulingList();
+               for(ComputationalResourceSchedulingModel crScheduling: compResourceSchedulingList){
+                   Optional<ApplicationDeploymentDescription> applicationDeploymentDescription = applicationDeploymentDescriptions
+                           .stream()
+                           .filter(dep -> dep.getComputeHostId().equals(crScheduling.getResourceHostId()))
+                           .findFirst();
+                   if (applicationDeploymentDescription.isPresent()) {
+                       final String appDeploymentId = applicationDeploymentDescription.get().getAppDeploymentId();
+                       if (!sharingClient.userHasAccess(gatewayId, username + "@" + gatewayId, appDeploymentId, gatewayId + ":READ")) {
+                           throw new AuthorizationException("User " + username + " in gateway " + gatewayId + " doesn't have access to app deployment " + appDeploymentId);
+                       }
+                   }
+               }
             }
             submitExperiment(gatewayId, airavataExperimentId);
             logger.info("Experiment with ExpId: " + airavataExperimentId + " was submitted in gateway with gatewayID: " + gatewayId);
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 c8f3da4..7b972f1 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
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.api;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class Airavata {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -3048,7 +3048,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void isUserExists(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
@@ -3441,9 +3441,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -3458,6 +3460,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public boolean isUserExists(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName) 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_isUserExists(authzToken, gatewayId, userName);
@@ -3495,6 +3498,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserExists failed: unknown result");
     }
 
+    @Override
     public java.lang.String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) 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_addGateway(authzToken, gateway);
@@ -3531,6 +3535,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAllUsersInGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAllUsersInGateway(authzToken, gatewayId);
@@ -3567,6 +3572,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUsersInGateway failed: unknown result");
     }
 
+    @Override
     public boolean updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) 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_updateGateway(authzToken, gatewayId, updatedGateway);
@@ -3604,6 +3610,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGateway failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getGateway(authzToken, gatewayId);
@@ -3640,6 +3647,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
     }
 
+    @Override
     public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_deleteGateway(authzToken, gatewayId);
@@ -3676,6 +3684,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) 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_getAllGateways(authzToken);
@@ -3711,6 +3720,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
     }
 
+    @Override
     public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_isGatewayExist(authzToken, gatewayId);
@@ -3747,6 +3757,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
     }
 
+    @Override
     public java.lang.String createNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification) 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_createNotification(authzToken, notification);
@@ -3783,6 +3794,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createNotification failed: unknown result");
     }
 
+    @Override
     public boolean updateNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification) 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_updateNotification(authzToken, notification);
@@ -3819,6 +3831,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateNotification failed: unknown result");
     }
 
+    @Override
     public boolean deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String notificationId) 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_deleteNotification(authzToken, gatewayId, notificationId);
@@ -3856,6 +3869,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteNotification failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Notification getNotification(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String notificationId) 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_getNotification(authzToken, gatewayId, notificationId);
@@ -3893,6 +3907,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNotification failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Notification> getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAllNotifications(authzToken, gatewayId);
@@ -3929,6 +3944,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllNotifications failed: unknown result");
     }
 
+    @Override
     public java.lang.String generateAndRegisterSSHKeys(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_generateAndRegisterSSHKeys(authzToken, description);
@@ -3962,6 +3978,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "generateAndRegisterSSHKeys failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerPwdCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String loginUserName, java.lang.String password, java.lang.String description) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_registerPwdCredential(authzToken, loginUserName, password, description);
@@ -3997,6 +4014,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerPwdCredential failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.credential.store.CredentialSummary getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String tokenId) 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_getCredentialSummary(authzToken, tokenId);
@@ -4033,6 +4051,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCredentialSummary failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException
     {
       send_getAllCredentialSummaries(authzToken, type);
@@ -4066,6 +4085,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllCredentialSummaries failed: unknown result");
     }
 
+    @Override
     public boolean deleteSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken) 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_deleteSSHPubKey(authzToken, airavataCredStoreToken);
@@ -4102,6 +4122,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteSSHPubKey failed: unknown result");
     }
 
+    @Override
     public boolean deletePWDCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken) 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_deletePWDCredential(authzToken, airavataCredStoreToken);
@@ -4138,6 +4159,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deletePWDCredential failed: unknown result");
     }
 
+    @Override
     public java.lang.String createProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.workspace.Project project) 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_createProject(authzToken, gatewayId, project);
@@ -4175,6 +4197,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
     }
 
+    @Override
     public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateProject(authzToken, projectId, updatedProject);
@@ -4212,6 +4235,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Project getProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getProject(authzToken, projectId);
@@ -4251,6 +4275,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
     }
 
+    @Override
     public boolean deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_deleteProject(authzToken, projectId);
@@ -4290,6 +4315,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteProject failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Project> getUserProjects(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.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
     {
       send_getUserProjects(authzToken, gatewayId, userName, limit, offset);
@@ -4329,6 +4355,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserProjects failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Project> searchProjects(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.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_searchProjects(authzToken, gatewayId, userName, filters, limit, offset);
@@ -4369,6 +4396,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchProjects failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperiments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.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_searchExperiments(authzToken, gatewayId, userName, filters, limit, offset);
@@ -4409,6 +4437,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperiments failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentStatistics getExperimentStatistics(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, long fromTime, long toTime, java.lang.String userName, java.lang.String applicationName, java.lang.String resourceHostName, 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_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset);
@@ -4452,6 +4481,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatistics failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getExperimentsInProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId, 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.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getExperimentsInProject(authzToken, projectId, limit, offset);
@@ -4493,6 +4523,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentsInProject failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getUserExperiments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.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
     {
       send_getUserExperiments(authzToken, gatewayId, userName, limit, offset);
@@ -4532,6 +4563,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserExperiments failed: unknown result");
     }
 
+    @Override
     public java.lang.String createExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment) 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_createExperiment(authzToken, gatewayId, experiment);
@@ -4569,6 +4601,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
     }
 
+    @Override
     public boolean deleteExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String experimentId) 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_deleteExperiment(authzToken, experimentId);
@@ -4605,6 +4638,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteExperiment failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentModel getExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getExperiment(authzToken, airavataExperimentId);
@@ -4644,6 +4678,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperiment failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentModel getExperimentByAdmin(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getExperimentByAdmin(authzToken, airavataExperimentId);
@@ -4683,6 +4718,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentByAdmin failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentModel getDetailedExperimentTree(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getDetailedExperimentTree(authzToken, airavataExperimentId);
@@ -4722,6 +4758,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDetailedExperimentTree failed: unknown result");
     }
 
+    @Override
     public void updateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateExperiment(authzToken, airavataExperimentId, experiment);
@@ -4759,6 +4796,7 @@
       return;
     }
 
+    @Override
     public void updateExperimentConfiguration(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) throws org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateExperimentConfiguration(authzToken, airavataExperimentId, userConfiguration);
@@ -4784,6 +4822,7 @@
       return;
     }
 
+    @Override
     public void updateResourceScheduleing(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) throws org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateResourceScheduleing(authzToken, airavataExperimentId, resourceScheduling);
@@ -4809,6 +4848,7 @@
       return;
     }
 
+    @Override
     public boolean validateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_validateExperiment(authzToken, airavataExperimentId);
@@ -4848,6 +4888,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateExperiment failed: unknown result");
     }
 
+    @Override
     public void launchExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.lang.String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_launchExperiment(authzToken, airavataExperimentId, gatewayId);
@@ -4885,6 +4926,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getExperimentStatus(authzToken, airavataExperimentId);
@@ -4924,6 +4966,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getExperimentOutputs(authzToken, airavataExperimentId);
@@ -4963,6 +5006,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentOutputs failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getIntermediateOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getIntermediateOutputs(authzToken, airavataExperimentId);
@@ -5002,6 +5046,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getIntermediateOutputs failed: unknown result");
     }
 
+    @Override
     public void fetchIntermediateOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.util.List<java.lang.String> outputNames) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_fetchIntermediateOutputs(authzToken, airavataExperimentId, outputNames);
@@ -5039,6 +5084,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.status.ProcessStatus getIntermediateOutputProcessStatus(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.util.List<java.lang.String> outputNames) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getIntermediateOutputProcessStatus(authzToken, airavataExperimentId, outputNames);
@@ -5079,6 +5125,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getIntermediateOutputProcessStatus failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getJobStatuses(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getJobStatuses(authzToken, airavataExperimentId);
@@ -5118,6 +5165,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobStatuses failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.job.JobModel> getJobDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getJobDetails(authzToken, airavataExperimentId);
@@ -5157,6 +5205,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobDetails failed: unknown result");
     }
 
+    @Override
     public java.lang.String cloneExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String existingExperimentID, java.lang.String newExperimentName, java.lang.String newExperimentProjectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_cloneExperiment(authzToken, existingExperimentID, newExperimentName, newExperimentProjectId);
@@ -5201,6 +5250,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneExperiment failed: unknown result");
     }
 
+    @Override
     public java.lang.String cloneExperimentByAdmin(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String existingExperimentID, java.lang.String newExperimentName, java.lang.String newExperimentProjectId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_cloneExperimentByAdmin(authzToken, existingExperimentID, newExperimentName, newExperimentProjectId);
@@ -5245,6 +5295,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneExperimentByAdmin failed: unknown result");
     }
 
+    @Override
     public void terminateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.lang.String gatewayId) throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_terminateExperiment(authzToken, airavataExperimentId, gatewayId);
@@ -5282,6 +5333,7 @@
       return;
     }
 
+    @Override
     public java.lang.String registerApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) 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_registerApplicationModule(authzToken, gatewayId, applicationModule);
@@ -5319,6 +5371,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerApplicationModule failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId) 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_getApplicationModule(authzToken, appModuleId);
@@ -5355,6 +5408,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationModule failed: unknown result");
     }
 
+    @Override
     public boolean updateApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) 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_updateApplicationModule(authzToken, appModuleId, applicationModule);
@@ -5392,6 +5446,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationModule failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAllAppModules(authzToken, gatewayId);
@@ -5428,6 +5483,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAppModules failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAccessibleAppModules(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAccessibleAppModules(authzToken, gatewayId);
@@ -5464,6 +5520,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAccessibleAppModules failed: unknown result");
     }
 
+    @Override
     public boolean deleteApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId) 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_deleteApplicationModule(authzToken, appModuleId);
@@ -5500,6 +5557,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationModule failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) 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_registerApplicationDeployment(authzToken, gatewayId, applicationDeployment);
@@ -5537,6 +5595,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appDeploymentId) 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_getApplicationDeployment(authzToken, appDeploymentId);
@@ -5573,6 +5632,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public boolean updateApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) 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_updateApplicationDeployment(authzToken, appDeploymentId, applicationDeployment);
@@ -5610,6 +5670,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public boolean deleteApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appDeploymentId) 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_deleteApplicationDeployment(authzToken, appDeploymentId);
@@ -5646,6 +5707,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAllApplicationDeployments(authzToken, gatewayId);
@@ -5682,6 +5744,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationDeployments failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAccessibleApplicationDeployments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.group.ResourcePermissionType permissionType) 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_getAccessibleApplicationDeployments(authzToken, gatewayId, permissionType);
@@ -5719,6 +5782,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAccessibleApplicationDeployments failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAppModuleDeployedResources(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId) 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_getAppModuleDeployedResources(authzToken, appModuleId);
@@ -5755,6 +5819,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAppModuleDeployedResources failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getApplicationDeploymentsForAppModuleAndGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, java.lang.String groupResourceProfileId) 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_getApplicationDeploymentsForAppModuleAndGroupResourceProfile(authzToken, appModuleId, groupResourceProfileId);
@@ -5792,6 +5857,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationDeploymentsForAppModuleAndGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) 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_registerApplicationInterface(authzToken, gatewayId, applicationInterface);
@@ -5829,6 +5895,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerApplicationInterface failed: unknown result");
     }
 
+    @Override
     public java.lang.String cloneApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String existingAppInterfaceID, java.lang.String newApplicationName, java.lang.String gatewayId) 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_cloneApplicationInterface(authzToken, existingAppInterfaceID, newApplicationName, gatewayId);
@@ -5867,6 +5934,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "cloneApplicationInterface failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId) 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_getApplicationInterface(authzToken, appInterfaceId);
@@ -5903,6 +5971,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationInterface failed: unknown result");
     }
 
+    @Override
     public boolean updateApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) 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_updateApplicationInterface(authzToken, appInterfaceId, applicationInterface);
@@ -5940,6 +6009,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationInterface failed: unknown result");
     }
 
+    @Override
     public boolean deleteApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId) 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_deleteApplicationInterface(authzToken, appInterfaceId);
@@ -5976,6 +6046,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationInterface failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllApplicationInterfaceNames(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAllApplicationInterfaceNames(authzToken, gatewayId);
@@ -6012,6 +6083,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationInterfaceNames failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getAllApplicationInterfaces(authzToken, gatewayId);
@@ -6048,6 +6120,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationInterfaces failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId) 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_getApplicationInputs(authzToken, appInterfaceId);
@@ -6084,6 +6157,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationInputs failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId) 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_getApplicationOutputs(authzToken, appInterfaceId);
@@ -6120,6 +6194,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationOutputs failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAvailableAppInterfaceComputeResources(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId) 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_getAvailableAppInterfaceComputeResources(authzToken, appInterfaceId);
@@ -6156,6 +6231,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAvailableAppInterfaceComputeResources failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) 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_registerComputeResource(authzToken, computeResourceDescription);
@@ -6192,6 +6268,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerComputeResource failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId) 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_getComputeResource(authzToken, computeResourceId);
@@ -6228,6 +6305,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getComputeResource failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllComputeResourceNames(org.apache.airavata.model.security.AuthzToken authzToken) 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_getAllComputeResourceNames(authzToken);
@@ -6263,6 +6341,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllComputeResourceNames failed: unknown result");
     }
 
+    @Override
     public boolean updateComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) 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_updateComputeResource(authzToken, computeResourceId, computeResourceDescription);
@@ -6300,6 +6379,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateComputeResource failed: unknown result");
     }
 
+    @Override
     public boolean deleteComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId) 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_deleteComputeResource(authzToken, computeResourceId);
@@ -6336,6 +6416,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteComputeResource failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) 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_registerStorageResource(authzToken, storageResourceDescription);
@@ -6372,6 +6453,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerStorageResource failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String storageResourceId) 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_getStorageResource(authzToken, storageResourceId);
@@ -6408,6 +6490,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStorageResource failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllStorageResourceNames(org.apache.airavata.model.security.AuthzToken authzToken) 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_getAllStorageResourceNames(authzToken);
@@ -6443,6 +6526,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllStorageResourceNames failed: unknown result");
     }
 
+    @Override
     public boolean updateStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) 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_updateStorageResource(authzToken, storageResourceId, storageResourceDescription);
@@ -6480,6 +6564,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateStorageResource failed: unknown result");
     }
 
+    @Override
     public boolean deleteStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String storageResourceId) 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_deleteStorageResource(authzToken, storageResourceId);
@@ -6516,6 +6601,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteStorageResource failed: unknown result");
     }
 
+    @Override
     public java.lang.String addLocalSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) 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_addLocalSubmissionDetails(authzToken, computeResourceId, priorityOrder, localSubmission);
@@ -6554,6 +6640,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addLocalSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateLocalSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) 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_updateLocalSubmissionDetails(authzToken, jobSubmissionInterfaceId, localSubmission);
@@ -6591,6 +6678,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateLocalSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId) 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_getLocalJobSubmission(authzToken, jobSubmissionId);
@@ -6627,6 +6715,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLocalJobSubmission failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) 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_addSSHJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, sshJobSubmission);
@@ -6665,6 +6754,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSSHJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSSHForkJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) 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_addSSHForkJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, sshJobSubmission);
@@ -6703,6 +6793,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSSHForkJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSSHJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId) 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_getSSHJobSubmission(authzToken, jobSubmissionId);
@@ -6739,6 +6830,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSSHJobSubmission failed: unknown result");
     }
 
+    @Override
     public java.lang.String addUNICOREJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) 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_addUNICOREJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, unicoreJobSubmission);
@@ -6777,6 +6869,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUNICOREJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId) 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_getUnicoreJobSubmission(authzToken, jobSubmissionId);
@@ -6813,6 +6906,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUnicoreJobSubmission failed: unknown result");
     }
 
+    @Override
     public java.lang.String addCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) 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_addCloudJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, cloudSubmission);
@@ -6851,6 +6945,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addCloudJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId) 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_getCloudJobSubmission(authzToken, jobSubmissionId);
@@ -6887,6 +6982,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCloudJobSubmission failed: unknown result");
     }
 
+    @Override
     public boolean updateSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) 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_updateSSHJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, sshJobSubmission);
@@ -6924,6 +7020,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateSSHJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) 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_updateCloudJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, sshJobSubmission);
@@ -6961,6 +7058,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateCloudJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateUnicoreJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) 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_updateUnicoreJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, unicoreJobSubmission);
@@ -6998,6 +7096,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUnicoreJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public java.lang.String addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) 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_addLocalDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, localDataMovement);
@@ -7037,6 +7136,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addLocalDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) 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_updateLocalDataMovementDetails(authzToken, dataMovementInterfaceId, localDataMovement);
@@ -7074,6 +7174,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateLocalDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId) 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_getLocalDataMovement(authzToken, dataMovementId);
@@ -7110,6 +7211,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLocalDataMovement failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) 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_addSCPDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, scpDataMovement);
@@ -7149,6 +7251,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSCPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) 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_updateSCPDataMovementDetails(authzToken, dataMovementInterfaceId, scpDataMovement);
@@ -7186,6 +7289,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateSCPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.SCPDataMovement getSCPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId) 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_getSCPDataMovement(authzToken, dataMovementId);
@@ -7222,6 +7326,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSCPDataMovement failed: unknown result");
     }
 
+    @Override
     public java.lang.String addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) 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_addUnicoreDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, unicoreDataMovement);
@@ -7261,6 +7366,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUnicoreDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) 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_updateUnicoreDataMovementDetails(authzToken, dataMovementInterfaceId, unicoreDataMovement);
@@ -7298,6 +7404,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUnicoreDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId) 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_getUnicoreDataMovement(authzToken, dataMovementId);
@@ -7334,6 +7441,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUnicoreDataMovement failed: unknown result");
     }
 
+    @Override
     public java.lang.String addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) 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_addGridFTPDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, gridFTPDataMovement);
@@ -7373,6 +7481,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGridFTPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) 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_updateGridFTPDataMovementDetails(authzToken, dataMovementInterfaceId, gridFTPDataMovement);
@@ -7410,6 +7519,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGridFTPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId) 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_getGridFTPDataMovement(authzToken, dataMovementId);
@@ -7446,6 +7556,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGridFTPDataMovement failed: unknown result");
     }
 
+    @Override
     public boolean changeJobSubmissionPriority(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, int newPriorityOrder) 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_changeJobSubmissionPriority(authzToken, jobSubmissionInterfaceId, newPriorityOrder);
@@ -7483,6 +7594,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeJobSubmissionPriority failed: unknown result");
     }
 
+    @Override
     public boolean changeDataMovementPriority(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, int newPriorityOrder) 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_changeDataMovementPriority(authzToken, dataMovementInterfaceId, newPriorityOrder);
@@ -7520,6 +7632,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeDataMovementPriority failed: unknown result");
     }
 
+    @Override
     public boolean changeJobSubmissionPriorities(org.apache.airavata.model.security.AuthzToken authzToken, java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap) 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_changeJobSubmissionPriorities(authzToken, jobSubmissionPriorityMap);
@@ -7556,6 +7669,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeJobSubmissionPriorities failed: unknown result");
     }
 
+    @Override
     public boolean changeDataMovementPriorities(org.apache.airavata.model.security.AuthzToken authzToken, java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap) 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_changeDataMovementPriorities(authzToken, dataMovementPriorityMap);
@@ -7592,6 +7706,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeDataMovementPriorities failed: unknown result");
     }
 
+    @Override
     public boolean deleteJobSubmissionInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String jobSubmissionInterfaceId) 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_deleteJobSubmissionInterface(authzToken, computeResourceId, jobSubmissionInterfaceId);
@@ -7629,6 +7744,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result");
     }
 
+    @Override
     public boolean deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) 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_deleteDataMovementInterface(authzToken, productUri, dataMovementInterfaceId, dataMoveType);
@@ -7667,6 +7783,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteDataMovementInterface failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) 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_registerResourceJobManager(authzToken, resourceJobManager);
@@ -7703,6 +7820,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerResourceJobManager failed: unknown result");
     }
 
+    @Override
     public boolean updateResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceJobManagerId, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) 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_updateResourceJobManager(authzToken, resourceJobManagerId, updatedResourceJobManager);
@@ -7740,6 +7858,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateResourceJobManager failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceJobManagerId) 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_getResourceJobManager(authzToken, resourceJobManagerId);
@@ -7776,6 +7895,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getResourceJobManager failed: unknown result");
     }
 
+    @Override
     public boolean deleteResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceJobManagerId) 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_deleteResourceJobManager(authzToken, resourceJobManagerId);
@@ -7812,6 +7932,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteResourceJobManager failed: unknown result");
     }
 
+    @Override
     public boolean deleteBatchQueue(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String queueName) 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_deleteBatchQueue(authzToken, computeResourceId, queueName);
@@ -7849,6 +7970,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteBatchQueue failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) 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_registerGatewayResourceProfile(authzToken, gatewayResourceProfile);
@@ -7885,6 +8007,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID) 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_getGatewayResourceProfile(authzToken, gatewayID);
@@ -7921,6 +8044,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean updateGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) 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_updateGatewayResourceProfile(authzToken, gatewayID, gatewayResourceProfile);
@@ -7958,6 +8082,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean deleteGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID) 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_deleteGatewayResourceProfile(authzToken, gatewayID);
@@ -7994,6 +8119,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean addGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) 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_addGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId, computeResourcePreference);
@@ -8032,6 +8158,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean addGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) 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_addGatewayStoragePreference(authzToken, gatewayID, storageResourceId, storagePreference);
@@ -8070,6 +8197,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId) 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_getGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId);
@@ -8107,6 +8235,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageResourceId) 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_getGatewayStoragePreference(authzToken, gatewayID, storageResourceId);
@@ -8144,6 +8273,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getAllGatewayComputeResourcePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID) 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_getAllGatewayComputeResourcePreferences(authzToken, gatewayID);
@@ -8180,6 +8310,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGatewayComputeResourcePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getAllGatewayStoragePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID) 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_getAllGatewayStoragePreferences(authzToken, gatewayID);
@@ -8216,6 +8347,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGatewayStoragePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getAllGatewayResourceProfiles(org.apache.airavata.model.security.AuthzToken authzToken) 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_getAllGatewayResourceProfiles(authzToken);
@@ -8251,6 +8383,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGatewayResourceProfiles failed: unknown result");
     }
 
+    @Override
     public boolean updateGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) 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_updateGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId, computeResourcePreference);
@@ -8289,6 +8422,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean updateGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) 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_updateGatewayStoragePreference(authzToken, gatewayID, storageId, storagePreference);
@@ -8327,6 +8461,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId) 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_deleteGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId);
@@ -8364,6 +8499,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageId) 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_deleteGatewayStoragePreference(authzToken, gatewayID, storageId);
@@ -8401,6 +8537,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> getSSHAccountProvisioners(org.apache.airavata.model.security.AuthzToken authzToken) 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_getSSHAccountProvisioners(authzToken);
@@ -8436,6 +8573,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSSHAccountProvisioners failed: unknown result");
     }
 
+    @Override
     public boolean doesUserHaveSSHAccount(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String userId) 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_doesUserHaveSSHAccount(authzToken, computeResourceId, userId);
@@ -8473,6 +8611,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "doesUserHaveSSHAccount failed: unknown result");
     }
 
+    @Override
     public boolean isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String airavataCredStoreToken) 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_isSSHSetupCompleteForUserComputeResourcePreference(authzToken, computeResourceId, airavataCredStoreToken);
@@ -8510,6 +8649,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isSSHSetupCompleteForUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference setupUserComputeResourcePreferencesForSSH(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String userId, java.lang.String airavataCredStoreToken) 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_setupUserComputeResourcePreferencesForSSH(authzToken, computeResourceId, userId, airavataCredStoreToken);
@@ -8548,6 +8688,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "setupUserComputeResourcePreferencesForSSH failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) 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_registerUserResourceProfile(authzToken, userResourceProfile);
@@ -8584,6 +8725,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean isUserResourceProfileExists(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID) 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_isUserResourceProfileExists(authzToken, userId, gatewayID);
@@ -8621,6 +8763,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserResourceProfileExists failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID) 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_getUserResourceProfile(authzToken, userId, gatewayID);
@@ -8658,6 +8801,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean updateUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) 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_updateUserResourceProfile(authzToken, userId, gatewayID, userResourceProfile);
@@ -8696,6 +8840,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID) 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_deleteUserResourceProfile(authzToken, userId, gatewayID);
@@ -8733,6 +8878,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean addUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) 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_addUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId, userComputeResourcePreference);
@@ -8772,6 +8918,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean addUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) 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_addUserStoragePreference(authzToken, userId, gatewayID, userStorageResourceId, userStoragePreference);
@@ -8811,6 +8958,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId) 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_getUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId);
@@ -8849,6 +8997,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId) 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_getUserStoragePreference(authzToken, userId, gatewayID, userStorageResourceId);
@@ -8887,6 +9036,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getAllUserComputeResourcePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID) 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_getAllUserComputeResourcePreferences(authzToken, userId, gatewayID);
@@ -8924,6 +9074,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserComputeResourcePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getAllUserStoragePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID) 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_getAllUserStoragePreferences(authzToken, userId, gatewayID);
@@ -8961,6 +9112,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserStoragePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getAllUserResourceProfiles(org.apache.airavata.model.security.AuthzToken authzToken) 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_getAllUserResourceProfiles(authzToken);
@@ -8996,6 +9148,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserResourceProfiles failed: unknown result");
     }
 
+    @Override
     public boolean updateUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) 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_updateUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId, userComputeResourcePreference);
@@ -9035,6 +9188,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean updateUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) 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_updateUserStoragePreference(authzToken, userId, gatewayID, userStorageId, userStoragePreference);
@@ -9074,6 +9228,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId) 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_deleteUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId);
@@ -9112,6 +9267,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId) 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_deleteUserStoragePreference(authzToken, userId, gatewayID, userStorageId);
@@ -9150,6 +9306,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.status.QueueStatusModel> getLatestQueueStatuses(org.apache.airavata.model.security.AuthzToken authzToken) 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_getLatestQueueStatuses(authzToken);
@@ -9185,6 +9342,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLatestQueueStatuses failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerDataProduct(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.replica.DataProductModel dataProductModel) 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_registerDataProduct(authzToken, dataProductModel);
@@ -9221,6 +9379,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerDataProduct failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.replica.DataProductModel getDataProduct(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataProductUri) 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_getDataProduct(authzToken, dataProductUri);
@@ -9257,6 +9416,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDataProduct failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerReplicaLocation(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) 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_registerReplicaLocation(authzToken, replicaLocationModel);
@@ -9293,6 +9453,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerReplicaLocation failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.replica.DataProductModel getParentDataProduct(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri) 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_getParentDataProduct(authzToken, productUri);
@@ -9329,6 +9490,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParentDataProduct failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getChildDataProducts(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri) 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_getChildDataProducts(authzToken, productUri);
@@ -9365,6 +9527,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getChildDataProducts failed: unknown result");
     }
 
+    @Override
     public boolean shareResourceWithUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList) 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_shareResourceWithUsers(authzToken, resourceId, userPermissionList);
@@ -9402,6 +9565,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shareResourceWithUsers failed: unknown result");
     }
 
+    @Override
     public boolean shareResourceWithGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList) 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_shareResourceWithGroups(authzToken, resourceId, groupPermissionList);
@@ -9439,6 +9603,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shareResourceWithGroups failed: unknown result");
     }
 
+    @Override
     public boolean revokeSharingOfResourceFromUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList) 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_revokeSharingOfResourceFromUsers(authzToken, resourceId, userPermissionList);
@@ -9476,6 +9641,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "revokeSharingOfResourceFromUsers failed: unknown result");
     }
 
+    @Override
     public boolean revokeSharingOfResourceFromGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList) 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_revokeSharingOfResourceFromGroups(authzToken, resourceId, groupPermissionList);
@@ -9513,6 +9679,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "revokeSharingOfResourceFromGroups failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAllAccessibleUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType) 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_getAllAccessibleUsers(authzToken, resourceId, permissionType);
@@ -9550,6 +9717,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAccessibleUsers failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAllAccessibleGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType) 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_getAllAccessibleGroups(authzToken, resourceId, permissionType);
@@ -9587,6 +9755,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAccessibleGroups failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAllDirectlyAccessibleUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType) 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_getAllDirectlyAccessibleUsers(authzToken, resourceId, permissionType);
@@ -9624,6 +9793,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllDirectlyAccessibleUsers failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAllDirectlyAccessibleGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType) 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_getAllDirectlyAccessibleGroups(authzToken, resourceId, permissionType);
@@ -9661,6 +9831,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllDirectlyAccessibleGroups failed: unknown result");
     }
 
+    @Override
     public boolean userHasAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType) 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_userHasAccess(authzToken, resourceId, permissionType);
@@ -9698,6 +9869,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "userHasAccess failed: unknown result");
     }
 
+    @Override
     public java.lang.String createGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) 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_createGroupResourceProfile(authzToken, groupResourceProfile);
@@ -9734,6 +9906,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public void updateGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) 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_updateGroupResourceProfile(authzToken, groupResourceProfile);
@@ -9767,6 +9940,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId) 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_getGroupResourceProfile(authzToken, groupResourceProfileId);
@@ -9803,6 +9977,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId) 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_removeGroupResourceProfile(authzToken, groupResourceProfileId);
@@ -9839,6 +10014,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getGroupResourceList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_getGroupResourceList(authzToken, gatewayId);
@@ -9875,6 +10051,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupResourceList failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupComputePrefs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String groupResourceProfileId) 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_removeGroupComputePrefs(authzToken, computeResourceId, groupResourceProfileId);
@@ -9912,6 +10089,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupComputePrefs failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupComputeResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId) 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_removeGroupComputeResourcePolicy(authzToken, resourcePolicyId);
@@ -9948,6 +10126,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupComputeResourcePolicy failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupBatchQueueResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId) 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_removeGroupBatchQueueResourcePolicy(authzToken, resourcePolicyId);
@@ -9984,6 +10163,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupBatchQueueResourcePolicy failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference getGroupComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String groupResourceProfileId) 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_getGroupComputeResourcePreference(authzToken, computeResourceId, groupResourceProfileId);
@@ -10021,6 +10201,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getGroupComputeResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId) 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_getGroupComputeResourcePolicy(authzToken, resourcePolicyId);
@@ -10057,6 +10238,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePolicy failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getBatchQueueResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId) 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_getBatchQueueResourcePolicy(authzToken, resourcePolicyId);
@@ -10093,6 +10275,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBatchQueueResourcePolicy failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getGroupComputeResourcePrefList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId) 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_getGroupComputeResourcePrefList(authzToken, groupResourceProfileId);
@@ -10129,6 +10312,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePrefList failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getGroupBatchQueueResourcePolicyList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId) 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_getGroupBatchQueueResourcePolicyList(authzToken, groupResourceProfileId);
@@ -10165,6 +10349,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupBatchQueueResourcePolicyList failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getGroupComputeResourcePolicyList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId) 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_getGroupComputeResourcePolicyList(authzToken, groupResourceProfileId);
@@ -10201,6 +10386,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePolicyList failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken) 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_getGatewayGroups(authzToken);
@@ -10236,6 +10422,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayGroups failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.parser.Parser getParser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String parserId, java.lang.String gatewayId) 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_getParser(authzToken, parserId, gatewayId);
@@ -10273,6 +10460,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParser failed: unknown result");
     }
 
+    @Override
     public java.lang.String saveParser(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.Parser parser) 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_saveParser(authzToken, parser);
@@ -10309,6 +10497,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "saveParser failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> listAllParsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_listAllParsers(authzToken, gatewayId);
@@ -10345,6 +10534,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "listAllParsers failed: unknown result");
     }
 
+    @Override
     public boolean removeParser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String parserId, java.lang.String gatewayId) 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_removeParser(authzToken, parserId, gatewayId);
@@ -10382,6 +10572,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeParser failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getParsingTemplate(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String templateId, java.lang.String gatewayId) 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_getParsingTemplate(authzToken, templateId, gatewayId);
@@ -10419,6 +10610,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParsingTemplate failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String experimentId, java.lang.String gatewayId) 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_getParsingTemplatesForExperiment(authzToken, experimentId, gatewayId);
@@ -10456,6 +10648,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParsingTemplatesForExperiment failed: unknown result");
     }
 
+    @Override
     public java.lang.String saveParsingTemplate(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate) 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_saveParsingTemplate(authzToken, parsingTemplate);
@@ -10492,6 +10685,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "saveParsingTemplate failed: unknown result");
     }
 
+    @Override
     public boolean removeParsingTemplate(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String templateId, java.lang.String gatewayId) 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_removeParsingTemplate(authzToken, templateId, gatewayId);
@@ -10529,6 +10723,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeParsingTemplate failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> listAllParsingTemplates(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) 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_listAllParsingTemplates(authzToken, gatewayId);
@@ -10574,6 +10769,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -10583,6 +10779,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void isUserExists(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserExists_call method_call = new isUserExists_call(authzToken, gatewayId, userName, resultHandler, this, ___protocolFactory, ___transport);
@@ -10601,6 +10798,7 @@
         this.userName = userName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserExists_args args = new isUserExists_args();
@@ -10611,6 +10809,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10621,6 +10820,7 @@
       }
     }
 
+    @Override
     public void addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGateway_call method_call = new addGateway_call(authzToken, gateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -10637,6 +10837,7 @@
         this.gateway = gateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGateway_args args = new addGateway_args();
@@ -10646,6 +10847,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10656,6 +10858,7 @@
       }
     }
 
+    @Override
     public void getAllUsersInGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUsersInGateway_call method_call = new getAllUsersInGateway_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10672,6 +10875,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUsersInGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUsersInGateway_args args = new getAllUsersInGateway_args();
@@ -10681,6 +10885,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10691,6 +10896,7 @@
       }
     }
 
+    @Override
     public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGateway_call method_call = new updateGateway_call(authzToken, gatewayId, updatedGateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -10709,6 +10915,7 @@
         this.updatedGateway = updatedGateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGateway_args args = new updateGateway_args();
@@ -10719,6 +10926,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10729,6 +10937,7 @@
       }
     }
 
+    @Override
     public void getGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGateway_call method_call = new getGateway_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10745,6 +10954,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGateway_args args = new getGateway_args();
@@ -10754,6 +10964,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Gateway 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10764,6 +10975,7 @@
       }
     }
 
+    @Override
     public void deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGateway_call method_call = new deleteGateway_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10780,6 +10992,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGateway_args args = new deleteGateway_args();
@@ -10789,6 +11002,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10799,6 +11013,7 @@
       }
     }
 
+    @Override
     public void getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGateways_call method_call = new getAllGateways_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -10813,6 +11028,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGateways", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGateways_args args = new getAllGateways_args();
@@ -10821,6 +11037,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Gateway> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10831,6 +11048,7 @@
       }
     }
 
+    @Override
     public void isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isGatewayExist_call method_call = new isGatewayExist_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10847,6 +11065,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGatewayExist_args args = new isGatewayExist_args();
@@ -10856,6 +11075,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10866,6 +11086,7 @@
       }
     }
 
+    @Override
     public void createNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createNotification_call method_call = new createNotification_call(authzToken, notification, resultHandler, this, ___protocolFactory, ___transport);
@@ -10882,6 +11103,7 @@
         this.notification = notification;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createNotification_args args = new createNotification_args();
@@ -10891,6 +11113,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10901,6 +11124,7 @@
       }
     }
 
+    @Override
     public void updateNotification(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateNotification_call method_call = new updateNotification_call(authzToken, notification, resultHandler, this, ___protocolFactory, ___transport);
@@ -10917,6 +11141,7 @@
         this.notification = notification;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateNotification_args args = new updateNotification_args();
@@ -10926,6 +11151,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10936,6 +11162,7 @@
       }
     }
 
+    @Override
     public void deleteNotification(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String notificationId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteNotification_call method_call = new deleteNotification_call(authzToken, gatewayId, notificationId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10954,6 +11181,7 @@
         this.notificationId = notificationId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteNotification_args args = new deleteNotification_args();
@@ -10964,6 +11192,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -10974,6 +11203,7 @@
       }
     }
 
+    @Override
     public void getNotification(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String notificationId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getNotification_call method_call = new getNotification_call(authzToken, gatewayId, notificationId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10992,6 +11222,7 @@
         this.notificationId = notificationId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getNotification_args args = new getNotification_args();
@@ -11002,6 +11233,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Notification 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11012,6 +11244,7 @@
       }
     }
 
+    @Override
     public void getAllNotifications(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllNotifications_call method_call = new getAllNotifications_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11028,6 +11261,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllNotifications", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllNotifications_args args = new getAllNotifications_args();
@@ -11037,6 +11271,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Notification> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11047,6 +11282,7 @@
       }
     }
 
+    @Override
     public void generateAndRegisterSSHKeys(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String description, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       generateAndRegisterSSHKeys_call method_call = new generateAndRegisterSSHKeys_call(authzToken, description, resultHandler, this, ___protocolFactory, ___transport);
@@ -11063,6 +11299,7 @@
         this.description = description;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("generateAndRegisterSSHKeys", org.apache.thrift.protocol.TMessageType.CALL, 0));
         generateAndRegisterSSHKeys_args args = new generateAndRegisterSSHKeys_args();
@@ -11072,6 +11309,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11082,6 +11320,7 @@
       }
     }
 
+    @Override
     public void registerPwdCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String loginUserName, java.lang.String password, java.lang.String description, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerPwdCredential_call method_call = new registerPwdCredential_call(authzToken, loginUserName, password, description, resultHandler, this, ___protocolFactory, ___transport);
@@ -11102,6 +11341,7 @@
         this.description = description;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerPwdCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerPwdCredential_args args = new registerPwdCredential_args();
@@ -11113,6 +11353,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11123,6 +11364,7 @@
       }
     }
 
+    @Override
     public void getCredentialSummary(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String tokenId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getCredentialSummary_call method_call = new getCredentialSummary_call(authzToken, tokenId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11139,6 +11381,7 @@
         this.tokenId = tokenId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCredentialSummary", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getCredentialSummary_args args = new getCredentialSummary_args();
@@ -11148,6 +11391,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.credential.store.CredentialSummary 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11158,6 +11402,7 @@
       }
     }
 
+    @Override
     public void getAllCredentialSummaries(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.credential.store.SummaryType type, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllCredentialSummaries_call method_call = new getAllCredentialSummaries_call(authzToken, type, resultHandler, this, ___protocolFactory, ___transport);
@@ -11174,6 +11419,7 @@
         this.type = type;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllCredentialSummaries", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllCredentialSummaries_args args = new getAllCredentialSummaries_args();
@@ -11183,6 +11429,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11193,6 +11440,7 @@
       }
     }
 
+    @Override
     public void deleteSSHPubKey(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteSSHPubKey_call method_call = new deleteSSHPubKey_call(authzToken, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -11209,6 +11457,7 @@
         this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteSSHPubKey", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteSSHPubKey_args args = new deleteSSHPubKey_args();
@@ -11218,6 +11467,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11228,6 +11478,7 @@
       }
     }
 
+    @Override
     public void deletePWDCredential(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deletePWDCredential_call method_call = new deletePWDCredential_call(authzToken, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -11244,6 +11495,7 @@
         this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deletePWDCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deletePWDCredential_args args = new deletePWDCredential_args();
@@ -11253,6 +11505,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11263,6 +11516,7 @@
       }
     }
 
+    @Override
     public void createProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createProject_call method_call = new createProject_call(authzToken, gatewayId, project, resultHandler, this, ___protocolFactory, ___transport);
@@ -11281,6 +11535,7 @@
         this.project = project;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createProject_args args = new createProject_args();
@@ -11291,6 +11546,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11301,6 +11557,7 @@
       }
     }
 
+    @Override
     public void updateProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateProject_call method_call = new updateProject_call(authzToken, projectId, updatedProject, resultHandler, this, ___protocolFactory, ___transport);
@@ -11319,6 +11576,7 @@
         this.updatedProject = updatedProject;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateProject_args args = new updateProject_args();
@@ -11329,16 +11587,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void 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.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateProject();
         return null;
       }
     }
 
+    @Override
     public void getProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProject_call method_call = new getProject_call(authzToken, projectId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11355,6 +11616,7 @@
         this.projectId = projectId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProject_args args = new getProject_args();
@@ -11364,6 +11626,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public 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.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11374,6 +11637,7 @@
       }
     }
 
+    @Override
     public void deleteProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteProject_call method_call = new deleteProject_call(authzToken, projectId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11390,6 +11654,7 @@
         this.projectId = projectId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteProject_args args = new deleteProject_args();
@@ -11399,6 +11664,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11409,6 +11675,7 @@
       }
     }
 
+    @Override
     public void getUserProjects(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserProjects_call method_call = new getUserProjects_call(authzToken, gatewayId, userName, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -11431,6 +11698,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserProjects", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserProjects_args args = new getUserProjects_args();
@@ -11443,6 +11711,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.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 java.lang.IllegalStateException("Method call not finished!");
@@ -11453,6 +11722,7 @@
       }
     }
 
+    @Override
     public void searchProjects(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchProjects_call method_call = new searchProjects_call(authzToken, gatewayId, userName, filters, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -11477,6 +11747,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchProjects", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchProjects_args args = new searchProjects_args();
@@ -11490,6 +11761,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.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 java.lang.IllegalStateException("Method call not finished!");
@@ -11500,6 +11772,7 @@
       }
     }
 
+    @Override
     public void searchExperiments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchExperiments_call method_call = new searchExperiments_call(authzToken, gatewayId, userName, filters, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -11524,6 +11797,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperiments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperiments_args args = new searchExperiments_args();
@@ -11537,6 +11811,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11547,6 +11822,7 @@
       }
     }
 
+    @Override
     public void getExperimentStatistics(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, long fromTime, long toTime, java.lang.String userName, java.lang.String applicationName, java.lang.String resourceHostName, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentStatistics_call method_call = new getExperimentStatistics_call(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -11577,6 +11853,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatistics", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentStatistics_args args = new getExperimentStatistics_args();
@@ -11593,6 +11870,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentStatistics 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11603,6 +11881,7 @@
       }
     }
 
+    @Override
     public void getExperimentsInProject(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String projectId, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentsInProject_call method_call = new getExperimentsInProject_call(authzToken, projectId, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -11623,6 +11902,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentsInProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentsInProject_args args = new getExperimentsInProject_args();
@@ -11634,6 +11914,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> 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.ProjectNotFoundException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11644,6 +11925,7 @@
       }
     }
 
+    @Override
     public void getUserExperiments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, java.lang.String userName, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserExperiments_call method_call = new getUserExperiments_call(authzToken, gatewayId, userName, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -11666,6 +11948,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserExperiments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserExperiments_args args = new getUserExperiments_args();
@@ -11678,6 +11961,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11688,6 +11972,7 @@
       }
     }
 
+    @Override
     public void createExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createExperiment_call method_call = new createExperiment_call(authzToken, gatewayId, experiment, resultHandler, this, ___protocolFactory, ___transport);
@@ -11706,6 +11991,7 @@
         this.experiment = experiment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createExperiment_args args = new createExperiment_args();
@@ -11716,6 +12002,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11726,6 +12013,7 @@
       }
     }
 
+    @Override
     public void deleteExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteExperiment_call method_call = new deleteExperiment_call(authzToken, experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11742,6 +12030,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteExperiment_args args = new deleteExperiment_args();
@@ -11751,6 +12040,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11761,6 +12051,7 @@
       }
     }
 
+    @Override
     public void getExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperiment_call method_call = new getExperiment_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11777,6 +12068,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperiment_args args = new getExperiment_args();
@@ -11786,6 +12078,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentModel getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11796,6 +12089,7 @@
       }
     }
 
+    @Override
     public void getExperimentByAdmin(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentByAdmin_call method_call = new getExperimentByAdmin_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11812,6 +12106,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentByAdmin", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentByAdmin_args args = new getExperimentByAdmin_args();
@@ -11821,6 +12116,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentModel getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11831,6 +12127,7 @@
       }
     }
 
+    @Override
     public void getDetailedExperimentTree(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getDetailedExperimentTree_call method_call = new getDetailedExperimentTree_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11847,6 +12144,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDetailedExperimentTree", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getDetailedExperimentTree_args args = new getDetailedExperimentTree_args();
@@ -11856,6 +12154,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentModel getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -11866,6 +12165,7 @@
       }
     }
 
+    @Override
     public void updateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateExperiment_call method_call = new updateExperiment_call(authzToken, airavataExperimentId, experiment, resultHandler, this, ___protocolFactory, ___transport);
@@ -11884,6 +12184,7 @@
         this.experiment = experiment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateExperiment_args args = new updateExperiment_args();
@@ -11894,16 +12195,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.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);
+        (new Client(prot)).recv_updateExperiment();
         return null;
       }
     }
 
+    @Override
     public void updateExperimentConfiguration(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateExperimentConfiguration_call method_call = new updateExperimentConfiguration_call(authzToken, airavataExperimentId, userConfiguration, resultHandler, this, ___protocolFactory, ___transport);
@@ -11922,6 +12226,7 @@
         this.userConfiguration = userConfiguration;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateExperimentConfiguration_args args = new updateExperimentConfiguration_args();
@@ -11932,16 +12237,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateExperimentConfiguration();
         return null;
       }
     }
 
+    @Override
     public void updateResourceScheduleing(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateResourceScheduleing_call method_call = new updateResourceScheduleing_call(authzToken, airavataExperimentId, resourceScheduling, resultHandler, this, ___protocolFactory, ___transport);
@@ -11960,6 +12268,7 @@
         this.resourceScheduling = resourceScheduling;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateResourceScheduleing", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateResourceScheduleing_args args = new updateResourceScheduleing_args();
@@ -11970,16 +12279,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateResourceScheduleing();
         return null;
       }
     }
 
+    @Override
     public void validateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       validateExperiment_call method_call = new validateExperiment_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11996,6 +12308,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         validateExperiment_args args = new validateExperiment_args();
@@ -12005,6 +12318,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12015,6 +12329,7 @@
       }
     }
 
+    @Override
     public void launchExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       launchExperiment_call method_call = new launchExperiment_call(authzToken, airavataExperimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12033,6 +12348,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         launchExperiment_args args = new launchExperiment_args();
@@ -12043,16 +12359,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.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);
+        (new Client(prot)).recv_launchExperiment();
         return null;
       }
     }
 
+    @Override
     public void getExperimentStatus(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentStatus_call method_call = new getExperimentStatus_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12069,6 +12388,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentStatus_args args = new getExperimentStatus_args();
@@ -12078,6 +12398,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.status.ExperimentStatus getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12088,6 +12409,7 @@
       }
     }
 
+    @Override
     public void getExperimentOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentOutputs_call method_call = new getExperimentOutputs_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12104,6 +12426,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentOutputs_args args = new getExperimentOutputs_args();
@@ -12113,6 +12436,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12123,6 +12447,7 @@
       }
     }
 
+    @Override
     public void getIntermediateOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getIntermediateOutputs_call method_call = new getIntermediateOutputs_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12139,6 +12464,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getIntermediateOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getIntermediateOutputs_args args = new getIntermediateOutputs_args();
@@ -12148,6 +12474,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12158,6 +12485,7 @@
       }
     }
 
+    @Override
     public void fetchIntermediateOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.util.List<java.lang.String> outputNames, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       fetchIntermediateOutputs_call method_call = new fetchIntermediateOutputs_call(authzToken, airavataExperimentId, outputNames, resultHandler, this, ___protocolFactory, ___transport);
@@ -12176,6 +12504,7 @@
         this.outputNames = outputNames;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("fetchIntermediateOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         fetchIntermediateOutputs_args args = new fetchIntermediateOutputs_args();
@@ -12186,16 +12515,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.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);
+        (new Client(prot)).recv_fetchIntermediateOutputs();
         return null;
       }
     }
 
+    @Override
     public void getIntermediateOutputProcessStatus(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.util.List<java.lang.String> outputNames, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getIntermediateOutputProcessStatus_call method_call = new getIntermediateOutputProcessStatus_call(authzToken, airavataExperimentId, outputNames, resultHandler, this, ___protocolFactory, ___transport);
@@ -12214,6 +12546,7 @@
         this.outputNames = outputNames;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getIntermediateOutputProcessStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getIntermediateOutputProcessStatus_args args = new getIntermediateOutputProcessStatus_args();
@@ -12224,6 +12557,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.status.ProcessStatus getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12234,6 +12568,7 @@
       }
     }
 
+    @Override
     public void getJobStatuses(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getJobStatuses_call method_call = new getJobStatuses_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12250,6 +12585,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobStatuses", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getJobStatuses_args args = new getJobStatuses_args();
@@ -12259,6 +12595,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12269,6 +12606,7 @@
       }
     }
 
+    @Override
     public void getJobDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getJobDetails_call method_call = new getJobDetails_call(authzToken, airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12285,6 +12623,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getJobDetails_args args = new getJobDetails_args();
@@ -12294,6 +12633,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.job.JobModel> getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12304,6 +12644,7 @@
       }
     }
 
+    @Override
     public void cloneExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String existingExperimentID, java.lang.String newExperimentName, java.lang.String newExperimentProjectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       cloneExperiment_call method_call = new cloneExperiment_call(authzToken, existingExperimentID, newExperimentName, newExperimentProjectId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12324,6 +12665,7 @@
         this.newExperimentProjectId = newExperimentProjectId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         cloneExperiment_args args = new cloneExperiment_args();
@@ -12335,6 +12677,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12345,6 +12688,7 @@
       }
     }
 
+    @Override
     public void cloneExperimentByAdmin(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String existingExperimentID, java.lang.String newExperimentName, java.lang.String newExperimentProjectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       cloneExperimentByAdmin_call method_call = new cloneExperimentByAdmin_call(authzToken, existingExperimentID, newExperimentName, newExperimentProjectId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12365,6 +12709,7 @@
         this.newExperimentProjectId = newExperimentProjectId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneExperimentByAdmin", org.apache.thrift.protocol.TMessageType.CALL, 0));
         cloneExperimentByAdmin_args args = new cloneExperimentByAdmin_args();
@@ -12376,6 +12721,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.airavata.model.error.AiravataClientException, org.apache.airavata.model.error.AiravataSystemException, org.apache.airavata.model.error.AuthorizationException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12386,6 +12732,7 @@
       }
     }
 
+    @Override
     public void terminateExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataExperimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       terminateExperiment_call method_call = new terminateExperiment_call(authzToken, airavataExperimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12404,6 +12751,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("terminateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         terminateExperiment_args args = new terminateExperiment_args();
@@ -12414,16 +12762,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.model.error.InvalidRequestException, org.apache.airavata.model.error.ExperimentNotFoundException, 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 java.lang.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);
+        (new Client(prot)).recv_terminateExperiment();
         return null;
       }
     }
 
+    @Override
     public void registerApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerApplicationModule_call method_call = new registerApplicationModule_call(authzToken, gatewayId, applicationModule, resultHandler, this, ___protocolFactory, ___transport);
@@ -12442,6 +12793,7 @@
         this.applicationModule = applicationModule;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerApplicationModule_args args = new registerApplicationModule_args();
@@ -12452,6 +12804,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12462,6 +12815,7 @@
       }
     }
 
+    @Override
     public void getApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationModule_call method_call = new getApplicationModule_call(authzToken, appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12478,6 +12832,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationModule_args args = new getApplicationModule_args();
@@ -12487,6 +12842,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12497,6 +12853,7 @@
       }
     }
 
+    @Override
     public void updateApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateApplicationModule_call method_call = new updateApplicationModule_call(authzToken, appModuleId, applicationModule, resultHandler, this, ___protocolFactory, ___transport);
@@ -12515,6 +12872,7 @@
         this.applicationModule = applicationModule;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateApplicationModule_args args = new updateApplicationModule_args();
@@ -12525,6 +12883,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12535,6 +12894,7 @@
       }
     }
 
+    @Override
     public void getAllAppModules(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllAppModules_call method_call = new getAllAppModules_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12551,6 +12911,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllAppModules", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllAppModules_args args = new getAllAppModules_args();
@@ -12560,6 +12921,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12570,6 +12932,7 @@
       }
     }
 
+    @Override
     public void getAccessibleAppModules(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAccessibleAppModules_call method_call = new getAccessibleAppModules_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12586,6 +12949,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAccessibleAppModules", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAccessibleAppModules_args args = new getAccessibleAppModules_args();
@@ -12595,6 +12959,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12605,6 +12970,7 @@
       }
     }
 
+    @Override
     public void deleteApplicationModule(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteApplicationModule_call method_call = new deleteApplicationModule_call(authzToken, appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12621,6 +12987,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteApplicationModule_args args = new deleteApplicationModule_args();
@@ -12630,6 +12997,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12640,6 +13008,7 @@
       }
     }
 
+    @Override
     public void registerApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerApplicationDeployment_call method_call = new registerApplicationDeployment_call(authzToken, gatewayId, applicationDeployment, resultHandler, this, ___protocolFactory, ___transport);
@@ -12658,6 +13027,7 @@
         this.applicationDeployment = applicationDeployment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerApplicationDeployment_args args = new registerApplicationDeployment_args();
@@ -12668,6 +13038,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12678,6 +13049,7 @@
       }
     }
 
+    @Override
     public void getApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appDeploymentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationDeployment_call method_call = new getApplicationDeployment_call(authzToken, appDeploymentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12694,6 +13066,7 @@
         this.appDeploymentId = appDeploymentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationDeployment_args args = new getApplicationDeployment_args();
@@ -12703,6 +13076,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12713,6 +13087,7 @@
       }
     }
 
+    @Override
     public void updateApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateApplicationDeployment_call method_call = new updateApplicationDeployment_call(authzToken, appDeploymentId, applicationDeployment, resultHandler, this, ___protocolFactory, ___transport);
@@ -12731,6 +13106,7 @@
         this.applicationDeployment = applicationDeployment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateApplicationDeployment_args args = new updateApplicationDeployment_args();
@@ -12741,6 +13117,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12751,6 +13128,7 @@
       }
     }
 
+    @Override
     public void deleteApplicationDeployment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appDeploymentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteApplicationDeployment_call method_call = new deleteApplicationDeployment_call(authzToken, appDeploymentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12767,6 +13145,7 @@
         this.appDeploymentId = appDeploymentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteApplicationDeployment_args args = new deleteApplicationDeployment_args();
@@ -12776,6 +13155,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12786,6 +13166,7 @@
       }
     }
 
+    @Override
     public void getAllApplicationDeployments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllApplicationDeployments_call method_call = new getAllApplicationDeployments_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12802,6 +13183,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllApplicationDeployments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllApplicationDeployments_args args = new getAllApplicationDeployments_args();
@@ -12811,6 +13193,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12821,6 +13204,7 @@
       }
     }
 
+    @Override
     public void getAccessibleApplicationDeployments(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAccessibleApplicationDeployments_call method_call = new getAccessibleApplicationDeployments_call(authzToken, gatewayId, permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -12839,6 +13223,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAccessibleApplicationDeployments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAccessibleApplicationDeployments_args args = new getAccessibleApplicationDeployments_args();
@@ -12849,6 +13234,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12859,6 +13245,7 @@
       }
     }
 
+    @Override
     public void getAppModuleDeployedResources(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAppModuleDeployedResources_call method_call = new getAppModuleDeployedResources_call(authzToken, appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12875,6 +13262,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAppModuleDeployedResources", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAppModuleDeployedResources_args args = new getAppModuleDeployedResources_args();
@@ -12884,6 +13272,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12894,6 +13283,7 @@
       }
     }
 
+    @Override
     public void getApplicationDeploymentsForAppModuleAndGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appModuleId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationDeploymentsForAppModuleAndGroupResourceProfile_call method_call = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_call(authzToken, appModuleId, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12912,6 +13302,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationDeploymentsForAppModuleAndGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args args = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args();
@@ -12922,6 +13313,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12932,6 +13324,7 @@
       }
     }
 
+    @Override
     public void registerApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerApplicationInterface_call method_call = new registerApplicationInterface_call(authzToken, gatewayId, applicationInterface, resultHandler, this, ___protocolFactory, ___transport);
@@ -12950,6 +13343,7 @@
         this.applicationInterface = applicationInterface;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerApplicationInterface_args args = new registerApplicationInterface_args();
@@ -12960,6 +13354,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -12970,6 +13365,7 @@
       }
     }
 
+    @Override
     public void cloneApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String existingAppInterfaceID, java.lang.String newApplicationName, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       cloneApplicationInterface_call method_call = new cloneApplicationInterface_call(authzToken, existingAppInterfaceID, newApplicationName, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12990,6 +13386,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("cloneApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         cloneApplicationInterface_args args = new cloneApplicationInterface_args();
@@ -13001,6 +13398,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13011,6 +13409,7 @@
       }
     }
 
+    @Override
     public void getApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationInterface_call method_call = new getApplicationInterface_call(authzToken, appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13027,6 +13426,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationInterface_args args = new getApplicationInterface_args();
@@ -13036,6 +13436,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13046,6 +13447,7 @@
       }
     }
 
+    @Override
     public void updateApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateApplicationInterface_call method_call = new updateApplicationInterface_call(authzToken, appInterfaceId, applicationInterface, resultHandler, this, ___protocolFactory, ___transport);
@@ -13064,6 +13466,7 @@
         this.applicationInterface = applicationInterface;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateApplicationInterface_args args = new updateApplicationInterface_args();
@@ -13074,6 +13477,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13084,6 +13488,7 @@
       }
     }
 
+    @Override
     public void deleteApplicationInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteApplicationInterface_call method_call = new deleteApplicationInterface_call(authzToken, appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13100,6 +13505,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteApplicationInterface_args args = new deleteApplicationInterface_args();
@@ -13109,6 +13515,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13119,6 +13526,7 @@
       }
     }
 
+    @Override
     public void getAllApplicationInterfaceNames(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllApplicationInterfaceNames_call method_call = new getAllApplicationInterfaceNames_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13135,6 +13543,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllApplicationInterfaceNames", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllApplicationInterfaceNames_args args = new getAllApplicationInterfaceNames_args();
@@ -13144,6 +13553,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13154,6 +13564,7 @@
       }
     }
 
+    @Override
     public void getAllApplicationInterfaces(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllApplicationInterfaces_call method_call = new getAllApplicationInterfaces_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13170,6 +13581,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllApplicationInterfaces", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllApplicationInterfaces_args args = new getAllApplicationInterfaces_args();
@@ -13179,6 +13591,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13189,6 +13602,7 @@
       }
     }
 
+    @Override
     public void getApplicationInputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationInputs_call method_call = new getApplicationInputs_call(authzToken, appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13205,6 +13619,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationInputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationInputs_args args = new getApplicationInputs_args();
@@ -13214,6 +13629,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13224,6 +13640,7 @@
       }
     }
 
+    @Override
     public void getApplicationOutputs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationOutputs_call method_call = new getApplicationOutputs_call(authzToken, appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13240,6 +13657,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationOutputs_args args = new getApplicationOutputs_args();
@@ -13249,6 +13667,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13259,6 +13678,7 @@
       }
     }
 
+    @Override
     public void getAvailableAppInterfaceComputeResources(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAvailableAppInterfaceComputeResources_call method_call = new getAvailableAppInterfaceComputeResources_call(authzToken, appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13275,6 +13695,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAvailableAppInterfaceComputeResources", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAvailableAppInterfaceComputeResources_args args = new getAvailableAppInterfaceComputeResources_args();
@@ -13284,6 +13705,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13294,6 +13716,7 @@
       }
     }
 
+    @Override
     public void registerComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerComputeResource_call method_call = new registerComputeResource_call(authzToken, computeResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -13310,6 +13733,7 @@
         this.computeResourceDescription = computeResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerComputeResource_args args = new registerComputeResource_args();
@@ -13319,6 +13743,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13329,6 +13754,7 @@
       }
     }
 
+    @Override
     public void getComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getComputeResource_call method_call = new getComputeResource_call(authzToken, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13345,6 +13771,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getComputeResource_args args = new getComputeResource_args();
@@ -13354,6 +13781,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13364,6 +13792,7 @@
       }
     }
 
+    @Override
     public void getAllComputeResourceNames(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllComputeResourceNames_call method_call = new getAllComputeResourceNames_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -13378,6 +13807,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllComputeResourceNames", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllComputeResourceNames_args args = new getAllComputeResourceNames_args();
@@ -13386,6 +13816,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13396,6 +13827,7 @@
       }
     }
 
+    @Override
     public void updateComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateComputeResource_call method_call = new updateComputeResource_call(authzToken, computeResourceId, computeResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -13414,6 +13846,7 @@
         this.computeResourceDescription = computeResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateComputeResource_args args = new updateComputeResource_args();
@@ -13424,6 +13857,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13434,6 +13868,7 @@
       }
     }
 
+    @Override
     public void deleteComputeResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteComputeResource_call method_call = new deleteComputeResource_call(authzToken, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13450,6 +13885,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteComputeResource_args args = new deleteComputeResource_args();
@@ -13459,6 +13895,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13469,6 +13906,7 @@
       }
     }
 
+    @Override
     public void registerStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerStorageResource_call method_call = new registerStorageResource_call(authzToken, storageResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -13485,6 +13923,7 @@
         this.storageResourceDescription = storageResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerStorageResource_args args = new registerStorageResource_args();
@@ -13494,6 +13933,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13504,6 +13944,7 @@
       }
     }
 
+    @Override
     public void getStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String storageResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getStorageResource_call method_call = new getStorageResource_call(authzToken, storageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13520,6 +13961,7 @@
         this.storageResourceId = storageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getStorageResource_args args = new getStorageResource_args();
@@ -13529,6 +13971,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13539,6 +13982,7 @@
       }
     }
 
+    @Override
     public void getAllStorageResourceNames(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllStorageResourceNames_call method_call = new getAllStorageResourceNames_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -13553,6 +13997,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllStorageResourceNames", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllStorageResourceNames_args args = new getAllStorageResourceNames_args();
@@ -13561,6 +14006,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13571,6 +14017,7 @@
       }
     }
 
+    @Override
     public void updateStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateStorageResource_call method_call = new updateStorageResource_call(authzToken, storageResourceId, storageResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -13589,6 +14036,7 @@
         this.storageResourceDescription = storageResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateStorageResource_args args = new updateStorageResource_args();
@@ -13599,6 +14047,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13609,6 +14058,7 @@
       }
     }
 
+    @Override
     public void deleteStorageResource(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String storageResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteStorageResource_call method_call = new deleteStorageResource_call(authzToken, storageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13625,6 +14075,7 @@
         this.storageResourceId = storageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteStorageResource_args args = new deleteStorageResource_args();
@@ -13634,6 +14085,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13644,6 +14096,7 @@
       }
     }
 
+    @Override
     public void addLocalSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addLocalSubmissionDetails_call method_call = new addLocalSubmissionDetails_call(authzToken, computeResourceId, priorityOrder, localSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -13664,6 +14117,7 @@
         this.localSubmission = localSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addLocalSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addLocalSubmissionDetails_args args = new addLocalSubmissionDetails_args();
@@ -13675,6 +14129,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13685,6 +14140,7 @@
       }
     }
 
+    @Override
     public void updateLocalSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateLocalSubmissionDetails_call method_call = new updateLocalSubmissionDetails_call(authzToken, jobSubmissionInterfaceId, localSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -13703,6 +14159,7 @@
         this.localSubmission = localSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateLocalSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateLocalSubmissionDetails_args args = new updateLocalSubmissionDetails_args();
@@ -13713,6 +14170,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13723,6 +14181,7 @@
       }
     }
 
+    @Override
     public void getLocalJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getLocalJobSubmission_call method_call = new getLocalJobSubmission_call(authzToken, jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13739,6 +14198,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLocalJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getLocalJobSubmission_args args = new getLocalJobSubmission_args();
@@ -13748,6 +14208,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13758,6 +14219,7 @@
       }
     }
 
+    @Override
     public void addSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSSHJobSubmissionDetails_call method_call = new addSSHJobSubmissionDetails_call(authzToken, computeResourceId, priorityOrder, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -13778,6 +14240,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSSHJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSSHJobSubmissionDetails_args args = new addSSHJobSubmissionDetails_args();
@@ -13789,6 +14252,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13799,6 +14263,7 @@
       }
     }
 
+    @Override
     public void addSSHForkJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSSHForkJobSubmissionDetails_call method_call = new addSSHForkJobSubmissionDetails_call(authzToken, computeResourceId, priorityOrder, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -13819,6 +14284,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSSHForkJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSSHForkJobSubmissionDetails_args args = new addSSHForkJobSubmissionDetails_args();
@@ -13830,6 +14296,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13840,6 +14307,7 @@
       }
     }
 
+    @Override
     public void getSSHJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getSSHJobSubmission_call method_call = new getSSHJobSubmission_call(authzToken, jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13856,6 +14324,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSSHJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getSSHJobSubmission_args args = new getSSHJobSubmission_args();
@@ -13865,6 +14334,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13875,6 +14345,7 @@
       }
     }
 
+    @Override
     public void addUNICOREJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUNICOREJobSubmissionDetails_call method_call = new addUNICOREJobSubmissionDetails_call(authzToken, computeResourceId, priorityOrder, unicoreJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -13895,6 +14366,7 @@
         this.unicoreJobSubmission = unicoreJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUNICOREJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUNICOREJobSubmissionDetails_args args = new addUNICOREJobSubmissionDetails_args();
@@ -13906,6 +14378,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13916,6 +14389,7 @@
       }
     }
 
+    @Override
     public void getUnicoreJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUnicoreJobSubmission_call method_call = new getUnicoreJobSubmission_call(authzToken, jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13932,6 +14406,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUnicoreJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUnicoreJobSubmission_args args = new getUnicoreJobSubmission_args();
@@ -13941,6 +14416,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13951,6 +14427,7 @@
       }
     }
 
+    @Override
     public void addCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addCloudJobSubmissionDetails_call method_call = new addCloudJobSubmissionDetails_call(authzToken, computeResourceId, priorityOrder, cloudSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -13971,6 +14448,7 @@
         this.cloudSubmission = cloudSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addCloudJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addCloudJobSubmissionDetails_args args = new addCloudJobSubmissionDetails_args();
@@ -13982,6 +14460,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -13992,6 +14471,7 @@
       }
     }
 
+    @Override
     public void getCloudJobSubmission(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getCloudJobSubmission_call method_call = new getCloudJobSubmission_call(authzToken, jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14008,6 +14488,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCloudJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getCloudJobSubmission_args args = new getCloudJobSubmission_args();
@@ -14017,6 +14498,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14027,6 +14509,7 @@
       }
     }
 
+    @Override
     public void updateSSHJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateSSHJobSubmissionDetails_call method_call = new updateSSHJobSubmissionDetails_call(authzToken, jobSubmissionInterfaceId, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -14045,6 +14528,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateSSHJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateSSHJobSubmissionDetails_args args = new updateSSHJobSubmissionDetails_args();
@@ -14055,6 +14539,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14065,6 +14550,7 @@
       }
     }
 
+    @Override
     public void updateCloudJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateCloudJobSubmissionDetails_call method_call = new updateCloudJobSubmissionDetails_call(authzToken, jobSubmissionInterfaceId, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -14083,6 +14569,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateCloudJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateCloudJobSubmissionDetails_args args = new updateCloudJobSubmissionDetails_args();
@@ -14093,6 +14580,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14103,6 +14591,7 @@
       }
     }
 
+    @Override
     public void updateUnicoreJobSubmissionDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUnicoreJobSubmissionDetails_call method_call = new updateUnicoreJobSubmissionDetails_call(authzToken, jobSubmissionInterfaceId, unicoreJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -14121,6 +14610,7 @@
         this.unicoreJobSubmission = unicoreJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUnicoreJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUnicoreJobSubmissionDetails_args args = new updateUnicoreJobSubmissionDetails_args();
@@ -14131,6 +14621,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14141,6 +14632,7 @@
       }
     }
 
+    @Override
     public void addLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addLocalDataMovementDetails_call method_call = new addLocalDataMovementDetails_call(authzToken, productUri, dataMoveType, priorityOrder, localDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14163,6 +14655,7 @@
         this.localDataMovement = localDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addLocalDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addLocalDataMovementDetails_args args = new addLocalDataMovementDetails_args();
@@ -14175,6 +14668,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14185,6 +14679,7 @@
       }
     }
 
+    @Override
     public void updateLocalDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateLocalDataMovementDetails_call method_call = new updateLocalDataMovementDetails_call(authzToken, dataMovementInterfaceId, localDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14203,6 +14698,7 @@
         this.localDataMovement = localDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateLocalDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateLocalDataMovementDetails_args args = new updateLocalDataMovementDetails_args();
@@ -14213,6 +14709,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14223,6 +14720,7 @@
       }
     }
 
+    @Override
     public void getLocalDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getLocalDataMovement_call method_call = new getLocalDataMovement_call(authzToken, dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14239,6 +14737,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLocalDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getLocalDataMovement_args args = new getLocalDataMovement_args();
@@ -14248,6 +14747,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.LOCALDataMovement 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14258,6 +14758,7 @@
       }
     }
 
+    @Override
     public void addSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSCPDataMovementDetails_call method_call = new addSCPDataMovementDetails_call(authzToken, productUri, dataMoveType, priorityOrder, scpDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14280,6 +14781,7 @@
         this.scpDataMovement = scpDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSCPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSCPDataMovementDetails_args args = new addSCPDataMovementDetails_args();
@@ -14292,6 +14794,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14302,6 +14805,7 @@
       }
     }
 
+    @Override
     public void updateSCPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateSCPDataMovementDetails_call method_call = new updateSCPDataMovementDetails_call(authzToken, dataMovementInterfaceId, scpDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14320,6 +14824,7 @@
         this.scpDataMovement = scpDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateSCPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateSCPDataMovementDetails_args args = new updateSCPDataMovementDetails_args();
@@ -14330,6 +14835,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14340,6 +14846,7 @@
       }
     }
 
+    @Override
     public void getSCPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getSCPDataMovement_call method_call = new getSCPDataMovement_call(authzToken, dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14356,6 +14863,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSCPDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getSCPDataMovement_args args = new getSCPDataMovement_args();
@@ -14365,6 +14873,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.SCPDataMovement 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14375,6 +14884,7 @@
       }
     }
 
+    @Override
     public void addUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUnicoreDataMovementDetails_call method_call = new addUnicoreDataMovementDetails_call(authzToken, productUri, dataMoveType, priorityOrder, unicoreDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14397,6 +14907,7 @@
         this.unicoreDataMovement = unicoreDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUnicoreDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUnicoreDataMovementDetails_args args = new addUnicoreDataMovementDetails_args();
@@ -14409,6 +14920,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14419,6 +14931,7 @@
       }
     }
 
+    @Override
     public void updateUnicoreDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUnicoreDataMovementDetails_call method_call = new updateUnicoreDataMovementDetails_call(authzToken, dataMovementInterfaceId, unicoreDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14437,6 +14950,7 @@
         this.unicoreDataMovement = unicoreDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUnicoreDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUnicoreDataMovementDetails_args args = new updateUnicoreDataMovementDetails_args();
@@ -14447,6 +14961,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14457,6 +14972,7 @@
       }
     }
 
+    @Override
     public void getUnicoreDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUnicoreDataMovement_call method_call = new getUnicoreDataMovement_call(authzToken, dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14473,6 +14989,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUnicoreDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUnicoreDataMovement_args args = new getUnicoreDataMovement_args();
@@ -14482,6 +14999,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.UnicoreDataMovement 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14492,6 +15010,7 @@
       }
     }
 
+    @Override
     public void addGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGridFTPDataMovementDetails_call method_call = new addGridFTPDataMovementDetails_call(authzToken, productUri, dataMoveType, priorityOrder, gridFTPDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14514,6 +15033,7 @@
         this.gridFTPDataMovement = gridFTPDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGridFTPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGridFTPDataMovementDetails_args args = new addGridFTPDataMovementDetails_args();
@@ -14526,6 +15046,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14536,6 +15057,7 @@
       }
     }
 
+    @Override
     public void updateGridFTPDataMovementDetails(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGridFTPDataMovementDetails_call method_call = new updateGridFTPDataMovementDetails_call(authzToken, dataMovementInterfaceId, gridFTPDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -14554,6 +15076,7 @@
         this.gridFTPDataMovement = gridFTPDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGridFTPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGridFTPDataMovementDetails_args args = new updateGridFTPDataMovementDetails_args();
@@ -14564,6 +15087,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14574,6 +15098,7 @@
       }
     }
 
+    @Override
     public void getGridFTPDataMovement(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGridFTPDataMovement_call method_call = new getGridFTPDataMovement_call(authzToken, dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14590,6 +15115,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGridFTPDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGridFTPDataMovement_args args = new getGridFTPDataMovement_args();
@@ -14599,6 +15125,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.GridFTPDataMovement 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14609,6 +15136,7 @@
       }
     }
 
+    @Override
     public void changeJobSubmissionPriority(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String jobSubmissionInterfaceId, int newPriorityOrder, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeJobSubmissionPriority_call method_call = new changeJobSubmissionPriority_call(authzToken, jobSubmissionInterfaceId, newPriorityOrder, resultHandler, this, ___protocolFactory, ___transport);
@@ -14627,6 +15155,7 @@
         this.newPriorityOrder = newPriorityOrder;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeJobSubmissionPriority", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeJobSubmissionPriority_args args = new changeJobSubmissionPriority_args();
@@ -14637,6 +15166,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14647,6 +15177,7 @@
       }
     }
 
+    @Override
     public void changeDataMovementPriority(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataMovementInterfaceId, int newPriorityOrder, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeDataMovementPriority_call method_call = new changeDataMovementPriority_call(authzToken, dataMovementInterfaceId, newPriorityOrder, resultHandler, this, ___protocolFactory, ___transport);
@@ -14665,6 +15196,7 @@
         this.newPriorityOrder = newPriorityOrder;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeDataMovementPriority", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeDataMovementPriority_args args = new changeDataMovementPriority_args();
@@ -14675,6 +15207,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14685,6 +15218,7 @@
       }
     }
 
+    @Override
     public void changeJobSubmissionPriorities(org.apache.airavata.model.security.AuthzToken authzToken, java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeJobSubmissionPriorities_call method_call = new changeJobSubmissionPriorities_call(authzToken, jobSubmissionPriorityMap, resultHandler, this, ___protocolFactory, ___transport);
@@ -14701,6 +15235,7 @@
         this.jobSubmissionPriorityMap = jobSubmissionPriorityMap;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeJobSubmissionPriorities", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeJobSubmissionPriorities_args args = new changeJobSubmissionPriorities_args();
@@ -14710,6 +15245,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14720,6 +15256,7 @@
       }
     }
 
+    @Override
     public void changeDataMovementPriorities(org.apache.airavata.model.security.AuthzToken authzToken, java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeDataMovementPriorities_call method_call = new changeDataMovementPriorities_call(authzToken, dataMovementPriorityMap, resultHandler, this, ___protocolFactory, ___transport);
@@ -14736,6 +15273,7 @@
         this.dataMovementPriorityMap = dataMovementPriorityMap;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeDataMovementPriorities", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeDataMovementPriorities_args args = new changeDataMovementPriorities_args();
@@ -14745,6 +15283,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14755,6 +15294,7 @@
       }
     }
 
+    @Override
     public void deleteJobSubmissionInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String jobSubmissionInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteJobSubmissionInterface_call method_call = new deleteJobSubmissionInterface_call(authzToken, computeResourceId, jobSubmissionInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14773,6 +15313,7 @@
         this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteJobSubmissionInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteJobSubmissionInterface_args args = new deleteJobSubmissionInterface_args();
@@ -14783,6 +15324,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14793,6 +15335,7 @@
       }
     }
 
+    @Override
     public void deleteDataMovementInterface(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteDataMovementInterface_call method_call = new deleteDataMovementInterface_call(authzToken, productUri, dataMovementInterfaceId, dataMoveType, resultHandler, this, ___protocolFactory, ___transport);
@@ -14813,6 +15356,7 @@
         this.dataMoveType = dataMoveType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDataMovementInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteDataMovementInterface_args args = new deleteDataMovementInterface_args();
@@ -14824,6 +15368,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14834,6 +15379,7 @@
       }
     }
 
+    @Override
     public void registerResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerResourceJobManager_call method_call = new registerResourceJobManager_call(authzToken, resourceJobManager, resultHandler, this, ___protocolFactory, ___transport);
@@ -14850,6 +15396,7 @@
         this.resourceJobManager = resourceJobManager;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerResourceJobManager_args args = new registerResourceJobManager_args();
@@ -14859,6 +15406,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14869,6 +15417,7 @@
       }
     }
 
+    @Override
     public void updateResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceJobManagerId, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateResourceJobManager_call method_call = new updateResourceJobManager_call(authzToken, resourceJobManagerId, updatedResourceJobManager, resultHandler, this, ___protocolFactory, ___transport);
@@ -14887,6 +15436,7 @@
         this.updatedResourceJobManager = updatedResourceJobManager;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateResourceJobManager_args args = new updateResourceJobManager_args();
@@ -14897,6 +15447,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14907,6 +15458,7 @@
       }
     }
 
+    @Override
     public void getResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceJobManagerId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getResourceJobManager_call method_call = new getResourceJobManager_call(authzToken, resourceJobManagerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14923,6 +15475,7 @@
         this.resourceJobManagerId = resourceJobManagerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getResourceJobManager_args args = new getResourceJobManager_args();
@@ -14932,6 +15485,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14942,6 +15496,7 @@
       }
     }
 
+    @Override
     public void deleteResourceJobManager(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceJobManagerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteResourceJobManager_call method_call = new deleteResourceJobManager_call(authzToken, resourceJobManagerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14958,6 +15513,7 @@
         this.resourceJobManagerId = resourceJobManagerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteResourceJobManager_args args = new deleteResourceJobManager_args();
@@ -14967,6 +15523,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -14977,6 +15534,7 @@
       }
     }
 
+    @Override
     public void deleteBatchQueue(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String queueName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteBatchQueue_call method_call = new deleteBatchQueue_call(authzToken, computeResourceId, queueName, resultHandler, this, ___protocolFactory, ___transport);
@@ -14995,6 +15553,7 @@
         this.queueName = queueName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteBatchQueue", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteBatchQueue_args args = new deleteBatchQueue_args();
@@ -15005,6 +15564,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15015,6 +15575,7 @@
       }
     }
 
+    @Override
     public void registerGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerGatewayResourceProfile_call method_call = new registerGatewayResourceProfile_call(authzToken, gatewayResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -15031,6 +15592,7 @@
         this.gatewayResourceProfile = gatewayResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerGatewayResourceProfile_args args = new registerGatewayResourceProfile_args();
@@ -15040,6 +15602,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15050,6 +15613,7 @@
       }
     }
 
+    @Override
     public void getGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayResourceProfile_call method_call = new getGatewayResourceProfile_call(authzToken, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15066,6 +15630,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayResourceProfile_args args = new getGatewayResourceProfile_args();
@@ -15075,6 +15640,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15085,6 +15651,7 @@
       }
     }
 
+    @Override
     public void updateGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayResourceProfile_call method_call = new updateGatewayResourceProfile_call(authzToken, gatewayID, gatewayResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -15103,6 +15670,7 @@
         this.gatewayResourceProfile = gatewayResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayResourceProfile_args args = new updateGatewayResourceProfile_args();
@@ -15113,6 +15681,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15123,6 +15692,7 @@
       }
     }
 
+    @Override
     public void deleteGatewayResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGatewayResourceProfile_call method_call = new deleteGatewayResourceProfile_call(authzToken, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15139,6 +15709,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGatewayResourceProfile_args args = new deleteGatewayResourceProfile_args();
@@ -15148,6 +15719,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15158,6 +15730,7 @@
       }
     }
 
+    @Override
     public void addGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGatewayComputeResourcePreference_call method_call = new addGatewayComputeResourcePreference_call(authzToken, gatewayID, computeResourceId, computeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -15178,6 +15751,7 @@
         this.computeResourcePreference = computeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGatewayComputeResourcePreference_args args = new addGatewayComputeResourcePreference_args();
@@ -15189,6 +15763,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15199,6 +15774,7 @@
       }
     }
 
+    @Override
     public void addGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGatewayStoragePreference_call method_call = new addGatewayStoragePreference_call(authzToken, gatewayID, storageResourceId, storagePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -15219,6 +15795,7 @@
         this.storagePreference = storagePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGatewayStoragePreference_args args = new addGatewayStoragePreference_args();
@@ -15230,6 +15807,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15240,6 +15818,7 @@
       }
     }
 
+    @Override
     public void getGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayComputeResourcePreference_call method_call = new getGatewayComputeResourcePreference_call(authzToken, gatewayID, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15258,6 +15837,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayComputeResourcePreference_args args = new getGatewayComputeResourcePreference_args();
@@ -15268,6 +15848,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15278,6 +15859,7 @@
       }
     }
 
+    @Override
     public void getGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayStoragePreference_call method_call = new getGatewayStoragePreference_call(authzToken, gatewayID, storageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15296,6 +15878,7 @@
         this.storageResourceId = storageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayStoragePreference_args args = new getGatewayStoragePreference_args();
@@ -15306,6 +15889,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15316,6 +15900,7 @@
       }
     }
 
+    @Override
     public void getAllGatewayComputeResourcePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewayComputeResourcePreferences_call method_call = new getAllGatewayComputeResourcePreferences_call(authzToken, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15332,6 +15917,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewayComputeResourcePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewayComputeResourcePreferences_args args = new getAllGatewayComputeResourcePreferences_args();
@@ -15341,6 +15927,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15351,6 +15938,7 @@
       }
     }
 
+    @Override
     public void getAllGatewayStoragePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewayStoragePreferences_call method_call = new getAllGatewayStoragePreferences_call(authzToken, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15367,6 +15955,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewayStoragePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewayStoragePreferences_args args = new getAllGatewayStoragePreferences_args();
@@ -15376,6 +15965,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15386,6 +15976,7 @@
       }
     }
 
+    @Override
     public void getAllGatewayResourceProfiles(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewayResourceProfiles_call method_call = new getAllGatewayResourceProfiles_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -15400,6 +15991,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewayResourceProfiles", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewayResourceProfiles_args args = new getAllGatewayResourceProfiles_args();
@@ -15408,6 +16000,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15418,6 +16011,7 @@
       }
     }
 
+    @Override
     public void updateGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayComputeResourcePreference_call method_call = new updateGatewayComputeResourcePreference_call(authzToken, gatewayID, computeResourceId, computeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -15438,6 +16032,7 @@
         this.computeResourcePreference = computeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayComputeResourcePreference_args args = new updateGatewayComputeResourcePreference_args();
@@ -15449,6 +16044,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15459,6 +16055,7 @@
       }
     }
 
+    @Override
     public void updateGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayStoragePreference_call method_call = new updateGatewayStoragePreference_call(authzToken, gatewayID, storageId, storagePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -15479,6 +16076,7 @@
         this.storagePreference = storagePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayStoragePreference_args args = new updateGatewayStoragePreference_args();
@@ -15490,6 +16088,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15500,6 +16099,7 @@
       }
     }
 
+    @Override
     public void deleteGatewayComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGatewayComputeResourcePreference_call method_call = new deleteGatewayComputeResourcePreference_call(authzToken, gatewayID, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15518,6 +16118,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGatewayComputeResourcePreference_args args = new deleteGatewayComputeResourcePreference_args();
@@ -15528,6 +16129,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15538,6 +16140,7 @@
       }
     }
 
+    @Override
     public void deleteGatewayStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayID, java.lang.String storageId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGatewayStoragePreference_call method_call = new deleteGatewayStoragePreference_call(authzToken, gatewayID, storageId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15556,6 +16159,7 @@
         this.storageId = storageId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGatewayStoragePreference_args args = new deleteGatewayStoragePreference_args();
@@ -15566,6 +16170,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15576,6 +16181,7 @@
       }
     }
 
+    @Override
     public void getSSHAccountProvisioners(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getSSHAccountProvisioners_call method_call = new getSSHAccountProvisioners_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -15590,6 +16196,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSSHAccountProvisioners", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getSSHAccountProvisioners_args args = new getSSHAccountProvisioners_args();
@@ -15598,6 +16205,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15608,6 +16216,7 @@
       }
     }
 
+    @Override
     public void doesUserHaveSSHAccount(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       doesUserHaveSSHAccount_call method_call = new doesUserHaveSSHAccount_call(authzToken, computeResourceId, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15626,6 +16235,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("doesUserHaveSSHAccount", org.apache.thrift.protocol.TMessageType.CALL, 0));
         doesUserHaveSSHAccount_args args = new doesUserHaveSSHAccount_args();
@@ -15636,6 +16246,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15646,6 +16257,7 @@
       }
     }
 
+    @Override
     public void isSSHSetupCompleteForUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isSSHSetupCompleteForUserComputeResourcePreference_call method_call = new isSSHSetupCompleteForUserComputeResourcePreference_call(authzToken, computeResourceId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -15664,6 +16276,7 @@
         this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isSSHSetupCompleteForUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isSSHSetupCompleteForUserComputeResourcePreference_args args = new isSSHSetupCompleteForUserComputeResourcePreference_args();
@@ -15674,6 +16287,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15684,6 +16298,7 @@
       }
     }
 
+    @Override
     public void setupUserComputeResourcePreferencesForSSH(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String userId, java.lang.String airavataCredStoreToken, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       setupUserComputeResourcePreferencesForSSH_call method_call = new setupUserComputeResourcePreferencesForSSH_call(authzToken, computeResourceId, userId, airavataCredStoreToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -15704,6 +16319,7 @@
         this.airavataCredStoreToken = airavataCredStoreToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setupUserComputeResourcePreferencesForSSH", org.apache.thrift.protocol.TMessageType.CALL, 0));
         setupUserComputeResourcePreferencesForSSH_args args = new setupUserComputeResourcePreferencesForSSH_args();
@@ -15715,6 +16331,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15725,6 +16342,7 @@
       }
     }
 
+    @Override
     public void registerUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerUserResourceProfile_call method_call = new registerUserResourceProfile_call(authzToken, userResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -15741,6 +16359,7 @@
         this.userResourceProfile = userResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerUserResourceProfile_args args = new registerUserResourceProfile_args();
@@ -15750,6 +16369,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15760,6 +16380,7 @@
       }
     }
 
+    @Override
     public void isUserResourceProfileExists(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserResourceProfileExists_call method_call = new isUserResourceProfileExists_call(authzToken, userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15778,6 +16399,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserResourceProfileExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserResourceProfileExists_args args = new isUserResourceProfileExists_args();
@@ -15788,6 +16410,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15798,6 +16421,7 @@
       }
     }
 
+    @Override
     public void getUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserResourceProfile_call method_call = new getUserResourceProfile_call(authzToken, userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15816,6 +16440,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserResourceProfile_args args = new getUserResourceProfile_args();
@@ -15826,6 +16451,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15836,6 +16462,7 @@
       }
     }
 
+    @Override
     public void updateUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserResourceProfile_call method_call = new updateUserResourceProfile_call(authzToken, userId, gatewayID, userResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -15856,6 +16483,7 @@
         this.userResourceProfile = userResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserResourceProfile_args args = new updateUserResourceProfile_args();
@@ -15867,6 +16495,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15877,6 +16506,7 @@
       }
     }
 
+    @Override
     public void deleteUserResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserResourceProfile_call method_call = new deleteUserResourceProfile_call(authzToken, userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -15895,6 +16525,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserResourceProfile_args args = new deleteUserResourceProfile_args();
@@ -15905,6 +16536,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15915,6 +16547,7 @@
       }
     }
 
+    @Override
     public void addUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUserComputeResourcePreference_call method_call = new addUserComputeResourcePreference_call(authzToken, userId, gatewayID, userComputeResourceId, userComputeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -15937,6 +16570,7 @@
         this.userComputeResourcePreference = userComputeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUserComputeResourcePreference_args args = new addUserComputeResourcePreference_args();
@@ -15949,6 +16583,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -15959,6 +16594,7 @@
       }
     }
 
+    @Override
     public void addUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUserStoragePreference_call method_call = new addUserStoragePreference_call(authzToken, userId, gatewayID, userStorageResourceId, userStoragePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -15981,6 +16617,7 @@
         this.userStoragePreference = userStoragePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUserStoragePreference_args args = new addUserStoragePreference_args();
@@ -15993,6 +16630,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16003,6 +16641,7 @@
       }
     }
 
+    @Override
     public void getUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserComputeResourcePreference_call method_call = new getUserComputeResourcePreference_call(authzToken, userId, gatewayID, userComputeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -16023,6 +16662,7 @@
         this.userComputeResourceId = userComputeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserComputeResourcePreference_args args = new getUserComputeResourcePreference_args();
@@ -16034,6 +16674,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16044,6 +16685,7 @@
       }
     }
 
+    @Override
     public void getUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserStoragePreference_call method_call = new getUserStoragePreference_call(authzToken, userId, gatewayID, userStorageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -16064,6 +16706,7 @@
         this.userStorageResourceId = userStorageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserStoragePreference_args args = new getUserStoragePreference_args();
@@ -16075,6 +16718,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16085,6 +16729,7 @@
       }
     }
 
+    @Override
     public void getAllUserComputeResourcePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserComputeResourcePreferences_call method_call = new getAllUserComputeResourcePreferences_call(authzToken, userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -16103,6 +16748,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserComputeResourcePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserComputeResourcePreferences_args args = new getAllUserComputeResourcePreferences_args();
@@ -16113,6 +16759,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16123,6 +16770,7 @@
       }
     }
 
+    @Override
     public void getAllUserStoragePreferences(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserStoragePreferences_call method_call = new getAllUserStoragePreferences_call(authzToken, userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -16141,6 +16789,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserStoragePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserStoragePreferences_args args = new getAllUserStoragePreferences_args();
@@ -16151,6 +16800,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16161,6 +16811,7 @@
       }
     }
 
+    @Override
     public void getAllUserResourceProfiles(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserResourceProfiles_call method_call = new getAllUserResourceProfiles_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -16175,6 +16826,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserResourceProfiles", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserResourceProfiles_args args = new getAllUserResourceProfiles_args();
@@ -16183,6 +16835,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16193,6 +16846,7 @@
       }
     }
 
+    @Override
     public void updateUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserComputeResourcePreference_call method_call = new updateUserComputeResourcePreference_call(authzToken, userId, gatewayID, userComputeResourceId, userComputeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -16215,6 +16869,7 @@
         this.userComputeResourcePreference = userComputeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserComputeResourcePreference_args args = new updateUserComputeResourcePreference_args();
@@ -16227,6 +16882,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16237,6 +16893,7 @@
       }
     }
 
+    @Override
     public void updateUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserStoragePreference_call method_call = new updateUserStoragePreference_call(authzToken, userId, gatewayID, userStorageId, userStoragePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -16259,6 +16916,7 @@
         this.userStoragePreference = userStoragePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserStoragePreference_args args = new updateUserStoragePreference_args();
@@ -16271,6 +16929,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16281,6 +16940,7 @@
       }
     }
 
+    @Override
     public void deleteUserComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserComputeResourcePreference_call method_call = new deleteUserComputeResourcePreference_call(authzToken, userId, gatewayID, userComputeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -16301,6 +16961,7 @@
         this.userComputeResourceId = userComputeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserComputeResourcePreference_args args = new deleteUserComputeResourcePreference_args();
@@ -16312,6 +16973,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16322,6 +16984,7 @@
       }
     }
 
+    @Override
     public void deleteUserStoragePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserStoragePreference_call method_call = new deleteUserStoragePreference_call(authzToken, userId, gatewayID, userStorageId, resultHandler, this, ___protocolFactory, ___transport);
@@ -16342,6 +17005,7 @@
         this.userStorageId = userStorageId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserStoragePreference_args args = new deleteUserStoragePreference_args();
@@ -16353,6 +17017,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16363,6 +17028,7 @@
       }
     }
 
+    @Override
     public void getLatestQueueStatuses(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getLatestQueueStatuses_call method_call = new getLatestQueueStatuses_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -16377,6 +17043,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLatestQueueStatuses", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getLatestQueueStatuses_args args = new getLatestQueueStatuses_args();
@@ -16385,6 +17052,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.status.QueueStatusModel> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16395,6 +17063,7 @@
       }
     }
 
+    @Override
     public void registerDataProduct(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.replica.DataProductModel dataProductModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerDataProduct_call method_call = new registerDataProduct_call(authzToken, dataProductModel, resultHandler, this, ___protocolFactory, ___transport);
@@ -16411,6 +17080,7 @@
         this.dataProductModel = dataProductModel;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerDataProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerDataProduct_args args = new registerDataProduct_args();
@@ -16420,6 +17090,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16430,6 +17101,7 @@
       }
     }
 
+    @Override
     public void getDataProduct(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String dataProductUri, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getDataProduct_call method_call = new getDataProduct_call(authzToken, dataProductUri, resultHandler, this, ___protocolFactory, ___transport);
@@ -16446,6 +17118,7 @@
         this.dataProductUri = dataProductUri;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDataProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getDataProduct_args args = new getDataProduct_args();
@@ -16455,6 +17128,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.replica.DataProductModel 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16465,6 +17139,7 @@
       }
     }
 
+    @Override
     public void registerReplicaLocation(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerReplicaLocation_call method_call = new registerReplicaLocation_call(authzToken, replicaLocationModel, resultHandler, this, ___protocolFactory, ___transport);
@@ -16481,6 +17156,7 @@
         this.replicaLocationModel = replicaLocationModel;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerReplicaLocation", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerReplicaLocation_args args = new registerReplicaLocation_args();
@@ -16490,6 +17166,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16500,6 +17177,7 @@
       }
     }
 
+    @Override
     public void getParentDataProduct(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParentDataProduct_call method_call = new getParentDataProduct_call(authzToken, productUri, resultHandler, this, ___protocolFactory, ___transport);
@@ -16516,6 +17194,7 @@
         this.productUri = productUri;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParentDataProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParentDataProduct_args args = new getParentDataProduct_args();
@@ -16525,6 +17204,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.replica.DataProductModel 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16535,6 +17215,7 @@
       }
     }
 
+    @Override
     public void getChildDataProducts(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String productUri, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getChildDataProducts_call method_call = new getChildDataProducts_call(authzToken, productUri, resultHandler, this, ___protocolFactory, ___transport);
@@ -16551,6 +17232,7 @@
         this.productUri = productUri;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getChildDataProducts", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getChildDataProducts_args args = new getChildDataProducts_args();
@@ -16560,6 +17242,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16570,6 +17253,7 @@
       }
     }
 
+    @Override
     public void shareResourceWithUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       shareResourceWithUsers_call method_call = new shareResourceWithUsers_call(authzToken, resourceId, userPermissionList, resultHandler, this, ___protocolFactory, ___transport);
@@ -16588,6 +17272,7 @@
         this.userPermissionList = userPermissionList;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shareResourceWithUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         shareResourceWithUsers_args args = new shareResourceWithUsers_args();
@@ -16598,6 +17283,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16608,6 +17294,7 @@
       }
     }
 
+    @Override
     public void shareResourceWithGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       shareResourceWithGroups_call method_call = new shareResourceWithGroups_call(authzToken, resourceId, groupPermissionList, resultHandler, this, ___protocolFactory, ___transport);
@@ -16626,6 +17313,7 @@
         this.groupPermissionList = groupPermissionList;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shareResourceWithGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         shareResourceWithGroups_args args = new shareResourceWithGroups_args();
@@ -16636,6 +17324,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16646,6 +17335,7 @@
       }
     }
 
+    @Override
     public void revokeSharingOfResourceFromUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       revokeSharingOfResourceFromUsers_call method_call = new revokeSharingOfResourceFromUsers_call(authzToken, resourceId, userPermissionList, resultHandler, this, ___protocolFactory, ___transport);
@@ -16664,6 +17354,7 @@
         this.userPermissionList = userPermissionList;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("revokeSharingOfResourceFromUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         revokeSharingOfResourceFromUsers_args args = new revokeSharingOfResourceFromUsers_args();
@@ -16674,6 +17365,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16684,6 +17376,7 @@
       }
     }
 
+    @Override
     public void revokeSharingOfResourceFromGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       revokeSharingOfResourceFromGroups_call method_call = new revokeSharingOfResourceFromGroups_call(authzToken, resourceId, groupPermissionList, resultHandler, this, ___protocolFactory, ___transport);
@@ -16702,6 +17395,7 @@
         this.groupPermissionList = groupPermissionList;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("revokeSharingOfResourceFromGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         revokeSharingOfResourceFromGroups_args args = new revokeSharingOfResourceFromGroups_args();
@@ -16712,6 +17406,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16722,6 +17417,7 @@
       }
     }
 
+    @Override
     public void getAllAccessibleUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllAccessibleUsers_call method_call = new getAllAccessibleUsers_call(authzToken, resourceId, permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -16740,6 +17436,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllAccessibleUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllAccessibleUsers_args args = new getAllAccessibleUsers_args();
@@ -16750,6 +17447,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16760,6 +17458,7 @@
       }
     }
 
+    @Override
     public void getAllAccessibleGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllAccessibleGroups_call method_call = new getAllAccessibleGroups_call(authzToken, resourceId, permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -16778,6 +17477,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllAccessibleGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllAccessibleGroups_args args = new getAllAccessibleGroups_args();
@@ -16788,6 +17488,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16798,6 +17499,7 @@
       }
     }
 
+    @Override
     public void getAllDirectlyAccessibleUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllDirectlyAccessibleUsers_call method_call = new getAllDirectlyAccessibleUsers_call(authzToken, resourceId, permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -16816,6 +17518,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllDirectlyAccessibleUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllDirectlyAccessibleUsers_args args = new getAllDirectlyAccessibleUsers_args();
@@ -16826,6 +17529,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16836,6 +17540,7 @@
       }
     }
 
+    @Override
     public void getAllDirectlyAccessibleGroups(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllDirectlyAccessibleGroups_call method_call = new getAllDirectlyAccessibleGroups_call(authzToken, resourceId, permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -16854,6 +17559,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllDirectlyAccessibleGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllDirectlyAccessibleGroups_args args = new getAllDirectlyAccessibleGroups_args();
@@ -16864,6 +17570,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16874,6 +17581,7 @@
       }
     }
 
+    @Override
     public void userHasAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourceId, org.apache.airavata.model.group.ResourcePermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       userHasAccess_call method_call = new userHasAccess_call(authzToken, resourceId, permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -16892,6 +17600,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("userHasAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         userHasAccess_args args = new userHasAccess_args();
@@ -16902,6 +17611,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16912,6 +17622,7 @@
       }
     }
 
+    @Override
     public void createGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createGroupResourceProfile_call method_call = new createGroupResourceProfile_call(authzToken, groupResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -16928,6 +17639,7 @@
         this.groupResourceProfile = groupResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createGroupResourceProfile_args args = new createGroupResourceProfile_args();
@@ -16937,6 +17649,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -16947,6 +17660,7 @@
       }
     }
 
+    @Override
     public void updateGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGroupResourceProfile_call method_call = new updateGroupResourceProfile_call(authzToken, groupResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -16963,6 +17677,7 @@
         this.groupResourceProfile = groupResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGroupResourceProfile_args args = new updateGroupResourceProfile_args();
@@ -16972,16 +17687,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void 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 java.lang.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);
+        (new Client(prot)).recv_updateGroupResourceProfile();
         return null;
       }
     }
 
+    @Override
     public void getGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupResourceProfile_call method_call = new getGroupResourceProfile_call(authzToken, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -16998,6 +17716,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupResourceProfile_args args = new getGroupResourceProfile_args();
@@ -17007,6 +17726,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17017,6 +17737,7 @@
       }
     }
 
+    @Override
     public void removeGroupResourceProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupResourceProfile_call method_call = new removeGroupResourceProfile_call(authzToken, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17033,6 +17754,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupResourceProfile_args args = new removeGroupResourceProfile_args();
@@ -17042,6 +17764,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17052,6 +17775,7 @@
       }
     }
 
+    @Override
     public void getGroupResourceList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupResourceList_call method_call = new getGroupResourceList_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17068,6 +17792,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupResourceList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupResourceList_args args = new getGroupResourceList_args();
@@ -17077,6 +17802,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17087,6 +17813,7 @@
       }
     }
 
+    @Override
     public void removeGroupComputePrefs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupComputePrefs_call method_call = new removeGroupComputePrefs_call(authzToken, computeResourceId, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17105,6 +17832,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupComputePrefs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupComputePrefs_args args = new removeGroupComputePrefs_args();
@@ -17115,6 +17843,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17125,6 +17854,7 @@
       }
     }
 
+    @Override
     public void removeGroupComputeResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupComputeResourcePolicy_call method_call = new removeGroupComputeResourcePolicy_call(authzToken, resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17141,6 +17871,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupComputeResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupComputeResourcePolicy_args args = new removeGroupComputeResourcePolicy_args();
@@ -17150,6 +17881,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17160,6 +17892,7 @@
       }
     }
 
+    @Override
     public void removeGroupBatchQueueResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupBatchQueueResourcePolicy_call method_call = new removeGroupBatchQueueResourcePolicy_call(authzToken, resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17176,6 +17909,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupBatchQueueResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupBatchQueueResourcePolicy_args args = new removeGroupBatchQueueResourcePolicy_args();
@@ -17185,6 +17919,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17195,6 +17930,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePreference(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePreference_call method_call = new getGroupComputeResourcePreference_call(authzToken, computeResourceId, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17213,6 +17949,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePreference_args args = new getGroupComputeResourcePreference_args();
@@ -17223,6 +17960,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17233,6 +17971,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePolicy_call method_call = new getGroupComputeResourcePolicy_call(authzToken, resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17249,6 +17988,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePolicy_args args = new getGroupComputeResourcePolicy_args();
@@ -17258,6 +17998,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17268,6 +18009,7 @@
       }
     }
 
+    @Override
     public void getBatchQueueResourcePolicy(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getBatchQueueResourcePolicy_call method_call = new getBatchQueueResourcePolicy_call(authzToken, resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17284,6 +18026,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBatchQueueResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getBatchQueueResourcePolicy_args args = new getBatchQueueResourcePolicy_args();
@@ -17293,6 +18036,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17303,6 +18047,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePrefList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePrefList_call method_call = new getGroupComputeResourcePrefList_call(authzToken, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17319,6 +18064,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePrefList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePrefList_args args = new getGroupComputeResourcePrefList_args();
@@ -17328,6 +18074,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17338,6 +18085,7 @@
       }
     }
 
+    @Override
     public void getGroupBatchQueueResourcePolicyList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupBatchQueueResourcePolicyList_call method_call = new getGroupBatchQueueResourcePolicyList_call(authzToken, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17354,6 +18102,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupBatchQueueResourcePolicyList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupBatchQueueResourcePolicyList_args args = new getGroupBatchQueueResourcePolicyList_args();
@@ -17363,6 +18112,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17373,6 +18123,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePolicyList(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePolicyList_call method_call = new getGroupComputeResourcePolicyList_call(authzToken, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17389,6 +18140,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePolicyList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePolicyList_args args = new getGroupComputeResourcePolicyList_args();
@@ -17398,6 +18150,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17408,6 +18161,7 @@
       }
     }
 
+    @Override
     public void getGatewayGroups(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayGroups_call method_call = new getGatewayGroups_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -17422,6 +18176,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayGroups_args args = new getGatewayGroups_args();
@@ -17430,6 +18185,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17440,6 +18196,7 @@
       }
     }
 
+    @Override
     public void getParser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String parserId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParser_call method_call = new getParser_call(authzToken, parserId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17458,6 +18215,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParser_args args = new getParser_args();
@@ -17468,6 +18226,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.parser.Parser 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17478,6 +18237,7 @@
       }
     }
 
+    @Override
     public void saveParser(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.Parser parser, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       saveParser_call method_call = new saveParser_call(authzToken, parser, resultHandler, this, ___protocolFactory, ___transport);
@@ -17494,6 +18254,7 @@
         this.parser = parser;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveParser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         saveParser_args args = new saveParser_args();
@@ -17503,6 +18264,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17513,6 +18275,7 @@
       }
     }
 
+    @Override
     public void listAllParsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       listAllParsers_call method_call = new listAllParsers_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17529,6 +18292,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("listAllParsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         listAllParsers_args args = new listAllParsers_args();
@@ -17538,6 +18302,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17548,6 +18313,7 @@
       }
     }
 
+    @Override
     public void removeParser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String parserId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeParser_call method_call = new removeParser_call(authzToken, parserId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17566,6 +18332,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeParser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeParser_args args = new removeParser_args();
@@ -17576,6 +18343,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17586,6 +18354,7 @@
       }
     }
 
+    @Override
     public void getParsingTemplate(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String templateId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParsingTemplate_call method_call = new getParsingTemplate_call(authzToken, templateId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17604,6 +18373,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParsingTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParsingTemplate_args args = new getParsingTemplate_args();
@@ -17614,6 +18384,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.parser.ParsingTemplate 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17624,6 +18395,7 @@
       }
     }
 
+    @Override
     public void getParsingTemplatesForExperiment(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String experimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParsingTemplatesForExperiment_call method_call = new getParsingTemplatesForExperiment_call(authzToken, experimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17642,6 +18414,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParsingTemplatesForExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParsingTemplatesForExperiment_args args = new getParsingTemplatesForExperiment_args();
@@ -17652,6 +18425,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17662,6 +18436,7 @@
       }
     }
 
+    @Override
     public void saveParsingTemplate(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       saveParsingTemplate_call method_call = new saveParsingTemplate_call(authzToken, parsingTemplate, resultHandler, this, ___protocolFactory, ___transport);
@@ -17678,6 +18453,7 @@
         this.parsingTemplate = parsingTemplate;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveParsingTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         saveParsingTemplate_args args = new saveParsingTemplate_args();
@@ -17687,6 +18463,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17697,6 +18474,7 @@
       }
     }
 
+    @Override
     public void removeParsingTemplate(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String templateId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeParsingTemplate_call method_call = new removeParsingTemplate_call(authzToken, templateId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17715,6 +18493,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeParsingTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeParsingTemplate_args args = new removeParsingTemplate_args();
@@ -17725,6 +18504,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17735,6 +18515,7 @@
       }
     }
 
+    @Override
     public void listAllParsingTemplates(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       listAllParsingTemplates_call method_call = new listAllParsingTemplates_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -17751,6 +18532,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("listAllParsingTemplates", org.apache.thrift.protocol.TMessageType.CALL, 0));
         listAllParsingTemplates_args args = new listAllParsingTemplates_args();
@@ -17760,6 +18542,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> 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 java.lang.IllegalStateException("Method call not finished!");
@@ -17984,14 +18767,22 @@
         super("isUserExists");
       }
 
+      @Override
       public isUserExists_args getEmptyArgsInstance() {
         return new isUserExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserExists_result getResult(I iface, isUserExists_args args) throws org.apache.thrift.TException {
         isUserExists_result result = new isUserExists_result();
         try {
@@ -18015,14 +18806,22 @@
         super("addGateway");
       }
 
+      @Override
       public addGateway_args getEmptyArgsInstance() {
         return new addGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGateway_result getResult(I iface, addGateway_args args) throws org.apache.thrift.TException {
         addGateway_result result = new addGateway_result();
         try {
@@ -18045,14 +18844,22 @@
         super("getAllUsersInGateway");
       }
 
+      @Override
       public getAllUsersInGateway_args getEmptyArgsInstance() {
         return new getAllUsersInGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUsersInGateway_result getResult(I iface, getAllUsersInGateway_args args) throws org.apache.thrift.TException {
         getAllUsersInGateway_result result = new getAllUsersInGateway_result();
         try {
@@ -18075,14 +18882,22 @@
         super("updateGateway");
       }
 
+      @Override
       public updateGateway_args getEmptyArgsInstance() {
         return new updateGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGateway_result getResult(I iface, updateGateway_args args) throws org.apache.thrift.TException {
         updateGateway_result result = new updateGateway_result();
         try {
@@ -18106,14 +18921,22 @@
         super("getGateway");
       }
 
+      @Override
       public getGateway_args getEmptyArgsInstance() {
         return new getGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGateway_result getResult(I iface, getGateway_args args) throws org.apache.thrift.TException {
         getGateway_result result = new getGateway_result();
         try {
@@ -18136,14 +18959,22 @@
         super("deleteGateway");
       }
 
+      @Override
       public deleteGateway_args getEmptyArgsInstance() {
         return new deleteGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGateway_result getResult(I iface, deleteGateway_args args) throws org.apache.thrift.TException {
         deleteGateway_result result = new deleteGateway_result();
         try {
@@ -18167,14 +18998,22 @@
         super("getAllGateways");
       }
 
+      @Override
       public getAllGateways_args getEmptyArgsInstance() {
         return new getAllGateways_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGateways_result getResult(I iface, getAllGateways_args args) throws org.apache.thrift.TException {
         getAllGateways_result result = new getAllGateways_result();
         try {
@@ -18197,14 +19036,22 @@
         super("isGatewayExist");
       }
 
+      @Override
       public isGatewayExist_args getEmptyArgsInstance() {
         return new isGatewayExist_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isGatewayExist_result getResult(I iface, isGatewayExist_args args) throws org.apache.thrift.TException {
         isGatewayExist_result result = new isGatewayExist_result();
         try {
@@ -18228,14 +19075,22 @@
         super("createNotification");
       }
 
+      @Override
       public createNotification_args getEmptyArgsInstance() {
         return new createNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createNotification_result getResult(I iface, createNotification_args args) throws org.apache.thrift.TException {
         createNotification_result result = new createNotification_result();
         try {
@@ -18258,14 +19113,22 @@
         super("updateNotification");
       }
 
+      @Override
       public updateNotification_args getEmptyArgsInstance() {
         return new updateNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateNotification_result getResult(I iface, updateNotification_args args) throws org.apache.thrift.TException {
         updateNotification_result result = new updateNotification_result();
         try {
@@ -18289,14 +19152,22 @@
         super("deleteNotification");
       }
 
+      @Override
       public deleteNotification_args getEmptyArgsInstance() {
         return new deleteNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteNotification_result getResult(I iface, deleteNotification_args args) throws org.apache.thrift.TException {
         deleteNotification_result result = new deleteNotification_result();
         try {
@@ -18320,14 +19191,22 @@
         super("getNotification");
       }
 
+      @Override
       public getNotification_args getEmptyArgsInstance() {
         return new getNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getNotification_result getResult(I iface, getNotification_args args) throws org.apache.thrift.TException {
         getNotification_result result = new getNotification_result();
         try {
@@ -18350,14 +19229,22 @@
         super("getAllNotifications");
       }
 
+      @Override
       public getAllNotifications_args getEmptyArgsInstance() {
         return new getAllNotifications_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllNotifications_result getResult(I iface, getAllNotifications_args args) throws org.apache.thrift.TException {
         getAllNotifications_result result = new getAllNotifications_result();
         try {
@@ -18380,14 +19267,22 @@
         super("generateAndRegisterSSHKeys");
       }
 
+      @Override
       public generateAndRegisterSSHKeys_args getEmptyArgsInstance() {
         return new generateAndRegisterSSHKeys_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public generateAndRegisterSSHKeys_result getResult(I iface, generateAndRegisterSSHKeys_args args) throws org.apache.thrift.TException {
         generateAndRegisterSSHKeys_result result = new generateAndRegisterSSHKeys_result();
         try {
@@ -18408,14 +19303,22 @@
         super("registerPwdCredential");
       }
 
+      @Override
       public registerPwdCredential_args getEmptyArgsInstance() {
         return new registerPwdCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerPwdCredential_result getResult(I iface, registerPwdCredential_args args) throws org.apache.thrift.TException {
         registerPwdCredential_result result = new registerPwdCredential_result();
         try {
@@ -18436,14 +19339,22 @@
         super("getCredentialSummary");
       }
 
+      @Override
       public getCredentialSummary_args getEmptyArgsInstance() {
         return new getCredentialSummary_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getCredentialSummary_result getResult(I iface, getCredentialSummary_args args) throws org.apache.thrift.TException {
         getCredentialSummary_result result = new getCredentialSummary_result();
         try {
@@ -18466,14 +19377,22 @@
         super("getAllCredentialSummaries");
       }
 
+      @Override
       public getAllCredentialSummaries_args getEmptyArgsInstance() {
         return new getAllCredentialSummaries_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllCredentialSummaries_result getResult(I iface, getAllCredentialSummaries_args args) throws org.apache.thrift.TException {
         getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
         try {
@@ -18494,14 +19413,22 @@
         super("deleteSSHPubKey");
       }
 
+      @Override
       public deleteSSHPubKey_args getEmptyArgsInstance() {
         return new deleteSSHPubKey_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteSSHPubKey_result getResult(I iface, deleteSSHPubKey_args args) throws org.apache.thrift.TException {
         deleteSSHPubKey_result result = new deleteSSHPubKey_result();
         try {
@@ -18525,14 +19452,22 @@
         super("deletePWDCredential");
       }
 
+      @Override
       public deletePWDCredential_args getEmptyArgsInstance() {
         return new deletePWDCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deletePWDCredential_result getResult(I iface, deletePWDCredential_args args) throws org.apache.thrift.TException {
         deletePWDCredential_result result = new deletePWDCredential_result();
         try {
@@ -18556,14 +19491,22 @@
         super("createProject");
       }
 
+      @Override
       public createProject_args getEmptyArgsInstance() {
         return new createProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createProject_result getResult(I iface, createProject_args args) throws org.apache.thrift.TException {
         createProject_result result = new createProject_result();
         try {
@@ -18586,14 +19529,22 @@
         super("updateProject");
       }
 
+      @Override
       public updateProject_args getEmptyArgsInstance() {
         return new updateProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateProject_result getResult(I iface, updateProject_args args) throws org.apache.thrift.TException {
         updateProject_result result = new updateProject_result();
         try {
@@ -18618,14 +19569,22 @@
         super("getProject");
       }
 
+      @Override
       public getProject_args getEmptyArgsInstance() {
         return new getProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProject_result getResult(I iface, getProject_args args) throws org.apache.thrift.TException {
         getProject_result result = new getProject_result();
         try {
@@ -18650,14 +19609,22 @@
         super("deleteProject");
       }
 
+      @Override
       public deleteProject_args getEmptyArgsInstance() {
         return new deleteProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteProject_result getResult(I iface, deleteProject_args args) throws org.apache.thrift.TException {
         deleteProject_result result = new deleteProject_result();
         try {
@@ -18683,14 +19650,22 @@
         super("getUserProjects");
       }
 
+      @Override
       public getUserProjects_args getEmptyArgsInstance() {
         return new getUserProjects_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserProjects_result getResult(I iface, getUserProjects_args args) throws org.apache.thrift.TException {
         getUserProjects_result result = new getUserProjects_result();
         try {
@@ -18713,14 +19688,22 @@
         super("searchProjects");
       }
 
+      @Override
       public searchProjects_args getEmptyArgsInstance() {
         return new searchProjects_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public searchProjects_result getResult(I iface, searchProjects_args args) throws org.apache.thrift.TException {
         searchProjects_result result = new searchProjects_result();
         try {
@@ -18743,14 +19726,22 @@
         super("searchExperiments");
       }
 
+      @Override
       public searchExperiments_args getEmptyArgsInstance() {
         return new searchExperiments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public searchExperiments_result getResult(I iface, searchExperiments_args args) throws org.apache.thrift.TException {
         searchExperiments_result result = new searchExperiments_result();
         try {
@@ -18773,14 +19764,22 @@
         super("getExperimentStatistics");
       }
 
+      @Override
       public getExperimentStatistics_args getEmptyArgsInstance() {
         return new getExperimentStatistics_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentStatistics_result getResult(I iface, getExperimentStatistics_args args) throws org.apache.thrift.TException {
         getExperimentStatistics_result result = new getExperimentStatistics_result();
         try {
@@ -18803,14 +19802,22 @@
         super("getExperimentsInProject");
       }
 
+      @Override
       public getExperimentsInProject_args getEmptyArgsInstance() {
         return new getExperimentsInProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentsInProject_result getResult(I iface, getExperimentsInProject_args args) throws org.apache.thrift.TException {
         getExperimentsInProject_result result = new getExperimentsInProject_result();
         try {
@@ -18835,14 +19842,22 @@
         super("getUserExperiments");
       }
 
+      @Override
       public getUserExperiments_args getEmptyArgsInstance() {
         return new getUserExperiments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserExperiments_result getResult(I iface, getUserExperiments_args args) throws org.apache.thrift.TException {
         getUserExperiments_result result = new getUserExperiments_result();
         try {
@@ -18865,14 +19880,22 @@
         super("createExperiment");
       }
 
+      @Override
       public createExperiment_args getEmptyArgsInstance() {
         return new createExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createExperiment_result getResult(I iface, createExperiment_args args) throws org.apache.thrift.TException {
         createExperiment_result result = new createExperiment_result();
         try {
@@ -18895,14 +19918,22 @@
         super("deleteExperiment");
       }
 
+      @Override
       public deleteExperiment_args getEmptyArgsInstance() {
         return new deleteExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteExperiment_result getResult(I iface, deleteExperiment_args args) throws org.apache.thrift.TException {
         deleteExperiment_result result = new deleteExperiment_result();
         try {
@@ -18926,14 +19957,22 @@
         super("getExperiment");
       }
 
+      @Override
       public getExperiment_args getEmptyArgsInstance() {
         return new getExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperiment_result getResult(I iface, getExperiment_args args) throws org.apache.thrift.TException {
         getExperiment_result result = new getExperiment_result();
         try {
@@ -18958,14 +19997,22 @@
         super("getExperimentByAdmin");
       }
 
+      @Override
       public getExperimentByAdmin_args getEmptyArgsInstance() {
         return new getExperimentByAdmin_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentByAdmin_result getResult(I iface, getExperimentByAdmin_args args) throws org.apache.thrift.TException {
         getExperimentByAdmin_result result = new getExperimentByAdmin_result();
         try {
@@ -18990,14 +20037,22 @@
         super("getDetailedExperimentTree");
       }
 
+      @Override
       public getDetailedExperimentTree_args getEmptyArgsInstance() {
         return new getDetailedExperimentTree_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getDetailedExperimentTree_result getResult(I iface, getDetailedExperimentTree_args args) throws org.apache.thrift.TException {
         getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
         try {
@@ -19022,14 +20077,22 @@
         super("updateExperiment");
       }
 
+      @Override
       public updateExperiment_args getEmptyArgsInstance() {
         return new updateExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateExperiment_result getResult(I iface, updateExperiment_args args) throws org.apache.thrift.TException {
         updateExperiment_result result = new updateExperiment_result();
         try {
@@ -19054,14 +20117,22 @@
         super("updateExperimentConfiguration");
       }
 
+      @Override
       public updateExperimentConfiguration_args getEmptyArgsInstance() {
         return new updateExperimentConfiguration_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateExperimentConfiguration_result getResult(I iface, updateExperimentConfiguration_args args) throws org.apache.thrift.TException {
         updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
         try {
@@ -19078,14 +20149,22 @@
         super("updateResourceScheduleing");
       }
 
+      @Override
       public updateResourceScheduleing_args getEmptyArgsInstance() {
         return new updateResourceScheduleing_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateResourceScheduleing_result getResult(I iface, updateResourceScheduleing_args args) throws org.apache.thrift.TException {
         updateResourceScheduleing_result result = new updateResourceScheduleing_result();
         try {
@@ -19102,14 +20181,22 @@
         super("validateExperiment");
       }
 
+      @Override
       public validateExperiment_args getEmptyArgsInstance() {
         return new validateExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public validateExperiment_result getResult(I iface, validateExperiment_args args) throws org.apache.thrift.TException {
         validateExperiment_result result = new validateExperiment_result();
         try {
@@ -19135,14 +20222,22 @@
         super("launchExperiment");
       }
 
+      @Override
       public launchExperiment_args getEmptyArgsInstance() {
         return new launchExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public launchExperiment_result getResult(I iface, launchExperiment_args args) throws org.apache.thrift.TException {
         launchExperiment_result result = new launchExperiment_result();
         try {
@@ -19167,14 +20262,22 @@
         super("getExperimentStatus");
       }
 
+      @Override
       public getExperimentStatus_args getEmptyArgsInstance() {
         return new getExperimentStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentStatus_result getResult(I iface, getExperimentStatus_args args) throws org.apache.thrift.TException {
         getExperimentStatus_result result = new getExperimentStatus_result();
         try {
@@ -19199,14 +20302,22 @@
         super("getExperimentOutputs");
       }
 
+      @Override
       public getExperimentOutputs_args getEmptyArgsInstance() {
         return new getExperimentOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentOutputs_result getResult(I iface, getExperimentOutputs_args args) throws org.apache.thrift.TException {
         getExperimentOutputs_result result = new getExperimentOutputs_result();
         try {
@@ -19231,14 +20342,22 @@
         super("getIntermediateOutputs");
       }
 
+      @Override
       public getIntermediateOutputs_args getEmptyArgsInstance() {
         return new getIntermediateOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getIntermediateOutputs_result getResult(I iface, getIntermediateOutputs_args args) throws org.apache.thrift.TException {
         getIntermediateOutputs_result result = new getIntermediateOutputs_result();
         try {
@@ -19263,14 +20382,22 @@
         super("fetchIntermediateOutputs");
       }
 
+      @Override
       public fetchIntermediateOutputs_args getEmptyArgsInstance() {
         return new fetchIntermediateOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public fetchIntermediateOutputs_result getResult(I iface, fetchIntermediateOutputs_args args) throws org.apache.thrift.TException {
         fetchIntermediateOutputs_result result = new fetchIntermediateOutputs_result();
         try {
@@ -19295,14 +20422,22 @@
         super("getIntermediateOutputProcessStatus");
       }
 
+      @Override
       public getIntermediateOutputProcessStatus_args getEmptyArgsInstance() {
         return new getIntermediateOutputProcessStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getIntermediateOutputProcessStatus_result getResult(I iface, getIntermediateOutputProcessStatus_args args) throws org.apache.thrift.TException {
         getIntermediateOutputProcessStatus_result result = new getIntermediateOutputProcessStatus_result();
         try {
@@ -19327,14 +20462,22 @@
         super("getJobStatuses");
       }
 
+      @Override
       public getJobStatuses_args getEmptyArgsInstance() {
         return new getJobStatuses_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getJobStatuses_result getResult(I iface, getJobStatuses_args args) throws org.apache.thrift.TException {
         getJobStatuses_result result = new getJobStatuses_result();
         try {
@@ -19359,14 +20502,22 @@
         super("getJobDetails");
       }
 
+      @Override
       public getJobDetails_args getEmptyArgsInstance() {
         return new getJobDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getJobDetails_result getResult(I iface, getJobDetails_args args) throws org.apache.thrift.TException {
         getJobDetails_result result = new getJobDetails_result();
         try {
@@ -19391,14 +20542,22 @@
         super("cloneExperiment");
       }
 
+      @Override
       public cloneExperiment_args getEmptyArgsInstance() {
         return new cloneExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public cloneExperiment_result getResult(I iface, cloneExperiment_args args) throws org.apache.thrift.TException {
         cloneExperiment_result result = new cloneExperiment_result();
         try {
@@ -19425,14 +20584,22 @@
         super("cloneExperimentByAdmin");
       }
 
+      @Override
       public cloneExperimentByAdmin_args getEmptyArgsInstance() {
         return new cloneExperimentByAdmin_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public cloneExperimentByAdmin_result getResult(I iface, cloneExperimentByAdmin_args args) throws org.apache.thrift.TException {
         cloneExperimentByAdmin_result result = new cloneExperimentByAdmin_result();
         try {
@@ -19459,14 +20626,22 @@
         super("terminateExperiment");
       }
 
+      @Override
       public terminateExperiment_args getEmptyArgsInstance() {
         return new terminateExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public terminateExperiment_result getResult(I iface, terminateExperiment_args args) throws org.apache.thrift.TException {
         terminateExperiment_result result = new terminateExperiment_result();
         try {
@@ -19491,14 +20666,22 @@
         super("registerApplicationModule");
       }
 
+      @Override
       public registerApplicationModule_args getEmptyArgsInstance() {
         return new registerApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerApplicationModule_result getResult(I iface, registerApplicationModule_args args) throws org.apache.thrift.TException {
         registerApplicationModule_result result = new registerApplicationModule_result();
         try {
@@ -19521,14 +20704,22 @@
         super("getApplicationModule");
       }
 
+      @Override
       public getApplicationModule_args getEmptyArgsInstance() {
         return new getApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationModule_result getResult(I iface, getApplicationModule_args args) throws org.apache.thrift.TException {
         getApplicationModule_result result = new getApplicationModule_result();
         try {
@@ -19551,14 +20742,22 @@
         super("updateApplicationModule");
       }
 
+      @Override
       public updateApplicationModule_args getEmptyArgsInstance() {
         return new updateApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateApplicationModule_result getResult(I iface, updateApplicationModule_args args) throws org.apache.thrift.TException {
         updateApplicationModule_result result = new updateApplicationModule_result();
         try {
@@ -19582,14 +20781,22 @@
         super("getAllAppModules");
       }
 
+      @Override
       public getAllAppModules_args getEmptyArgsInstance() {
         return new getAllAppModules_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllAppModules_result getResult(I iface, getAllAppModules_args args) throws org.apache.thrift.TException {
         getAllAppModules_result result = new getAllAppModules_result();
         try {
@@ -19612,14 +20819,22 @@
         super("getAccessibleAppModules");
       }
 
+      @Override
       public getAccessibleAppModules_args getEmptyArgsInstance() {
         return new getAccessibleAppModules_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAccessibleAppModules_result getResult(I iface, getAccessibleAppModules_args args) throws org.apache.thrift.TException {
         getAccessibleAppModules_result result = new getAccessibleAppModules_result();
         try {
@@ -19642,14 +20857,22 @@
         super("deleteApplicationModule");
       }
 
+      @Override
       public deleteApplicationModule_args getEmptyArgsInstance() {
         return new deleteApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteApplicationModule_result getResult(I iface, deleteApplicationModule_args args) throws org.apache.thrift.TException {
         deleteApplicationModule_result result = new deleteApplicationModule_result();
         try {
@@ -19673,14 +20896,22 @@
         super("registerApplicationDeployment");
       }
 
+      @Override
       public registerApplicationDeployment_args getEmptyArgsInstance() {
         return new registerApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerApplicationDeployment_result getResult(I iface, registerApplicationDeployment_args args) throws org.apache.thrift.TException {
         registerApplicationDeployment_result result = new registerApplicationDeployment_result();
         try {
@@ -19703,14 +20934,22 @@
         super("getApplicationDeployment");
       }
 
+      @Override
       public getApplicationDeployment_args getEmptyArgsInstance() {
         return new getApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationDeployment_result getResult(I iface, getApplicationDeployment_args args) throws org.apache.thrift.TException {
         getApplicationDeployment_result result = new getApplicationDeployment_result();
         try {
@@ -19733,14 +20972,22 @@
         super("updateApplicationDeployment");
       }
 
+      @Override
       public updateApplicationDeployment_args getEmptyArgsInstance() {
         return new updateApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateApplicationDeployment_result getResult(I iface, updateApplicationDeployment_args args) throws org.apache.thrift.TException {
         updateApplicationDeployment_result result = new updateApplicationDeployment_result();
         try {
@@ -19764,14 +21011,22 @@
         super("deleteApplicationDeployment");
       }
 
+      @Override
       public deleteApplicationDeployment_args getEmptyArgsInstance() {
         return new deleteApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteApplicationDeployment_result getResult(I iface, deleteApplicationDeployment_args args) throws org.apache.thrift.TException {
         deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
         try {
@@ -19795,14 +21050,22 @@
         super("getAllApplicationDeployments");
       }
 
+      @Override
       public getAllApplicationDeployments_args getEmptyArgsInstance() {
         return new getAllApplicationDeployments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllApplicationDeployments_result getResult(I iface, getAllApplicationDeployments_args args) throws org.apache.thrift.TException {
         getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
         try {
@@ -19825,14 +21088,22 @@
         super("getAccessibleApplicationDeployments");
       }
 
+      @Override
       public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
         return new getAccessibleApplicationDeployments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAccessibleApplicationDeployments_result getResult(I iface, getAccessibleApplicationDeployments_args args) throws org.apache.thrift.TException {
         getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
         try {
@@ -19855,14 +21126,22 @@
         super("getAppModuleDeployedResources");
       }
 
+      @Override
       public getAppModuleDeployedResources_args getEmptyArgsInstance() {
         return new getAppModuleDeployedResources_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAppModuleDeployedResources_result getResult(I iface, getAppModuleDeployedResources_args args) throws org.apache.thrift.TException {
         getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
         try {
@@ -19885,14 +21164,22 @@
         super("getApplicationDeploymentsForAppModuleAndGroupResourceProfile");
       }
 
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args getEmptyArgsInstance() {
         return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result getResult(I iface, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args args) throws org.apache.thrift.TException {
         getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result result = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result();
         try {
@@ -19915,14 +21202,22 @@
         super("registerApplicationInterface");
       }
 
+      @Override
       public registerApplicationInterface_args getEmptyArgsInstance() {
         return new registerApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerApplicationInterface_result getResult(I iface, registerApplicationInterface_args args) throws org.apache.thrift.TException {
         registerApplicationInterface_result result = new registerApplicationInterface_result();
         try {
@@ -19945,14 +21240,22 @@
         super("cloneApplicationInterface");
       }
 
+      @Override
       public cloneApplicationInterface_args getEmptyArgsInstance() {
         return new cloneApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public cloneApplicationInterface_result getResult(I iface, cloneApplicationInterface_args args) throws org.apache.thrift.TException {
         cloneApplicationInterface_result result = new cloneApplicationInterface_result();
         try {
@@ -19975,14 +21278,22 @@
         super("getApplicationInterface");
       }
 
+      @Override
       public getApplicationInterface_args getEmptyArgsInstance() {
         return new getApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationInterface_result getResult(I iface, getApplicationInterface_args args) throws org.apache.thrift.TException {
         getApplicationInterface_result result = new getApplicationInterface_result();
         try {
@@ -20005,14 +21316,22 @@
         super("updateApplicationInterface");
       }
 
+      @Override
       public updateApplicationInterface_args getEmptyArgsInstance() {
         return new updateApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateApplicationInterface_result getResult(I iface, updateApplicationInterface_args args) throws org.apache.thrift.TException {
         updateApplicationInterface_result result = new updateApplicationInterface_result();
         try {
@@ -20036,14 +21355,22 @@
         super("deleteApplicationInterface");
       }
 
+      @Override
       public deleteApplicationInterface_args getEmptyArgsInstance() {
         return new deleteApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteApplicationInterface_result getResult(I iface, deleteApplicationInterface_args args) throws org.apache.thrift.TException {
         deleteApplicationInterface_result result = new deleteApplicationInterface_result();
         try {
@@ -20067,14 +21394,22 @@
         super("getAllApplicationInterfaceNames");
       }
 
+      @Override
       public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaceNames_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllApplicationInterfaceNames_result getResult(I iface, getAllApplicationInterfaceNames_args args) throws org.apache.thrift.TException {
         getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
         try {
@@ -20097,14 +21432,22 @@
         super("getAllApplicationInterfaces");
       }
 
+      @Override
       public getAllApplicationInterfaces_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaces_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllApplicationInterfaces_result getResult(I iface, getAllApplicationInterfaces_args args) throws org.apache.thrift.TException {
         getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
         try {
@@ -20127,14 +21470,22 @@
         super("getApplicationInputs");
       }
 
+      @Override
       public getApplicationInputs_args getEmptyArgsInstance() {
         return new getApplicationInputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationInputs_result getResult(I iface, getApplicationInputs_args args) throws org.apache.thrift.TException {
         getApplicationInputs_result result = new getApplicationInputs_result();
         try {
@@ -20157,14 +21508,22 @@
         super("getApplicationOutputs");
       }
 
+      @Override
       public getApplicationOutputs_args getEmptyArgsInstance() {
         return new getApplicationOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationOutputs_result getResult(I iface, getApplicationOutputs_args args) throws org.apache.thrift.TException {
         getApplicationOutputs_result result = new getApplicationOutputs_result();
         try {
@@ -20187,14 +21546,22 @@
         super("getAvailableAppInterfaceComputeResources");
       }
 
+      @Override
       public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
         return new getAvailableAppInterfaceComputeResources_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAvailableAppInterfaceComputeResources_result getResult(I iface, getAvailableAppInterfaceComputeResources_args args) throws org.apache.thrift.TException {
         getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
         try {
@@ -20217,14 +21584,22 @@
         super("registerComputeResource");
       }
 
+      @Override
       public registerComputeResource_args getEmptyArgsInstance() {
         return new registerComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerComputeResource_result getResult(I iface, registerComputeResource_args args) throws org.apache.thrift.TException {
         registerComputeResource_result result = new registerComputeResource_result();
         try {
@@ -20247,14 +21622,22 @@
         super("getComputeResource");
       }
 
+      @Override
       public getComputeResource_args getEmptyArgsInstance() {
         return new getComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getComputeResource_result getResult(I iface, getComputeResource_args args) throws org.apache.thrift.TException {
         getComputeResource_result result = new getComputeResource_result();
         try {
@@ -20277,14 +21660,22 @@
         super("getAllComputeResourceNames");
       }
 
+      @Override
       public getAllComputeResourceNames_args getEmptyArgsInstance() {
         return new getAllComputeResourceNames_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllComputeResourceNames_result getResult(I iface, getAllComputeResourceNames_args args) throws org.apache.thrift.TException {
         getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
         try {
@@ -20307,14 +21698,22 @@
         super("updateComputeResource");
       }
 
+      @Override
       public updateComputeResource_args getEmptyArgsInstance() {
         return new updateComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateComputeResource_result getResult(I iface, updateComputeResource_args args) throws org.apache.thrift.TException {
         updateComputeResource_result result = new updateComputeResource_result();
         try {
@@ -20338,14 +21737,22 @@
         super("deleteComputeResource");
       }
 
+      @Override
       public deleteComputeResource_args getEmptyArgsInstance() {
         return new deleteComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteComputeResource_result getResult(I iface, deleteComputeResource_args args) throws org.apache.thrift.TException {
         deleteComputeResource_result result = new deleteComputeResource_result();
         try {
@@ -20369,14 +21776,22 @@
         super("registerStorageResource");
       }
 
+      @Override
       public registerStorageResource_args getEmptyArgsInstance() {
         return new registerStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerStorageResource_result getResult(I iface, registerStorageResource_args args) throws org.apache.thrift.TException {
         registerStorageResource_result result = new registerStorageResource_result();
         try {
@@ -20399,14 +21814,22 @@
         super("getStorageResource");
       }
 
+      @Override
       public getStorageResource_args getEmptyArgsInstance() {
         return new getStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getStorageResource_result getResult(I iface, getStorageResource_args args) throws org.apache.thrift.TException {
         getStorageResource_result result = new getStorageResource_result();
         try {
@@ -20429,14 +21852,22 @@
         super("getAllStorageResourceNames");
       }
 
+      @Override
       public getAllStorageResourceNames_args getEmptyArgsInstance() {
         return new getAllStorageResourceNames_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllStorageResourceNames_result getResult(I iface, getAllStorageResourceNames_args args) throws org.apache.thrift.TException {
         getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
         try {
@@ -20459,14 +21890,22 @@
         super("updateStorageResource");
       }
 
+      @Override
       public updateStorageResource_args getEmptyArgsInstance() {
         return new updateStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateStorageResource_result getResult(I iface, updateStorageResource_args args) throws org.apache.thrift.TException {
         updateStorageResource_result result = new updateStorageResource_result();
         try {
@@ -20490,14 +21929,22 @@
         super("deleteStorageResource");
       }
 
+      @Override
       public deleteStorageResource_args getEmptyArgsInstance() {
         return new deleteStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteStorageResource_result getResult(I iface, deleteStorageResource_args args) throws org.apache.thrift.TException {
         deleteStorageResource_result result = new deleteStorageResource_result();
         try {
@@ -20521,14 +21968,22 @@
         super("addLocalSubmissionDetails");
       }
 
+      @Override
       public addLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new addLocalSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addLocalSubmissionDetails_result getResult(I iface, addLocalSubmissionDetails_args args) throws org.apache.thrift.TException {
         addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
         try {
@@ -20551,14 +22006,22 @@
         super("updateLocalSubmissionDetails");
       }
 
+      @Override
       public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new updateLocalSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateLocalSubmissionDetails_result getResult(I iface, updateLocalSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
         try {
@@ -20582,14 +22045,22 @@
         super("getLocalJobSubmission");
       }
 
+      @Override
       public getLocalJobSubmission_args getEmptyArgsInstance() {
         return new getLocalJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getLocalJobSubmission_result getResult(I iface, getLocalJobSubmission_args args) throws org.apache.thrift.TException {
         getLocalJobSubmission_result result = new getLocalJobSubmission_result();
         try {
@@ -20612,14 +22083,22 @@
         super("addSSHJobSubmissionDetails");
       }
 
+      @Override
       public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSSHJobSubmissionDetails_result getResult(I iface, addSSHJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
         try {
@@ -20642,14 +22121,22 @@
         super("addSSHForkJobSubmissionDetails");
       }
 
+      @Override
       public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHForkJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSSHForkJobSubmissionDetails_result getResult(I iface, addSSHForkJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
         try {
@@ -20672,14 +22159,22 @@
         super("getSSHJobSubmission");
       }
 
+      @Override
       public getSSHJobSubmission_args getEmptyArgsInstance() {
         return new getSSHJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getSSHJobSubmission_result getResult(I iface, getSSHJobSubmission_args args) throws org.apache.thrift.TException {
         getSSHJobSubmission_result result = new getSSHJobSubmission_result();
         try {
@@ -20702,14 +22197,22 @@
         super("addUNICOREJobSubmissionDetails");
       }
 
+      @Override
       public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addUNICOREJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUNICOREJobSubmissionDetails_result getResult(I iface, addUNICOREJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
         try {
@@ -20732,14 +22235,22 @@
         super("getUnicoreJobSubmission");
       }
 
+      @Override
       public getUnicoreJobSubmission_args getEmptyArgsInstance() {
         return new getUnicoreJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUnicoreJobSubmission_result getResult(I iface, getUnicoreJobSubmission_args args) throws org.apache.thrift.TException {
         getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
         try {
@@ -20762,14 +22273,22 @@
         super("addCloudJobSubmissionDetails");
       }
 
+      @Override
       public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addCloudJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addCloudJobSubmissionDetails_result getResult(I iface, addCloudJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
         try {
@@ -20792,14 +22311,22 @@
         super("getCloudJobSubmission");
       }
 
+      @Override
       public getCloudJobSubmission_args getEmptyArgsInstance() {
         return new getCloudJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getCloudJobSubmission_result getResult(I iface, getCloudJobSubmission_args args) throws org.apache.thrift.TException {
         getCloudJobSubmission_result result = new getCloudJobSubmission_result();
         try {
@@ -20822,14 +22349,22 @@
         super("updateSSHJobSubmissionDetails");
       }
 
+      @Override
       public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateSSHJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateSSHJobSubmissionDetails_result getResult(I iface, updateSSHJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
         try {
@@ -20853,14 +22388,22 @@
         super("updateCloudJobSubmissionDetails");
       }
 
+      @Override
       public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateCloudJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateCloudJobSubmissionDetails_result getResult(I iface, updateCloudJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
         try {
@@ -20884,14 +22427,22 @@
         super("updateUnicoreJobSubmissionDetails");
       }
 
+      @Override
       public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateUnicoreJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUnicoreJobSubmissionDetails_result getResult(I iface, updateUnicoreJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
         try {
@@ -20915,14 +22466,22 @@
         super("addLocalDataMovementDetails");
       }
 
+      @Override
       public addLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new addLocalDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addLocalDataMovementDetails_result getResult(I iface, addLocalDataMovementDetails_args args) throws org.apache.thrift.TException {
         addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
         try {
@@ -20945,14 +22504,22 @@
         super("updateLocalDataMovementDetails");
       }
 
+      @Override
       public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new updateLocalDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateLocalDataMovementDetails_result getResult(I iface, updateLocalDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
         try {
@@ -20976,14 +22543,22 @@
         super("getLocalDataMovement");
       }
 
+      @Override
       public getLocalDataMovement_args getEmptyArgsInstance() {
         return new getLocalDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getLocalDataMovement_result getResult(I iface, getLocalDataMovement_args args) throws org.apache.thrift.TException {
         getLocalDataMovement_result result = new getLocalDataMovement_result();
         try {
@@ -21006,14 +22581,22 @@
         super("addSCPDataMovementDetails");
       }
 
+      @Override
       public addSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new addSCPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSCPDataMovementDetails_result getResult(I iface, addSCPDataMovementDetails_args args) throws org.apache.thrift.TException {
         addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
         try {
@@ -21036,14 +22619,22 @@
         super("updateSCPDataMovementDetails");
       }
 
+      @Override
       public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateSCPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateSCPDataMovementDetails_result getResult(I iface, updateSCPDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
         try {
@@ -21067,14 +22658,22 @@
         super("getSCPDataMovement");
       }
 
+      @Override
       public getSCPDataMovement_args getEmptyArgsInstance() {
         return new getSCPDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getSCPDataMovement_result getResult(I iface, getSCPDataMovement_args args) throws org.apache.thrift.TException {
         getSCPDataMovement_result result = new getSCPDataMovement_result();
         try {
@@ -21097,14 +22696,22 @@
         super("addUnicoreDataMovementDetails");
       }
 
+      @Override
       public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new addUnicoreDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUnicoreDataMovementDetails_result getResult(I iface, addUnicoreDataMovementDetails_args args) throws org.apache.thrift.TException {
         addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
         try {
@@ -21127,14 +22734,22 @@
         super("updateUnicoreDataMovementDetails");
       }
 
+      @Override
       public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new updateUnicoreDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUnicoreDataMovementDetails_result getResult(I iface, updateUnicoreDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
         try {
@@ -21158,14 +22773,22 @@
         super("getUnicoreDataMovement");
       }
 
+      @Override
       public getUnicoreDataMovement_args getEmptyArgsInstance() {
         return new getUnicoreDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUnicoreDataMovement_result getResult(I iface, getUnicoreDataMovement_args args) throws org.apache.thrift.TException {
         getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
         try {
@@ -21188,14 +22811,22 @@
         super("addGridFTPDataMovementDetails");
       }
 
+      @Override
       public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new addGridFTPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGridFTPDataMovementDetails_result getResult(I iface, addGridFTPDataMovementDetails_args args) throws org.apache.thrift.TException {
         addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
         try {
@@ -21218,14 +22849,22 @@
         super("updateGridFTPDataMovementDetails");
       }
 
+      @Override
       public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateGridFTPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGridFTPDataMovementDetails_result getResult(I iface, updateGridFTPDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
         try {
@@ -21249,14 +22888,22 @@
         super("getGridFTPDataMovement");
       }
 
+      @Override
       public getGridFTPDataMovement_args getEmptyArgsInstance() {
         return new getGridFTPDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGridFTPDataMovement_result getResult(I iface, getGridFTPDataMovement_args args) throws org.apache.thrift.TException {
         getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
         try {
@@ -21279,14 +22926,22 @@
         super("changeJobSubmissionPriority");
       }
 
+      @Override
       public changeJobSubmissionPriority_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriority_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeJobSubmissionPriority_result getResult(I iface, changeJobSubmissionPriority_args args) throws org.apache.thrift.TException {
         changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
         try {
@@ -21310,14 +22965,22 @@
         super("changeDataMovementPriority");
       }
 
+      @Override
       public changeDataMovementPriority_args getEmptyArgsInstance() {
         return new changeDataMovementPriority_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeDataMovementPriority_result getResult(I iface, changeDataMovementPriority_args args) throws org.apache.thrift.TException {
         changeDataMovementPriority_result result = new changeDataMovementPriority_result();
         try {
@@ -21341,14 +23004,22 @@
         super("changeJobSubmissionPriorities");
       }
 
+      @Override
       public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriorities_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeJobSubmissionPriorities_result getResult(I iface, changeJobSubmissionPriorities_args args) throws org.apache.thrift.TException {
         changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
         try {
@@ -21372,14 +23043,22 @@
         super("changeDataMovementPriorities");
       }
 
+      @Override
       public changeDataMovementPriorities_args getEmptyArgsInstance() {
         return new changeDataMovementPriorities_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeDataMovementPriorities_result getResult(I iface, changeDataMovementPriorities_args args) throws org.apache.thrift.TException {
         changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
         try {
@@ -21403,14 +23082,22 @@
         super("deleteJobSubmissionInterface");
       }
 
+      @Override
       public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
         return new deleteJobSubmissionInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteJobSubmissionInterface_result getResult(I iface, deleteJobSubmissionInterface_args args) throws org.apache.thrift.TException {
         deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
         try {
@@ -21434,14 +23121,22 @@
         super("deleteDataMovementInterface");
       }
 
+      @Override
       public deleteDataMovementInterface_args getEmptyArgsInstance() {
         return new deleteDataMovementInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteDataMovementInterface_result getResult(I iface, deleteDataMovementInterface_args args) throws org.apache.thrift.TException {
         deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
         try {
@@ -21465,14 +23160,22 @@
         super("registerResourceJobManager");
       }
 
+      @Override
       public registerResourceJobManager_args getEmptyArgsInstance() {
         return new registerResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerResourceJobManager_result getResult(I iface, registerResourceJobManager_args args) throws org.apache.thrift.TException {
         registerResourceJobManager_result result = new registerResourceJobManager_result();
         try {
@@ -21495,14 +23198,22 @@
         super("updateResourceJobManager");
       }
 
+      @Override
       public updateResourceJobManager_args getEmptyArgsInstance() {
         return new updateResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateResourceJobManager_result getResult(I iface, updateResourceJobManager_args args) throws org.apache.thrift.TException {
         updateResourceJobManager_result result = new updateResourceJobManager_result();
         try {
@@ -21526,14 +23237,22 @@
         super("getResourceJobManager");
       }
 
+      @Override
       public getResourceJobManager_args getEmptyArgsInstance() {
         return new getResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getResourceJobManager_result getResult(I iface, getResourceJobManager_args args) throws org.apache.thrift.TException {
         getResourceJobManager_result result = new getResourceJobManager_result();
         try {
@@ -21556,14 +23275,22 @@
         super("deleteResourceJobManager");
       }
 
+      @Override
       public deleteResourceJobManager_args getEmptyArgsInstance() {
         return new deleteResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteResourceJobManager_result getResult(I iface, deleteResourceJobManager_args args) throws org.apache.thrift.TException {
         deleteResourceJobManager_result result = new deleteResourceJobManager_result();
         try {
@@ -21587,14 +23314,22 @@
         super("deleteBatchQueue");
       }
 
+      @Override
       public deleteBatchQueue_args getEmptyArgsInstance() {
         return new deleteBatchQueue_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteBatchQueue_result getResult(I iface, deleteBatchQueue_args args) throws org.apache.thrift.TException {
         deleteBatchQueue_result result = new deleteBatchQueue_result();
         try {
@@ -21618,14 +23353,22 @@
         super("registerGatewayResourceProfile");
       }
 
+      @Override
       public registerGatewayResourceProfile_args getEmptyArgsInstance() {
         return new registerGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerGatewayResourceProfile_result getResult(I iface, registerGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
         try {
@@ -21648,14 +23391,22 @@
         super("getGatewayResourceProfile");
       }
 
+      @Override
       public getGatewayResourceProfile_args getEmptyArgsInstance() {
         return new getGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayResourceProfile_result getResult(I iface, getGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
         try {
@@ -21678,14 +23429,22 @@
         super("updateGatewayResourceProfile");
       }
 
+      @Override
       public updateGatewayResourceProfile_args getEmptyArgsInstance() {
         return new updateGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayResourceProfile_result getResult(I iface, updateGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
         try {
@@ -21709,14 +23468,22 @@
         super("deleteGatewayResourceProfile");
       }
 
+      @Override
       public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
         return new deleteGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGatewayResourceProfile_result getResult(I iface, deleteGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
         try {
@@ -21740,14 +23507,22 @@
         super("addGatewayComputeResourcePreference");
       }
 
+      @Override
       public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new addGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGatewayComputeResourcePreference_result getResult(I iface, addGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
         try {
@@ -21771,14 +23546,22 @@
         super("addGatewayStoragePreference");
       }
 
+      @Override
       public addGatewayStoragePreference_args getEmptyArgsInstance() {
         return new addGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGatewayStoragePreference_result getResult(I iface, addGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
         try {
@@ -21802,14 +23585,22 @@
         super("getGatewayComputeResourcePreference");
       }
 
+      @Override
       public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayComputeResourcePreference_result getResult(I iface, getGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
         try {
@@ -21832,14 +23623,22 @@
         super("getGatewayStoragePreference");
       }
 
+      @Override
       public getGatewayStoragePreference_args getEmptyArgsInstance() {
         return new getGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayStoragePreference_result getResult(I iface, getGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
         try {
@@ -21862,14 +23661,22 @@
         super("getAllGatewayComputeResourcePreferences");
       }
 
+      @Override
       public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayComputeResourcePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewayComputeResourcePreferences_result getResult(I iface, getAllGatewayComputeResourcePreferences_args args) throws org.apache.thrift.TException {
         getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
         try {
@@ -21892,14 +23699,22 @@
         super("getAllGatewayStoragePreferences");
       }
 
+      @Override
       public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayStoragePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewayStoragePreferences_result getResult(I iface, getAllGatewayStoragePreferences_args args) throws org.apache.thrift.TException {
         getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
         try {
@@ -21922,14 +23737,22 @@
         super("getAllGatewayResourceProfiles");
       }
 
+      @Override
       public getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
         return new getAllGatewayResourceProfiles_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewayResourceProfiles_result getResult(I iface, getAllGatewayResourceProfiles_args args) throws org.apache.thrift.TException {
         getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
         try {
@@ -21952,14 +23775,22 @@
         super("updateGatewayComputeResourcePreference");
       }
 
+      @Override
       public updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayComputeResourcePreference_result getResult(I iface, updateGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
         try {
@@ -21983,14 +23814,22 @@
         super("updateGatewayStoragePreference");
       }
 
+      @Override
       public updateGatewayStoragePreference_args getEmptyArgsInstance() {
         return new updateGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayStoragePreference_result getResult(I iface, updateGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
         try {
@@ -22014,14 +23853,22 @@
         super("deleteGatewayComputeResourcePreference");
       }
 
+      @Override
       public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGatewayComputeResourcePreference_result getResult(I iface, deleteGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
         try {
@@ -22045,14 +23892,22 @@
         super("deleteGatewayStoragePreference");
       }
 
+      @Override
       public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
         return new deleteGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGatewayStoragePreference_result getResult(I iface, deleteGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
         try {
@@ -22076,14 +23931,22 @@
         super("getSSHAccountProvisioners");
       }
 
+      @Override
       public getSSHAccountProvisioners_args getEmptyArgsInstance() {
         return new getSSHAccountProvisioners_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getSSHAccountProvisioners_result getResult(I iface, getSSHAccountProvisioners_args args) throws org.apache.thrift.TException {
         getSSHAccountProvisioners_result result = new getSSHAccountProvisioners_result();
         try {
@@ -22106,14 +23969,22 @@
         super("doesUserHaveSSHAccount");
       }
 
+      @Override
       public doesUserHaveSSHAccount_args getEmptyArgsInstance() {
         return new doesUserHaveSSHAccount_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public doesUserHaveSSHAccount_result getResult(I iface, doesUserHaveSSHAccount_args args) throws org.apache.thrift.TException {
         doesUserHaveSSHAccount_result result = new doesUserHaveSSHAccount_result();
         try {
@@ -22137,14 +24008,22 @@
         super("isSSHSetupCompleteForUserComputeResourcePreference");
       }
 
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new isSSHSetupCompleteForUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_result getResult(I iface, isSSHSetupCompleteForUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         isSSHSetupCompleteForUserComputeResourcePreference_result result = new isSSHSetupCompleteForUserComputeResourcePreference_result();
         try {
@@ -22168,14 +24047,22 @@
         super("setupUserComputeResourcePreferencesForSSH");
       }
 
+      @Override
       public setupUserComputeResourcePreferencesForSSH_args getEmptyArgsInstance() {
         return new setupUserComputeResourcePreferencesForSSH_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public setupUserComputeResourcePreferencesForSSH_result getResult(I iface, setupUserComputeResourcePreferencesForSSH_args args) throws org.apache.thrift.TException {
         setupUserComputeResourcePreferencesForSSH_result result = new setupUserComputeResourcePreferencesForSSH_result();
         try {
@@ -22198,14 +24085,22 @@
         super("registerUserResourceProfile");
       }
 
+      @Override
       public registerUserResourceProfile_args getEmptyArgsInstance() {
         return new registerUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerUserResourceProfile_result getResult(I iface, registerUserResourceProfile_args args) throws org.apache.thrift.TException {
         registerUserResourceProfile_result result = new registerUserResourceProfile_result();
         try {
@@ -22228,14 +24123,22 @@
         super("isUserResourceProfileExists");
       }
 
+      @Override
       public isUserResourceProfileExists_args getEmptyArgsInstance() {
         return new isUserResourceProfileExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserResourceProfileExists_result getResult(I iface, isUserResourceProfileExists_args args) throws org.apache.thrift.TException {
         isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
         try {
@@ -22259,14 +24162,22 @@
         super("getUserResourceProfile");
       }
 
+      @Override
       public getUserResourceProfile_args getEmptyArgsInstance() {
         return new getUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserResourceProfile_result getResult(I iface, getUserResourceProfile_args args) throws org.apache.thrift.TException {
         getUserResourceProfile_result result = new getUserResourceProfile_result();
         try {
@@ -22289,14 +24200,22 @@
         super("updateUserResourceProfile");
       }
 
+      @Override
       public updateUserResourceProfile_args getEmptyArgsInstance() {
         return new updateUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserResourceProfile_result getResult(I iface, updateUserResourceProfile_args args) throws org.apache.thrift.TException {
         updateUserResourceProfile_result result = new updateUserResourceProfile_result();
         try {
@@ -22320,14 +24239,22 @@
         super("deleteUserResourceProfile");
       }
 
+      @Override
       public deleteUserResourceProfile_args getEmptyArgsInstance() {
         return new deleteUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserResourceProfile_result getResult(I iface, deleteUserResourceProfile_args args) throws org.apache.thrift.TException {
         deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
         try {
@@ -22351,14 +24278,22 @@
         super("addUserComputeResourcePreference");
       }
 
+      @Override
       public addUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new addUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUserComputeResourcePreference_result getResult(I iface, addUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
         try {
@@ -22382,14 +24317,22 @@
         super("addUserStoragePreference");
       }
 
+      @Override
       public addUserStoragePreference_args getEmptyArgsInstance() {
         return new addUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUserStoragePreference_result getResult(I iface, addUserStoragePreference_args args) throws org.apache.thrift.TException {
         addUserStoragePreference_result result = new addUserStoragePreference_result();
         try {
@@ -22413,14 +24356,22 @@
         super("getUserComputeResourcePreference");
       }
 
+      @Override
       public getUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new getUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserComputeResourcePreference_result getResult(I iface, getUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
         try {
@@ -22443,14 +24394,22 @@
         super("getUserStoragePreference");
       }
 
+      @Override
       public getUserStoragePreference_args getEmptyArgsInstance() {
         return new getUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserStoragePreference_result getResult(I iface, getUserStoragePreference_args args) throws org.apache.thrift.TException {
         getUserStoragePreference_result result = new getUserStoragePreference_result();
         try {
@@ -22473,14 +24432,22 @@
         super("getAllUserComputeResourcePreferences");
       }
 
+      @Override
       public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllUserComputeResourcePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserComputeResourcePreferences_result getResult(I iface, getAllUserComputeResourcePreferences_args args) throws org.apache.thrift.TException {
         getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
         try {
@@ -22503,14 +24470,22 @@
         super("getAllUserStoragePreferences");
       }
 
+      @Override
       public getAllUserStoragePreferences_args getEmptyArgsInstance() {
         return new getAllUserStoragePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserStoragePreferences_result getResult(I iface, getAllUserStoragePreferences_args args) throws org.apache.thrift.TException {
         getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
         try {
@@ -22533,14 +24508,22 @@
         super("getAllUserResourceProfiles");
       }
 
+      @Override
       public getAllUserResourceProfiles_args getEmptyArgsInstance() {
         return new getAllUserResourceProfiles_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserResourceProfiles_result getResult(I iface, getAllUserResourceProfiles_args args) throws org.apache.thrift.TException {
         getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
         try {
@@ -22563,14 +24546,22 @@
         super("updateUserComputeResourcePreference");
       }
 
+      @Override
       public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserComputeResourcePreference_result getResult(I iface, updateUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
         try {
@@ -22594,14 +24585,22 @@
         super("updateUserStoragePreference");
       }
 
+      @Override
       public updateUserStoragePreference_args getEmptyArgsInstance() {
         return new updateUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserStoragePreference_result getResult(I iface, updateUserStoragePreference_args args) throws org.apache.thrift.TException {
         updateUserStoragePreference_result result = new updateUserStoragePreference_result();
         try {
@@ -22625,14 +24624,22 @@
         super("deleteUserComputeResourcePreference");
       }
 
+      @Override
       public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserComputeResourcePreference_result getResult(I iface, deleteUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
         try {
@@ -22656,14 +24663,22 @@
         super("deleteUserStoragePreference");
       }
 
+      @Override
       public deleteUserStoragePreference_args getEmptyArgsInstance() {
         return new deleteUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserStoragePreference_result getResult(I iface, deleteUserStoragePreference_args args) throws org.apache.thrift.TException {
         deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
         try {
@@ -22687,14 +24702,22 @@
         super("getLatestQueueStatuses");
       }
 
+      @Override
       public getLatestQueueStatuses_args getEmptyArgsInstance() {
         return new getLatestQueueStatuses_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getLatestQueueStatuses_result getResult(I iface, getLatestQueueStatuses_args args) throws org.apache.thrift.TException {
         getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
         try {
@@ -22717,14 +24740,22 @@
         super("registerDataProduct");
       }
 
+      @Override
       public registerDataProduct_args getEmptyArgsInstance() {
         return new registerDataProduct_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerDataProduct_result getResult(I iface, registerDataProduct_args args) throws org.apache.thrift.TException {
         registerDataProduct_result result = new registerDataProduct_result();
         try {
@@ -22747,14 +24778,22 @@
         super("getDataProduct");
       }
 
+      @Override
       public getDataProduct_args getEmptyArgsInstance() {
         return new getDataProduct_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getDataProduct_result getResult(I iface, getDataProduct_args args) throws org.apache.thrift.TException {
         getDataProduct_result result = new getDataProduct_result();
         try {
@@ -22777,14 +24816,22 @@
         super("registerReplicaLocation");
       }
 
+      @Override
       public registerReplicaLocation_args getEmptyArgsInstance() {
         return new registerReplicaLocation_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerReplicaLocation_result getResult(I iface, registerReplicaLocation_args args) throws org.apache.thrift.TException {
         registerReplicaLocation_result result = new registerReplicaLocation_result();
         try {
@@ -22807,14 +24854,22 @@
         super("getParentDataProduct");
       }
 
+      @Override
       public getParentDataProduct_args getEmptyArgsInstance() {
         return new getParentDataProduct_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParentDataProduct_result getResult(I iface, getParentDataProduct_args args) throws org.apache.thrift.TException {
         getParentDataProduct_result result = new getParentDataProduct_result();
         try {
@@ -22837,14 +24892,22 @@
         super("getChildDataProducts");
       }
 
+      @Override
       public getChildDataProducts_args getEmptyArgsInstance() {
         return new getChildDataProducts_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getChildDataProducts_result getResult(I iface, getChildDataProducts_args args) throws org.apache.thrift.TException {
         getChildDataProducts_result result = new getChildDataProducts_result();
         try {
@@ -22867,14 +24930,22 @@
         super("shareResourceWithUsers");
       }
 
+      @Override
       public shareResourceWithUsers_args getEmptyArgsInstance() {
         return new shareResourceWithUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public shareResourceWithUsers_result getResult(I iface, shareResourceWithUsers_args args) throws org.apache.thrift.TException {
         shareResourceWithUsers_result result = new shareResourceWithUsers_result();
         try {
@@ -22898,14 +24969,22 @@
         super("shareResourceWithGroups");
       }
 
+      @Override
       public shareResourceWithGroups_args getEmptyArgsInstance() {
         return new shareResourceWithGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public shareResourceWithGroups_result getResult(I iface, shareResourceWithGroups_args args) throws org.apache.thrift.TException {
         shareResourceWithGroups_result result = new shareResourceWithGroups_result();
         try {
@@ -22929,14 +25008,22 @@
         super("revokeSharingOfResourceFromUsers");
       }
 
+      @Override
       public revokeSharingOfResourceFromUsers_args getEmptyArgsInstance() {
         return new revokeSharingOfResourceFromUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public revokeSharingOfResourceFromUsers_result getResult(I iface, revokeSharingOfResourceFromUsers_args args) throws org.apache.thrift.TException {
         revokeSharingOfResourceFromUsers_result result = new revokeSharingOfResourceFromUsers_result();
         try {
@@ -22960,14 +25047,22 @@
         super("revokeSharingOfResourceFromGroups");
       }
 
+      @Override
       public revokeSharingOfResourceFromGroups_args getEmptyArgsInstance() {
         return new revokeSharingOfResourceFromGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public revokeSharingOfResourceFromGroups_result getResult(I iface, revokeSharingOfResourceFromGroups_args args) throws org.apache.thrift.TException {
         revokeSharingOfResourceFromGroups_result result = new revokeSharingOfResourceFromGroups_result();
         try {
@@ -22991,14 +25086,22 @@
         super("getAllAccessibleUsers");
       }
 
+      @Override
       public getAllAccessibleUsers_args getEmptyArgsInstance() {
         return new getAllAccessibleUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllAccessibleUsers_result getResult(I iface, getAllAccessibleUsers_args args) throws org.apache.thrift.TException {
         getAllAccessibleUsers_result result = new getAllAccessibleUsers_result();
         try {
@@ -23021,14 +25124,22 @@
         super("getAllAccessibleGroups");
       }
 
+      @Override
       public getAllAccessibleGroups_args getEmptyArgsInstance() {
         return new getAllAccessibleGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllAccessibleGroups_result getResult(I iface, getAllAccessibleGroups_args args) throws org.apache.thrift.TException {
         getAllAccessibleGroups_result result = new getAllAccessibleGroups_result();
         try {
@@ -23051,14 +25162,22 @@
         super("getAllDirectlyAccessibleUsers");
       }
 
+      @Override
       public getAllDirectlyAccessibleUsers_args getEmptyArgsInstance() {
         return new getAllDirectlyAccessibleUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllDirectlyAccessibleUsers_result getResult(I iface, getAllDirectlyAccessibleUsers_args args) throws org.apache.thrift.TException {
         getAllDirectlyAccessibleUsers_result result = new getAllDirectlyAccessibleUsers_result();
         try {
@@ -23081,14 +25200,22 @@
         super("getAllDirectlyAccessibleGroups");
       }
 
+      @Override
       public getAllDirectlyAccessibleGroups_args getEmptyArgsInstance() {
         return new getAllDirectlyAccessibleGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllDirectlyAccessibleGroups_result getResult(I iface, getAllDirectlyAccessibleGroups_args args) throws org.apache.thrift.TException {
         getAllDirectlyAccessibleGroups_result result = new getAllDirectlyAccessibleGroups_result();
         try {
@@ -23111,14 +25238,22 @@
         super("userHasAccess");
       }
 
+      @Override
       public userHasAccess_args getEmptyArgsInstance() {
         return new userHasAccess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public userHasAccess_result getResult(I iface, userHasAccess_args args) throws org.apache.thrift.TException {
         userHasAccess_result result = new userHasAccess_result();
         try {
@@ -23142,14 +25277,22 @@
         super("createGroupResourceProfile");
       }
 
+      @Override
       public createGroupResourceProfile_args getEmptyArgsInstance() {
         return new createGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createGroupResourceProfile_result getResult(I iface, createGroupResourceProfile_args args) throws org.apache.thrift.TException {
         createGroupResourceProfile_result result = new createGroupResourceProfile_result();
         try {
@@ -23172,14 +25315,22 @@
         super("updateGroupResourceProfile");
       }
 
+      @Override
       public updateGroupResourceProfile_args getEmptyArgsInstance() {
         return new updateGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGroupResourceProfile_result getResult(I iface, updateGroupResourceProfile_args args) throws org.apache.thrift.TException {
         updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
         try {
@@ -23202,14 +25353,22 @@
         super("getGroupResourceProfile");
       }
 
+      @Override
       public getGroupResourceProfile_args getEmptyArgsInstance() {
         return new getGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupResourceProfile_result getResult(I iface, getGroupResourceProfile_args args) throws org.apache.thrift.TException {
         getGroupResourceProfile_result result = new getGroupResourceProfile_result();
         try {
@@ -23232,14 +25391,22 @@
         super("removeGroupResourceProfile");
       }
 
+      @Override
       public removeGroupResourceProfile_args getEmptyArgsInstance() {
         return new removeGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupResourceProfile_result getResult(I iface, removeGroupResourceProfile_args args) throws org.apache.thrift.TException {
         removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
         try {
@@ -23263,14 +25430,22 @@
         super("getGroupResourceList");
       }
 
+      @Override
       public getGroupResourceList_args getEmptyArgsInstance() {
         return new getGroupResourceList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupResourceList_result getResult(I iface, getGroupResourceList_args args) throws org.apache.thrift.TException {
         getGroupResourceList_result result = new getGroupResourceList_result();
         try {
@@ -23293,14 +25468,22 @@
         super("removeGroupComputePrefs");
       }
 
+      @Override
       public removeGroupComputePrefs_args getEmptyArgsInstance() {
         return new removeGroupComputePrefs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupComputePrefs_result getResult(I iface, removeGroupComputePrefs_args args) throws org.apache.thrift.TException {
         removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
         try {
@@ -23324,14 +25507,22 @@
         super("removeGroupComputeResourcePolicy");
       }
 
+      @Override
       public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupComputeResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupComputeResourcePolicy_result getResult(I iface, removeGroupComputeResourcePolicy_args args) throws org.apache.thrift.TException {
         removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
         try {
@@ -23355,14 +25546,22 @@
         super("removeGroupBatchQueueResourcePolicy");
       }
 
+      @Override
       public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupBatchQueueResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupBatchQueueResourcePolicy_result getResult(I iface, removeGroupBatchQueueResourcePolicy_args args) throws org.apache.thrift.TException {
         removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
         try {
@@ -23386,14 +25585,22 @@
         super("getGroupComputeResourcePreference");
       }
 
+      @Override
       public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePreference_result getResult(I iface, getGroupComputeResourcePreference_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
         try {
@@ -23416,14 +25623,22 @@
         super("getGroupComputeResourcePolicy");
       }
 
+      @Override
       public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePolicy_result getResult(I iface, getGroupComputeResourcePolicy_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
         try {
@@ -23446,14 +25661,22 @@
         super("getBatchQueueResourcePolicy");
       }
 
+      @Override
       public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new getBatchQueueResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getBatchQueueResourcePolicy_result getResult(I iface, getBatchQueueResourcePolicy_args args) throws org.apache.thrift.TException {
         getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
         try {
@@ -23476,14 +25699,22 @@
         super("getGroupComputeResourcePrefList");
       }
 
+      @Override
       public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePrefList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePrefList_result getResult(I iface, getGroupComputeResourcePrefList_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
         try {
@@ -23506,14 +25737,22 @@
         super("getGroupBatchQueueResourcePolicyList");
       }
 
+      @Override
       public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupBatchQueueResourcePolicyList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupBatchQueueResourcePolicyList_result getResult(I iface, getGroupBatchQueueResourcePolicyList_args args) throws org.apache.thrift.TException {
         getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
         try {
@@ -23536,14 +25775,22 @@
         super("getGroupComputeResourcePolicyList");
       }
 
+      @Override
       public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicyList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePolicyList_result getResult(I iface, getGroupComputeResourcePolicyList_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
         try {
@@ -23566,14 +25813,22 @@
         super("getGatewayGroups");
       }
 
+      @Override
       public getGatewayGroups_args getEmptyArgsInstance() {
         return new getGatewayGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayGroups_result getResult(I iface, getGatewayGroups_args args) throws org.apache.thrift.TException {
         getGatewayGroups_result result = new getGatewayGroups_result();
         try {
@@ -23596,14 +25851,22 @@
         super("getParser");
       }
 
+      @Override
       public getParser_args getEmptyArgsInstance() {
         return new getParser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParser_result getResult(I iface, getParser_args args) throws org.apache.thrift.TException {
         getParser_result result = new getParser_result();
         try {
@@ -23626,14 +25889,22 @@
         super("saveParser");
       }
 
+      @Override
       public saveParser_args getEmptyArgsInstance() {
         return new saveParser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public saveParser_result getResult(I iface, saveParser_args args) throws org.apache.thrift.TException {
         saveParser_result result = new saveParser_result();
         try {
@@ -23656,14 +25927,22 @@
         super("listAllParsers");
       }
 
+      @Override
       public listAllParsers_args getEmptyArgsInstance() {
         return new listAllParsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public listAllParsers_result getResult(I iface, listAllParsers_args args) throws org.apache.thrift.TException {
         listAllParsers_result result = new listAllParsers_result();
         try {
@@ -23686,14 +25965,22 @@
         super("removeParser");
       }
 
+      @Override
       public removeParser_args getEmptyArgsInstance() {
         return new removeParser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeParser_result getResult(I iface, removeParser_args args) throws org.apache.thrift.TException {
         removeParser_result result = new removeParser_result();
         try {
@@ -23717,14 +26004,22 @@
         super("getParsingTemplate");
       }
 
+      @Override
       public getParsingTemplate_args getEmptyArgsInstance() {
         return new getParsingTemplate_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParsingTemplate_result getResult(I iface, getParsingTemplate_args args) throws org.apache.thrift.TException {
         getParsingTemplate_result result = new getParsingTemplate_result();
         try {
@@ -23747,14 +26042,22 @@
         super("getParsingTemplatesForExperiment");
       }
 
+      @Override
       public getParsingTemplatesForExperiment_args getEmptyArgsInstance() {
         return new getParsingTemplatesForExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParsingTemplatesForExperiment_result getResult(I iface, getParsingTemplatesForExperiment_args args) throws org.apache.thrift.TException {
         getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
         try {
@@ -23777,14 +26080,22 @@
         super("saveParsingTemplate");
       }
 
+      @Override
       public saveParsingTemplate_args getEmptyArgsInstance() {
         return new saveParsingTemplate_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public saveParsingTemplate_result getResult(I iface, saveParsingTemplate_args args) throws org.apache.thrift.TException {
         saveParsingTemplate_result result = new saveParsingTemplate_result();
         try {
@@ -23807,14 +26118,22 @@
         super("removeParsingTemplate");
       }
 
+      @Override
       public removeParsingTemplate_args getEmptyArgsInstance() {
         return new removeParsingTemplate_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeParsingTemplate_result getResult(I iface, removeParsingTemplate_args args) throws org.apache.thrift.TException {
         removeParsingTemplate_result result = new removeParsingTemplate_result();
         try {
@@ -23838,14 +26157,22 @@
         super("listAllParsingTemplates");
       }
 
+      @Override
       public listAllParsingTemplates_args getEmptyArgsInstance() {
         return new listAllParsingTemplates_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public listAllParsingTemplates_result getResult(I iface, listAllParsingTemplates_args args) throws org.apache.thrift.TException {
         listAllParsingTemplates_result result = new listAllParsingTemplates_result();
         try {
@@ -24077,13 +26404,16 @@
         super("isUserExists");
       }
 
+      @Override
       public isUserExists_args getEmptyArgsInstance() {
         return new isUserExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserExists_result result = new isUserExists_result();
             result.success = o;
@@ -24098,6 +26428,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24141,10 +26472,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserExists(args.authzToken, args.gatewayId, args.userName,resultHandler);
       }
@@ -24155,13 +26488,16 @@
         super("addGateway");
       }
 
+      @Override
       public addGateway_args getEmptyArgsInstance() {
         return new addGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addGateway_result result = new addGateway_result();
             result.success = o;
@@ -24175,6 +26511,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24218,10 +26555,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addGateway(args.authzToken, args.gateway,resultHandler);
       }
@@ -24232,13 +26571,16 @@
         super("getAllUsersInGateway");
       }
 
+      @Override
       public getAllUsersInGateway_args getEmptyArgsInstance() {
         return new getAllUsersInGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAllUsersInGateway_result result = new getAllUsersInGateway_result();
             result.success = o;
@@ -24252,6 +26594,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24295,10 +26638,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUsersInGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUsersInGateway(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -24309,13 +26654,16 @@
         super("updateGateway");
       }
 
+      @Override
       public updateGateway_args getEmptyArgsInstance() {
         return new updateGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGateway_result result = new updateGateway_result();
             result.success = o;
@@ -24330,6 +26678,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24373,10 +26722,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGateway(args.authzToken, args.gatewayId, args.updatedGateway,resultHandler);
       }
@@ -24387,13 +26738,16 @@
         super("getGateway");
       }
 
+      @Override
       public getGateway_args getEmptyArgsInstance() {
         return new getGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Gateway o) {
             getGateway_result result = new getGateway_result();
             result.success = o;
@@ -24407,6 +26761,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24450,10 +26805,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGateway_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
         iface.getGateway(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -24464,13 +26821,16 @@
         super("deleteGateway");
       }
 
+      @Override
       public deleteGateway_args getEmptyArgsInstance() {
         return new deleteGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGateway_result result = new deleteGateway_result();
             result.success = o;
@@ -24485,6 +26845,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24528,10 +26889,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGateway(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -24542,13 +26905,16 @@
         super("getAllGateways");
       }
 
+      @Override
       public getAllGateways_args getEmptyArgsInstance() {
         return new getAllGateways_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Gateway> o) {
             getAllGateways_result result = new getAllGateways_result();
             result.success = o;
@@ -24562,6 +26928,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24605,10 +26972,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGateways_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGateways(args.authzToken,resultHandler);
       }
@@ -24619,13 +26988,16 @@
         super("isGatewayExist");
       }
 
+      @Override
       public isGatewayExist_args getEmptyArgsInstance() {
         return new isGatewayExist_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isGatewayExist_result result = new isGatewayExist_result();
             result.success = o;
@@ -24640,6 +27012,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24683,10 +27056,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isGatewayExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isGatewayExist(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -24697,13 +27072,16 @@
         super("createNotification");
       }
 
+      @Override
       public createNotification_args getEmptyArgsInstance() {
         return new createNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createNotification_result result = new createNotification_result();
             result.success = o;
@@ -24717,6 +27095,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24760,10 +27139,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createNotification_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createNotification(args.authzToken, args.notification,resultHandler);
       }
@@ -24774,13 +27155,16 @@
         super("updateNotification");
       }
 
+      @Override
       public updateNotification_args getEmptyArgsInstance() {
         return new updateNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateNotification_result result = new updateNotification_result();
             result.success = o;
@@ -24795,6 +27179,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24838,10 +27223,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateNotification_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateNotification(args.authzToken, args.notification,resultHandler);
       }
@@ -24852,13 +27239,16 @@
         super("deleteNotification");
       }
 
+      @Override
       public deleteNotification_args getEmptyArgsInstance() {
         return new deleteNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteNotification_result result = new deleteNotification_result();
             result.success = o;
@@ -24873,6 +27263,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24916,10 +27307,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteNotification_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteNotification(args.authzToken, args.gatewayId, args.notificationId,resultHandler);
       }
@@ -24930,13 +27323,16 @@
         super("getNotification");
       }
 
+      @Override
       public getNotification_args getEmptyArgsInstance() {
         return new getNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Notification o) {
             getNotification_result result = new getNotification_result();
             result.success = o;
@@ -24950,6 +27346,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24993,10 +27390,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getNotification_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> resultHandler) throws org.apache.thrift.TException {
         iface.getNotification(args.authzToken, args.gatewayId, args.notificationId,resultHandler);
       }
@@ -25007,13 +27406,16 @@
         super("getAllNotifications");
       }
 
+      @Override
       public getAllNotifications_args getEmptyArgsInstance() {
         return new getAllNotifications_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Notification> o) {
             getAllNotifications_result result = new getAllNotifications_result();
             result.success = o;
@@ -25027,6 +27429,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25070,10 +27473,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllNotifications_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllNotifications(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -25084,13 +27489,16 @@
         super("generateAndRegisterSSHKeys");
       }
 
+      @Override
       public generateAndRegisterSSHKeys_args getEmptyArgsInstance() {
         return new generateAndRegisterSSHKeys_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             generateAndRegisterSSHKeys_result result = new generateAndRegisterSSHKeys_result();
             result.success = o;
@@ -25104,6 +27512,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25143,10 +27552,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, generateAndRegisterSSHKeys_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.generateAndRegisterSSHKeys(args.authzToken, args.description,resultHandler);
       }
@@ -25157,13 +27568,16 @@
         super("registerPwdCredential");
       }
 
+      @Override
       public registerPwdCredential_args getEmptyArgsInstance() {
         return new registerPwdCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerPwdCredential_result result = new registerPwdCredential_result();
             result.success = o;
@@ -25177,6 +27591,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25216,10 +27631,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerPwdCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerPwdCredential(args.authzToken, args.loginUserName, args.password, args.description,resultHandler);
       }
@@ -25230,13 +27647,16 @@
         super("getCredentialSummary");
       }
 
+      @Override
       public getCredentialSummary_args getEmptyArgsInstance() {
         return new getCredentialSummary_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.credential.store.CredentialSummary o) {
             getCredentialSummary_result result = new getCredentialSummary_result();
             result.success = o;
@@ -25250,6 +27670,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25293,10 +27714,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getCredentialSummary_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException {
         iface.getCredentialSummary(args.authzToken, args.tokenId,resultHandler);
       }
@@ -25307,13 +27730,16 @@
         super("getAllCredentialSummaries");
       }
 
+      @Override
       public getAllCredentialSummaries_args getEmptyArgsInstance() {
         return new getAllCredentialSummaries_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> o) {
             getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
             result.success = o;
@@ -25327,6 +27753,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25366,10 +27793,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllCredentialSummaries_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllCredentialSummaries(args.authzToken, args.type,resultHandler);
       }
@@ -25380,13 +27809,16 @@
         super("deleteSSHPubKey");
       }
 
+      @Override
       public deleteSSHPubKey_args getEmptyArgsInstance() {
         return new deleteSSHPubKey_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteSSHPubKey_result result = new deleteSSHPubKey_result();
             result.success = o;
@@ -25401,6 +27833,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25444,10 +27877,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteSSHPubKey_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteSSHPubKey(args.authzToken, args.airavataCredStoreToken,resultHandler);
       }
@@ -25458,13 +27893,16 @@
         super("deletePWDCredential");
       }
 
+      @Override
       public deletePWDCredential_args getEmptyArgsInstance() {
         return new deletePWDCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deletePWDCredential_result result = new deletePWDCredential_result();
             result.success = o;
@@ -25479,6 +27917,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25522,10 +27961,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deletePWDCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deletePWDCredential(args.authzToken, args.airavataCredStoreToken,resultHandler);
       }
@@ -25536,13 +27977,16 @@
         super("createProject");
       }
 
+      @Override
       public createProject_args getEmptyArgsInstance() {
         return new createProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createProject_result result = new createProject_result();
             result.success = o;
@@ -25556,6 +28000,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25599,10 +28044,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createProject(args.authzToken, args.gatewayId, args.project,resultHandler);
       }
@@ -25613,13 +28060,16 @@
         super("updateProject");
       }
 
+      @Override
       public updateProject_args getEmptyArgsInstance() {
         return new updateProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateProject_result result = new updateProject_result();
             try {
@@ -25632,6 +28082,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25679,10 +28130,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateProject(args.authzToken, args.projectId, args.updatedProject,resultHandler);
       }
@@ -25693,13 +28146,16 @@
         super("getProject");
       }
 
+      @Override
       public getProject_args getEmptyArgsInstance() {
         return new getProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Project o) {
             getProject_result result = new getProject_result();
             result.success = o;
@@ -25713,6 +28169,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25760,10 +28217,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws org.apache.thrift.TException {
         iface.getProject(args.authzToken, args.projectId,resultHandler);
       }
@@ -25774,13 +28233,16 @@
         super("deleteProject");
       }
 
+      @Override
       public deleteProject_args getEmptyArgsInstance() {
         return new deleteProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteProject_result result = new deleteProject_result();
             result.success = o;
@@ -25795,6 +28257,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25842,10 +28305,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteProject(args.authzToken, args.projectId,resultHandler);
       }
@@ -25856,13 +28321,16 @@
         super("getUserProjects");
       }
 
+      @Override
       public getUserProjects_args getEmptyArgsInstance() {
         return new getUserProjects_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
             getUserProjects_result result = new getUserProjects_result();
             result.success = o;
@@ -25876,6 +28344,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25919,10 +28388,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
         iface.getUserProjects(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
       }
@@ -25933,13 +28404,16 @@
         super("searchProjects");
       }
 
+      @Override
       public searchProjects_args getEmptyArgsInstance() {
         return new searchProjects_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
             searchProjects_result result = new searchProjects_result();
             result.success = o;
@@ -25953,6 +28427,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25996,10 +28471,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, searchProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
         iface.searchProjects(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset,resultHandler);
       }
@@ -26010,13 +28487,16 @@
         super("searchExperiments");
       }
 
+      @Override
       public searchExperiments_args getEmptyArgsInstance() {
         return new searchExperiments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
             searchExperiments_result result = new searchExperiments_result();
             result.success = o;
@@ -26030,6 +28510,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26073,10 +28554,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, searchExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws org.apache.thrift.TException {
         iface.searchExperiments(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset,resultHandler);
       }
@@ -26087,13 +28570,16 @@
         super("getExperimentStatistics");
       }
 
+      @Override
       public getExperimentStatistics_args getEmptyArgsInstance() {
         return new getExperimentStatistics_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentStatistics o) {
             getExperimentStatistics_result result = new getExperimentStatistics_result();
             result.success = o;
@@ -26107,6 +28593,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26150,10 +28637,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentStatistics_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentStatistics(args.authzToken, args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName, args.limit, args.offset,resultHandler);
       }
@@ -26164,13 +28653,16 @@
         super("getExperimentsInProject");
       }
 
+      @Override
       public getExperimentsInProject_args getEmptyArgsInstance() {
         return new getExperimentsInProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
             getExperimentsInProject_result result = new getExperimentsInProject_result();
             result.success = o;
@@ -26184,6 +28676,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26231,10 +28724,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentsInProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentsInProject(args.authzToken, args.projectId, args.limit, args.offset,resultHandler);
       }
@@ -26245,13 +28740,16 @@
         super("getUserExperiments");
       }
 
+      @Override
       public getUserExperiments_args getEmptyArgsInstance() {
         return new getUserExperiments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
             getUserExperiments_result result = new getUserExperiments_result();
             result.success = o;
@@ -26265,6 +28763,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26308,10 +28807,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getUserExperiments(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
       }
@@ -26322,13 +28823,16 @@
         super("createExperiment");
       }
 
+      @Override
       public createExperiment_args getEmptyArgsInstance() {
         return new createExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createExperiment_result result = new createExperiment_result();
             result.success = o;
@@ -26342,6 +28846,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26385,10 +28890,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createExperiment(args.authzToken, args.gatewayId, args.experiment,resultHandler);
       }
@@ -26399,13 +28906,16 @@
         super("deleteExperiment");
       }
 
+      @Override
       public deleteExperiment_args getEmptyArgsInstance() {
         return new deleteExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteExperiment_result result = new deleteExperiment_result();
             result.success = o;
@@ -26420,6 +28930,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26463,10 +28974,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteExperiment(args.authzToken, args.experimentId,resultHandler);
       }
@@ -26477,13 +28990,16 @@
         super("getExperiment");
       }
 
+      @Override
       public getExperiment_args getEmptyArgsInstance() {
         return new getExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
             getExperiment_result result = new getExperiment_result();
             result.success = o;
@@ -26497,6 +29013,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26544,10 +29061,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
         iface.getExperiment(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -26558,13 +29077,16 @@
         super("getExperimentByAdmin");
       }
 
+      @Override
       public getExperimentByAdmin_args getEmptyArgsInstance() {
         return new getExperimentByAdmin_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
             getExperimentByAdmin_result result = new getExperimentByAdmin_result();
             result.success = o;
@@ -26578,6 +29100,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26625,10 +29148,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentByAdmin_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentByAdmin(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -26639,13 +29164,16 @@
         super("getDetailedExperimentTree");
       }
 
+      @Override
       public getDetailedExperimentTree_args getEmptyArgsInstance() {
         return new getDetailedExperimentTree_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
             getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
             result.success = o;
@@ -26659,6 +29187,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26706,10 +29235,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getDetailedExperimentTree_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
         iface.getDetailedExperimentTree(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -26720,13 +29251,16 @@
         super("updateExperiment");
       }
 
+      @Override
       public updateExperiment_args getEmptyArgsInstance() {
         return new updateExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateExperiment_result result = new updateExperiment_result();
             try {
@@ -26739,6 +29273,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26786,10 +29321,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateExperiment(args.authzToken, args.airavataExperimentId, args.experiment,resultHandler);
       }
@@ -26800,13 +29337,16 @@
         super("updateExperimentConfiguration");
       }
 
+      @Override
       public updateExperimentConfiguration_args getEmptyArgsInstance() {
         return new updateExperimentConfiguration_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
             try {
@@ -26819,6 +29359,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26850,10 +29391,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateExperimentConfiguration(args.authzToken, args.airavataExperimentId, args.userConfiguration,resultHandler);
       }
@@ -26864,13 +29407,16 @@
         super("updateResourceScheduleing");
       }
 
+      @Override
       public updateResourceScheduleing_args getEmptyArgsInstance() {
         return new updateResourceScheduleing_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateResourceScheduleing_result result = new updateResourceScheduleing_result();
             try {
@@ -26883,6 +29429,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26914,10 +29461,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateResourceScheduleing_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateResourceScheduleing(args.authzToken, args.airavataExperimentId, args.resourceScheduling,resultHandler);
       }
@@ -26928,13 +29477,16 @@
         super("validateExperiment");
       }
 
+      @Override
       public validateExperiment_args getEmptyArgsInstance() {
         return new validateExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             validateExperiment_result result = new validateExperiment_result();
             result.success = o;
@@ -26949,6 +29501,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26996,10 +29549,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, validateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.validateExperiment(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -27010,13 +29565,16 @@
         super("launchExperiment");
       }
 
+      @Override
       public launchExperiment_args getEmptyArgsInstance() {
         return new launchExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             launchExperiment_result result = new launchExperiment_result();
             try {
@@ -27029,6 +29587,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27076,10 +29635,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, launchExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.launchExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId,resultHandler);
       }
@@ -27090,13 +29651,16 @@
         super("getExperimentStatus");
       }
 
+      @Override
       public getExperimentStatus_args getEmptyArgsInstance() {
         return new getExperimentStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.status.ExperimentStatus o) {
             getExperimentStatus_result result = new getExperimentStatus_result();
             result.success = o;
@@ -27110,6 +29674,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27157,10 +29722,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentStatus(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -27171,13 +29738,16 @@
         super("getExperimentOutputs");
       }
 
+      @Override
       public getExperimentOutputs_args getEmptyArgsInstance() {
         return new getExperimentOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getExperimentOutputs_result result = new getExperimentOutputs_result();
             result.success = o;
@@ -27191,6 +29761,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27238,10 +29809,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentOutputs(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -27252,13 +29825,16 @@
         super("getIntermediateOutputs");
       }
 
+      @Override
       public getIntermediateOutputs_args getEmptyArgsInstance() {
         return new getIntermediateOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getIntermediateOutputs_result result = new getIntermediateOutputs_result();
             result.success = o;
@@ -27272,6 +29848,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27319,10 +29896,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getIntermediateOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getIntermediateOutputs(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -27333,13 +29912,16 @@
         super("fetchIntermediateOutputs");
       }
 
+      @Override
       public fetchIntermediateOutputs_args getEmptyArgsInstance() {
         return new fetchIntermediateOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             fetchIntermediateOutputs_result result = new fetchIntermediateOutputs_result();
             try {
@@ -27352,6 +29934,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27399,10 +29982,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, fetchIntermediateOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.fetchIntermediateOutputs(args.authzToken, args.airavataExperimentId, args.outputNames,resultHandler);
       }
@@ -27413,13 +29998,16 @@
         super("getIntermediateOutputProcessStatus");
       }
 
+      @Override
       public getIntermediateOutputProcessStatus_args getEmptyArgsInstance() {
         return new getIntermediateOutputProcessStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.status.ProcessStatus o) {
             getIntermediateOutputProcessStatus_result result = new getIntermediateOutputProcessStatus_result();
             result.success = o;
@@ -27433,6 +30021,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27480,10 +30069,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getIntermediateOutputProcessStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException {
         iface.getIntermediateOutputProcessStatus(args.authzToken, args.airavataExperimentId, args.outputNames,resultHandler);
       }
@@ -27494,13 +30085,16 @@
         super("getJobStatuses");
       }
 
+      @Override
       public getJobStatuses_args getEmptyArgsInstance() {
         return new getJobStatuses_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> o) {
             getJobStatuses_result result = new getJobStatuses_result();
             result.success = o;
@@ -27514,6 +30108,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27561,10 +30156,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getJobStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> resultHandler) throws org.apache.thrift.TException {
         iface.getJobStatuses(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -27575,13 +30172,16 @@
         super("getJobDetails");
       }
 
+      @Override
       public getJobDetails_args getEmptyArgsInstance() {
         return new getJobDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
             getJobDetails_result result = new getJobDetails_result();
             result.success = o;
@@ -27595,6 +30195,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27642,10 +30243,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getJobDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getJobDetails(args.authzToken, args.airavataExperimentId,resultHandler);
       }
@@ -27656,13 +30259,16 @@
         super("cloneExperiment");
       }
 
+      @Override
       public cloneExperiment_args getEmptyArgsInstance() {
         return new cloneExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             cloneExperiment_result result = new cloneExperiment_result();
             result.success = o;
@@ -27676,6 +30282,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27727,10 +30334,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, cloneExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.cloneExperiment(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId,resultHandler);
       }
@@ -27741,13 +30350,16 @@
         super("cloneExperimentByAdmin");
       }
 
+      @Override
       public cloneExperimentByAdmin_args getEmptyArgsInstance() {
         return new cloneExperimentByAdmin_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             cloneExperimentByAdmin_result result = new cloneExperimentByAdmin_result();
             result.success = o;
@@ -27761,6 +30373,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27812,10 +30425,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, cloneExperimentByAdmin_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.cloneExperimentByAdmin(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId,resultHandler);
       }
@@ -27826,13 +30441,16 @@
         super("terminateExperiment");
       }
 
+      @Override
       public terminateExperiment_args getEmptyArgsInstance() {
         return new terminateExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             terminateExperiment_result result = new terminateExperiment_result();
             try {
@@ -27845,6 +30463,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27892,10 +30511,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, terminateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.terminateExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId,resultHandler);
       }
@@ -27906,13 +30527,16 @@
         super("registerApplicationModule");
       }
 
+      @Override
       public registerApplicationModule_args getEmptyArgsInstance() {
         return new registerApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerApplicationModule_result result = new registerApplicationModule_result();
             result.success = o;
@@ -27926,6 +30550,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27969,10 +30594,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerApplicationModule(args.authzToken, args.gatewayId, args.applicationModule,resultHandler);
       }
@@ -27983,13 +30610,16 @@
         super("getApplicationModule");
       }
 
+      @Override
       public getApplicationModule_args getEmptyArgsInstance() {
         return new getApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule o) {
             getApplicationModule_result result = new getApplicationModule_result();
             result.success = o;
@@ -28003,6 +30633,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28046,10 +30677,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationModule(args.authzToken, args.appModuleId,resultHandler);
       }
@@ -28060,13 +30693,16 @@
         super("updateApplicationModule");
       }
 
+      @Override
       public updateApplicationModule_args getEmptyArgsInstance() {
         return new updateApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateApplicationModule_result result = new updateApplicationModule_result();
             result.success = o;
@@ -28081,6 +30717,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28124,10 +30761,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateApplicationModule(args.authzToken, args.appModuleId, args.applicationModule,resultHandler);
       }
@@ -28138,13 +30777,16 @@
         super("getAllAppModules");
       }
 
+      @Override
       public getAllAppModules_args getEmptyArgsInstance() {
         return new getAllAppModules_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
             getAllAppModules_result result = new getAllAppModules_result();
             result.success = o;
@@ -28158,6 +30800,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28201,10 +30844,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllAppModules(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -28215,13 +30860,16 @@
         super("getAccessibleAppModules");
       }
 
+      @Override
       public getAccessibleAppModules_args getEmptyArgsInstance() {
         return new getAccessibleAppModules_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
             getAccessibleAppModules_result result = new getAccessibleAppModules_result();
             result.success = o;
@@ -28235,6 +30883,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28278,10 +30927,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAccessibleAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
         iface.getAccessibleAppModules(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -28292,13 +30943,16 @@
         super("deleteApplicationModule");
       }
 
+      @Override
       public deleteApplicationModule_args getEmptyArgsInstance() {
         return new deleteApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteApplicationModule_result result = new deleteApplicationModule_result();
             result.success = o;
@@ -28313,6 +30967,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28356,10 +31011,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteApplicationModule(args.authzToken, args.appModuleId,resultHandler);
       }
@@ -28370,13 +31027,16 @@
         super("registerApplicationDeployment");
       }
 
+      @Override
       public registerApplicationDeployment_args getEmptyArgsInstance() {
         return new registerApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerApplicationDeployment_result result = new registerApplicationDeployment_result();
             result.success = o;
@@ -28390,6 +31050,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28433,10 +31094,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerApplicationDeployment(args.authzToken, args.gatewayId, args.applicationDeployment,resultHandler);
       }
@@ -28447,13 +31110,16 @@
         super("getApplicationDeployment");
       }
 
+      @Override
       public getApplicationDeployment_args getEmptyArgsInstance() {
         return new getApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription o) {
             getApplicationDeployment_result result = new getApplicationDeployment_result();
             result.success = o;
@@ -28467,6 +31133,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28510,10 +31177,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationDeployment(args.authzToken, args.appDeploymentId,resultHandler);
       }
@@ -28524,13 +31193,16 @@
         super("updateApplicationDeployment");
       }
 
+      @Override
       public updateApplicationDeployment_args getEmptyArgsInstance() {
         return new updateApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateApplicationDeployment_result result = new updateApplicationDeployment_result();
             result.success = o;
@@ -28545,6 +31217,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28588,10 +31261,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateApplicationDeployment(args.authzToken, args.appDeploymentId, args.applicationDeployment,resultHandler);
       }
@@ -28602,13 +31277,16 @@
         super("deleteApplicationDeployment");
       }
 
+      @Override
       public deleteApplicationDeployment_args getEmptyArgsInstance() {
         return new deleteApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
             result.success = o;
@@ -28623,6 +31301,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28666,10 +31345,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteApplicationDeployment(args.authzToken, args.appDeploymentId,resultHandler);
       }
@@ -28680,13 +31361,16 @@
         super("getAllApplicationDeployments");
       }
 
+      @Override
       public getAllApplicationDeployments_args getEmptyArgsInstance() {
         return new getAllApplicationDeployments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
             result.success = o;
@@ -28700,6 +31384,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28743,10 +31428,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllApplicationDeployments(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -28757,13 +31444,16 @@
         super("getAccessibleApplicationDeployments");
       }
 
+      @Override
       public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
         return new getAccessibleApplicationDeployments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
             result.success = o;
@@ -28777,6 +31467,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28820,10 +31511,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAccessibleApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAccessibleApplicationDeployments(args.authzToken, args.gatewayId, args.permissionType,resultHandler);
       }
@@ -28834,13 +31527,16 @@
         super("getAppModuleDeployedResources");
       }
 
+      @Override
       public getAppModuleDeployedResources_args getEmptyArgsInstance() {
         return new getAppModuleDeployedResources_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
             result.success = o;
@@ -28854,6 +31550,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28897,10 +31594,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAppModuleDeployedResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAppModuleDeployedResources(args.authzToken, args.appModuleId,resultHandler);
       }
@@ -28911,13 +31610,16 @@
         super("getApplicationDeploymentsForAppModuleAndGroupResourceProfile");
       }
 
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args getEmptyArgsInstance() {
         return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result result = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result();
             result.success = o;
@@ -28931,6 +31633,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28974,10 +31677,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationDeploymentsForAppModuleAndGroupResourceProfile(args.authzToken, args.appModuleId, args.groupResourceProfileId,resultHandler);
       }
@@ -28988,13 +31693,16 @@
         super("registerApplicationInterface");
       }
 
+      @Override
       public registerApplicationInterface_args getEmptyArgsInstance() {
         return new registerApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerApplicationInterface_result result = new registerApplicationInterface_result();
             result.success = o;
@@ -29008,6 +31716,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29051,10 +31760,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerApplicationInterface(args.authzToken, args.gatewayId, args.applicationInterface,resultHandler);
       }
@@ -29065,13 +31776,16 @@
         super("cloneApplicationInterface");
       }
 
+      @Override
       public cloneApplicationInterface_args getEmptyArgsInstance() {
         return new cloneApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             cloneApplicationInterface_result result = new cloneApplicationInterface_result();
             result.success = o;
@@ -29085,6 +31799,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29128,10 +31843,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, cloneApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.cloneApplicationInterface(args.authzToken, args.existingAppInterfaceID, args.newApplicationName, args.gatewayId,resultHandler);
       }
@@ -29142,13 +31859,16 @@
         super("getApplicationInterface");
       }
 
+      @Override
       public getApplicationInterface_args getEmptyArgsInstance() {
         return new getApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription o) {
             getApplicationInterface_result result = new getApplicationInterface_result();
             result.success = o;
@@ -29162,6 +31882,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29205,10 +31926,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationInterface(args.authzToken, args.appInterfaceId,resultHandler);
       }
@@ -29219,13 +31942,16 @@
         super("updateApplicationInterface");
       }
 
+      @Override
       public updateApplicationInterface_args getEmptyArgsInstance() {
         return new updateApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateApplicationInterface_result result = new updateApplicationInterface_result();
             result.success = o;
@@ -29240,6 +31966,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29283,10 +32010,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateApplicationInterface(args.authzToken, args.appInterfaceId, args.applicationInterface,resultHandler);
       }
@@ -29297,13 +32026,16 @@
         super("deleteApplicationInterface");
       }
 
+      @Override
       public deleteApplicationInterface_args getEmptyArgsInstance() {
         return new deleteApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteApplicationInterface_result result = new deleteApplicationInterface_result();
             result.success = o;
@@ -29318,6 +32050,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29361,10 +32094,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteApplicationInterface(args.authzToken, args.appInterfaceId,resultHandler);
       }
@@ -29375,13 +32110,16 @@
         super("getAllApplicationInterfaceNames");
       }
 
+      @Override
       public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaceNames_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
             result.success = o;
@@ -29395,6 +32133,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29438,10 +32177,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllApplicationInterfaceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllApplicationInterfaceNames(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -29452,13 +32193,16 @@
         super("getAllApplicationInterfaces");
       }
 
+      @Override
       public getAllApplicationInterfaces_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaces_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> o) {
             getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
             result.success = o;
@@ -29472,6 +32216,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29515,10 +32260,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllApplicationInterfaces_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllApplicationInterfaces(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -29529,13 +32276,16 @@
         super("getApplicationInputs");
       }
 
+      @Override
       public getApplicationInputs_args getEmptyArgsInstance() {
         return new getApplicationInputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> o) {
             getApplicationInputs_result result = new getApplicationInputs_result();
             result.success = o;
@@ -29549,6 +32299,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29592,10 +32343,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationInputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationInputs(args.authzToken, args.appInterfaceId,resultHandler);
       }
@@ -29606,13 +32359,16 @@
         super("getApplicationOutputs");
       }
 
+      @Override
       public getApplicationOutputs_args getEmptyArgsInstance() {
         return new getApplicationOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getApplicationOutputs_result result = new getApplicationOutputs_result();
             result.success = o;
@@ -29626,6 +32382,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29669,10 +32426,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationOutputs(args.authzToken, args.appInterfaceId,resultHandler);
       }
@@ -29683,13 +32442,16 @@
         super("getAvailableAppInterfaceComputeResources");
       }
 
+      @Override
       public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
         return new getAvailableAppInterfaceComputeResources_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             result.success = o;
@@ -29703,6 +32465,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29746,10 +32509,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAvailableAppInterfaceComputeResources(args.authzToken, args.appInterfaceId,resultHandler);
       }
@@ -29760,13 +32525,16 @@
         super("registerComputeResource");
       }
 
+      @Override
       public registerComputeResource_args getEmptyArgsInstance() {
         return new registerComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerComputeResource_result result = new registerComputeResource_result();
             result.success = o;
@@ -29780,6 +32548,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29823,10 +32592,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerComputeResource(args.authzToken, args.computeResourceDescription,resultHandler);
       }
@@ -29837,13 +32608,16 @@
         super("getComputeResource");
       }
 
+      @Override
       public getComputeResource_args getEmptyArgsInstance() {
         return new getComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription o) {
             getComputeResource_result result = new getComputeResource_result();
             result.success = o;
@@ -29857,6 +32631,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29900,10 +32675,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getComputeResource(args.authzToken, args.computeResourceId,resultHandler);
       }
@@ -29914,13 +32691,16 @@
         super("getAllComputeResourceNames");
       }
 
+      @Override
       public getAllComputeResourceNames_args getEmptyArgsInstance() {
         return new getAllComputeResourceNames_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             result.success = o;
@@ -29934,6 +32714,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29977,10 +32758,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllComputeResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllComputeResourceNames(args.authzToken,resultHandler);
       }
@@ -29991,13 +32774,16 @@
         super("updateComputeResource");
       }
 
+      @Override
       public updateComputeResource_args getEmptyArgsInstance() {
         return new updateComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateComputeResource_result result = new updateComputeResource_result();
             result.success = o;
@@ -30012,6 +32798,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30055,10 +32842,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateComputeResource(args.authzToken, args.computeResourceId, args.computeResourceDescription,resultHandler);
       }
@@ -30069,13 +32858,16 @@
         super("deleteComputeResource");
       }
 
+      @Override
       public deleteComputeResource_args getEmptyArgsInstance() {
         return new deleteComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteComputeResource_result result = new deleteComputeResource_result();
             result.success = o;
@@ -30090,6 +32882,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30133,10 +32926,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteComputeResource(args.authzToken, args.computeResourceId,resultHandler);
       }
@@ -30147,13 +32942,16 @@
         super("registerStorageResource");
       }
 
+      @Override
       public registerStorageResource_args getEmptyArgsInstance() {
         return new registerStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerStorageResource_result result = new registerStorageResource_result();
             result.success = o;
@@ -30167,6 +32965,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30210,10 +33009,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerStorageResource(args.authzToken, args.storageResourceDescription,resultHandler);
       }
@@ -30224,13 +33025,16 @@
         super("getStorageResource");
       }
 
+      @Override
       public getStorageResource_args getEmptyArgsInstance() {
         return new getStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription o) {
             getStorageResource_result result = new getStorageResource_result();
             result.success = o;
@@ -30244,6 +33048,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30287,10 +33092,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getStorageResource(args.authzToken, args.storageResourceId,resultHandler);
       }
@@ -30301,13 +33108,16 @@
         super("getAllStorageResourceNames");
       }
 
+      @Override
       public getAllStorageResourceNames_args getEmptyArgsInstance() {
         return new getAllStorageResourceNames_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
             result.success = o;
@@ -30321,6 +33131,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30364,10 +33175,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllStorageResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllStorageResourceNames(args.authzToken,resultHandler);
       }
@@ -30378,13 +33191,16 @@
         super("updateStorageResource");
       }
 
+      @Override
       public updateStorageResource_args getEmptyArgsInstance() {
         return new updateStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateStorageResource_result result = new updateStorageResource_result();
             result.success = o;
@@ -30399,6 +33215,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30442,10 +33259,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateStorageResource(args.authzToken, args.storageResourceId, args.storageResourceDescription,resultHandler);
       }
@@ -30456,13 +33275,16 @@
         super("deleteStorageResource");
       }
 
+      @Override
       public deleteStorageResource_args getEmptyArgsInstance() {
         return new deleteStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteStorageResource_result result = new deleteStorageResource_result();
             result.success = o;
@@ -30477,6 +33299,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30520,10 +33343,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteStorageResource(args.authzToken, args.storageResourceId,resultHandler);
       }
@@ -30534,13 +33359,16 @@
         super("addLocalSubmissionDetails");
       }
 
+      @Override
       public addLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new addLocalSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             result.success = o;
@@ -30554,6 +33382,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30597,10 +33426,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addLocalSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.localSubmission,resultHandler);
       }
@@ -30611,13 +33442,16 @@
         super("updateLocalSubmissionDetails");
       }
 
+      @Override
       public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new updateLocalSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
             result.success = o;
@@ -30632,6 +33466,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30675,10 +33510,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateLocalSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.localSubmission,resultHandler);
       }
@@ -30689,13 +33526,16 @@
         super("getLocalJobSubmission");
       }
 
+      @Override
       public getLocalJobSubmission_args getEmptyArgsInstance() {
         return new getLocalJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission o) {
             getLocalJobSubmission_result result = new getLocalJobSubmission_result();
             result.success = o;
@@ -30709,6 +33549,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30752,10 +33593,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getLocalJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getLocalJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
@@ -30766,13 +33609,16 @@
         super("addSSHJobSubmissionDetails");
       }
 
+      @Override
       public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             result.success = o;
@@ -30786,6 +33632,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30829,10 +33676,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSSHJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
@@ -30843,13 +33692,16 @@
         super("addSSHForkJobSubmissionDetails");
       }
 
+      @Override
       public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHForkJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             result.success = o;
@@ -30863,6 +33715,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30906,10 +33759,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSSHForkJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSSHForkJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
@@ -30920,13 +33775,16 @@
         super("getSSHJobSubmission");
       }
 
+      @Override
       public getSSHJobSubmission_args getEmptyArgsInstance() {
         return new getSSHJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
             getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             result.success = o;
@@ -30940,6 +33798,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30983,10 +33842,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getSSHJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getSSHJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
@@ -30997,13 +33858,16 @@
         super("addUNICOREJobSubmissionDetails");
       }
 
+      @Override
       public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addUNICOREJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             result.success = o;
@@ -31017,6 +33881,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31060,10 +33925,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUNICOREJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addUNICOREJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission,resultHandler);
       }
@@ -31074,13 +33941,16 @@
         super("getUnicoreJobSubmission");
       }
 
+      @Override
       public getUnicoreJobSubmission_args getEmptyArgsInstance() {
         return new getUnicoreJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission o) {
             getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
             result.success = o;
@@ -31094,6 +33964,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31137,10 +34008,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUnicoreJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getUnicoreJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
@@ -31151,13 +34024,16 @@
         super("addCloudJobSubmissionDetails");
       }
 
+      @Override
       public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addCloudJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
             result.success = o;
@@ -31171,6 +34047,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31214,10 +34091,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addCloudJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.cloudSubmission,resultHandler);
       }
@@ -31228,13 +34107,16 @@
         super("getCloudJobSubmission");
       }
 
+      @Override
       public getCloudJobSubmission_args getEmptyArgsInstance() {
         return new getCloudJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission o) {
             getCloudJobSubmission_result result = new getCloudJobSubmission_result();
             result.success = o;
@@ -31248,6 +34130,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31291,10 +34174,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getCloudJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getCloudJobSubmission(args.authzToken, args.jobSubmissionId,resultHandler);
       }
@@ -31305,13 +34190,16 @@
         super("updateSSHJobSubmissionDetails");
       }
 
+      @Override
       public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateSSHJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
             result.success = o;
@@ -31326,6 +34214,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31369,10 +34258,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateSSHJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
@@ -31383,13 +34274,16 @@
         super("updateCloudJobSubmissionDetails");
       }
 
+      @Override
       public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateCloudJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             result.success = o;
@@ -31404,6 +34298,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31447,10 +34342,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateCloudJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
@@ -31461,13 +34358,16 @@
         super("updateUnicoreJobSubmissionDetails");
       }
 
+      @Override
       public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateUnicoreJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
             result.success = o;
@@ -31482,6 +34382,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31525,10 +34426,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUnicoreJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUnicoreJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.unicoreJobSubmission,resultHandler);
       }
@@ -31539,13 +34442,16 @@
         super("addLocalDataMovementDetails");
       }
 
+      @Override
       public addLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new addLocalDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             result.success = o;
@@ -31559,6 +34465,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31602,10 +34509,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addLocalDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
       }
@@ -31616,13 +34525,16 @@
         super("updateLocalDataMovementDetails");
       }
 
+      @Override
       public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new updateLocalDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             result.success = o;
@@ -31637,6 +34549,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31680,10 +34593,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateLocalDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.localDataMovement,resultHandler);
       }
@@ -31694,13 +34609,16 @@
         super("getLocalDataMovement");
       }
 
+      @Override
       public getLocalDataMovement_args getEmptyArgsInstance() {
         return new getLocalDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.LOCALDataMovement o) {
             getLocalDataMovement_result result = new getLocalDataMovement_result();
             result.success = o;
@@ -31714,6 +34632,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31757,10 +34676,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getLocalDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getLocalDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
@@ -31771,13 +34692,16 @@
         super("addSCPDataMovementDetails");
       }
 
+      @Override
       public addSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new addSCPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             result.success = o;
@@ -31791,6 +34715,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31834,10 +34759,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSCPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
       }
@@ -31848,13 +34775,16 @@
         super("updateSCPDataMovementDetails");
       }
 
+      @Override
       public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateSCPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             result.success = o;
@@ -31869,6 +34799,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31912,10 +34843,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateSCPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.scpDataMovement,resultHandler);
       }
@@ -31926,13 +34859,16 @@
         super("getSCPDataMovement");
       }
 
+      @Override
       public getSCPDataMovement_args getEmptyArgsInstance() {
         return new getSCPDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.SCPDataMovement o) {
             getSCPDataMovement_result result = new getSCPDataMovement_result();
             result.success = o;
@@ -31946,6 +34882,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31989,10 +34926,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getSCPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getSCPDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
@@ -32003,13 +34942,16 @@
         super("addUnicoreDataMovementDetails");
       }
 
+      @Override
       public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new addUnicoreDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             result.success = o;
@@ -32023,6 +34965,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32066,10 +35009,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addUnicoreDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
       }
@@ -32080,13 +35025,16 @@
         super("updateUnicoreDataMovementDetails");
       }
 
+      @Override
       public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new updateUnicoreDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             result.success = o;
@@ -32101,6 +35049,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32144,10 +35093,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUnicoreDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.unicoreDataMovement,resultHandler);
       }
@@ -32158,13 +35109,16 @@
         super("getUnicoreDataMovement");
       }
 
+      @Override
       public getUnicoreDataMovement_args getEmptyArgsInstance() {
         return new getUnicoreDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
             getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             result.success = o;
@@ -32178,6 +35132,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32221,10 +35176,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUnicoreDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getUnicoreDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
@@ -32235,13 +35192,16 @@
         super("addGridFTPDataMovementDetails");
       }
 
+      @Override
       public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new addGridFTPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
             result.success = o;
@@ -32255,6 +35215,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32298,10 +35259,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addGridFTPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
       }
@@ -32312,13 +35275,16 @@
         super("updateGridFTPDataMovementDetails");
       }
 
+      @Override
       public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateGridFTPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             result.success = o;
@@ -32333,6 +35299,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32376,10 +35343,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGridFTPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.gridFTPDataMovement,resultHandler);
       }
@@ -32390,13 +35359,16 @@
         super("getGridFTPDataMovement");
       }
 
+      @Override
       public getGridFTPDataMovement_args getEmptyArgsInstance() {
         return new getGridFTPDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.GridFTPDataMovement o) {
             getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
             result.success = o;
@@ -32410,6 +35382,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32453,10 +35426,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGridFTPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getGridFTPDataMovement(args.authzToken, args.dataMovementId,resultHandler);
       }
@@ -32467,13 +35442,16 @@
         super("changeJobSubmissionPriority");
       }
 
+      @Override
       public changeJobSubmissionPriority_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriority_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             result.success = o;
@@ -32488,6 +35466,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32531,10 +35510,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeJobSubmissionPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeJobSubmissionPriority(args.authzToken, args.jobSubmissionInterfaceId, args.newPriorityOrder,resultHandler);
       }
@@ -32545,13 +35526,16 @@
         super("changeDataMovementPriority");
       }
 
+      @Override
       public changeDataMovementPriority_args getEmptyArgsInstance() {
         return new changeDataMovementPriority_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeDataMovementPriority_result result = new changeDataMovementPriority_result();
             result.success = o;
@@ -32566,6 +35550,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32609,10 +35594,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeDataMovementPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeDataMovementPriority(args.authzToken, args.dataMovementInterfaceId, args.newPriorityOrder,resultHandler);
       }
@@ -32623,13 +35610,16 @@
         super("changeJobSubmissionPriorities");
       }
 
+      @Override
       public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriorities_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
             result.success = o;
@@ -32644,6 +35634,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32687,10 +35678,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeJobSubmissionPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeJobSubmissionPriorities(args.authzToken, args.jobSubmissionPriorityMap,resultHandler);
       }
@@ -32701,13 +35694,16 @@
         super("changeDataMovementPriorities");
       }
 
+      @Override
       public changeDataMovementPriorities_args getEmptyArgsInstance() {
         return new changeDataMovementPriorities_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
             result.success = o;
@@ -32722,6 +35718,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32765,10 +35762,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeDataMovementPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeDataMovementPriorities(args.authzToken, args.dataMovementPriorityMap,resultHandler);
       }
@@ -32779,13 +35778,16 @@
         super("deleteJobSubmissionInterface");
       }
 
+      @Override
       public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
         return new deleteJobSubmissionInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
             result.success = o;
@@ -32800,6 +35802,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32843,10 +35846,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteJobSubmissionInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteJobSubmissionInterface(args.authzToken, args.computeResourceId, args.jobSubmissionInterfaceId,resultHandler);
       }
@@ -32857,13 +35862,16 @@
         super("deleteDataMovementInterface");
       }
 
+      @Override
       public deleteDataMovementInterface_args getEmptyArgsInstance() {
         return new deleteDataMovementInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
             result.success = o;
@@ -32878,6 +35886,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32921,10 +35930,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteDataMovementInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteDataMovementInterface(args.authzToken, args.productUri, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
       }
@@ -32935,13 +35946,16 @@
         super("registerResourceJobManager");
       }
 
+      @Override
       public registerResourceJobManager_args getEmptyArgsInstance() {
         return new registerResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerResourceJobManager_result result = new registerResourceJobManager_result();
             result.success = o;
@@ -32955,6 +35969,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32998,10 +36013,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerResourceJobManager(args.authzToken, args.resourceJobManager,resultHandler);
       }
@@ -33012,13 +36029,16 @@
         super("updateResourceJobManager");
       }
 
+      @Override
       public updateResourceJobManager_args getEmptyArgsInstance() {
         return new updateResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateResourceJobManager_result result = new updateResourceJobManager_result();
             result.success = o;
@@ -33033,6 +36053,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33076,10 +36097,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateResourceJobManager(args.authzToken, args.resourceJobManagerId, args.updatedResourceJobManager,resultHandler);
       }
@@ -33090,13 +36113,16 @@
         super("getResourceJobManager");
       }
 
+      @Override
       public getResourceJobManager_args getEmptyArgsInstance() {
         return new getResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager o) {
             getResourceJobManager_result result = new getResourceJobManager_result();
             result.success = o;
@@ -33110,6 +36136,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33153,10 +36180,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> resultHandler) throws org.apache.thrift.TException {
         iface.getResourceJobManager(args.authzToken, args.resourceJobManagerId,resultHandler);
       }
@@ -33167,13 +36196,16 @@
         super("deleteResourceJobManager");
       }
 
+      @Override
       public deleteResourceJobManager_args getEmptyArgsInstance() {
         return new deleteResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteResourceJobManager_result result = new deleteResourceJobManager_result();
             result.success = o;
@@ -33188,6 +36220,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33231,10 +36264,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteResourceJobManager(args.authzToken, args.resourceJobManagerId,resultHandler);
       }
@@ -33245,13 +36280,16 @@
         super("deleteBatchQueue");
       }
 
+      @Override
       public deleteBatchQueue_args getEmptyArgsInstance() {
         return new deleteBatchQueue_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteBatchQueue_result result = new deleteBatchQueue_result();
             result.success = o;
@@ -33266,6 +36304,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33309,10 +36348,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteBatchQueue_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteBatchQueue(args.authzToken, args.computeResourceId, args.queueName,resultHandler);
       }
@@ -33323,13 +36364,16 @@
         super("registerGatewayResourceProfile");
       }
 
+      @Override
       public registerGatewayResourceProfile_args getEmptyArgsInstance() {
         return new registerGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
             result.success = o;
@@ -33343,6 +36387,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33386,10 +36431,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerGatewayResourceProfile(args.authzToken, args.gatewayResourceProfile,resultHandler);
       }
@@ -33400,13 +36447,16 @@
         super("getGatewayResourceProfile");
       }
 
+      @Override
       public getGatewayResourceProfile_args getEmptyArgsInstance() {
         return new getGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile o) {
             getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
             result.success = o;
@@ -33420,6 +36470,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33463,10 +36514,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayResourceProfile(args.authzToken, args.gatewayID,resultHandler);
       }
@@ -33477,13 +36530,16 @@
         super("updateGatewayResourceProfile");
       }
 
+      @Override
       public updateGatewayResourceProfile_args getEmptyArgsInstance() {
         return new updateGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
             result.success = o;
@@ -33498,6 +36554,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33541,10 +36598,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayResourceProfile(args.authzToken, args.gatewayID, args.gatewayResourceProfile,resultHandler);
       }
@@ -33555,13 +36614,16 @@
         super("deleteGatewayResourceProfile");
       }
 
+      @Override
       public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
         return new deleteGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
             result.success = o;
@@ -33576,6 +36638,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33619,10 +36682,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGatewayResourceProfile(args.authzToken, args.gatewayID,resultHandler);
       }
@@ -33633,13 +36698,16 @@
         super("addGatewayComputeResourcePreference");
       }
 
+      @Override
       public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new addGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
             result.success = o;
@@ -33654,6 +36722,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33697,10 +36766,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
       }
@@ -33711,13 +36782,16 @@
         super("addGatewayStoragePreference");
       }
 
+      @Override
       public addGatewayStoragePreference_args getEmptyArgsInstance() {
         return new addGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
             result.success = o;
@@ -33732,6 +36806,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33775,10 +36850,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageResourceId, args.storagePreference,resultHandler);
       }
@@ -33789,13 +36866,16 @@
         super("getGatewayComputeResourcePreference");
       }
 
+      @Override
       public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference o) {
             getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
             result.success = o;
@@ -33809,6 +36889,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33852,10 +36933,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId,resultHandler);
       }
@@ -33866,13 +36949,16 @@
         super("getGatewayStoragePreference");
       }
 
+      @Override
       public getGatewayStoragePreference_args getEmptyArgsInstance() {
         return new getGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference o) {
             getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
             result.success = o;
@@ -33886,6 +36972,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33929,10 +37016,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageResourceId,resultHandler);
       }
@@ -33943,13 +37032,16 @@
         super("getAllGatewayComputeResourcePreferences");
       }
 
+      @Override
       public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayComputeResourcePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> o) {
             getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
             result.success = o;
@@ -33963,6 +37055,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34006,10 +37099,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewayComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewayComputeResourcePreferences(args.authzToken, args.gatewayID,resultHandler);
       }
@@ -34020,13 +37115,16 @@
         super("getAllGatewayStoragePreferences");
       }
 
+      @Override
       public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayStoragePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> o) {
             getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
             result.success = o;
@@ -34040,6 +37138,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34083,10 +37182,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewayStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewayStoragePreferences(args.authzToken, args.gatewayID,resultHandler);
       }
@@ -34097,13 +37198,16 @@
         super("getAllGatewayResourceProfiles");
       }
 
+      @Override
       public getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
         return new getAllGatewayResourceProfiles_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> o) {
             getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
             result.success = o;
@@ -34117,6 +37221,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34160,10 +37265,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewayResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewayResourceProfiles(args.authzToken,resultHandler);
       }
@@ -34174,13 +37281,16 @@
         super("updateGatewayComputeResourcePreference");
       }
 
+      @Override
       public updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
             result.success = o;
@@ -34195,6 +37305,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34238,10 +37349,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
       }
@@ -34252,13 +37365,16 @@
         super("updateGatewayStoragePreference");
       }
 
+      @Override
       public updateGatewayStoragePreference_args getEmptyArgsInstance() {
         return new updateGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
             result.success = o;
@@ -34273,6 +37389,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34316,10 +37433,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageId, args.storagePreference,resultHandler);
       }
@@ -34330,13 +37449,16 @@
         super("deleteGatewayComputeResourcePreference");
       }
 
+      @Override
       public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
             result.success = o;
@@ -34351,6 +37473,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34394,10 +37517,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId,resultHandler);
       }
@@ -34408,13 +37533,16 @@
         super("deleteGatewayStoragePreference");
       }
 
+      @Override
       public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
         return new deleteGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
             result.success = o;
@@ -34429,6 +37557,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34472,10 +37601,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageId,resultHandler);
       }
@@ -34486,13 +37617,16 @@
         super("getSSHAccountProvisioners");
       }
 
+      @Override
       public getSSHAccountProvisioners_args getEmptyArgsInstance() {
         return new getSSHAccountProvisioners_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> o) {
             getSSHAccountProvisioners_result result = new getSSHAccountProvisioners_result();
             result.success = o;
@@ -34506,6 +37640,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34549,10 +37684,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getSSHAccountProvisioners_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner>> resultHandler) throws org.apache.thrift.TException {
         iface.getSSHAccountProvisioners(args.authzToken,resultHandler);
       }
@@ -34563,13 +37700,16 @@
         super("doesUserHaveSSHAccount");
       }
 
+      @Override
       public doesUserHaveSSHAccount_args getEmptyArgsInstance() {
         return new doesUserHaveSSHAccount_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             doesUserHaveSSHAccount_result result = new doesUserHaveSSHAccount_result();
             result.success = o;
@@ -34584,6 +37724,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34627,10 +37768,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, doesUserHaveSSHAccount_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.doesUserHaveSSHAccount(args.authzToken, args.computeResourceId, args.userId,resultHandler);
       }
@@ -34641,13 +37784,16 @@
         super("isSSHSetupCompleteForUserComputeResourcePreference");
       }
 
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new isSSHSetupCompleteForUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isSSHSetupCompleteForUserComputeResourcePreference_result result = new isSSHSetupCompleteForUserComputeResourcePreference_result();
             result.success = o;
@@ -34662,6 +37808,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34705,10 +37852,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isSSHSetupCompleteForUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isSSHSetupCompleteForUserComputeResourcePreference(args.authzToken, args.computeResourceId, args.airavataCredStoreToken,resultHandler);
       }
@@ -34719,13 +37868,16 @@
         super("setupUserComputeResourcePreferencesForSSH");
       }
 
+      @Override
       public setupUserComputeResourcePreferencesForSSH_args getEmptyArgsInstance() {
         return new setupUserComputeResourcePreferencesForSSH_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
             setupUserComputeResourcePreferencesForSSH_result result = new setupUserComputeResourcePreferencesForSSH_result();
             result.success = o;
@@ -34739,6 +37891,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34782,10 +37935,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, setupUserComputeResourcePreferencesForSSH_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.setupUserComputeResourcePreferencesForSSH(args.authzToken, args.computeResourceId, args.userId, args.airavataCredStoreToken,resultHandler);
       }
@@ -34796,13 +37951,16 @@
         super("registerUserResourceProfile");
       }
 
+      @Override
       public registerUserResourceProfile_args getEmptyArgsInstance() {
         return new registerUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerUserResourceProfile_result result = new registerUserResourceProfile_result();
             result.success = o;
@@ -34816,6 +37974,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34859,10 +38018,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerUserResourceProfile(args.authzToken, args.userResourceProfile,resultHandler);
       }
@@ -34873,13 +38034,16 @@
         super("isUserResourceProfileExists");
       }
 
+      @Override
       public isUserResourceProfileExists_args getEmptyArgsInstance() {
         return new isUserResourceProfileExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
             result.success = o;
@@ -34894,6 +38058,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -34937,10 +38102,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserResourceProfileExists(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
@@ -34951,13 +38118,16 @@
         super("getUserResourceProfile");
       }
 
+      @Override
       public getUserResourceProfile_args getEmptyArgsInstance() {
         return new getUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile o) {
             getUserResourceProfile_result result = new getUserResourceProfile_result();
             result.success = o;
@@ -34971,6 +38141,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35014,10 +38185,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getUserResourceProfile(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
@@ -35028,13 +38201,16 @@
         super("updateUserResourceProfile");
       }
 
+      @Override
       public updateUserResourceProfile_args getEmptyArgsInstance() {
         return new updateUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             result.success = o;
@@ -35049,6 +38225,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35092,10 +38269,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserResourceProfile(args.authzToken, args.userId, args.gatewayID, args.userResourceProfile,resultHandler);
       }
@@ -35106,13 +38285,16 @@
         super("deleteUserResourceProfile");
       }
 
+      @Override
       public deleteUserResourceProfile_args getEmptyArgsInstance() {
         return new deleteUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             result.success = o;
@@ -35127,6 +38309,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35170,10 +38353,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserResourceProfile(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
@@ -35184,13 +38369,16 @@
         super("addUserComputeResourcePreference");
       }
 
+      @Override
       public addUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new addUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
             result.success = o;
@@ -35205,6 +38393,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35248,10 +38437,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
       }
@@ -35262,13 +38453,16 @@
         super("addUserStoragePreference");
       }
 
+      @Override
       public addUserStoragePreference_args getEmptyArgsInstance() {
         return new addUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addUserStoragePreference_result result = new addUserStoragePreference_result();
             result.success = o;
@@ -35283,6 +38477,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35326,10 +38521,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference,resultHandler);
       }
@@ -35340,13 +38537,16 @@
         super("getUserComputeResourcePreference");
       }
 
+      @Override
       public getUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new getUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
             getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
             result.success = o;
@@ -35360,6 +38560,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35403,10 +38604,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
@@ -35417,13 +38620,16 @@
         super("getUserStoragePreference");
       }
 
+      @Override
       public getUserStoragePreference_args getEmptyArgsInstance() {
         return new getUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference o) {
             getUserStoragePreference_result result = new getUserStoragePreference_result();
             result.success = o;
@@ -35437,6 +38643,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35480,10 +38687,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId,resultHandler);
       }
@@ -35494,13 +38703,16 @@
         super("getAllUserComputeResourcePreferences");
       }
 
+      @Override
       public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllUserComputeResourcePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> o) {
             getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
             result.success = o;
@@ -35514,6 +38726,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35557,10 +38770,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserComputeResourcePreferences(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
@@ -35571,13 +38786,16 @@
         super("getAllUserStoragePreferences");
       }
 
+      @Override
       public getAllUserStoragePreferences_args getEmptyArgsInstance() {
         return new getAllUserStoragePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> o) {
             getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
             result.success = o;
@@ -35591,6 +38809,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35634,10 +38853,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserStoragePreferences(args.authzToken, args.userId, args.gatewayID,resultHandler);
       }
@@ -35648,13 +38869,16 @@
         super("getAllUserResourceProfiles");
       }
 
+      @Override
       public getAllUserResourceProfiles_args getEmptyArgsInstance() {
         return new getAllUserResourceProfiles_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> o) {
             getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
             result.success = o;
@@ -35668,6 +38892,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35711,10 +38936,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserResourceProfiles(args.authzToken,resultHandler);
       }
@@ -35725,13 +38952,16 @@
         super("updateUserComputeResourcePreference");
       }
 
+      @Override
       public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             result.success = o;
@@ -35746,6 +38976,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35789,10 +39020,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
       }
@@ -35803,13 +39036,16 @@
         super("updateUserStoragePreference");
       }
 
+      @Override
       public updateUserStoragePreference_args getEmptyArgsInstance() {
         return new updateUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserStoragePreference_result result = new updateUserStoragePreference_result();
             result.success = o;
@@ -35824,6 +39060,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35867,10 +39104,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference,resultHandler);
       }
@@ -35881,13 +39120,16 @@
         super("deleteUserComputeResourcePreference");
       }
 
+      @Override
       public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
             result.success = o;
@@ -35902,6 +39144,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -35945,10 +39188,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
@@ -35959,13 +39204,16 @@
         super("deleteUserStoragePreference");
       }
 
+      @Override
       public deleteUserStoragePreference_args getEmptyArgsInstance() {
         return new deleteUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
             result.success = o;
@@ -35980,6 +39228,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36023,10 +39272,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId,resultHandler);
       }
@@ -36037,13 +39288,16 @@
         super("getLatestQueueStatuses");
       }
 
+      @Override
       public getLatestQueueStatuses_args getEmptyArgsInstance() {
         return new getLatestQueueStatuses_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.status.QueueStatusModel> o) {
             getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
             result.success = o;
@@ -36057,6 +39311,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36100,10 +39355,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getLatestQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getLatestQueueStatuses(args.authzToken,resultHandler);
       }
@@ -36114,13 +39371,16 @@
         super("registerDataProduct");
       }
 
+      @Override
       public registerDataProduct_args getEmptyArgsInstance() {
         return new registerDataProduct_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerDataProduct_result result = new registerDataProduct_result();
             result.success = o;
@@ -36134,6 +39394,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36177,10 +39438,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerDataProduct(args.authzToken, args.dataProductModel,resultHandler);
       }
@@ -36191,13 +39454,16 @@
         super("getDataProduct");
       }
 
+      @Override
       public getDataProduct_args getEmptyArgsInstance() {
         return new getDataProduct_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
             getDataProduct_result result = new getDataProduct_result();
             result.success = o;
@@ -36211,6 +39477,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36254,10 +39521,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
         iface.getDataProduct(args.authzToken, args.dataProductUri,resultHandler);
       }
@@ -36268,13 +39537,16 @@
         super("registerReplicaLocation");
       }
 
+      @Override
       public registerReplicaLocation_args getEmptyArgsInstance() {
         return new registerReplicaLocation_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerReplicaLocation_result result = new registerReplicaLocation_result();
             result.success = o;
@@ -36288,6 +39560,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36331,10 +39604,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerReplicaLocation(args.authzToken, args.replicaLocationModel,resultHandler);
       }
@@ -36345,13 +39620,16 @@
         super("getParentDataProduct");
       }
 
+      @Override
       public getParentDataProduct_args getEmptyArgsInstance() {
         return new getParentDataProduct_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
             getParentDataProduct_result result = new getParentDataProduct_result();
             result.success = o;
@@ -36365,6 +39643,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36408,10 +39687,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
         iface.getParentDataProduct(args.authzToken, args.productUri,resultHandler);
       }
@@ -36422,13 +39703,16 @@
         super("getChildDataProducts");
       }
 
+      @Override
       public getChildDataProducts_args getEmptyArgsInstance() {
         return new getChildDataProducts_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
             getChildDataProducts_result result = new getChildDataProducts_result();
             result.success = o;
@@ -36442,6 +39726,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36485,10 +39770,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getChildDataProducts(args.authzToken, args.productUri,resultHandler);
       }
@@ -36499,13 +39786,16 @@
         super("shareResourceWithUsers");
       }
 
+      @Override
       public shareResourceWithUsers_args getEmptyArgsInstance() {
         return new shareResourceWithUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             shareResourceWithUsers_result result = new shareResourceWithUsers_result();
             result.success = o;
@@ -36520,6 +39810,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36563,10 +39854,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, shareResourceWithUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.shareResourceWithUsers(args.authzToken, args.resourceId, args.userPermissionList,resultHandler);
       }
@@ -36577,13 +39870,16 @@
         super("shareResourceWithGroups");
       }
 
+      @Override
       public shareResourceWithGroups_args getEmptyArgsInstance() {
         return new shareResourceWithGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             shareResourceWithGroups_result result = new shareResourceWithGroups_result();
             result.success = o;
@@ -36598,6 +39894,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36641,10 +39938,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, shareResourceWithGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.shareResourceWithGroups(args.authzToken, args.resourceId, args.groupPermissionList,resultHandler);
       }
@@ -36655,13 +39954,16 @@
         super("revokeSharingOfResourceFromUsers");
       }
 
+      @Override
       public revokeSharingOfResourceFromUsers_args getEmptyArgsInstance() {
         return new revokeSharingOfResourceFromUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             revokeSharingOfResourceFromUsers_result result = new revokeSharingOfResourceFromUsers_result();
             result.success = o;
@@ -36676,6 +39978,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36719,10 +40022,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, revokeSharingOfResourceFromUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.revokeSharingOfResourceFromUsers(args.authzToken, args.resourceId, args.userPermissionList,resultHandler);
       }
@@ -36733,13 +40038,16 @@
         super("revokeSharingOfResourceFromGroups");
       }
 
+      @Override
       public revokeSharingOfResourceFromGroups_args getEmptyArgsInstance() {
         return new revokeSharingOfResourceFromGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             revokeSharingOfResourceFromGroups_result result = new revokeSharingOfResourceFromGroups_result();
             result.success = o;
@@ -36754,6 +40062,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36797,10 +40106,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, revokeSharingOfResourceFromGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.revokeSharingOfResourceFromGroups(args.authzToken, args.resourceId, args.groupPermissionList,resultHandler);
       }
@@ -36811,13 +40122,16 @@
         super("getAllAccessibleUsers");
       }
 
+      @Override
       public getAllAccessibleUsers_args getEmptyArgsInstance() {
         return new getAllAccessibleUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAllAccessibleUsers_result result = new getAllAccessibleUsers_result();
             result.success = o;
@@ -36831,6 +40145,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36874,10 +40189,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllAccessibleUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllAccessibleUsers(args.authzToken, args.resourceId, args.permissionType,resultHandler);
       }
@@ -36888,13 +40205,16 @@
         super("getAllAccessibleGroups");
       }
 
+      @Override
       public getAllAccessibleGroups_args getEmptyArgsInstance() {
         return new getAllAccessibleGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAllAccessibleGroups_result result = new getAllAccessibleGroups_result();
             result.success = o;
@@ -36908,6 +40228,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -36951,10 +40272,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllAccessibleGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllAccessibleGroups(args.authzToken, args.resourceId, args.permissionType,resultHandler);
       }
@@ -36965,13 +40288,16 @@
         super("getAllDirectlyAccessibleUsers");
       }
 
+      @Override
       public getAllDirectlyAccessibleUsers_args getEmptyArgsInstance() {
         return new getAllDirectlyAccessibleUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAllDirectlyAccessibleUsers_result result = new getAllDirectlyAccessibleUsers_result();
             result.success = o;
@@ -36985,6 +40311,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37028,10 +40355,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllDirectlyAccessibleUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllDirectlyAccessibleUsers(args.authzToken, args.resourceId, args.permissionType,resultHandler);
       }
@@ -37042,13 +40371,16 @@
         super("getAllDirectlyAccessibleGroups");
       }
 
+      @Override
       public getAllDirectlyAccessibleGroups_args getEmptyArgsInstance() {
         return new getAllDirectlyAccessibleGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAllDirectlyAccessibleGroups_result result = new getAllDirectlyAccessibleGroups_result();
             result.success = o;
@@ -37062,6 +40394,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37105,10 +40438,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllDirectlyAccessibleGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllDirectlyAccessibleGroups(args.authzToken, args.resourceId, args.permissionType,resultHandler);
       }
@@ -37119,13 +40454,16 @@
         super("userHasAccess");
       }
 
+      @Override
       public userHasAccess_args getEmptyArgsInstance() {
         return new userHasAccess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             userHasAccess_result result = new userHasAccess_result();
             result.success = o;
@@ -37140,6 +40478,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37183,10 +40522,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, userHasAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.userHasAccess(args.authzToken, args.resourceId, args.permissionType,resultHandler);
       }
@@ -37197,13 +40538,16 @@
         super("createGroupResourceProfile");
       }
 
+      @Override
       public createGroupResourceProfile_args getEmptyArgsInstance() {
         return new createGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createGroupResourceProfile_result result = new createGroupResourceProfile_result();
             result.success = o;
@@ -37217,6 +40561,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37260,10 +40605,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createGroupResourceProfile(args.authzToken, args.groupResourceProfile,resultHandler);
       }
@@ -37274,13 +40621,16 @@
         super("updateGroupResourceProfile");
       }
 
+      @Override
       public updateGroupResourceProfile_args getEmptyArgsInstance() {
         return new updateGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
             try {
@@ -37293,6 +40643,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37336,10 +40687,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateGroupResourceProfile(args.authzToken, args.groupResourceProfile,resultHandler);
       }
@@ -37350,13 +40703,16 @@
         super("getGroupResourceProfile");
       }
 
+      @Override
       public getGroupResourceProfile_args getEmptyArgsInstance() {
         return new getGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile o) {
             getGroupResourceProfile_result result = new getGroupResourceProfile_result();
             result.success = o;
@@ -37370,6 +40726,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37413,10 +40770,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupResourceProfile(args.authzToken, args.groupResourceProfileId,resultHandler);
       }
@@ -37427,13 +40786,16 @@
         super("removeGroupResourceProfile");
       }
 
+      @Override
       public removeGroupResourceProfile_args getEmptyArgsInstance() {
         return new removeGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
             result.success = o;
@@ -37448,6 +40810,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37491,10 +40854,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupResourceProfile(args.authzToken, args.groupResourceProfileId,resultHandler);
       }
@@ -37505,13 +40870,16 @@
         super("getGroupResourceList");
       }
 
+      @Override
       public getGroupResourceList_args getEmptyArgsInstance() {
         return new getGroupResourceList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> o) {
             getGroupResourceList_result result = new getGroupResourceList_result();
             result.success = o;
@@ -37525,6 +40893,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37568,10 +40937,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupResourceList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupResourceList(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -37582,13 +40953,16 @@
         super("removeGroupComputePrefs");
       }
 
+      @Override
       public removeGroupComputePrefs_args getEmptyArgsInstance() {
         return new removeGroupComputePrefs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
             result.success = o;
@@ -37603,6 +40977,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37646,10 +41021,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupComputePrefs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupComputePrefs(args.authzToken, args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
@@ -37660,13 +41037,16 @@
         super("removeGroupComputeResourcePolicy");
       }
 
+      @Override
       public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupComputeResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
             result.success = o;
@@ -37681,6 +41061,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37724,10 +41105,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupComputeResourcePolicy(args.authzToken, args.resourcePolicyId,resultHandler);
       }
@@ -37738,13 +41121,16 @@
         super("removeGroupBatchQueueResourcePolicy");
       }
 
+      @Override
       public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupBatchQueueResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
             result.success = o;
@@ -37759,6 +41145,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37802,10 +41189,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupBatchQueueResourcePolicy(args.authzToken, args.resourcePolicyId,resultHandler);
       }
@@ -37816,13 +41205,16 @@
         super("getGroupComputeResourcePreference");
       }
 
+      @Override
       public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference o) {
             getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
             result.success = o;
@@ -37836,6 +41228,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37879,10 +41272,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePreference(args.authzToken, args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
@@ -37893,13 +41288,16 @@
         super("getGroupComputeResourcePolicy");
       }
 
+      @Override
       public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy o) {
             getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
             result.success = o;
@@ -37913,6 +41311,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -37956,10 +41355,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePolicy(args.authzToken, args.resourcePolicyId,resultHandler);
       }
@@ -37970,13 +41371,16 @@
         super("getBatchQueueResourcePolicy");
       }
 
+      @Override
       public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new getBatchQueueResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy o) {
             getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
             result.success = o;
@@ -37990,6 +41394,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38033,10 +41438,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
         iface.getBatchQueueResourcePolicy(args.authzToken, args.resourcePolicyId,resultHandler);
       }
@@ -38047,13 +41454,16 @@
         super("getGroupComputeResourcePrefList");
       }
 
+      @Override
       public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePrefList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> o) {
             getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
             result.success = o;
@@ -38067,6 +41477,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38110,10 +41521,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePrefList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePrefList(args.authzToken, args.groupResourceProfileId,resultHandler);
       }
@@ -38124,13 +41537,16 @@
         super("getGroupBatchQueueResourcePolicyList");
       }
 
+      @Override
       public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupBatchQueueResourcePolicyList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> o) {
             getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
             result.success = o;
@@ -38144,6 +41560,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38187,10 +41604,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupBatchQueueResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupBatchQueueResourcePolicyList(args.authzToken, args.groupResourceProfileId,resultHandler);
       }
@@ -38201,13 +41620,16 @@
         super("getGroupComputeResourcePolicyList");
       }
 
+      @Override
       public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicyList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> o) {
             getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
             result.success = o;
@@ -38221,6 +41643,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38264,10 +41687,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePolicyList(args.authzToken, args.groupResourceProfileId,resultHandler);
       }
@@ -38278,13 +41703,16 @@
         super("getGatewayGroups");
       }
 
+      @Override
       public getGatewayGroups_args getEmptyArgsInstance() {
         return new getGatewayGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups o) {
             getGatewayGroups_result result = new getGatewayGroups_result();
             result.success = o;
@@ -38298,6 +41726,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38341,10 +41770,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayGroups(args.authzToken,resultHandler);
       }
@@ -38355,13 +41786,16 @@
         super("getParser");
       }
 
+      @Override
       public getParser_args getEmptyArgsInstance() {
         return new getParser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.parser.Parser o) {
             getParser_result result = new getParser_result();
             result.success = o;
@@ -38375,6 +41809,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38418,10 +41853,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParser_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> resultHandler) throws org.apache.thrift.TException {
         iface.getParser(args.authzToken, args.parserId, args.gatewayId,resultHandler);
       }
@@ -38432,13 +41869,16 @@
         super("saveParser");
       }
 
+      @Override
       public saveParser_args getEmptyArgsInstance() {
         return new saveParser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             saveParser_result result = new saveParser_result();
             result.success = o;
@@ -38452,6 +41892,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38495,10 +41936,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, saveParser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.saveParser(args.authzToken, args.parser,resultHandler);
       }
@@ -38509,13 +41952,16 @@
         super("listAllParsers");
       }
 
+      @Override
       public listAllParsers_args getEmptyArgsInstance() {
         return new listAllParsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> o) {
             listAllParsers_result result = new listAllParsers_result();
             result.success = o;
@@ -38529,6 +41975,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38572,10 +42019,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, listAllParsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> resultHandler) throws org.apache.thrift.TException {
         iface.listAllParsers(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -38586,13 +42035,16 @@
         super("removeParser");
       }
 
+      @Override
       public removeParser_args getEmptyArgsInstance() {
         return new removeParser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeParser_result result = new removeParser_result();
             result.success = o;
@@ -38607,6 +42059,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38650,10 +42103,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeParser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeParser(args.authzToken, args.parserId, args.gatewayId,resultHandler);
       }
@@ -38664,13 +42119,16 @@
         super("getParsingTemplate");
       }
 
+      @Override
       public getParsingTemplate_args getEmptyArgsInstance() {
         return new getParsingTemplate_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.parser.ParsingTemplate o) {
             getParsingTemplate_result result = new getParsingTemplate_result();
             result.success = o;
@@ -38684,6 +42142,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38727,10 +42186,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> resultHandler) throws org.apache.thrift.TException {
         iface.getParsingTemplate(args.authzToken, args.templateId, args.gatewayId,resultHandler);
       }
@@ -38741,13 +42202,16 @@
         super("getParsingTemplatesForExperiment");
       }
 
+      @Override
       public getParsingTemplatesForExperiment_args getEmptyArgsInstance() {
         return new getParsingTemplatesForExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
             getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
             result.success = o;
@@ -38761,6 +42225,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38804,10 +42269,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParsingTemplatesForExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
         iface.getParsingTemplatesForExperiment(args.authzToken, args.experimentId, args.gatewayId,resultHandler);
       }
@@ -38818,13 +42285,16 @@
         super("saveParsingTemplate");
       }
 
+      @Override
       public saveParsingTemplate_args getEmptyArgsInstance() {
         return new saveParsingTemplate_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             saveParsingTemplate_result result = new saveParsingTemplate_result();
             result.success = o;
@@ -38838,6 +42308,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38881,10 +42352,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, saveParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.saveParsingTemplate(args.authzToken, args.parsingTemplate,resultHandler);
       }
@@ -38895,13 +42368,16 @@
         super("removeParsingTemplate");
       }
 
+      @Override
       public removeParsingTemplate_args getEmptyArgsInstance() {
         return new removeParsingTemplate_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeParsingTemplate_result result = new removeParsingTemplate_result();
             result.success = o;
@@ -38916,6 +42392,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -38959,10 +42436,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeParsingTemplate(args.authzToken, args.templateId, args.gatewayId,resultHandler);
       }
@@ -38973,13 +42452,16 @@
         super("listAllParsingTemplates");
       }
 
+      @Override
       public listAllParsingTemplates_args getEmptyArgsInstance() {
         return new listAllParsingTemplates_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
             listAllParsingTemplates_result result = new listAllParsingTemplates_result();
             result.success = o;
@@ -38993,6 +42475,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -39036,10 +42519,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, listAllParsingTemplates_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
         iface.listAllParsingTemplates(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -39047,6 +42532,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   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");
 
@@ -39057,9 +42543,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -39078,6 +42564,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -39104,6 +42591,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39116,10 +42604,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39168,6 +42658,7 @@
       }
     }
 
+    @Override
     public isUserExists_args deepCopy() {
       return new isUserExists_args(this);
     }
@@ -39179,11 +42670,12 @@
       this.userName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isUserExists_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isUserExists_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -39203,11 +42695,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isUserExists_args setGatewayId(java.lang.String gatewayId) {
+    public isUserExists_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -39227,11 +42720,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public isUserExists_args setUserName(java.lang.String userName) {
+    public isUserExists_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -39251,7 +42745,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -39280,6 +42775,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -39296,6 +42793,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39314,8 +42812,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExists_args)
         return this.equals((isUserExists_args)that);
       return false;
@@ -39384,7 +42880,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39394,7 +42890,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39404,7 +42900,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39417,14 +42913,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -39495,6 +42995,7 @@
     }
 
     private static class isUserExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_argsStandardScheme getScheme() {
         return new isUserExists_argsStandardScheme();
       }
@@ -39502,6 +43003,7 @@
 
     private static class isUserExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -39548,6 +43050,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -39574,6 +43077,7 @@
     }
 
     private static class isUserExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_argsTupleScheme getScheme() {
         return new isUserExists_argsTupleScheme();
       }
@@ -39607,6 +43111,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserExists_result implements org.apache.thrift.TBase<isUserExists_result, isUserExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExists_result");
 
@@ -39620,10 +43125,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -39644,6 +43149,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -39674,6 +43180,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39686,10 +43193,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39754,6 +43263,7 @@
       }
     }
 
+    @Override
     public isUserExists_result deepCopy() {
       return new isUserExists_result(this);
     }
@@ -39791,11 +43301,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public isUserExists_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public isUserExists_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -39815,11 +43326,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public isUserExists_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public isUserExists_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -39839,11 +43351,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public isUserExists_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public isUserExists_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -39863,11 +43376,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isUserExists_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isUserExists_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -39887,7 +43401,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -39932,6 +43447,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -39954,6 +43471,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39976,8 +43494,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExists_result)
         return this.equals((isUserExists_result)that);
       return false;
@@ -40070,7 +43586,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40080,7 +43596,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40090,7 +43606,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40100,7 +43616,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40110,7 +43626,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40123,10 +43639,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -40203,6 +43722,7 @@
     }
 
     private static class isUserExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_resultStandardScheme getScheme() {
         return new isUserExists_resultStandardScheme();
       }
@@ -40210,6 +43730,7 @@
 
     private static class isUserExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40275,6 +43796,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40311,6 +43833,7 @@
     }
 
     private static class isUserExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_resultTupleScheme getScheme() {
         return new isUserExists_resultTupleScheme();
       }
@@ -40391,6 +43914,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGateway_args implements org.apache.thrift.TBase<addGateway_args, addGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_args");
 
@@ -40400,8 +43924,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.workspace.Gateway gateway; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway; // 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 {
@@ -40419,6 +43943,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -40443,6 +43968,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40455,10 +43981,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -40500,6 +44028,7 @@
       }
     }
 
+    @Override
     public addGateway_args deepCopy() {
       return new addGateway_args(this);
     }
@@ -40510,11 +44039,12 @@
       this.gateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -40534,11 +44064,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getGateway() {
       return this.gateway;
     }
 
-    public addGateway_args setGateway(org.apache.airavata.model.workspace.Gateway gateway) {
+    public addGateway_args setGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway) {
       this.gateway = gateway;
       return this;
     }
@@ -40558,7 +44089,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -40579,6 +44111,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -40592,6 +44126,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -40608,8 +44143,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGateway_args)
         return this.equals((addGateway_args)that);
       return false;
@@ -40665,7 +44198,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40675,7 +44208,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGateway()).compareTo(other.isSetGateway());
+      lastComparison = java.lang.Boolean.compare(isSetGateway(), other.isSetGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40688,14 +44221,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -40758,6 +44295,7 @@
     }
 
     private static class addGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_argsStandardScheme getScheme() {
         return new addGateway_argsStandardScheme();
       }
@@ -40765,6 +44303,7 @@
 
     private static class addGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40804,6 +44343,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40825,6 +44365,7 @@
     }
 
     private static class addGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_argsTupleScheme getScheme() {
         return new addGateway_argsTupleScheme();
       }
@@ -40856,6 +44397,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGateway_result implements org.apache.thrift.TBase<addGateway_result, addGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_result");
 
@@ -40868,11 +44410,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -40893,6 +44435,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -40923,6 +44466,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40935,10 +44479,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41001,6 +44547,7 @@
       }
     }
 
+    @Override
     public addGateway_result deepCopy() {
       return new addGateway_result(this);
     }
@@ -41014,11 +44561,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addGateway_result setSuccess(java.lang.String success) {
+    public addGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -41038,11 +44586,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addGateway_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addGateway_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -41062,11 +44611,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addGateway_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addGateway_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -41086,11 +44636,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addGateway_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addGateway_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -41110,11 +44661,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -41134,7 +44686,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -41179,6 +44732,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -41201,6 +44756,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -41223,8 +44779,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGateway_result)
         return this.equals((addGateway_result)that);
       return false;
@@ -41319,7 +44873,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41329,7 +44883,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41339,7 +44893,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41349,7 +44903,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41359,7 +44913,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41372,10 +44926,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -41454,6 +45011,7 @@
     }
 
     private static class addGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_resultStandardScheme getScheme() {
         return new addGateway_resultStandardScheme();
       }
@@ -41461,6 +45019,7 @@
 
     private static class addGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -41526,6 +45085,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -41562,6 +45122,7 @@
     }
 
     private static class addGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_resultTupleScheme getScheme() {
         return new addGateway_resultTupleScheme();
       }
@@ -41642,6 +45203,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUsersInGateway_args implements org.apache.thrift.TBase<getAllUsersInGateway_args, getAllUsersInGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUsersInGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUsersInGateway_args");
 
@@ -41651,8 +45213,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUsersInGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUsersInGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -41670,6 +45232,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -41694,6 +45257,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41706,10 +45270,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41751,6 +45317,7 @@
       }
     }
 
+    @Override
     public getAllUsersInGateway_args deepCopy() {
       return new getAllUsersInGateway_args(this);
     }
@@ -41761,11 +45328,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllUsersInGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllUsersInGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -41785,11 +45353,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllUsersInGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getAllUsersInGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -41809,7 +45378,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -41830,6 +45400,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -41843,6 +45415,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -41859,8 +45432,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUsersInGateway_args)
         return this.equals((getAllUsersInGateway_args)that);
       return false;
@@ -41916,7 +45487,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41926,7 +45497,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41939,14 +45510,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -42006,6 +45581,7 @@
     }
 
     private static class getAllUsersInGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_argsStandardScheme getScheme() {
         return new getAllUsersInGateway_argsStandardScheme();
       }
@@ -42013,6 +45589,7 @@
 
     private static class getAllUsersInGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUsersInGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42051,6 +45628,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -42072,6 +45650,7 @@
     }
 
     private static class getAllUsersInGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_argsTupleScheme getScheme() {
         return new getAllUsersInGateway_argsTupleScheme();
       }
@@ -42102,6 +45681,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUsersInGateway_result implements org.apache.thrift.TBase<getAllUsersInGateway_result, getAllUsersInGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUsersInGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUsersInGateway_result");
 
@@ -42114,11 +45694,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUsersInGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUsersInGateway_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -42139,6 +45719,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -42169,6 +45750,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -42181,10 +45763,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -42249,6 +45833,7 @@
       }
     }
 
+    @Override
     public getAllUsersInGateway_result deepCopy() {
       return new getAllUsersInGateway_result(this);
     }
@@ -42266,6 +45851,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -42277,11 +45863,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllUsersInGateway_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAllUsersInGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -42301,11 +45888,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllUsersInGateway_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllUsersInGateway_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -42325,11 +45913,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllUsersInGateway_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllUsersInGateway_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -42349,11 +45938,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllUsersInGateway_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllUsersInGateway_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -42373,11 +45963,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllUsersInGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllUsersInGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -42397,7 +45988,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -42442,6 +46034,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -42464,6 +46058,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -42486,8 +46081,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUsersInGateway_result)
         return this.equals((getAllUsersInGateway_result)that);
       return false;
@@ -42582,7 +46175,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42592,7 +46185,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42602,7 +46195,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42612,7 +46205,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42622,7 +46215,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42635,10 +46228,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -42717,6 +46313,7 @@
     }
 
     private static class getAllUsersInGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_resultStandardScheme getScheme() {
         return new getAllUsersInGateway_resultStandardScheme();
       }
@@ -42724,6 +46321,7 @@
 
     private static class getAllUsersInGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUsersInGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUsersInGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42739,7 +46337,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list0.size);
-                  java.lang.String _elem1;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = iprot.readString();
@@ -42799,6 +46397,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUsersInGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -42842,6 +46441,7 @@
     }
 
     private static class getAllUsersInGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_resultTupleScheme getScheme() {
         return new getAllUsersInGateway_resultTupleScheme();
       }
@@ -42898,9 +46498,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list5.size);
-            java.lang.String _elem6;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = iprot.readString();
@@ -42937,6 +46537,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGateway_args implements org.apache.thrift.TBase<updateGateway_args, updateGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_args");
 
@@ -42947,9 +46548,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.workspace.Gateway updatedGateway; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway updatedGateway; // 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 {
@@ -42968,6 +46569,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -42994,6 +46596,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43006,10 +46609,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -43058,6 +46663,7 @@
       }
     }
 
+    @Override
     public updateGateway_args deepCopy() {
       return new updateGateway_args(this);
     }
@@ -43069,11 +46675,12 @@
       this.updatedGateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -43093,11 +46700,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public updateGateway_args setGatewayId(java.lang.String gatewayId) {
+    public updateGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -43117,11 +46725,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getUpdatedGateway() {
       return this.updatedGateway;
     }
 
-    public updateGateway_args setUpdatedGateway(org.apache.airavata.model.workspace.Gateway updatedGateway) {
+    public updateGateway_args setUpdatedGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway updatedGateway) {
       this.updatedGateway = updatedGateway;
       return this;
     }
@@ -43141,7 +46750,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -43170,6 +46780,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -43186,6 +46798,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -43204,8 +46817,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGateway_args)
         return this.equals((updateGateway_args)that);
       return false;
@@ -43274,7 +46885,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43284,7 +46895,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43294,7 +46905,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedGateway()).compareTo(other.isSetUpdatedGateway());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedGateway(), other.isSetUpdatedGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43307,14 +46918,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -43388,6 +47003,7 @@
     }
 
     private static class updateGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_argsStandardScheme getScheme() {
         return new updateGateway_argsStandardScheme();
       }
@@ -43395,6 +47011,7 @@
 
     private static class updateGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -43442,6 +47059,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -43468,6 +47086,7 @@
     }
 
     private static class updateGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_argsTupleScheme getScheme() {
         return new updateGateway_argsTupleScheme();
       }
@@ -43502,6 +47121,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGateway_result implements org.apache.thrift.TBase<updateGateway_result, updateGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_result");
 
@@ -43515,10 +47135,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -43539,6 +47159,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -43569,6 +47190,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43581,10 +47203,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -43649,6 +47273,7 @@
       }
     }
 
+    @Override
     public updateGateway_result deepCopy() {
       return new updateGateway_result(this);
     }
@@ -43686,11 +47311,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateGateway_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateGateway_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -43710,11 +47336,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateGateway_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateGateway_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -43734,11 +47361,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateGateway_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateGateway_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -43758,11 +47386,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -43782,7 +47411,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -43827,6 +47457,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -43849,6 +47481,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -43871,8 +47504,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGateway_result)
         return this.equals((updateGateway_result)that);
       return false;
@@ -43965,7 +47596,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43975,7 +47606,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43985,7 +47616,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43995,7 +47626,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44005,7 +47636,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44018,10 +47649,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -44098,6 +47732,7 @@
     }
 
     private static class updateGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_resultStandardScheme getScheme() {
         return new updateGateway_resultStandardScheme();
       }
@@ -44105,6 +47740,7 @@
 
     private static class updateGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44170,6 +47806,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44206,6 +47843,7 @@
     }
 
     private static class updateGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_resultTupleScheme getScheme() {
         return new updateGateway_resultTupleScheme();
       }
@@ -44286,6 +47924,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGateway_args implements org.apache.thrift.TBase<getGateway_args, getGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_args");
 
@@ -44295,8 +47934,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -44314,6 +47953,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -44338,6 +47978,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44350,10 +47991,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -44395,6 +48038,7 @@
       }
     }
 
+    @Override
     public getGateway_args deepCopy() {
       return new getGateway_args(this);
     }
@@ -44405,11 +48049,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -44429,11 +48074,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -44453,7 +48099,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -44474,6 +48121,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -44487,6 +48136,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -44503,8 +48153,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGateway_args)
         return this.equals((getGateway_args)that);
       return false;
@@ -44560,7 +48208,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44570,7 +48218,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44583,14 +48231,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -44650,6 +48302,7 @@
     }
 
     private static class getGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_argsStandardScheme getScheme() {
         return new getGateway_argsStandardScheme();
       }
@@ -44657,6 +48310,7 @@
 
     private static class getGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44695,6 +48349,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44716,6 +48371,7 @@
     }
 
     private static class getGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_argsTupleScheme getScheme() {
         return new getGateway_argsTupleScheme();
       }
@@ -44746,6 +48402,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGateway_result implements org.apache.thrift.TBase<getGateway_result, getGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_result");
 
@@ -44758,11 +48415,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Gateway 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -44783,6 +48440,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -44813,6 +48471,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44825,10 +48484,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -44891,6 +48552,7 @@
       }
     }
 
+    @Override
     public getGateway_result deepCopy() {
       return new getGateway_result(this);
     }
@@ -44904,11 +48566,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getSuccess() {
       return this.success;
     }
 
-    public getGateway_result setSuccess(org.apache.airavata.model.workspace.Gateway success) {
+    public getGateway_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success) {
       this.success = success;
       return this;
     }
@@ -44928,11 +48591,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGateway_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGateway_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -44952,11 +48616,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGateway_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGateway_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -44976,11 +48641,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGateway_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGateway_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -45000,11 +48666,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -45024,7 +48691,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -45069,6 +48737,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -45091,6 +48761,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45113,8 +48784,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGateway_result)
         return this.equals((getGateway_result)that);
       return false;
@@ -45209,7 +48878,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45219,7 +48888,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45229,7 +48898,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45239,7 +48908,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45249,7 +48918,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45262,10 +48931,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -45347,6 +49019,7 @@
     }
 
     private static class getGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_resultStandardScheme getScheme() {
         return new getGateway_resultStandardScheme();
       }
@@ -45354,6 +49027,7 @@
 
     private static class getGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -45420,6 +49094,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -45456,6 +49131,7 @@
     }
 
     private static class getGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_resultTupleScheme getScheme() {
         return new getGateway_resultTupleScheme();
       }
@@ -45537,6 +49213,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGateway_args implements org.apache.thrift.TBase<deleteGateway_args, deleteGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_args");
 
@@ -45546,8 +49223,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -45565,6 +49242,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -45589,6 +49267,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45601,10 +49280,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -45646,6 +49327,7 @@
       }
     }
 
+    @Override
     public deleteGateway_args deepCopy() {
       return new deleteGateway_args(this);
     }
@@ -45656,11 +49338,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -45680,11 +49363,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteGateway_args setGatewayId(java.lang.String gatewayId) {
+    public deleteGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -45704,7 +49388,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -45725,6 +49410,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -45738,6 +49425,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45754,8 +49442,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGateway_args)
         return this.equals((deleteGateway_args)that);
       return false;
@@ -45811,7 +49497,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45821,7 +49507,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45834,14 +49520,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -45901,6 +49591,7 @@
     }
 
     private static class deleteGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_argsStandardScheme getScheme() {
         return new deleteGateway_argsStandardScheme();
       }
@@ -45908,6 +49599,7 @@
 
     private static class deleteGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -45946,6 +49638,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -45967,6 +49660,7 @@
     }
 
     private static class deleteGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_argsTupleScheme getScheme() {
         return new deleteGateway_argsTupleScheme();
       }
@@ -45997,6 +49691,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGateway_result implements org.apache.thrift.TBase<deleteGateway_result, deleteGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_result");
 
@@ -46010,10 +49705,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -46034,6 +49729,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -46064,6 +49760,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46076,10 +49773,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46144,6 +49843,7 @@
       }
     }
 
+    @Override
     public deleteGateway_result deepCopy() {
       return new deleteGateway_result(this);
     }
@@ -46181,11 +49881,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteGateway_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteGateway_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -46205,11 +49906,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteGateway_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteGateway_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -46229,11 +49931,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteGateway_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteGateway_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -46253,11 +49956,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -46277,7 +49981,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -46322,6 +50027,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -46344,6 +50051,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46366,8 +50074,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGateway_result)
         return this.equals((deleteGateway_result)that);
       return false;
@@ -46460,7 +50166,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46470,7 +50176,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46480,7 +50186,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46490,7 +50196,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46500,7 +50206,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46513,10 +50219,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -46593,6 +50302,7 @@
     }
 
     private static class deleteGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_resultStandardScheme getScheme() {
         return new deleteGateway_resultStandardScheme();
       }
@@ -46600,6 +50310,7 @@
 
     private static class deleteGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -46665,6 +50376,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -46701,6 +50413,7 @@
     }
 
     private static class deleteGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_resultTupleScheme getScheme() {
         return new deleteGateway_resultTupleScheme();
       }
@@ -46781,6 +50494,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGateways_args implements org.apache.thrift.TBase<getAllGateways_args, getAllGateways_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_args");
 
@@ -46789,7 +50503,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGateways_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -46806,6 +50520,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -46828,6 +50543,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46840,10 +50556,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46878,6 +50596,7 @@
       }
     }
 
+    @Override
     public getAllGateways_args deepCopy() {
       return new getAllGateways_args(this);
     }
@@ -46887,11 +50606,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGateways_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGateways_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -46911,7 +50631,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -46924,6 +50645,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -46934,6 +50657,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46948,8 +50672,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGateways_args)
         return this.equals((getAllGateways_args)that);
       return false;
@@ -46992,7 +50714,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47005,14 +50727,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -47061,6 +50787,7 @@
     }
 
     private static class getAllGateways_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_argsStandardScheme getScheme() {
         return new getAllGateways_argsStandardScheme();
       }
@@ -47068,6 +50795,7 @@
 
     private static class getAllGateways_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -47098,6 +50826,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGateways_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -47114,6 +50843,7 @@
     }
 
     private static class getAllGateways_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_argsTupleScheme getScheme() {
         return new getAllGateways_argsTupleScheme();
       }
@@ -47141,6 +50871,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGateways_result implements org.apache.thrift.TBase<getAllGateways_result, getAllGateways_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_result");
 
@@ -47153,11 +50884,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGateways_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Gateway> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -47178,6 +50909,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -47208,6 +50940,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -47220,10 +50953,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -47291,6 +51026,7 @@
       }
     }
 
+    @Override
     public getAllGateways_result deepCopy() {
       return new getAllGateways_result(this);
     }
@@ -47308,6 +51044,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Gateway> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -47319,11 +51056,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getSuccess() {
       return this.success;
     }
 
-    public getAllGateways_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
+    public getAllGateways_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
       this.success = success;
       return this;
     }
@@ -47343,11 +51081,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllGateways_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllGateways_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -47367,11 +51106,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllGateways_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllGateways_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -47391,11 +51131,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllGateways_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllGateways_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -47415,11 +51156,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGateways_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGateways_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -47439,7 +51181,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -47484,6 +51227,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -47506,6 +51251,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -47528,8 +51274,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGateways_result)
         return this.equals((getAllGateways_result)that);
       return false;
@@ -47624,7 +51368,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47634,7 +51378,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47644,7 +51388,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47654,7 +51398,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47664,7 +51408,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47677,10 +51421,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -47759,6 +51506,7 @@
     }
 
     private static class getAllGateways_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_resultStandardScheme getScheme() {
         return new getAllGateways_resultStandardScheme();
       }
@@ -47766,6 +51514,7 @@
 
     private static class getAllGateways_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -47781,7 +51530,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list8.size);
-                  org.apache.airavata.model.workspace.Gateway _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.model.workspace.Gateway();
@@ -47842,6 +51591,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGateways_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -47885,6 +51635,7 @@
     }
 
     private static class getAllGateways_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_resultTupleScheme getScheme() {
         return new getAllGateways_resultTupleScheme();
       }
@@ -47941,9 +51692,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list13.size);
-            org.apache.airavata.model.workspace.Gateway _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.model.workspace.Gateway();
@@ -47981,6 +51732,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayExist_args implements org.apache.thrift.TBase<isGatewayExist_args, isGatewayExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_args");
 
@@ -47990,8 +51742,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayExist_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -48009,6 +51761,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -48033,6 +51786,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48045,10 +51799,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -48090,6 +51846,7 @@
       }
     }
 
+    @Override
     public isGatewayExist_args deepCopy() {
       return new isGatewayExist_args(this);
     }
@@ -48100,11 +51857,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isGatewayExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isGatewayExist_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -48124,11 +51882,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isGatewayExist_args setGatewayId(java.lang.String gatewayId) {
+    public isGatewayExist_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -48148,7 +51907,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -48169,6 +51929,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -48182,6 +51944,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -48198,8 +51961,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayExist_args)
         return this.equals((isGatewayExist_args)that);
       return false;
@@ -48255,7 +52016,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48265,7 +52026,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48278,14 +52039,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -48345,6 +52110,7 @@
     }
 
     private static class isGatewayExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_argsStandardScheme getScheme() {
         return new isGatewayExist_argsStandardScheme();
       }
@@ -48352,6 +52118,7 @@
 
     private static class isGatewayExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -48390,6 +52157,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -48411,6 +52179,7 @@
     }
 
     private static class isGatewayExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_argsTupleScheme getScheme() {
         return new isGatewayExist_argsTupleScheme();
       }
@@ -48441,6 +52210,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayExist_result implements org.apache.thrift.TBase<isGatewayExist_result, isGatewayExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_result");
 
@@ -48454,10 +52224,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -48478,6 +52248,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -48508,6 +52279,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48520,10 +52292,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -48588,6 +52362,7 @@
       }
     }
 
+    @Override
     public isGatewayExist_result deepCopy() {
       return new isGatewayExist_result(this);
     }
@@ -48625,11 +52400,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public isGatewayExist_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public isGatewayExist_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -48649,11 +52425,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public isGatewayExist_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public isGatewayExist_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -48673,11 +52450,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public isGatewayExist_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public isGatewayExist_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -48697,11 +52475,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isGatewayExist_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isGatewayExist_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -48721,7 +52500,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -48766,6 +52546,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -48788,6 +52570,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -48810,8 +52593,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayExist_result)
         return this.equals((isGatewayExist_result)that);
       return false;
@@ -48904,7 +52685,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48914,7 +52695,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48924,7 +52705,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48934,7 +52715,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48944,7 +52725,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48957,10 +52738,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -49037,6 +52821,7 @@
     }
 
     private static class isGatewayExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_resultStandardScheme getScheme() {
         return new isGatewayExist_resultStandardScheme();
       }
@@ -49044,6 +52829,7 @@
 
     private static class isGatewayExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -49109,6 +52895,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -49145,6 +52932,7 @@
     }
 
     private static class isGatewayExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_resultTupleScheme getScheme() {
         return new isGatewayExist_resultTupleScheme();
       }
@@ -49225,6 +53013,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createNotification_args implements org.apache.thrift.TBase<createNotification_args, createNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<createNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createNotification_args");
 
@@ -49234,8 +53023,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNotification_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.workspace.Notification notification; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification; // 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 {
@@ -49253,6 +53042,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -49277,6 +53067,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49289,10 +53080,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -49334,6 +53127,7 @@
       }
     }
 
+    @Override
     public createNotification_args deepCopy() {
       return new createNotification_args(this);
     }
@@ -49344,11 +53138,12 @@
       this.notification = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public createNotification_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public createNotification_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -49368,11 +53163,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Notification getNotification() {
       return this.notification;
     }
 
-    public createNotification_args setNotification(org.apache.airavata.model.workspace.Notification notification) {
+    public createNotification_args setNotification(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification) {
       this.notification = notification;
       return this;
     }
@@ -49392,7 +53188,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -49413,6 +53210,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -49426,6 +53225,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -49442,8 +53242,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createNotification_args)
         return this.equals((createNotification_args)that);
       return false;
@@ -49499,7 +53297,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49509,7 +53307,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNotification()).compareTo(other.isSetNotification());
+      lastComparison = java.lang.Boolean.compare(isSetNotification(), other.isSetNotification());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49522,14 +53320,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -49592,6 +53394,7 @@
     }
 
     private static class createNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_argsStandardScheme getScheme() {
         return new createNotification_argsStandardScheme();
       }
@@ -49599,6 +53402,7 @@
 
     private static class createNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -49638,6 +53442,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -49659,6 +53464,7 @@
     }
 
     private static class createNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_argsTupleScheme getScheme() {
         return new createNotification_argsTupleScheme();
       }
@@ -49690,6 +53496,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createNotification_result implements org.apache.thrift.TBase<createNotification_result, createNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<createNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createNotification_result");
 
@@ -49702,11 +53509,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNotification_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNotification_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -49727,6 +53534,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -49757,6 +53565,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49769,10 +53578,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -49835,6 +53646,7 @@
       }
     }
 
+    @Override
     public createNotification_result deepCopy() {
       return new createNotification_result(this);
     }
@@ -49848,11 +53660,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createNotification_result setSuccess(java.lang.String success) {
+    public createNotification_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -49872,11 +53685,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public createNotification_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public createNotification_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -49896,11 +53710,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public createNotification_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public createNotification_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -49920,11 +53735,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public createNotification_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public createNotification_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -49944,11 +53760,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public createNotification_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public createNotification_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -49968,7 +53785,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -50013,6 +53831,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -50035,6 +53855,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -50057,8 +53878,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createNotification_result)
         return this.equals((createNotification_result)that);
       return false;
@@ -50153,7 +53972,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50163,7 +53982,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50173,7 +53992,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50183,7 +54002,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50193,7 +54012,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50206,10 +54025,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -50288,6 +54110,7 @@
     }
 
     private static class createNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_resultStandardScheme getScheme() {
         return new createNotification_resultStandardScheme();
       }
@@ -50295,6 +54118,7 @@
 
     private static class createNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -50360,6 +54184,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -50396,6 +54221,7 @@
     }
 
     private static class createNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_resultTupleScheme getScheme() {
         return new createNotification_resultTupleScheme();
       }
@@ -50476,6 +54302,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateNotification_args implements org.apache.thrift.TBase<updateNotification_args, updateNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNotification_args");
 
@@ -50485,8 +54312,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateNotification_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.workspace.Notification notification; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification; // 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 {
@@ -50504,6 +54331,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -50528,6 +54356,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -50540,10 +54369,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -50585,6 +54416,7 @@
       }
     }
 
+    @Override
     public updateNotification_args deepCopy() {
       return new updateNotification_args(this);
     }
@@ -50595,11 +54427,12 @@
       this.notification = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateNotification_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateNotification_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -50619,11 +54452,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Notification getNotification() {
       return this.notification;
     }
 
-    public updateNotification_args setNotification(org.apache.airavata.model.workspace.Notification notification) {
+    public updateNotification_args setNotification(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification) {
       this.notification = notification;
       return this;
     }
@@ -50643,7 +54477,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -50664,6 +54499,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -50677,6 +54514,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -50693,8 +54531,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateNotification_args)
         return this.equals((updateNotification_args)that);
       return false;
@@ -50750,7 +54586,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50760,7 +54596,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNotification()).compareTo(other.isSetNotification());
+      lastComparison = java.lang.Boolean.compare(isSetNotification(), other.isSetNotification());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50773,14 +54609,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -50843,6 +54683,7 @@
     }
 
     private static class updateNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_argsStandardScheme getScheme() {
         return new updateNotification_argsStandardScheme();
       }
@@ -50850,6 +54691,7 @@
 
     private static class updateNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -50889,6 +54731,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -50910,6 +54753,7 @@
     }
 
     private static class updateNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_argsTupleScheme getScheme() {
         return new updateNotification_argsTupleScheme();
       }
@@ -50941,6 +54785,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateNotification_result implements org.apache.thrift.TBase<updateNotification_result, updateNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNotification_result");
 
@@ -50954,10 +54799,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateNotification_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -50978,6 +54823,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -51008,6 +54854,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51020,10 +54867,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -51088,6 +54937,7 @@
       }
     }
 
+    @Override
     public updateNotification_result deepCopy() {
       return new updateNotification_result(this);
     }
@@ -51125,11 +54975,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateNotification_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateNotification_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -51149,11 +55000,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateNotification_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateNotification_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -51173,11 +55025,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateNotification_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateNotification_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -51197,11 +55050,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateNotification_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateNotification_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -51221,7 +55075,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -51266,6 +55121,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -51288,6 +55145,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -51310,8 +55168,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateNotification_result)
         return this.equals((updateNotification_result)that);
       return false;
@@ -51404,7 +55260,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51414,7 +55270,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51424,7 +55280,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51434,7 +55290,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51444,7 +55300,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51457,10 +55313,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -51537,6 +55396,7 @@
     }
 
     private static class updateNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_resultStandardScheme getScheme() {
         return new updateNotification_resultStandardScheme();
       }
@@ -51544,6 +55404,7 @@
 
     private static class updateNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -51609,6 +55470,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -51645,6 +55507,7 @@
     }
 
     private static class updateNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_resultTupleScheme getScheme() {
         return new updateNotification_resultTupleScheme();
       }
@@ -51725,6 +55588,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteNotification_args implements org.apache.thrift.TBase<deleteNotification_args, deleteNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteNotification_args");
 
@@ -51735,9 +55599,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteNotification_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String notificationId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String notificationId; // 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 {
@@ -51756,6 +55620,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -51782,6 +55647,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51794,10 +55660,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -51846,6 +55714,7 @@
       }
     }
 
+    @Override
     public deleteNotification_args deepCopy() {
       return new deleteNotification_args(this);
     }
@@ -51857,11 +55726,12 @@
       this.notificationId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteNotification_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteNotification_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -51881,11 +55751,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteNotification_args setGatewayId(java.lang.String gatewayId) {
+    public deleteNotification_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -51905,11 +55776,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNotificationId() {
       return this.notificationId;
     }
 
-    public deleteNotification_args setNotificationId(java.lang.String notificationId) {
+    public deleteNotification_args setNotificationId(@org.apache.thrift.annotation.Nullable java.lang.String notificationId) {
       this.notificationId = notificationId;
       return this;
     }
@@ -51929,7 +55801,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -51958,6 +55831,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -51974,6 +55849,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -51992,8 +55868,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteNotification_args)
         return this.equals((deleteNotification_args)that);
       return false;
@@ -52062,7 +55936,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52072,7 +55946,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52082,7 +55956,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNotificationId()).compareTo(other.isSetNotificationId());
+      lastComparison = java.lang.Boolean.compare(isSetNotificationId(), other.isSetNotificationId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52095,14 +55969,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -52173,6 +56051,7 @@
     }
 
     private static class deleteNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_argsStandardScheme getScheme() {
         return new deleteNotification_argsStandardScheme();
       }
@@ -52180,6 +56059,7 @@
 
     private static class deleteNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -52226,6 +56106,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -52252,6 +56133,7 @@
     }
 
     private static class deleteNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_argsTupleScheme getScheme() {
         return new deleteNotification_argsTupleScheme();
       }
@@ -52285,6 +56167,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteNotification_result implements org.apache.thrift.TBase<deleteNotification_result, deleteNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteNotification_result");
 
@@ -52298,10 +56181,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteNotification_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -52322,6 +56205,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -52352,6 +56236,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -52364,10 +56249,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -52432,6 +56319,7 @@
       }
     }
 
+    @Override
     public deleteNotification_result deepCopy() {
       return new deleteNotification_result(this);
     }
@@ -52469,11 +56357,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteNotification_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteNotification_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -52493,11 +56382,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteNotification_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteNotification_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -52517,11 +56407,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteNotification_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteNotification_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -52541,11 +56432,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteNotification_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteNotification_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -52565,7 +56457,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -52610,6 +56503,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -52632,6 +56527,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -52654,8 +56550,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteNotification_result)
         return this.equals((deleteNotification_result)that);
       return false;
@@ -52748,7 +56642,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52758,7 +56652,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52768,7 +56662,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52778,7 +56672,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52788,7 +56682,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52801,10 +56695,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -52881,6 +56778,7 @@
     }
 
     private static class deleteNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_resultStandardScheme getScheme() {
         return new deleteNotification_resultStandardScheme();
       }
@@ -52888,6 +56786,7 @@
 
     private static class deleteNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -52953,6 +56852,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -52989,6 +56889,7 @@
     }
 
     private static class deleteNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_resultTupleScheme getScheme() {
         return new deleteNotification_resultTupleScheme();
       }
@@ -53069,6 +56970,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getNotification_args implements org.apache.thrift.TBase<getNotification_args, getNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNotification_args");
 
@@ -53079,9 +56981,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNotification_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String notificationId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String notificationId; // 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 {
@@ -53100,6 +57002,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -53126,6 +57029,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -53138,10 +57042,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -53190,6 +57096,7 @@
       }
     }
 
+    @Override
     public getNotification_args deepCopy() {
       return new getNotification_args(this);
     }
@@ -53201,11 +57108,12 @@
       this.notificationId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getNotification_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getNotification_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -53225,11 +57133,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getNotification_args setGatewayId(java.lang.String gatewayId) {
+    public getNotification_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -53249,11 +57158,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNotificationId() {
       return this.notificationId;
     }
 
-    public getNotification_args setNotificationId(java.lang.String notificationId) {
+    public getNotification_args setNotificationId(@org.apache.thrift.annotation.Nullable java.lang.String notificationId) {
       this.notificationId = notificationId;
       return this;
     }
@@ -53273,7 +57183,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -53302,6 +57213,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -53318,6 +57231,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -53336,8 +57250,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getNotification_args)
         return this.equals((getNotification_args)that);
       return false;
@@ -53406,7 +57318,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53416,7 +57328,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53426,7 +57338,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNotificationId()).compareTo(other.isSetNotificationId());
+      lastComparison = java.lang.Boolean.compare(isSetNotificationId(), other.isSetNotificationId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53439,14 +57351,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -53517,6 +57433,7 @@
     }
 
     private static class getNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_argsStandardScheme getScheme() {
         return new getNotification_argsStandardScheme();
       }
@@ -53524,6 +57441,7 @@
 
     private static class getNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -53570,6 +57488,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -53596,6 +57515,7 @@
     }
 
     private static class getNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_argsTupleScheme getScheme() {
         return new getNotification_argsTupleScheme();
       }
@@ -53629,6 +57549,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getNotification_result implements org.apache.thrift.TBase<getNotification_result, getNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNotification_result");
 
@@ -53641,11 +57562,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNotification_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNotification_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Notification 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -53666,6 +57587,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -53696,6 +57618,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -53708,10 +57631,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -53774,6 +57699,7 @@
       }
     }
 
+    @Override
     public getNotification_result deepCopy() {
       return new getNotification_result(this);
     }
@@ -53787,11 +57713,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Notification getSuccess() {
       return this.success;
     }
 
-    public getNotification_result setSuccess(org.apache.airavata.model.workspace.Notification success) {
+    public getNotification_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification success) {
       this.success = success;
       return this;
     }
@@ -53811,11 +57738,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getNotification_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getNotification_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -53835,11 +57763,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getNotification_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getNotification_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -53859,11 +57788,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getNotification_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getNotification_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -53883,11 +57813,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getNotification_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getNotification_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -53907,7 +57838,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -53952,6 +57884,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -53974,6 +57908,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -53996,8 +57931,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getNotification_result)
         return this.equals((getNotification_result)that);
       return false;
@@ -54092,7 +58025,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54102,7 +58035,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54112,7 +58045,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54122,7 +58055,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54132,7 +58065,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54145,10 +58078,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -54230,6 +58166,7 @@
     }
 
     private static class getNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_resultStandardScheme getScheme() {
         return new getNotification_resultStandardScheme();
       }
@@ -54237,6 +58174,7 @@
 
     private static class getNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -54303,6 +58241,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -54339,6 +58278,7 @@
     }
 
     private static class getNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_resultTupleScheme getScheme() {
         return new getNotification_resultTupleScheme();
       }
@@ -54420,6 +58360,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllNotifications_args implements org.apache.thrift.TBase<getAllNotifications_args, getAllNotifications_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllNotifications_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllNotifications_args");
 
@@ -54429,8 +58370,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllNotifications_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllNotifications_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -54448,6 +58389,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -54472,6 +58414,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54484,10 +58427,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -54529,6 +58474,7 @@
       }
     }
 
+    @Override
     public getAllNotifications_args deepCopy() {
       return new getAllNotifications_args(this);
     }
@@ -54539,11 +58485,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllNotifications_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllNotifications_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -54563,11 +58510,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllNotifications_args setGatewayId(java.lang.String gatewayId) {
+    public getAllNotifications_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -54587,7 +58535,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -54608,6 +58557,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -54621,6 +58572,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -54637,8 +58589,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllNotifications_args)
         return this.equals((getAllNotifications_args)that);
       return false;
@@ -54694,7 +58644,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54704,7 +58654,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54717,14 +58667,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -54784,6 +58738,7 @@
     }
 
     private static class getAllNotifications_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_argsStandardScheme getScheme() {
         return new getAllNotifications_argsStandardScheme();
       }
@@ -54791,6 +58746,7 @@
 
     private static class getAllNotifications_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllNotifications_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllNotifications_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -54829,6 +58785,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllNotifications_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -54850,6 +58807,7 @@
     }
 
     private static class getAllNotifications_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_argsTupleScheme getScheme() {
         return new getAllNotifications_argsTupleScheme();
       }
@@ -54880,6 +58838,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllNotifications_result implements org.apache.thrift.TBase<getAllNotifications_result, getAllNotifications_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllNotifications_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllNotifications_result");
 
@@ -54892,11 +58851,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllNotifications_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllNotifications_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Notification> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Notification> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -54917,6 +58876,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -54947,6 +58907,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54959,10 +58920,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -55030,6 +58993,7 @@
       }
     }
 
+    @Override
     public getAllNotifications_result deepCopy() {
       return new getAllNotifications_result(this);
     }
@@ -55047,6 +59011,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Notification> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -55058,11 +59023,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Notification> getSuccess() {
       return this.success;
     }
 
-    public getAllNotifications_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Notification> success) {
+    public getAllNotifications_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Notification> success) {
       this.success = success;
       return this;
     }
@@ -55082,11 +59048,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllNotifications_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllNotifications_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -55106,11 +59073,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllNotifications_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllNotifications_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -55130,11 +59098,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllNotifications_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllNotifications_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -55154,11 +59123,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllNotifications_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllNotifications_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -55178,7 +59148,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -55223,6 +59194,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -55245,6 +59218,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -55267,8 +59241,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllNotifications_result)
         return this.equals((getAllNotifications_result)that);
       return false;
@@ -55363,7 +59335,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55373,7 +59345,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55383,7 +59355,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55393,7 +59365,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55403,7 +59375,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55416,10 +59388,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -55498,6 +59473,7 @@
     }
 
     private static class getAllNotifications_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_resultStandardScheme getScheme() {
         return new getAllNotifications_resultStandardScheme();
       }
@@ -55505,6 +59481,7 @@
 
     private static class getAllNotifications_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllNotifications_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllNotifications_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -55520,7 +59497,7 @@
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Notification>(_list16.size);
-                  org.apache.airavata.model.workspace.Notification _elem17;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification _elem17;
                   for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                   {
                     _elem17 = new org.apache.airavata.model.workspace.Notification();
@@ -55581,6 +59558,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllNotifications_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -55624,6 +59602,7 @@
     }
 
     private static class getAllNotifications_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_resultTupleScheme getScheme() {
         return new getAllNotifications_resultTupleScheme();
       }
@@ -55680,9 +59659,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Notification>(_list21.size);
-            org.apache.airavata.model.workspace.Notification _elem22;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification _elem22;
             for (int _i23 = 0; _i23 < _list21.size; ++_i23)
             {
               _elem22 = new org.apache.airavata.model.workspace.Notification();
@@ -55720,6 +59699,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class generateAndRegisterSSHKeys_args implements org.apache.thrift.TBase<generateAndRegisterSSHKeys_args, generateAndRegisterSSHKeys_args._Fields>, java.io.Serializable, Cloneable, Comparable<generateAndRegisterSSHKeys_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("generateAndRegisterSSHKeys_args");
 
@@ -55729,8 +59709,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new generateAndRegisterSSHKeys_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new generateAndRegisterSSHKeys_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String description; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String description; // 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 {
@@ -55748,6 +59728,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -55772,6 +59753,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55784,10 +59766,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -55829,6 +59813,7 @@
       }
     }
 
+    @Override
     public generateAndRegisterSSHKeys_args deepCopy() {
       return new generateAndRegisterSSHKeys_args(this);
     }
@@ -55839,11 +59824,12 @@
       this.description = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public generateAndRegisterSSHKeys_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public generateAndRegisterSSHKeys_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -55863,11 +59849,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDescription() {
       return this.description;
     }
 
-    public generateAndRegisterSSHKeys_args setDescription(java.lang.String description) {
+    public generateAndRegisterSSHKeys_args setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
       this.description = description;
       return this;
     }
@@ -55887,7 +59874,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -55908,6 +59896,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -55921,6 +59911,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -55937,8 +59928,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof generateAndRegisterSSHKeys_args)
         return this.equals((generateAndRegisterSSHKeys_args)that);
       return false;
@@ -55994,7 +59983,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56004,7 +59993,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+      lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56017,14 +60006,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -56081,6 +60074,7 @@
     }
 
     private static class generateAndRegisterSSHKeys_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public generateAndRegisterSSHKeys_argsStandardScheme getScheme() {
         return new generateAndRegisterSSHKeys_argsStandardScheme();
       }
@@ -56088,6 +60082,7 @@
 
     private static class generateAndRegisterSSHKeys_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<generateAndRegisterSSHKeys_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, generateAndRegisterSSHKeys_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -56126,6 +60121,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, generateAndRegisterSSHKeys_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -56147,6 +60143,7 @@
     }
 
     private static class generateAndRegisterSSHKeys_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public generateAndRegisterSSHKeys_argsTupleScheme getScheme() {
         return new generateAndRegisterSSHKeys_argsTupleScheme();
       }
@@ -56187,6 +60184,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class generateAndRegisterSSHKeys_result implements org.apache.thrift.TBase<generateAndRegisterSSHKeys_result, generateAndRegisterSSHKeys_result._Fields>, java.io.Serializable, Cloneable, Comparable<generateAndRegisterSSHKeys_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("generateAndRegisterSSHKeys_result");
 
@@ -56198,10 +60196,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new generateAndRegisterSSHKeys_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new generateAndRegisterSSHKeys_resultTupleSchemeFactory();
 
-    public java.lang.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.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // 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 {
@@ -56221,6 +60219,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -56249,6 +60248,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56261,10 +60261,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -56320,6 +60322,7 @@
       }
     }
 
+    @Override
     public generateAndRegisterSSHKeys_result deepCopy() {
       return new generateAndRegisterSSHKeys_result(this);
     }
@@ -56332,11 +60335,12 @@
       this.ase = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public generateAndRegisterSSHKeys_result setSuccess(java.lang.String success) {
+    public generateAndRegisterSSHKeys_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -56356,11 +60360,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public generateAndRegisterSSHKeys_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public generateAndRegisterSSHKeys_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -56380,11 +60385,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public generateAndRegisterSSHKeys_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public generateAndRegisterSSHKeys_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -56404,11 +60410,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public generateAndRegisterSSHKeys_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public generateAndRegisterSSHKeys_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -56428,7 +60435,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -56465,6 +60473,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -56484,6 +60494,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -56504,8 +60515,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof generateAndRegisterSSHKeys_result)
         return this.equals((generateAndRegisterSSHKeys_result)that);
       return false;
@@ -56587,7 +60596,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56597,7 +60606,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56607,7 +60616,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56617,7 +60626,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56630,10 +60639,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -56704,6 +60716,7 @@
     }
 
     private static class generateAndRegisterSSHKeys_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public generateAndRegisterSSHKeys_resultStandardScheme getScheme() {
         return new generateAndRegisterSSHKeys_resultStandardScheme();
       }
@@ -56711,6 +60724,7 @@
 
     private static class generateAndRegisterSSHKeys_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<generateAndRegisterSSHKeys_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, generateAndRegisterSSHKeys_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -56767,6 +60781,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, generateAndRegisterSSHKeys_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -56798,6 +60813,7 @@
     }
 
     private static class generateAndRegisterSSHKeys_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public generateAndRegisterSSHKeys_resultTupleScheme getScheme() {
         return new generateAndRegisterSSHKeys_resultTupleScheme();
       }
@@ -56867,6 +60883,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerPwdCredential_args implements org.apache.thrift.TBase<registerPwdCredential_args, registerPwdCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerPwdCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerPwdCredential_args");
 
@@ -56878,10 +60895,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerPwdCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerPwdCredential_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String loginUserName; // required
-    public java.lang.String password; // required
-    public java.lang.String description; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String password; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String description; // 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 {
@@ -56901,6 +60918,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -56929,6 +60947,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56941,10 +60960,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57000,6 +61021,7 @@
       }
     }
 
+    @Override
     public registerPwdCredential_args deepCopy() {
       return new registerPwdCredential_args(this);
     }
@@ -57012,11 +61034,12 @@
       this.description = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerPwdCredential_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerPwdCredential_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -57036,11 +61059,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getLoginUserName() {
       return this.loginUserName;
     }
 
-    public registerPwdCredential_args setLoginUserName(java.lang.String loginUserName) {
+    public registerPwdCredential_args setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
       this.loginUserName = loginUserName;
       return this;
     }
@@ -57060,11 +61084,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPassword() {
       return this.password;
     }
 
-    public registerPwdCredential_args setPassword(java.lang.String password) {
+    public registerPwdCredential_args setPassword(@org.apache.thrift.annotation.Nullable java.lang.String password) {
       this.password = password;
       return this;
     }
@@ -57084,11 +61109,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDescription() {
       return this.description;
     }
 
-    public registerPwdCredential_args setDescription(java.lang.String description) {
+    public registerPwdCredential_args setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
       this.description = description;
       return this;
     }
@@ -57108,7 +61134,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -57145,6 +61172,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -57164,6 +61193,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57184,8 +61214,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerPwdCredential_args)
         return this.equals((registerPwdCredential_args)that);
       return false;
@@ -57267,7 +61295,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57277,7 +61305,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+      lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57287,7 +61315,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPassword()).compareTo(other.isSetPassword());
+      lastComparison = java.lang.Boolean.compare(isSetPassword(), other.isSetPassword());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57297,7 +61325,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+      lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57310,14 +61338,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -57399,6 +61431,7 @@
     }
 
     private static class registerPwdCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerPwdCredential_argsStandardScheme getScheme() {
         return new registerPwdCredential_argsStandardScheme();
       }
@@ -57406,6 +61439,7 @@
 
     private static class registerPwdCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerPwdCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerPwdCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -57460,6 +61494,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerPwdCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -57491,6 +61526,7 @@
     }
 
     private static class registerPwdCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerPwdCredential_argsTupleScheme getScheme() {
         return new registerPwdCredential_argsTupleScheme();
       }
@@ -57527,6 +61563,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerPwdCredential_result implements org.apache.thrift.TBase<registerPwdCredential_result, registerPwdCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerPwdCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerPwdCredential_result");
 
@@ -57538,10 +61575,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerPwdCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerPwdCredential_resultTupleSchemeFactory();
 
-    public java.lang.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.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // 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 {
@@ -57561,6 +61598,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -57589,6 +61627,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57601,10 +61640,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57660,6 +61701,7 @@
       }
     }
 
+    @Override
     public registerPwdCredential_result deepCopy() {
       return new registerPwdCredential_result(this);
     }
@@ -57672,11 +61714,12 @@
       this.ase = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerPwdCredential_result setSuccess(java.lang.String success) {
+    public registerPwdCredential_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -57696,11 +61739,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerPwdCredential_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerPwdCredential_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -57720,11 +61764,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerPwdCredential_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerPwdCredential_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -57744,11 +61789,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerPwdCredential_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerPwdCredential_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -57768,7 +61814,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -57805,6 +61852,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -57824,6 +61873,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57844,8 +61894,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerPwdCredential_result)
         return this.equals((registerPwdCredential_result)that);
       return false;
@@ -57927,7 +61975,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57937,7 +61985,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57947,7 +61995,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57957,7 +62005,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57970,10 +62018,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -58044,6 +62095,7 @@
     }
 
     private static class registerPwdCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerPwdCredential_resultStandardScheme getScheme() {
         return new registerPwdCredential_resultStandardScheme();
       }
@@ -58051,6 +62103,7 @@
 
     private static class registerPwdCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerPwdCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerPwdCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -58107,6 +62160,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerPwdCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -58138,6 +62192,7 @@
     }
 
     private static class registerPwdCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerPwdCredential_resultTupleScheme getScheme() {
         return new registerPwdCredential_resultTupleScheme();
       }
@@ -58207,6 +62262,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCredentialSummary_args implements org.apache.thrift.TBase<getCredentialSummary_args, getCredentialSummary_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCredentialSummary_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCredentialSummary_args");
 
@@ -58216,8 +62272,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCredentialSummary_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCredentialSummary_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // 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 {
@@ -58235,6 +62291,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -58259,6 +62316,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58271,10 +62329,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -58316,6 +62376,7 @@
       }
     }
 
+    @Override
     public getCredentialSummary_args deepCopy() {
       return new getCredentialSummary_args(this);
     }
@@ -58326,11 +62387,12 @@
       this.tokenId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getCredentialSummary_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getCredentialSummary_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -58350,11 +62412,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public getCredentialSummary_args setTokenId(java.lang.String tokenId) {
+    public getCredentialSummary_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -58374,7 +62437,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -58395,6 +62459,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -58408,6 +62474,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -58424,8 +62491,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCredentialSummary_args)
         return this.equals((getCredentialSummary_args)that);
       return false;
@@ -58481,7 +62546,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58491,7 +62556,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58504,14 +62569,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -58571,6 +62640,7 @@
     }
 
     private static class getCredentialSummary_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_argsStandardScheme getScheme() {
         return new getCredentialSummary_argsStandardScheme();
       }
@@ -58578,6 +62648,7 @@
 
     private static class getCredentialSummary_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCredentialSummary_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -58616,6 +62687,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -58637,6 +62709,7 @@
     }
 
     private static class getCredentialSummary_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_argsTupleScheme getScheme() {
         return new getCredentialSummary_argsTupleScheme();
       }
@@ -58667,6 +62740,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCredentialSummary_result implements org.apache.thrift.TBase<getCredentialSummary_result, getCredentialSummary_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCredentialSummary_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCredentialSummary_result");
 
@@ -58679,11 +62753,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCredentialSummary_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCredentialSummary_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.CredentialSummary 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -58704,6 +62778,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -58734,6 +62809,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58746,10 +62822,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -58812,6 +62890,7 @@
       }
     }
 
+    @Override
     public getCredentialSummary_result deepCopy() {
       return new getCredentialSummary_result(this);
     }
@@ -58825,11 +62904,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.CredentialSummary getSuccess() {
       return this.success;
     }
 
-    public getCredentialSummary_result setSuccess(org.apache.airavata.model.credential.store.CredentialSummary success) {
+    public getCredentialSummary_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary success) {
       this.success = success;
       return this;
     }
@@ -58849,11 +62929,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getCredentialSummary_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getCredentialSummary_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -58873,11 +62954,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getCredentialSummary_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getCredentialSummary_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -58897,11 +62979,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getCredentialSummary_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getCredentialSummary_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -58921,11 +63004,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getCredentialSummary_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getCredentialSummary_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -58945,7 +63029,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -58990,6 +63075,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -59012,6 +63099,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -59034,8 +63122,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCredentialSummary_result)
         return this.equals((getCredentialSummary_result)that);
       return false;
@@ -59130,7 +63216,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59140,7 +63226,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59150,7 +63236,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59160,7 +63246,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59170,7 +63256,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59183,10 +63269,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -59268,6 +63357,7 @@
     }
 
     private static class getCredentialSummary_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_resultStandardScheme getScheme() {
         return new getCredentialSummary_resultStandardScheme();
       }
@@ -59275,6 +63365,7 @@
 
     private static class getCredentialSummary_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCredentialSummary_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59341,6 +63432,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59377,6 +63469,7 @@
     }
 
     private static class getCredentialSummary_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_resultTupleScheme getScheme() {
         return new getCredentialSummary_resultTupleScheme();
       }
@@ -59458,6 +63551,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaries_args implements org.apache.thrift.TBase<getAllCredentialSummaries_args, getAllCredentialSummaries_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaries_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaries_args");
 
@@ -59467,12 +63561,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaries_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaries_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
     /**
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public org.apache.airavata.model.credential.store.SummaryType type; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type; // 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 {
@@ -59494,6 +63588,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -59518,6 +63613,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59530,10 +63626,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -59575,6 +63673,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaries_args deepCopy() {
       return new getAllCredentialSummaries_args(this);
     }
@@ -59585,11 +63684,12 @@
       this.type = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllCredentialSummaries_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllCredentialSummaries_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -59613,6 +63713,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.SummaryType getType() {
       return this.type;
     }
@@ -59621,7 +63722,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public getAllCredentialSummaries_args setType(org.apache.airavata.model.credential.store.SummaryType type) {
+    public getAllCredentialSummaries_args setType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type) {
       this.type = type;
       return this;
     }
@@ -59641,7 +63742,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -59662,6 +63764,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -59675,6 +63779,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -59691,8 +63796,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaries_args)
         return this.equals((getAllCredentialSummaries_args)that);
       return false;
@@ -59748,7 +63851,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59758,7 +63861,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+      lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59771,14 +63874,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -59838,6 +63945,7 @@
     }
 
     private static class getAllCredentialSummaries_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_argsStandardScheme getScheme() {
         return new getAllCredentialSummaries_argsStandardScheme();
       }
@@ -59845,6 +63953,7 @@
 
     private static class getAllCredentialSummaries_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaries_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59883,6 +63992,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59904,6 +64014,7 @@
     }
 
     private static class getAllCredentialSummaries_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_argsTupleScheme getScheme() {
         return new getAllCredentialSummaries_argsTupleScheme();
       }
@@ -59934,6 +64045,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaries_result implements org.apache.thrift.TBase<getAllCredentialSummaries_result, getAllCredentialSummaries_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaries_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaries_result");
 
@@ -59945,10 +64057,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaries_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaries_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> 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.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // 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 {
@@ -59968,6 +64080,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -59996,6 +64109,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -60008,10 +64122,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -60072,6 +64188,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaries_result deepCopy() {
       return new getAllCredentialSummaries_result(this);
     }
@@ -60088,6 +64205,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.credential.store.CredentialSummary> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -60099,11 +64217,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getSuccess() {
       return this.success;
     }
 
-    public getAllCredentialSummaries_result setSuccess(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
+    public getAllCredentialSummaries_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
       this.success = success;
       return this;
     }
@@ -60123,11 +64242,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllCredentialSummaries_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllCredentialSummaries_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -60147,11 +64267,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllCredentialSummaries_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllCredentialSummaries_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -60171,11 +64292,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllCredentialSummaries_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllCredentialSummaries_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -60195,7 +64317,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -60232,6 +64355,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -60251,6 +64376,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -60271,8 +64397,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaries_result)
         return this.equals((getAllCredentialSummaries_result)that);
       return false;
@@ -60354,7 +64478,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60364,7 +64488,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60374,7 +64498,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60384,7 +64508,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60397,10 +64521,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -60471,6 +64598,7 @@
     }
 
     private static class getAllCredentialSummaries_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_resultStandardScheme getScheme() {
         return new getAllCredentialSummaries_resultStandardScheme();
       }
@@ -60478,6 +64606,7 @@
 
     private static class getAllCredentialSummaries_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaries_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -60493,7 +64622,7 @@
                 {
                   org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list24.size);
-                  org.apache.airavata.model.credential.store.CredentialSummary _elem25;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem25;
                   for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                   {
                     _elem25 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -60545,6 +64674,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -60583,6 +64713,7 @@
     }
 
     private static class getAllCredentialSummaries_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_resultTupleScheme getScheme() {
         return new getAllCredentialSummaries_resultTupleScheme();
       }
@@ -60633,9 +64764,9 @@
         java.util.BitSet incoming = iprot.readBitSet(4);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list29.size);
-            org.apache.airavata.model.credential.store.CredentialSummary _elem30;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem30;
             for (int _i31 = 0; _i31 < _list29.size; ++_i31)
             {
               _elem30 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -60668,6 +64799,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteSSHPubKey_args implements org.apache.thrift.TBase<deleteSSHPubKey_args, deleteSSHPubKey_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHPubKey_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHPubKey_args");
 
@@ -60677,8 +64809,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteSSHPubKey_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHPubKey_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataCredStoreToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken; // 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 {
@@ -60696,6 +64828,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -60720,6 +64853,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -60732,10 +64866,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -60777,6 +64913,7 @@
       }
     }
 
+    @Override
     public deleteSSHPubKey_args deepCopy() {
       return new deleteSSHPubKey_args(this);
     }
@@ -60787,11 +64924,12 @@
       this.airavataCredStoreToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteSSHPubKey_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteSSHPubKey_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -60811,11 +64949,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataCredStoreToken() {
       return this.airavataCredStoreToken;
     }
 
-    public deleteSSHPubKey_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+    public deleteSSHPubKey_args setAiravataCredStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken) {
       this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
@@ -60835,7 +64974,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -60856,6 +64996,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -60869,6 +65011,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -60885,8 +65028,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteSSHPubKey_args)
         return this.equals((deleteSSHPubKey_args)that);
       return false;
@@ -60942,7 +65083,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60952,7 +65093,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataCredStoreToken(), other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60965,14 +65106,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -61032,6 +65177,7 @@
     }
 
     private static class deleteSSHPubKey_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHPubKey_argsStandardScheme getScheme() {
         return new deleteSSHPubKey_argsStandardScheme();
       }
@@ -61039,6 +65185,7 @@
 
     private static class deleteSSHPubKey_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHPubKey_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -61077,6 +65224,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHPubKey_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -61098,6 +65246,7 @@
     }
 
     private static class deleteSSHPubKey_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHPubKey_argsTupleScheme getScheme() {
         return new deleteSSHPubKey_argsTupleScheme();
       }
@@ -61128,6 +65277,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteSSHPubKey_result implements org.apache.thrift.TBase<deleteSSHPubKey_result, deleteSSHPubKey_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHPubKey_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHPubKey_result");
 
@@ -61141,10 +65291,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHPubKey_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -61165,6 +65315,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -61195,6 +65346,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61207,10 +65359,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -61275,6 +65429,7 @@
       }
     }
 
+    @Override
     public deleteSSHPubKey_result deepCopy() {
       return new deleteSSHPubKey_result(this);
     }
@@ -61312,11 +65467,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteSSHPubKey_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteSSHPubKey_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -61336,11 +65492,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteSSHPubKey_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteSSHPubKey_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -61360,11 +65517,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteSSHPubKey_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteSSHPubKey_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -61384,11 +65542,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteSSHPubKey_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteSSHPubKey_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -61408,7 +65567,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -61453,6 +65613,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -61475,6 +65637,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -61497,8 +65660,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteSSHPubKey_result)
         return this.equals((deleteSSHPubKey_result)that);
       return false;
@@ -61591,7 +65752,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61601,7 +65762,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61611,7 +65772,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61621,7 +65782,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61631,7 +65792,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61644,10 +65805,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -61724,6 +65888,7 @@
     }
 
     private static class deleteSSHPubKey_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHPubKey_resultStandardScheme getScheme() {
         return new deleteSSHPubKey_resultStandardScheme();
       }
@@ -61731,6 +65896,7 @@
 
     private static class deleteSSHPubKey_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHPubKey_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -61796,6 +65962,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHPubKey_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -61832,6 +65999,7 @@
     }
 
     private static class deleteSSHPubKey_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHPubKey_resultTupleScheme getScheme() {
         return new deleteSSHPubKey_resultTupleScheme();
       }
@@ -61912,6 +66080,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deletePWDCredential_args implements org.apache.thrift.TBase<deletePWDCredential_args, deletePWDCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_args");
 
@@ -61921,8 +66090,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePWDCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataCredStoreToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken; // 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 {
@@ -61940,6 +66109,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -61964,6 +66134,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61976,10 +66147,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -62021,6 +66194,7 @@
       }
     }
 
+    @Override
     public deletePWDCredential_args deepCopy() {
       return new deletePWDCredential_args(this);
     }
@@ -62031,11 +66205,12 @@
       this.airavataCredStoreToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deletePWDCredential_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deletePWDCredential_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -62055,11 +66230,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataCredStoreToken() {
       return this.airavataCredStoreToken;
     }
 
-    public deletePWDCredential_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+    public deletePWDCredential_args setAiravataCredStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken) {
       this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
@@ -62079,7 +66255,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -62100,6 +66277,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -62113,6 +66292,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -62129,8 +66309,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deletePWDCredential_args)
         return this.equals((deletePWDCredential_args)that);
       return false;
@@ -62186,7 +66364,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62196,7 +66374,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataCredStoreToken(), other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62209,14 +66387,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -62276,6 +66458,7 @@
     }
 
     private static class deletePWDCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_argsStandardScheme getScheme() {
         return new deletePWDCredential_argsStandardScheme();
       }
@@ -62283,6 +66466,7 @@
 
     private static class deletePWDCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -62321,6 +66505,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -62342,6 +66527,7 @@
     }
 
     private static class deletePWDCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_argsTupleScheme getScheme() {
         return new deletePWDCredential_argsTupleScheme();
       }
@@ -62372,6 +66558,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deletePWDCredential_result implements org.apache.thrift.TBase<deletePWDCredential_result, deletePWDCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_result");
 
@@ -62385,10 +66572,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -62409,6 +66596,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -62439,6 +66627,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62451,10 +66640,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -62519,6 +66710,7 @@
       }
     }
 
+    @Override
     public deletePWDCredential_result deepCopy() {
       return new deletePWDCredential_result(this);
     }
@@ -62556,11 +66748,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deletePWDCredential_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deletePWDCredential_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -62580,11 +66773,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deletePWDCredential_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deletePWDCredential_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -62604,11 +66798,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deletePWDCredential_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deletePWDCredential_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -62628,11 +66823,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deletePWDCredential_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deletePWDCredential_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -62652,7 +66848,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -62697,6 +66894,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -62719,6 +66918,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -62741,8 +66941,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deletePWDCredential_result)
         return this.equals((deletePWDCredential_result)that);
       return false;
@@ -62835,7 +67033,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62845,7 +67043,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62855,7 +67053,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62865,7 +67063,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62875,7 +67073,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62888,10 +67086,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -62968,6 +67169,7 @@
     }
 
     private static class deletePWDCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_resultStandardScheme getScheme() {
         return new deletePWDCredential_resultStandardScheme();
       }
@@ -62975,6 +67177,7 @@
 
     private static class deletePWDCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -63040,6 +67243,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -63076,6 +67280,7 @@
     }
 
     private static class deletePWDCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_resultTupleScheme getScheme() {
         return new deletePWDCredential_resultTupleScheme();
       }
@@ -63156,6 +67361,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createProject_args implements org.apache.thrift.TBase<createProject_args, createProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_args");
 
@@ -63166,9 +67372,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.workspace.Project project; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project project; // 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 {
@@ -63187,6 +67393,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -63213,6 +67420,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63225,10 +67433,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -63277,6 +67487,7 @@
       }
     }
 
+    @Override
     public createProject_args deepCopy() {
       return new createProject_args(this);
     }
@@ -63288,11 +67499,12 @@
       this.project = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public createProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public createProject_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -63312,11 +67524,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public createProject_args setGatewayId(java.lang.String gatewayId) {
+    public createProject_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -63336,11 +67549,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Project getProject() {
       return this.project;
     }
 
-    public createProject_args setProject(org.apache.airavata.model.workspace.Project project) {
+    public createProject_args setProject(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project project) {
       this.project = project;
       return this;
     }
@@ -63360,7 +67574,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -63389,6 +67604,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -63405,6 +67622,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -63423,8 +67641,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createProject_args)
         return this.equals((createProject_args)that);
       return false;
@@ -63493,7 +67709,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63503,7 +67719,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63513,7 +67729,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProject()).compareTo(other.isSetProject());
+      lastComparison = java.lang.Boolean.compare(isSetProject(), other.isSetProject());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63526,14 +67742,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -63607,6 +67827,7 @@
     }
 
     private static class createProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_argsStandardScheme getScheme() {
         return new createProject_argsStandardScheme();
       }
@@ -63614,6 +67835,7 @@
 
     private static class createProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -63661,6 +67883,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -63687,6 +67910,7 @@
     }
 
     private static class createProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_argsTupleScheme getScheme() {
         return new createProject_argsTupleScheme();
       }
@@ -63721,6 +67945,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createProject_result implements org.apache.thrift.TBase<createProject_result, createProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_result");
 
@@ -63733,11 +67958,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -63758,6 +67983,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -63788,6 +68014,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63800,10 +68027,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -63866,6 +68095,7 @@
       }
     }
 
+    @Override
     public createProject_result deepCopy() {
       return new createProject_result(this);
     }
@@ -63879,11 +68109,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createProject_result setSuccess(java.lang.String success) {
+    public createProject_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -63903,11 +68134,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public createProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public createProject_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -63927,11 +68159,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public createProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public createProject_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -63951,11 +68184,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public createProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public createProject_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -63975,11 +68209,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public createProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public createProject_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -63999,7 +68234,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -64044,6 +68280,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -64066,6 +68304,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -64088,8 +68327,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createProject_result)
         return this.equals((createProject_result)that);
       return false;
@@ -64184,7 +68421,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64194,7 +68431,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64204,7 +68441,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64214,7 +68451,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64224,7 +68461,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64237,10 +68474,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -64319,6 +68559,7 @@
     }
 
     private static class createProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_resultStandardScheme getScheme() {
         return new createProject_resultStandardScheme();
       }
@@ -64326,6 +68567,7 @@
 
     private static class createProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -64391,6 +68633,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -64427,6 +68670,7 @@
     }
 
     private static class createProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_resultTupleScheme getScheme() {
         return new createProject_resultTupleScheme();
       }
@@ -64507,6 +68751,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProject_args implements org.apache.thrift.TBase<updateProject_args, updateProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProject_args");
 
@@ -64517,9 +68762,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProject_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String projectId; // required
-    public org.apache.airavata.model.workspace.Project updatedProject; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project updatedProject; // 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 {
@@ -64538,6 +68783,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -64564,6 +68810,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64576,10 +68823,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -64628,6 +68877,7 @@
       }
     }
 
+    @Override
     public updateProject_args deepCopy() {
       return new updateProject_args(this);
     }
@@ -64639,11 +68889,12 @@
       this.updatedProject = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateProject_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -64663,11 +68914,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public updateProject_args setProjectId(java.lang.String projectId) {
+    public updateProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -64687,11 +68939,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Project getUpdatedProject() {
       return this.updatedProject;
     }
 
-    public updateProject_args setUpdatedProject(org.apache.airavata.model.workspace.Project updatedProject) {
+    public updateProject_args setUpdatedProject(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project updatedProject) {
       this.updatedProject = updatedProject;
       return this;
     }
@@ -64711,7 +68964,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -64740,6 +68994,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -64756,6 +69012,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -64774,8 +69031,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProject_args)
         return this.equals((updateProject_args)that);
       return false;
@@ -64844,7 +69099,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64854,7 +69109,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64864,7 +69119,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedProject()).compareTo(other.isSetUpdatedProject());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedProject(), other.isSetUpdatedProject());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64877,14 +69132,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -64958,6 +69217,7 @@
     }
 
     private static class updateProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_argsStandardScheme getScheme() {
         return new updateProject_argsStandardScheme();
       }
@@ -64965,6 +69225,7 @@
 
     private static class updateProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -65012,6 +69273,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -65038,6 +69300,7 @@
     }
 
     private static class updateProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_argsTupleScheme getScheme() {
         return new updateProject_argsTupleScheme();
       }
@@ -65072,6 +69335,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProject_result implements org.apache.thrift.TBase<updateProject_result, updateProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProject_result");
 
@@ -65084,11 +69348,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProject_resultTupleSchemeFactory();
 
-    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.ProjectNotFoundException pnfe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -65109,6 +69373,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IRE
@@ -65139,6 +69404,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65151,10 +69417,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -65217,6 +69485,7 @@
       }
     }
 
+    @Override
     public updateProject_result deepCopy() {
       return new updateProject_result(this);
     }
@@ -65230,11 +69499,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateProject_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -65254,11 +69524,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateProject_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -65278,11 +69549,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateProject_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -65302,11 +69574,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public updateProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public updateProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -65326,11 +69599,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateProject_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -65350,7 +69624,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IRE:
         if (value == null) {
@@ -65395,6 +69670,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IRE:
@@ -65417,6 +69694,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -65439,8 +69717,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProject_result)
         return this.equals((updateProject_result)that);
       return false;
@@ -65535,7 +69811,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65545,7 +69821,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65555,7 +69831,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65565,7 +69841,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65575,7 +69851,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65588,10 +69864,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -65670,6 +69949,7 @@
     }
 
     private static class updateProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_resultStandardScheme getScheme() {
         return new updateProject_resultStandardScheme();
       }
@@ -65677,6 +69957,7 @@
 
     private static class updateProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -65743,6 +70024,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -65779,6 +70061,7 @@
     }
 
     private static class updateProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_resultTupleScheme getScheme() {
         return new updateProject_resultTupleScheme();
       }
@@ -65860,6 +70143,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProject_args implements org.apache.thrift.TBase<getProject_args, getProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProject_args");
 
@@ -65869,8 +70153,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProject_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // 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 {
@@ -65888,6 +70172,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -65912,6 +70197,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65924,10 +70210,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -65969,6 +70257,7 @@
       }
     }
 
+    @Override
     public getProject_args deepCopy() {
       return new getProject_args(this);
     }
@@ -65979,11 +70268,12 @@
       this.projectId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getProject_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -66003,11 +70293,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public getProject_args setProjectId(java.lang.String projectId) {
+    public getProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -66027,7 +70318,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -66048,6 +70340,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -66061,6 +70355,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -66077,8 +70372,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProject_args)
         return this.equals((getProject_args)that);
       return false;
@@ -66134,7 +70427,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66144,7 +70437,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66157,14 +70450,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -66224,6 +70521,7 @@
     }
 
     private static class getProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_argsStandardScheme getScheme() {
         return new getProject_argsStandardScheme();
       }
@@ -66231,6 +70529,7 @@
 
     private static class getProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -66269,6 +70568,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -66290,6 +70590,7 @@
     }
 
     private static class getProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_argsTupleScheme getScheme() {
         return new getProject_argsTupleScheme();
       }
@@ -66320,6 +70621,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProject_result implements org.apache.thrift.TBase<getProject_result, getProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProject_result");
 
@@ -66333,12 +70635,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProject_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Project 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.ProjectNotFoundException pnfe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -66360,6 +70662,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -66392,6 +70695,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -66404,10 +70708,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -66477,6 +70783,7 @@
       }
     }
 
+    @Override
     public getProject_result deepCopy() {
       return new getProject_result(this);
     }
@@ -66491,11 +70798,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Project getSuccess() {
       return this.success;
     }
 
-    public getProject_result setSuccess(org.apache.airavata.model.workspace.Project success) {
+    public getProject_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project success) {
       this.success = success;
       return this;
     }
@@ -66515,11 +70823,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getProject_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -66539,11 +70848,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getProject_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -66563,11 +70873,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getProject_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -66587,11 +70898,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public getProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public getProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -66611,11 +70923,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getProject_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -66635,7 +70948,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -66688,6 +71002,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -66713,6 +71029,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -66737,8 +71054,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProject_result)
         return this.equals((getProject_result)that);
       return false;
@@ -66846,7 +71161,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66856,7 +71171,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66866,7 +71181,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66876,7 +71191,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66886,7 +71201,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66896,7 +71211,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66909,10 +71224,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -67002,6 +71320,7 @@
     }
 
     private static class getProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_resultStandardScheme getScheme() {
         return new getProject_resultStandardScheme();
       }
@@ -67009,6 +71328,7 @@
 
     private static class getProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -67084,6 +71404,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -67125,6 +71446,7 @@
     }
 
     private static class getProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_resultTupleScheme getScheme() {
         return new getProject_resultTupleScheme();
       }
@@ -67217,6 +71539,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteProject_args implements org.apache.thrift.TBase<deleteProject_args, deleteProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteProject_args");
 
@@ -67226,8 +71549,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteProject_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // 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 {
@@ -67245,6 +71568,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -67269,6 +71593,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -67281,10 +71606,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -67326,6 +71653,7 @@
       }
     }
 
+    @Override
     public deleteProject_args deepCopy() {
       return new deleteProject_args(this);
     }
@@ -67336,11 +71664,12 @@
       this.projectId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteProject_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -67360,11 +71689,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public deleteProject_args setProjectId(java.lang.String projectId) {
+    public deleteProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -67384,7 +71714,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -67405,6 +71736,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -67418,6 +71751,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -67434,8 +71768,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteProject_args)
         return this.equals((deleteProject_args)that);
       return false;
@@ -67491,7 +71823,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -67501,7 +71833,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -67514,14 +71846,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -67581,6 +71917,7 @@
     }
 
     private static class deleteProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_argsStandardScheme getScheme() {
         return new deleteProject_argsStandardScheme();
       }
@@ -67588,6 +71925,7 @@
 
     private static class deleteProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -67626,6 +71964,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -67647,6 +71986,7 @@
     }
 
     private static class deleteProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_argsTupleScheme getScheme() {
         return new deleteProject_argsTupleScheme();
       }
@@ -67677,6 +72017,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteProject_result implements org.apache.thrift.TBase<deleteProject_result, deleteProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteProject_result");
 
@@ -67691,11 +72032,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteProject_resultTupleSchemeFactory();
 
     public boolean 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.ProjectNotFoundException pnfe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -67717,6 +72058,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -67749,6 +72091,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -67761,10 +72104,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -67836,6 +72181,7 @@
       }
     }
 
+    @Override
     public deleteProject_result deepCopy() {
       return new deleteProject_result(this);
     }
@@ -67874,11 +72220,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteProject_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -67898,11 +72245,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteProject_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -67922,11 +72270,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteProject_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -67946,11 +72295,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public deleteProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public deleteProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -67970,11 +72320,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteProject_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -67994,7 +72345,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -68047,6 +72399,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -68072,6 +72426,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -68096,8 +72451,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteProject_result)
         return this.equals((deleteProject_result)that);
       return false;
@@ -68203,7 +72556,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68213,7 +72566,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68223,7 +72576,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68233,7 +72586,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68243,7 +72596,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68253,7 +72606,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68266,10 +72619,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -68354,6 +72710,7 @@
     }
 
     private static class deleteProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_resultStandardScheme getScheme() {
         return new deleteProject_resultStandardScheme();
       }
@@ -68361,6 +72718,7 @@
 
     private static class deleteProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -68435,6 +72793,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -68476,6 +72835,7 @@
     }
 
     private static class deleteProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_resultTupleScheme getScheme() {
         return new deleteProject_resultTupleScheme();
       }
@@ -68567,6 +72927,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserProjects_args implements org.apache.thrift.TBase<getUserProjects_args, getUserProjects_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProjects_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProjects_args");
 
@@ -68579,9 +72940,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserProjects_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserProjects_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
     public int limit; // required
     public int offset; // required
 
@@ -68604,6 +72965,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -68634,6 +72996,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -68646,10 +73009,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -68714,6 +73079,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getUserProjects_args deepCopy() {
       return new getUserProjects_args(this);
     }
@@ -68729,11 +73095,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUserProjects_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUserProjects_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -68753,11 +73120,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getUserProjects_args setGatewayId(java.lang.String gatewayId) {
+    public getUserProjects_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -68777,11 +73145,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getUserProjects_args setUserName(java.lang.String userName) {
+    public getUserProjects_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -68847,7 +73216,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -68892,6 +73262,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -68914,6 +73286,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -68936,8 +73309,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserProjects_args)
         return this.equals((getUserProjects_args)that);
       return false;
@@ -69028,7 +73399,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69038,7 +73409,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69048,7 +73419,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69058,7 +73429,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69068,7 +73439,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69081,14 +73452,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -69171,6 +73546,7 @@
     }
 
     private static class getUserProjects_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_argsStandardScheme getScheme() {
         return new getUserProjects_argsStandardScheme();
       }
@@ -69178,6 +73554,7 @@
 
     private static class getUserProjects_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserProjects_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProjects_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -69246,6 +73623,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProjects_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -69278,6 +73656,7 @@
     }
 
     private static class getUserProjects_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_argsTupleScheme getScheme() {
         return new getUserProjects_argsTupleScheme();
       }
@@ -69317,6 +73696,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserProjects_result implements org.apache.thrift.TBase<getUserProjects_result, getUserProjects_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProjects_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProjects_result");
 
@@ -69329,11 +73709,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserProjects_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserProjects_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Project> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -69354,6 +73734,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -69384,6 +73765,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -69396,10 +73778,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -69467,6 +73851,7 @@
       }
     }
 
+    @Override
     public getUserProjects_result deepCopy() {
       return new getUserProjects_result(this);
     }
@@ -69484,6 +73869,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Project> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -69495,11 +73881,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Project> getSuccess() {
       return this.success;
     }
 
-    public getUserProjects_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Project> success) {
+    public getUserProjects_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success) {
       this.success = success;
       return this;
     }
@@ -69519,11 +73906,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUserProjects_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUserProjects_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -69543,11 +73931,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUserProjects_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUserProjects_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -69567,11 +73956,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUserProjects_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUserProjects_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -69591,11 +73981,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUserProjects_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUserProjects_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -69615,7 +74006,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -69660,6 +74052,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -69682,6 +74076,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -69704,8 +74099,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserProjects_result)
         return this.equals((getUserProjects_result)that);
       return false;
@@ -69800,7 +74193,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69810,7 +74203,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69820,7 +74213,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69830,7 +74223,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69840,7 +74233,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69853,10 +74246,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -69935,6 +74331,7 @@
     }
 
     private static class getUserProjects_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_resultStandardScheme getScheme() {
         return new getUserProjects_resultStandardScheme();
       }
@@ -69942,6 +74339,7 @@
 
     private static class getUserProjects_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserProjects_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProjects_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -69957,7 +74355,7 @@
                 {
                   org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list32.size);
-                  org.apache.airavata.model.workspace.Project _elem33;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem33;
                   for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                   {
                     _elem33 = new org.apache.airavata.model.workspace.Project();
@@ -70018,6 +74416,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProjects_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -70061,6 +74460,7 @@
     }
 
     private static class getUserProjects_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_resultTupleScheme getScheme() {
         return new getUserProjects_resultTupleScheme();
       }
@@ -70117,9 +74517,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list37 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list37 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list37.size);
-            org.apache.airavata.model.workspace.Project _elem38;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem38;
             for (int _i39 = 0; _i39 < _list37.size; ++_i39)
             {
               _elem38 = new org.apache.airavata.model.workspace.Project();
@@ -70157,6 +74557,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchProjects_args implements org.apache.thrift.TBase<searchProjects_args, searchProjects_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchProjects_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchProjects_args");
 
@@ -70170,10 +74571,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchProjects_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchProjects_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
-    public java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters; // required
     public int limit; // required
     public int offset; // required
 
@@ -70197,6 +74598,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -70229,6 +74631,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -70241,10 +74644,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -70312,7 +74717,7 @@
         this.userName = other.userName;
       }
       if (other.isSetFilters()) {
-        java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> __this__filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(other.filters.size());
+        java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> __this__filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
         for (java.util.Map.Entry<org.apache.airavata.model.experiment.ProjectSearchFields, java.lang.String> other_element : other.filters.entrySet()) {
 
           org.apache.airavata.model.experiment.ProjectSearchFields other_element_key = other_element.getKey();
@@ -70330,6 +74735,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public searchProjects_args deepCopy() {
       return new searchProjects_args(this);
     }
@@ -70346,11 +74752,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public searchProjects_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public searchProjects_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -70370,11 +74777,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public searchProjects_args setGatewayId(java.lang.String gatewayId) {
+    public searchProjects_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -70394,11 +74802,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public searchProjects_args setUserName(java.lang.String userName) {
+    public searchProjects_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -70424,16 +74833,17 @@
 
     public void putToFilters(org.apache.airavata.model.experiment.ProjectSearchFields key, java.lang.String val) {
       if (this.filters == null) {
-        this.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>();
+        this.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
       }
       this.filters.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> getFilters() {
       return this.filters;
     }
 
-    public searchProjects_args setFilters(java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters) {
+    public searchProjects_args setFilters(@org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters) {
       this.filters = filters;
       return this;
     }
@@ -70499,7 +74909,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -70552,6 +74963,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -70577,6 +74990,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -70601,8 +75015,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchProjects_args)
         return this.equals((searchProjects_args)that);
       return false;
@@ -70706,7 +75118,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70716,7 +75128,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70726,7 +75138,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70736,7 +75148,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFilters()).compareTo(other.isSetFilters());
+      lastComparison = java.lang.Boolean.compare(isSetFilters(), other.isSetFilters());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70746,7 +75158,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70756,7 +75168,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70769,14 +75181,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -70867,6 +75283,7 @@
     }
 
     private static class searchProjects_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_argsStandardScheme getScheme() {
         return new searchProjects_argsStandardScheme();
       }
@@ -70874,6 +75291,7 @@
 
     private static class searchProjects_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchProjects_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchProjects_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -70913,14 +75331,17 @@
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map40 = iprot.readMapBegin();
-                  struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(2*_map40.size);
-                  org.apache.airavata.model.experiment.ProjectSearchFields _key41;
-                  java.lang.String _val42;
+                  struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ProjectSearchFields _key41;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val42;
                   for (int _i43 = 0; _i43 < _map40.size; ++_i43)
                   {
                     _key41 = org.apache.airavata.model.experiment.ProjectSearchFields.findByValue(iprot.readI32());
                     _val42 = iprot.readString();
-                    struct.filters.put(_key41, _val42);
+                    if (_key41 != null)
+                    {
+                      struct.filters.put(_key41, _val42);
+                    }
                   }
                   iprot.readMapEnd();
                 }
@@ -70962,6 +75383,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchProjects_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -71007,6 +75429,7 @@
     }
 
     private static class searchProjects_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_argsTupleScheme getScheme() {
         return new searchProjects_argsTupleScheme();
       }
@@ -71056,15 +75479,18 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map46 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(2*_map46.size);
-            org.apache.airavata.model.experiment.ProjectSearchFields _key47;
-            java.lang.String _val48;
+            org.apache.thrift.protocol.TMap _map46 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+            struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ProjectSearchFields _key47;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val48;
             for (int _i49 = 0; _i49 < _map46.size; ++_i49)
             {
               _key47 = org.apache.airavata.model.experiment.ProjectSearchFields.findByValue(iprot.readI32());
               _val48 = iprot.readString();
-              struct.filters.put(_key47, _val48);
+              if (_key47 != null)
+              {
+                struct.filters.put(_key47, _val48);
+              }
             }
           }
           struct.setFiltersIsSet(true);
@@ -71077,6 +75503,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchProjects_result implements org.apache.thrift.TBase<searchProjects_result, searchProjects_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchProjects_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchProjects_result");
 
@@ -71089,11 +75516,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchProjects_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchProjects_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Project> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -71114,6 +75541,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -71144,6 +75572,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -71156,10 +75585,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -71227,6 +75658,7 @@
       }
     }
 
+    @Override
     public searchProjects_result deepCopy() {
       return new searchProjects_result(this);
     }
@@ -71244,6 +75676,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Project> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -71255,11 +75688,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Project> getSuccess() {
       return this.success;
     }
 
-    public searchProjects_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Project> success) {
+    public searchProjects_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success) {
       this.success = success;
       return this;
     }
@@ -71279,11 +75713,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public searchProjects_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public searchProjects_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -71303,11 +75738,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public searchProjects_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public searchProjects_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -71327,11 +75763,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public searchProjects_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public searchProjects_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -71351,11 +75788,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public searchProjects_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public searchProjects_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -71375,7 +75813,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -71420,6 +75859,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -71442,6 +75883,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -71464,8 +75906,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchProjects_result)
         return this.equals((searchProjects_result)that);
       return false;
@@ -71560,7 +76000,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71570,7 +76010,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71580,7 +76020,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71590,7 +76030,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71600,7 +76040,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71613,10 +76053,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -71695,6 +76138,7 @@
     }
 
     private static class searchProjects_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_resultStandardScheme getScheme() {
         return new searchProjects_resultStandardScheme();
       }
@@ -71702,6 +76146,7 @@
 
     private static class searchProjects_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchProjects_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchProjects_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -71717,7 +76162,7 @@
                 {
                   org.apache.thrift.protocol.TList _list50 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list50.size);
-                  org.apache.airavata.model.workspace.Project _elem51;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem51;
                   for (int _i52 = 0; _i52 < _list50.size; ++_i52)
                   {
                     _elem51 = new org.apache.airavata.model.workspace.Project();
@@ -71778,6 +76223,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchProjects_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -71821,6 +76267,7 @@
     }
 
     private static class searchProjects_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_resultTupleScheme getScheme() {
         return new searchProjects_resultTupleScheme();
       }
@@ -71877,9 +76324,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list55 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list55 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list55.size);
-            org.apache.airavata.model.workspace.Project _elem56;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem56;
             for (int _i57 = 0; _i57 < _list55.size; ++_i57)
             {
               _elem56 = new org.apache.airavata.model.workspace.Project();
@@ -71917,6 +76364,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchExperiments_args implements org.apache.thrift.TBase<searchExperiments_args, searchExperiments_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchExperiments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchExperiments_args");
 
@@ -71930,10 +76378,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchExperiments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchExperiments_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
-    public java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters; // required
     public int limit; // required
     public int offset; // required
 
@@ -71957,6 +76405,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -71989,6 +76438,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -72001,10 +76451,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -72072,7 +76524,7 @@
         this.userName = other.userName;
       }
       if (other.isSetFilters()) {
-        java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> __this__filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(other.filters.size());
+        java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> __this__filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
         for (java.util.Map.Entry<org.apache.airavata.model.experiment.ExperimentSearchFields, java.lang.String> other_element : other.filters.entrySet()) {
 
           org.apache.airavata.model.experiment.ExperimentSearchFields other_element_key = other_element.getKey();
@@ -72090,6 +76542,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public searchExperiments_args deepCopy() {
       return new searchExperiments_args(this);
     }
@@ -72106,11 +76559,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public searchExperiments_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public searchExperiments_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -72130,11 +76584,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public searchExperiments_args setGatewayId(java.lang.String gatewayId) {
+    public searchExperiments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -72154,11 +76609,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public searchExperiments_args setUserName(java.lang.String userName) {
+    public searchExperiments_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -72184,16 +76640,17 @@
 
     public void putToFilters(org.apache.airavata.model.experiment.ExperimentSearchFields key, java.lang.String val) {
       if (this.filters == null) {
-        this.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>();
+        this.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
       }
       this.filters.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> getFilters() {
       return this.filters;
     }
 
-    public searchExperiments_args setFilters(java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters) {
+    public searchExperiments_args setFilters(@org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters) {
       this.filters = filters;
       return this;
     }
@@ -72259,7 +76716,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -72312,6 +76770,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -72337,6 +76797,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -72361,8 +76822,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchExperiments_args)
         return this.equals((searchExperiments_args)that);
       return false;
@@ -72466,7 +76925,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72476,7 +76935,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72486,7 +76945,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72496,7 +76955,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFilters()).compareTo(other.isSetFilters());
+      lastComparison = java.lang.Boolean.compare(isSetFilters(), other.isSetFilters());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72506,7 +76965,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72516,7 +76975,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72529,14 +76988,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -72627,6 +77090,7 @@
     }
 
     private static class searchExperiments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_argsStandardScheme getScheme() {
         return new searchExperiments_argsStandardScheme();
       }
@@ -72634,6 +77098,7 @@
 
     private static class searchExperiments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchExperiments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchExperiments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -72673,14 +77138,17 @@
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map58 = iprot.readMapBegin();
-                  struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(2*_map58.size);
-                  org.apache.airavata.model.experiment.ExperimentSearchFields _key59;
-                  java.lang.String _val60;
+                  struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSearchFields _key59;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val60;
                   for (int _i61 = 0; _i61 < _map58.size; ++_i61)
                   {
                     _key59 = org.apache.airavata.model.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
                     _val60 = iprot.readString();
-                    struct.filters.put(_key59, _val60);
+                    if (_key59 != null)
+                    {
+                      struct.filters.put(_key59, _val60);
+                    }
                   }
                   iprot.readMapEnd();
                 }
@@ -72722,6 +77190,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchExperiments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -72767,6 +77236,7 @@
     }
 
     private static class searchExperiments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_argsTupleScheme getScheme() {
         return new searchExperiments_argsTupleScheme();
       }
@@ -72816,15 +77286,18 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map64 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(2*_map64.size);
-            org.apache.airavata.model.experiment.ExperimentSearchFields _key65;
-            java.lang.String _val66;
+            org.apache.thrift.protocol.TMap _map64 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+            struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSearchFields _key65;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val66;
             for (int _i67 = 0; _i67 < _map64.size; ++_i67)
             {
               _key65 = org.apache.airavata.model.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
               _val66 = iprot.readString();
-              struct.filters.put(_key65, _val66);
+              if (_key65 != null)
+              {
+                struct.filters.put(_key65, _val66);
+              }
             }
           }
           struct.setFiltersIsSet(true);
@@ -72837,6 +77310,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchExperiments_result implements org.apache.thrift.TBase<searchExperiments_result, searchExperiments_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchExperiments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchExperiments_result");
 
@@ -72849,11 +77323,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchExperiments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchExperiments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -72874,6 +77348,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -72904,6 +77379,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -72916,10 +77392,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -72987,6 +77465,7 @@
       }
     }
 
+    @Override
     public searchExperiments_result deepCopy() {
       return new searchExperiments_result(this);
     }
@@ -73004,6 +77483,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.experiment.ExperimentSummaryModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -73015,11 +77495,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> getSuccess() {
       return this.success;
     }
 
-    public searchExperiments_result setSuccess(java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success) {
+    public searchExperiments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success) {
       this.success = success;
       return this;
     }
@@ -73039,11 +77520,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public searchExperiments_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public searchExperiments_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -73063,11 +77545,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public searchExperiments_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public searchExperiments_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -73087,11 +77570,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public searchExperiments_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public searchExperiments_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -73111,11 +77595,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public searchExperiments_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public searchExperiments_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -73135,7 +77620,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -73180,6 +77666,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -73202,6 +77690,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -73224,8 +77713,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchExperiments_result)
         return this.equals((searchExperiments_result)that);
       return false;
@@ -73320,7 +77807,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73330,7 +77817,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73340,7 +77827,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73350,7 +77837,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73360,7 +77847,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73373,10 +77860,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -73455,6 +77945,7 @@
     }
 
     private static class searchExperiments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_resultStandardScheme getScheme() {
         return new searchExperiments_resultStandardScheme();
       }
@@ -73462,6 +77953,7 @@
 
     private static class searchExperiments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchExperiments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchExperiments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -73477,7 +77969,7 @@
                 {
                   org.apache.thrift.protocol.TList _list68 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentSummaryModel>(_list68.size);
-                  org.apache.airavata.model.experiment.ExperimentSummaryModel _elem69;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSummaryModel _elem69;
                   for (int _i70 = 0; _i70 < _list68.size; ++_i70)
                   {
                     _elem69 = new org.apache.airavata.model.experiment.ExperimentSummaryModel();
@@ -73538,6 +78030,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchExperiments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -73581,6 +78074,7 @@
     }
 
     private static class searchExperiments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_resultTupleScheme getScheme() {
         return new searchExperiments_resultTupleScheme();
       }
@@ -73637,9 +78131,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list73 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list73 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentSummaryModel>(_list73.size);
-            org.apache.airavata.model.experiment.ExperimentSummaryModel _elem74;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSummaryModel _elem74;
             for (int _i75 = 0; _i75 < _list73.size; ++_i75)
             {
               _elem74 = new org.apache.airavata.model.experiment.ExperimentSummaryModel();
@@ -73677,6 +78171,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatistics_args implements org.apache.thrift.TBase<getExperimentStatistics_args, getExperimentStatistics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatistics_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatistics_args");
 
@@ -73693,13 +78188,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatistics_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatistics_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
     public long fromTime; // required
     public long toTime; // required
-    public java.lang.String userName; // required
-    public java.lang.String applicationName; // required
-    public java.lang.String resourceHostName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String applicationName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceHostName; // required
     public int limit; // required
     public int offset; // required
 
@@ -73726,6 +78221,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -73764,6 +78260,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -73776,10 +78273,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -73876,6 +78375,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getExperimentStatistics_args deepCopy() {
       return new getExperimentStatistics_args(this);
     }
@@ -73897,11 +78397,12 @@
 
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getExperimentStatistics_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentStatistics_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -73921,11 +78422,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getExperimentStatistics_args setGatewayId(java.lang.String gatewayId) {
+    public getExperimentStatistics_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -73991,11 +78493,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TOTIME_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getExperimentStatistics_args setUserName(java.lang.String userName) {
+    public getExperimentStatistics_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -74015,11 +78518,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getApplicationName() {
       return this.applicationName;
     }
 
-    public getExperimentStatistics_args setApplicationName(java.lang.String applicationName) {
+    public getExperimentStatistics_args setApplicationName(@org.apache.thrift.annotation.Nullable java.lang.String applicationName) {
       this.applicationName = applicationName;
       return this;
     }
@@ -74039,11 +78543,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceHostName() {
       return this.resourceHostName;
     }
 
-    public getExperimentStatistics_args setResourceHostName(java.lang.String resourceHostName) {
+    public getExperimentStatistics_args setResourceHostName(@org.apache.thrift.annotation.Nullable java.lang.String resourceHostName) {
       this.resourceHostName = resourceHostName;
       return this;
     }
@@ -74109,7 +78614,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -74186,6 +78692,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -74220,6 +78728,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -74250,8 +78759,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatistics_args)
         return this.equals((getExperimentStatistics_args)that);
       return false;
@@ -74390,7 +78897,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74400,7 +78907,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74410,7 +78917,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFromTime()).compareTo(other.isSetFromTime());
+      lastComparison = java.lang.Boolean.compare(isSetFromTime(), other.isSetFromTime());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74420,7 +78927,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetToTime()).compareTo(other.isSetToTime());
+      lastComparison = java.lang.Boolean.compare(isSetToTime(), other.isSetToTime());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74430,7 +78937,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74440,7 +78947,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationName()).compareTo(other.isSetApplicationName());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationName(), other.isSetApplicationName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74450,7 +78957,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceHostName()).compareTo(other.isSetResourceHostName());
+      lastComparison = java.lang.Boolean.compare(isSetResourceHostName(), other.isSetResourceHostName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74460,7 +78967,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74470,7 +78977,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74483,14 +78990,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -74594,6 +79105,7 @@
     }
 
     private static class getExperimentStatistics_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_argsStandardScheme getScheme() {
         return new getExperimentStatistics_argsStandardScheme();
       }
@@ -74601,6 +79113,7 @@
 
     private static class getExperimentStatistics_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatistics_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatistics_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -74701,6 +79214,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatistics_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -74749,6 +79263,7 @@
     }
 
     private static class getExperimentStatistics_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_argsTupleScheme getScheme() {
         return new getExperimentStatistics_argsTupleScheme();
       }
@@ -74838,6 +79353,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatistics_result implements org.apache.thrift.TBase<getExperimentStatistics_result, getExperimentStatistics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatistics_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatistics_result");
 
@@ -74850,11 +79366,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatistics_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatistics_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentStatistics 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentStatistics success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -74875,6 +79391,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -74905,6 +79422,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -74917,10 +79435,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -74983,6 +79503,7 @@
       }
     }
 
+    @Override
     public getExperimentStatistics_result deepCopy() {
       return new getExperimentStatistics_result(this);
     }
@@ -74996,11 +79517,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentStatistics getSuccess() {
       return this.success;
     }
 
-    public getExperimentStatistics_result setSuccess(org.apache.airavata.model.experiment.ExperimentStatistics success) {
+    public getExperimentStatistics_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentStatistics success) {
       this.success = success;
       return this;
     }
@@ -75020,11 +79542,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getExperimentStatistics_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentStatistics_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -75044,11 +79567,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getExperimentStatistics_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentStatistics_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -75068,11 +79592,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getExperimentStatistics_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentStatistics_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -75092,11 +79617,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getExperimentStatistics_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentStatistics_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -75116,7 +79642,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -75161,6 +79688,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -75183,6 +79712,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -75205,8 +79735,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatistics_result)
         return this.equals((getExperimentStatistics_result)that);
       return false;
@@ -75301,7 +79829,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75311,7 +79839,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75321,7 +79849,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75331,7 +79859,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75341,7 +79869,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75354,10 +79882,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -75439,6 +79970,7 @@
     }
 
     private static class getExperimentStatistics_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_resultStandardScheme getScheme() {
         return new getExperimentStatistics_resultStandardScheme();
       }
@@ -75446,6 +79978,7 @@
 
     private static class getExperimentStatistics_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatistics_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatistics_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -75512,6 +80045,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatistics_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -75548,6 +80082,7 @@
     }
 
     private static class getExperimentStatistics_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_resultTupleScheme getScheme() {
         return new getExperimentStatistics_resultTupleScheme();
       }
@@ -75629,6 +80164,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentsInProject_args implements org.apache.thrift.TBase<getExperimentsInProject_args, getExperimentsInProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentsInProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentsInProject_args");
 
@@ -75640,8 +80176,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentsInProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentsInProject_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // required
     public int limit; // required
     public int offset; // required
 
@@ -75663,6 +80199,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -75691,6 +80228,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -75703,10 +80241,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -75764,6 +80304,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getExperimentsInProject_args deepCopy() {
       return new getExperimentsInProject_args(this);
     }
@@ -75778,11 +80319,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getExperimentsInProject_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentsInProject_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -75802,11 +80344,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public getExperimentsInProject_args setProjectId(java.lang.String projectId) {
+    public getExperimentsInProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -75872,7 +80415,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -75909,6 +80453,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -75928,6 +80474,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -75948,8 +80495,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentsInProject_args)
         return this.equals((getExperimentsInProject_args)that);
       return false;
@@ -76027,7 +80572,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76037,7 +80582,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76047,7 +80592,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76057,7 +80602,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76070,14 +80615,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -76149,6 +80698,7 @@
     }
 
     private static class getExperimentsInProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_argsStandardScheme getScheme() {
         return new getExperimentsInProject_argsStandardScheme();
       }
@@ -76156,6 +80706,7 @@
 
     private static class getExperimentsInProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentsInProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentsInProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -76216,6 +80767,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentsInProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -76243,6 +80795,7 @@
     }
 
     private static class getExperimentsInProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_argsTupleScheme getScheme() {
         return new getExperimentsInProject_argsTupleScheme();
       }
@@ -76279,6 +80832,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentsInProject_result implements org.apache.thrift.TBase<getExperimentsInProject_result, getExperimentsInProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentsInProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentsInProject_result");
 
@@ -76292,12 +80846,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentsInProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentsInProject_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> 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.ProjectNotFoundException pnfe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -76319,6 +80873,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -76351,6 +80906,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -76363,10 +80919,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -76441,6 +80999,7 @@
       }
     }
 
+    @Override
     public getExperimentsInProject_result deepCopy() {
       return new getExperimentsInProject_result(this);
     }
@@ -76459,6 +81018,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.experiment.ExperimentModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -76470,11 +81030,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getSuccess() {
       return this.success;
     }
 
-    public getExperimentsInProject_result setSuccess(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
+    public getExperimentsInProject_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
       this.success = success;
       return this;
     }
@@ -76494,11 +81055,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getExperimentsInProject_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentsInProject_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -76518,11 +81080,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getExperimentsInProject_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentsInProject_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -76542,11 +81105,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getExperimentsInProject_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentsInProject_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -76566,11 +81130,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public getExperimentsInProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public getExperimentsInProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -76590,11 +81155,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getExperimentsInProject_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentsInProject_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -76614,7 +81180,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -76667,6 +81234,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -76692,6 +81261,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -76716,8 +81286,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentsInProject_result)
         return this.equals((getExperimentsInProject_result)that);
       return false;
@@ -76825,7 +81393,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76835,7 +81403,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76845,7 +81413,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76855,7 +81423,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76865,7 +81433,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76875,7 +81443,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76888,10 +81456,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -76978,6 +81549,7 @@
     }
 
     private static class getExperimentsInProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_resultStandardScheme getScheme() {
         return new getExperimentsInProject_resultStandardScheme();
       }
@@ -76985,6 +81557,7 @@
 
     private static class getExperimentsInProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentsInProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentsInProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -77000,7 +81573,7 @@
                 {
                   org.apache.thrift.protocol.TList _list76 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list76.size);
-                  org.apache.airavata.model.experiment.ExperimentModel _elem77;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem77;
                   for (int _i78 = 0; _i78 < _list76.size; ++_i78)
                   {
                     _elem77 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -77070,6 +81643,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentsInProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -77118,6 +81692,7 @@
     }
 
     private static class getExperimentsInProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_resultTupleScheme getScheme() {
         return new getExperimentsInProject_resultTupleScheme();
       }
@@ -77180,9 +81755,9 @@
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list81 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list81 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list81.size);
-            org.apache.airavata.model.experiment.ExperimentModel _elem82;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem82;
             for (int _i83 = 0; _i83 < _list81.size; ++_i83)
             {
               _elem82 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -77225,6 +81800,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserExperiments_args implements org.apache.thrift.TBase<getUserExperiments_args, getUserExperiments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserExperiments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserExperiments_args");
 
@@ -77237,9 +81813,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserExperiments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserExperiments_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
     public int limit; // required
     public int offset; // required
 
@@ -77262,6 +81838,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -77292,6 +81869,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -77304,10 +81882,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -77372,6 +81952,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getUserExperiments_args deepCopy() {
       return new getUserExperiments_args(this);
     }
@@ -77387,11 +81968,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUserExperiments_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUserExperiments_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -77411,11 +81993,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getUserExperiments_args setGatewayId(java.lang.String gatewayId) {
+    public getUserExperiments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -77435,11 +82018,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getUserExperiments_args setUserName(java.lang.String userName) {
+    public getUserExperiments_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -77505,7 +82089,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -77550,6 +82135,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -77572,6 +82159,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -77594,8 +82182,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserExperiments_args)
         return this.equals((getUserExperiments_args)that);
       return false;
@@ -77686,7 +82272,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77696,7 +82282,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77706,7 +82292,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77716,7 +82302,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77726,7 +82312,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77739,14 +82325,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -77829,6 +82419,7 @@
     }
 
     private static class getUserExperiments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_argsStandardScheme getScheme() {
         return new getUserExperiments_argsStandardScheme();
       }
@@ -77836,6 +82427,7 @@
 
     private static class getUserExperiments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserExperiments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserExperiments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -77904,6 +82496,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserExperiments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -77936,6 +82529,7 @@
     }
 
     private static class getUserExperiments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_argsTupleScheme getScheme() {
         return new getUserExperiments_argsTupleScheme();
       }
@@ -77975,6 +82569,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserExperiments_result implements org.apache.thrift.TBase<getUserExperiments_result, getUserExperiments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserExperiments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserExperiments_result");
 
@@ -77987,11 +82582,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserExperiments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserExperiments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -78012,6 +82607,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -78042,6 +82638,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -78054,10 +82651,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -78125,6 +82724,7 @@
       }
     }
 
+    @Override
     public getUserExperiments_result deepCopy() {
       return new getUserExperiments_result(this);
     }
@@ -78142,6 +82742,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.experiment.ExperimentModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -78153,11 +82754,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getSuccess() {
       return this.success;
     }
 
-    public getUserExperiments_result setSuccess(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
+    public getUserExperiments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
       this.success = success;
       return this;
     }
@@ -78177,11 +82779,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUserExperiments_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUserExperiments_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -78201,11 +82804,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUserExperiments_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUserExperiments_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -78225,11 +82829,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUserExperiments_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUserExperiments_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -78249,11 +82854,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUserExperiments_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUserExperiments_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -78273,7 +82879,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -78318,6 +82925,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -78340,6 +82949,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -78362,8 +82972,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserExperiments_result)
         return this.equals((getUserExperiments_result)that);
       return false;
@@ -78458,7 +83066,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78468,7 +83076,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78478,7 +83086,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78488,7 +83096,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78498,7 +83106,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78511,10 +83119,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -78593,6 +83204,7 @@
     }
 
     private static class getUserExperiments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_resultStandardScheme getScheme() {
         return new getUserExperiments_resultStandardScheme();
       }
@@ -78600,6 +83212,7 @@
 
     private static class getUserExperiments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserExperiments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserExperiments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -78615,7 +83228,7 @@
                 {
                   org.apache.thrift.protocol.TList _list84 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list84.size);
-                  org.apache.airavata.model.experiment.ExperimentModel _elem85;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem85;
                   for (int _i86 = 0; _i86 < _list84.size; ++_i86)
                   {
                     _elem85 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -78676,6 +83289,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserExperiments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -78719,6 +83333,7 @@
     }
 
     private static class getUserExperiments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_resultTupleScheme getScheme() {
         return new getUserExperiments_resultTupleScheme();
       }
@@ -78775,9 +83390,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list89 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list89.size);
-            org.apache.airavata.model.experiment.ExperimentModel _elem90;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem90;
             for (int _i91 = 0; _i91 < _list89.size; ++_i91)
             {
               _elem90 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -78815,6 +83430,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createExperiment_args implements org.apache.thrift.TBase<createExperiment_args, createExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<createExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createExperiment_args");
 
@@ -78825,9 +83441,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.experiment.ExperimentModel experiment; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment; // 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 {
@@ -78846,6 +83462,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -78872,6 +83489,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -78884,10 +83502,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -78936,6 +83556,7 @@
       }
     }
 
+    @Override
     public createExperiment_args deepCopy() {
       return new createExperiment_args(this);
     }
@@ -78947,11 +83568,12 @@
       this.experiment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public createExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public createExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -78971,11 +83593,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public createExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public createExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -78995,11 +83618,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getExperiment() {
       return this.experiment;
     }
 
-    public createExperiment_args setExperiment(org.apache.airavata.model.experiment.ExperimentModel experiment) {
+    public createExperiment_args setExperiment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment) {
       this.experiment = experiment;
       return this;
     }
@@ -79019,7 +83643,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -79048,6 +83673,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -79064,6 +83691,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -79082,8 +83710,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createExperiment_args)
         return this.equals((createExperiment_args)that);
       return false;
@@ -79152,7 +83778,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79162,7 +83788,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79172,7 +83798,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperiment()).compareTo(other.isSetExperiment());
+      lastComparison = java.lang.Boolean.compare(isSetExperiment(), other.isSetExperiment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79185,14 +83811,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -79266,6 +83896,7 @@
     }
 
     private static class createExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_argsStandardScheme getScheme() {
         return new createExperiment_argsStandardScheme();
       }
@@ -79273,6 +83904,7 @@
 
     private static class createExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -79320,6 +83952,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -79346,6 +83979,7 @@
     }
 
     private static class createExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_argsTupleScheme getScheme() {
         return new createExperiment_argsTupleScheme();
       }
@@ -79380,6 +84014,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createExperiment_result implements org.apache.thrift.TBase<createExperiment_result, createExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<createExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createExperiment_result");
 
@@ -79392,11 +84027,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createExperiment_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -79417,6 +84052,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -79447,6 +84083,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -79459,10 +84096,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -79525,6 +84164,7 @@
       }
     }
 
+    @Override
     public createExperiment_result deepCopy() {
       return new createExperiment_result(this);
     }
@@ -79538,11 +84178,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createExperiment_result setSuccess(java.lang.String success) {
+    public createExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -79562,11 +84203,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public createExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public createExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -79586,11 +84228,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public createExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public createExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -79610,11 +84253,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public createExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public createExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -79634,11 +84278,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public createExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public createExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -79658,7 +84303,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -79703,6 +84349,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -79725,6 +84373,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -79747,8 +84396,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createExperiment_result)
         return this.equals((createExperiment_result)that);
       return false;
@@ -79843,7 +84490,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79853,7 +84500,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79863,7 +84510,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79873,7 +84520,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79883,7 +84530,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79896,10 +84543,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -79978,6 +84628,7 @@
     }
 
     private static class createExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_resultStandardScheme getScheme() {
         return new createExperiment_resultStandardScheme();
       }
@@ -79985,6 +84636,7 @@
 
     private static class createExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -80050,6 +84702,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -80086,6 +84739,7 @@
     }
 
     private static class createExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_resultTupleScheme getScheme() {
         return new createExperiment_resultTupleScheme();
       }
@@ -80166,6 +84820,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteExperiment_args implements org.apache.thrift.TBase<deleteExperiment_args, deleteExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteExperiment_args");
 
@@ -80175,8 +84830,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -80194,6 +84849,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -80218,6 +84874,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -80230,10 +84887,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -80275,6 +84934,7 @@
       }
     }
 
+    @Override
     public deleteExperiment_args deepCopy() {
       return new deleteExperiment_args(this);
     }
@@ -80285,11 +84945,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -80309,11 +84970,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public deleteExperiment_args setExperimentId(java.lang.String experimentId) {
+    public deleteExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -80333,7 +84995,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -80354,6 +85017,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -80367,6 +85032,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -80383,8 +85049,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteExperiment_args)
         return this.equals((deleteExperiment_args)that);
       return false;
@@ -80440,7 +85104,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -80450,7 +85114,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -80463,14 +85127,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -80530,6 +85198,7 @@
     }
 
     private static class deleteExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_argsStandardScheme getScheme() {
         return new deleteExperiment_argsStandardScheme();
       }
@@ -80537,6 +85206,7 @@
 
     private static class deleteExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -80575,6 +85245,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -80596,6 +85267,7 @@
     }
 
     private static class deleteExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_argsTupleScheme getScheme() {
         return new deleteExperiment_argsTupleScheme();
       }
@@ -80626,6 +85298,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteExperiment_result implements org.apache.thrift.TBase<deleteExperiment_result, deleteExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteExperiment_result");
 
@@ -80639,10 +85312,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteExperiment_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -80663,6 +85336,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -80693,6 +85367,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -80705,10 +85380,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -80773,6 +85450,7 @@
       }
     }
 
+    @Override
     public deleteExperiment_result deepCopy() {
       return new deleteExperiment_result(this);
     }
@@ -80810,11 +85488,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -80834,11 +85513,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -80858,11 +85538,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -80882,11 +85563,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -80906,7 +85588,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -80951,6 +85634,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -80973,6 +85658,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -80995,8 +85681,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteExperiment_result)
         return this.equals((deleteExperiment_result)that);
       return false;
@@ -81089,7 +85773,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81099,7 +85783,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81109,7 +85793,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81119,7 +85803,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81129,7 +85813,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81142,10 +85826,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -81222,6 +85909,7 @@
     }
 
     private static class deleteExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_resultStandardScheme getScheme() {
         return new deleteExperiment_resultStandardScheme();
       }
@@ -81229,6 +85917,7 @@
 
     private static class deleteExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -81294,6 +85983,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -81330,6 +86020,7 @@
     }
 
     private static class deleteExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_resultTupleScheme getScheme() {
         return new deleteExperiment_resultTupleScheme();
       }
@@ -81410,6 +86101,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperiment_args implements org.apache.thrift.TBase<getExperiment_args, getExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperiment_args");
 
@@ -81419,8 +86111,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -81438,6 +86130,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -81462,6 +86155,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81474,10 +86168,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -81519,6 +86215,7 @@
       }
     }
 
+    @Override
     public getExperiment_args deepCopy() {
       return new getExperiment_args(this);
     }
@@ -81529,11 +86226,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -81553,11 +86251,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -81577,7 +86276,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -81598,6 +86298,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -81611,6 +86313,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -81627,8 +86330,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperiment_args)
         return this.equals((getExperiment_args)that);
       return false;
@@ -81684,7 +86385,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81694,7 +86395,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81707,14 +86408,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -81774,6 +86479,7 @@
     }
 
     private static class getExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_argsStandardScheme getScheme() {
         return new getExperiment_argsStandardScheme();
       }
@@ -81781,6 +86487,7 @@
 
     private static class getExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -81819,6 +86526,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -81840,6 +86548,7 @@
     }
 
     private static class getExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_argsTupleScheme getScheme() {
         return new getExperiment_argsTupleScheme();
       }
@@ -81870,6 +86579,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperiment_result implements org.apache.thrift.TBase<getExperiment_result, getExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperiment_result");
 
@@ -81883,12 +86593,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperiment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentModel success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -81910,6 +86620,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -81942,6 +86653,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81954,10 +86666,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -82027,6 +86741,7 @@
       }
     }
 
+    @Override
     public getExperiment_result deepCopy() {
       return new getExperiment_result(this);
     }
@@ -82041,11 +86756,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getSuccess() {
       return this.success;
     }
 
-    public getExperiment_result setSuccess(org.apache.airavata.model.experiment.ExperimentModel success) {
+    public getExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success) {
       this.success = success;
       return this;
     }
@@ -82065,11 +86781,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -82089,11 +86806,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -82113,11 +86831,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -82137,11 +86856,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -82161,11 +86881,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -82185,7 +86906,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -82238,6 +86960,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -82263,6 +86987,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -82287,8 +87012,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperiment_result)
         return this.equals((getExperiment_result)that);
       return false;
@@ -82396,7 +87119,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82406,7 +87129,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82416,7 +87139,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82426,7 +87149,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82436,7 +87159,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82446,7 +87169,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82459,10 +87182,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -82552,6 +87278,7 @@
     }
 
     private static class getExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_resultStandardScheme getScheme() {
         return new getExperiment_resultStandardScheme();
       }
@@ -82559,6 +87286,7 @@
 
     private static class getExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -82634,6 +87362,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -82675,6 +87404,7 @@
     }
 
     private static class getExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_resultTupleScheme getScheme() {
         return new getExperiment_resultTupleScheme();
       }
@@ -82767,6 +87497,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentByAdmin_args implements org.apache.thrift.TBase<getExperimentByAdmin_args, getExperimentByAdmin_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentByAdmin_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentByAdmin_args");
 
@@ -82776,8 +87507,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentByAdmin_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentByAdmin_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -82795,6 +87526,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -82819,6 +87551,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -82831,10 +87564,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -82876,6 +87611,7 @@
       }
     }
 
+    @Override
     public getExperimentByAdmin_args deepCopy() {
       return new getExperimentByAdmin_args(this);
     }
@@ -82886,11 +87622,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getExperimentByAdmin_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentByAdmin_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -82910,11 +87647,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperimentByAdmin_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentByAdmin_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -82934,7 +87672,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -82955,6 +87694,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -82968,6 +87709,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -82984,8 +87726,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentByAdmin_args)
         return this.equals((getExperimentByAdmin_args)that);
       return false;
@@ -83041,7 +87781,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83051,7 +87791,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83064,14 +87804,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -83131,6 +87875,7 @@
     }
 
     private static class getExperimentByAdmin_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentByAdmin_argsStandardScheme getScheme() {
         return new getExperimentByAdmin_argsStandardScheme();
       }
@@ -83138,6 +87883,7 @@
 
     private static class getExperimentByAdmin_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentByAdmin_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -83176,6 +87922,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -83197,6 +87944,7 @@
     }
 
     private static class getExperimentByAdmin_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentByAdmin_argsTupleScheme getScheme() {
         return new getExperimentByAdmin_argsTupleScheme();
       }
@@ -83227,6 +87975,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentByAdmin_result implements org.apache.thrift.TBase<getExperimentByAdmin_result, getExperimentByAdmin_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentByAdmin_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentByAdmin_result");
 
@@ -83240,12 +87989,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentByAdmin_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentByAdmin_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentModel success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -83267,6 +88016,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -83299,6 +88049,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -83311,10 +88062,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -83384,6 +88137,7 @@
       }
     }
 
+    @Override
     public getExperimentByAdmin_result deepCopy() {
       return new getExperimentByAdmin_result(this);
     }
@@ -83398,11 +88152,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getSuccess() {
       return this.success;
     }
 
-    public getExperimentByAdmin_result setSuccess(org.apache.airavata.model.experiment.ExperimentModel success) {
+    public getExperimentByAdmin_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success) {
       this.success = success;
       return this;
     }
@@ -83422,11 +88177,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getExperimentByAdmin_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentByAdmin_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -83446,11 +88202,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperimentByAdmin_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentByAdmin_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -83470,11 +88227,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getExperimentByAdmin_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentByAdmin_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -83494,11 +88252,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getExperimentByAdmin_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentByAdmin_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -83518,11 +88277,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getExperimentByAdmin_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentByAdmin_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -83542,7 +88302,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -83595,6 +88356,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -83620,6 +88383,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -83644,8 +88408,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentByAdmin_result)
         return this.equals((getExperimentByAdmin_result)that);
       return false;
@@ -83753,7 +88515,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83763,7 +88525,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83773,7 +88535,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83783,7 +88545,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83793,7 +88555,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83803,7 +88565,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83816,10 +88578,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -83909,6 +88674,7 @@
     }
 
     private static class getExperimentByAdmin_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentByAdmin_resultStandardScheme getScheme() {
         return new getExperimentByAdmin_resultStandardScheme();
       }
@@ -83916,6 +88682,7 @@
 
     private static class getExperimentByAdmin_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentByAdmin_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -83991,6 +88758,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -84032,6 +88800,7 @@
     }
 
     private static class getExperimentByAdmin_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentByAdmin_resultTupleScheme getScheme() {
         return new getExperimentByAdmin_resultTupleScheme();
       }
@@ -84124,6 +88893,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDetailedExperimentTree_args implements org.apache.thrift.TBase<getDetailedExperimentTree_args, getDetailedExperimentTree_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDetailedExperimentTree_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDetailedExperimentTree_args");
 
@@ -84133,8 +88903,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDetailedExperimentTree_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDetailedExperimentTree_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -84152,6 +88922,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -84176,6 +88947,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -84188,10 +88960,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -84233,6 +89007,7 @@
       }
     }
 
+    @Override
     public getDetailedExperimentTree_args deepCopy() {
       return new getDetailedExperimentTree_args(this);
     }
@@ -84243,11 +89018,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getDetailedExperimentTree_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getDetailedExperimentTree_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -84267,11 +89043,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getDetailedExperimentTree_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getDetailedExperimentTree_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -84291,7 +89068,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -84312,6 +89090,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -84325,6 +89105,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -84341,8 +89122,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDetailedExperimentTree_args)
         return this.equals((getDetailedExperimentTree_args)that);
       return false;
@@ -84398,7 +89177,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -84408,7 +89187,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -84421,14 +89200,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -84488,6 +89271,7 @@
     }
 
     private static class getDetailedExperimentTree_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_argsStandardScheme getScheme() {
         return new getDetailedExperimentTree_argsStandardScheme();
       }
@@ -84495,6 +89279,7 @@
 
     private static class getDetailedExperimentTree_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDetailedExperimentTree_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDetailedExperimentTree_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -84533,6 +89318,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDetailedExperimentTree_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -84554,6 +89340,7 @@
     }
 
     private static class getDetailedExperimentTree_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_argsTupleScheme getScheme() {
         return new getDetailedExperimentTree_argsTupleScheme();
       }
@@ -84584,6 +89371,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDetailedExperimentTree_result implements org.apache.thrift.TBase<getDetailedExperimentTree_result, getDetailedExperimentTree_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDetailedExperimentTree_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDetailedExperimentTree_result");
 
@@ -84597,12 +89385,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDetailedExperimentTree_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDetailedExperimentTree_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentModel success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -84624,6 +89412,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -84656,6 +89445,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -84668,10 +89458,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -84741,6 +89533,7 @@
       }
     }
 
+    @Override
     public getDetailedExperimentTree_result deepCopy() {
       return new getDetailedExperimentTree_result(this);
     }
@@ -84755,11 +89548,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getSuccess() {
       return this.success;
     }
 
-    public getDetailedExperimentTree_result setSuccess(org.apache.airavata.model.experiment.ExperimentModel success) {
+    public getDetailedExperimentTree_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success) {
       this.success = success;
       return this;
     }
@@ -84779,11 +89573,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getDetailedExperimentTree_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getDetailedExperimentTree_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -84803,11 +89598,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getDetailedExperimentTree_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getDetailedExperimentTree_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -84827,11 +89623,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getDetailedExperimentTree_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getDetailedExperimentTree_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -84851,11 +89648,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getDetailedExperimentTree_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getDetailedExperimentTree_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -84875,11 +89673,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getDetailedExperimentTree_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getDetailedExperimentTree_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -84899,7 +89698,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -84952,6 +89752,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -84977,6 +89779,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -85001,8 +89804,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDetailedExperimentTree_result)
         return this.equals((getDetailedExperimentTree_result)that);
       return false;
@@ -85110,7 +89911,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85120,7 +89921,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85130,7 +89931,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85140,7 +89941,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85150,7 +89951,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85160,7 +89961,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85173,10 +89974,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -85266,6 +90070,7 @@
     }
 
     private static class getDetailedExperimentTree_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_resultStandardScheme getScheme() {
         return new getDetailedExperimentTree_resultStandardScheme();
       }
@@ -85273,6 +90078,7 @@
 
     private static class getDetailedExperimentTree_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDetailedExperimentTree_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDetailedExperimentTree_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -85348,6 +90154,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDetailedExperimentTree_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -85389,6 +90196,7 @@
     }
 
     private static class getDetailedExperimentTree_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_resultTupleScheme getScheme() {
         return new getDetailedExperimentTree_resultTupleScheme();
       }
@@ -85481,6 +90289,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperiment_args implements org.apache.thrift.TBase<updateExperiment_args, updateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperiment_args");
 
@@ -85491,9 +90300,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public org.apache.airavata.model.experiment.ExperimentModel experiment; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment; // 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 {
@@ -85512,6 +90321,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -85538,6 +90348,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -85550,10 +90361,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -85602,6 +90415,7 @@
       }
     }
 
+    @Override
     public updateExperiment_args deepCopy() {
       return new updateExperiment_args(this);
     }
@@ -85613,11 +90427,12 @@
       this.experiment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -85637,11 +90452,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public updateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public updateExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -85661,11 +90477,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getExperiment() {
       return this.experiment;
     }
 
-    public updateExperiment_args setExperiment(org.apache.airavata.model.experiment.ExperimentModel experiment) {
+    public updateExperiment_args setExperiment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment) {
       this.experiment = experiment;
       return this;
     }
@@ -85685,7 +90502,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -85714,6 +90532,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -85730,6 +90550,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -85748,8 +90569,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperiment_args)
         return this.equals((updateExperiment_args)that);
       return false;
@@ -85818,7 +90637,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85828,7 +90647,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85838,7 +90657,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperiment()).compareTo(other.isSetExperiment());
+      lastComparison = java.lang.Boolean.compare(isSetExperiment(), other.isSetExperiment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85851,14 +90670,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -85932,6 +90755,7 @@
     }
 
     private static class updateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_argsStandardScheme getScheme() {
         return new updateExperiment_argsStandardScheme();
       }
@@ -85939,6 +90763,7 @@
 
     private static class updateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -85986,6 +90811,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -86012,6 +90838,7 @@
     }
 
     private static class updateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_argsTupleScheme getScheme() {
         return new updateExperiment_argsTupleScheme();
       }
@@ -86046,6 +90873,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperiment_result implements org.apache.thrift.TBase<updateExperiment_result, updateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperiment_result");
 
@@ -86058,11 +90886,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperiment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -86083,6 +90911,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IRE
@@ -86113,6 +90942,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -86125,10 +90955,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -86191,6 +91023,7 @@
       }
     }
 
+    @Override
     public updateExperiment_result deepCopy() {
       return new updateExperiment_result(this);
     }
@@ -86204,11 +91037,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -86228,11 +91062,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public updateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public updateExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -86252,11 +91087,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -86276,11 +91112,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -86300,11 +91137,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -86324,7 +91162,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IRE:
         if (value == null) {
@@ -86369,6 +91208,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IRE:
@@ -86391,6 +91232,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -86413,8 +91255,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperiment_result)
         return this.equals((updateExperiment_result)that);
       return false;
@@ -86509,7 +91349,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86519,7 +91359,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86529,7 +91369,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86539,7 +91379,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86549,7 +91389,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86562,10 +91402,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -86644,6 +91487,7 @@
     }
 
     private static class updateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_resultStandardScheme getScheme() {
         return new updateExperiment_resultStandardScheme();
       }
@@ -86651,6 +91495,7 @@
 
     private static class updateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -86717,6 +91562,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -86753,6 +91599,7 @@
     }
 
     private static class updateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_resultTupleScheme getScheme() {
         return new updateExperiment_resultTupleScheme();
       }
@@ -86834,6 +91681,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperimentConfiguration_args implements org.apache.thrift.TBase<updateExperimentConfiguration_args, updateExperimentConfiguration_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperimentConfiguration_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperimentConfiguration_args");
 
@@ -86844,9 +91692,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperimentConfiguration_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperimentConfiguration_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration; // 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 {
@@ -86865,6 +91713,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -86891,6 +91740,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -86903,10 +91753,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -86955,6 +91807,7 @@
       }
     }
 
+    @Override
     public updateExperimentConfiguration_args deepCopy() {
       return new updateExperimentConfiguration_args(this);
     }
@@ -86966,11 +91819,12 @@
       this.userConfiguration = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateExperimentConfiguration_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateExperimentConfiguration_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -86990,11 +91844,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public updateExperimentConfiguration_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public updateExperimentConfiguration_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -87014,11 +91869,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.UserConfigurationDataModel getUserConfiguration() {
       return this.userConfiguration;
     }
 
-    public updateExperimentConfiguration_args setUserConfiguration(org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) {
+    public updateExperimentConfiguration_args setUserConfiguration(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) {
       this.userConfiguration = userConfiguration;
       return this;
     }
@@ -87038,7 +91894,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -87067,6 +91924,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -87083,6 +91942,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -87101,8 +91961,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperimentConfiguration_args)
         return this.equals((updateExperimentConfiguration_args)that);
       return false;
@@ -87171,7 +92029,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87181,7 +92039,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87191,7 +92049,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserConfiguration()).compareTo(other.isSetUserConfiguration());
+      lastComparison = java.lang.Boolean.compare(isSetUserConfiguration(), other.isSetUserConfiguration());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87204,14 +92062,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -87285,6 +92147,7 @@
     }
 
     private static class updateExperimentConfiguration_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_argsStandardScheme getScheme() {
         return new updateExperimentConfiguration_argsStandardScheme();
       }
@@ -87292,6 +92155,7 @@
 
     private static class updateExperimentConfiguration_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentConfiguration_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentConfiguration_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -87339,6 +92203,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentConfiguration_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -87365,6 +92230,7 @@
     }
 
     private static class updateExperimentConfiguration_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_argsTupleScheme getScheme() {
         return new updateExperimentConfiguration_argsTupleScheme();
       }
@@ -87399,6 +92265,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperimentConfiguration_result implements org.apache.thrift.TBase<updateExperimentConfiguration_result, updateExperimentConfiguration_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperimentConfiguration_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperimentConfiguration_result");
 
@@ -87407,7 +92274,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperimentConfiguration_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperimentConfiguration_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -87424,6 +92291,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AE
@@ -87446,6 +92314,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -87458,10 +92327,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -87496,6 +92367,7 @@
       }
     }
 
+    @Override
     public updateExperimentConfiguration_result deepCopy() {
       return new updateExperimentConfiguration_result(this);
     }
@@ -87505,11 +92377,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateExperimentConfiguration_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateExperimentConfiguration_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -87529,7 +92402,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AE:
         if (value == null) {
@@ -87542,6 +92416,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AE:
@@ -87552,6 +92428,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -87566,8 +92443,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperimentConfiguration_result)
         return this.equals((updateExperimentConfiguration_result)that);
       return false;
@@ -87610,7 +92485,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87623,10 +92498,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -87673,6 +92551,7 @@
     }
 
     private static class updateExperimentConfiguration_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_resultStandardScheme getScheme() {
         return new updateExperimentConfiguration_resultStandardScheme();
       }
@@ -87680,6 +92559,7 @@
 
     private static class updateExperimentConfiguration_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentConfiguration_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentConfiguration_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -87710,6 +92590,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentConfiguration_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -87726,6 +92607,7 @@
     }
 
     private static class updateExperimentConfiguration_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_resultTupleScheme getScheme() {
         return new updateExperimentConfiguration_resultTupleScheme();
       }
@@ -87763,6 +92645,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceScheduleing_args implements org.apache.thrift.TBase<updateResourceScheduleing_args, updateResourceScheduleing_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceScheduleing_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceScheduleing_args");
 
@@ -87773,9 +92656,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateResourceScheduleing_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceScheduleing_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling; // 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 {
@@ -87794,6 +92677,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -87820,6 +92704,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -87832,10 +92717,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -87884,6 +92771,7 @@
       }
     }
 
+    @Override
     public updateResourceScheduleing_args deepCopy() {
       return new updateResourceScheduleing_args(this);
     }
@@ -87895,11 +92783,12 @@
       this.resourceScheduling = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateResourceScheduleing_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateResourceScheduleing_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -87919,11 +92808,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public updateResourceScheduleing_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public updateResourceScheduleing_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -87943,11 +92833,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel getResourceScheduling() {
       return this.resourceScheduling;
     }
 
-    public updateResourceScheduleing_args setResourceScheduling(org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) {
+    public updateResourceScheduleing_args setResourceScheduling(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) {
       this.resourceScheduling = resourceScheduling;
       return this;
     }
@@ -87967,7 +92858,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -87996,6 +92888,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -88012,6 +92906,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -88030,8 +92925,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceScheduleing_args)
         return this.equals((updateResourceScheduleing_args)that);
       return false;
@@ -88100,7 +92993,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88110,7 +93003,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88120,7 +93013,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceScheduling()).compareTo(other.isSetResourceScheduling());
+      lastComparison = java.lang.Boolean.compare(isSetResourceScheduling(), other.isSetResourceScheduling());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88133,14 +93026,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -88214,6 +93111,7 @@
     }
 
     private static class updateResourceScheduleing_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_argsStandardScheme getScheme() {
         return new updateResourceScheduleing_argsStandardScheme();
       }
@@ -88221,6 +93119,7 @@
 
     private static class updateResourceScheduleing_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceScheduleing_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceScheduleing_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -88268,6 +93167,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceScheduleing_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -88294,6 +93194,7 @@
     }
 
     private static class updateResourceScheduleing_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_argsTupleScheme getScheme() {
         return new updateResourceScheduleing_argsTupleScheme();
       }
@@ -88328,6 +93229,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceScheduleing_result implements org.apache.thrift.TBase<updateResourceScheduleing_result, updateResourceScheduleing_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceScheduleing_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceScheduleing_result");
 
@@ -88336,7 +93238,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateResourceScheduleing_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceScheduleing_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -88353,6 +93255,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AE
@@ -88375,6 +93278,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -88387,10 +93291,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -88425,6 +93331,7 @@
       }
     }
 
+    @Override
     public updateResourceScheduleing_result deepCopy() {
       return new updateResourceScheduleing_result(this);
     }
@@ -88434,11 +93341,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateResourceScheduleing_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateResourceScheduleing_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -88458,7 +93366,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AE:
         if (value == null) {
@@ -88471,6 +93380,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AE:
@@ -88481,6 +93392,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -88495,8 +93407,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceScheduleing_result)
         return this.equals((updateResourceScheduleing_result)that);
       return false;
@@ -88539,7 +93449,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88552,10 +93462,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -88602,6 +93515,7 @@
     }
 
     private static class updateResourceScheduleing_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_resultStandardScheme getScheme() {
         return new updateResourceScheduleing_resultStandardScheme();
       }
@@ -88609,6 +93523,7 @@
 
     private static class updateResourceScheduleing_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceScheduleing_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceScheduleing_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -88639,6 +93554,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceScheduleing_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -88655,6 +93571,7 @@
     }
 
     private static class updateResourceScheduleing_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_resultTupleScheme getScheme() {
         return new updateResourceScheduleing_resultTupleScheme();
       }
@@ -88692,6 +93609,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class validateExperiment_args implements org.apache.thrift.TBase<validateExperiment_args, validateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_args");
 
@@ -88701,8 +93619,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new validateExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -88720,6 +93638,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -88744,6 +93663,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -88756,10 +93676,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -88801,6 +93723,7 @@
       }
     }
 
+    @Override
     public validateExperiment_args deepCopy() {
       return new validateExperiment_args(this);
     }
@@ -88811,11 +93734,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public validateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public validateExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -88835,11 +93759,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public validateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public validateExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -88859,7 +93784,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -88880,6 +93806,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -88893,6 +93821,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -88909,8 +93838,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof validateExperiment_args)
         return this.equals((validateExperiment_args)that);
       return false;
@@ -88966,7 +93893,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88976,7 +93903,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88989,14 +93916,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -89056,6 +93987,7 @@
     }
 
     private static class validateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_argsStandardScheme getScheme() {
         return new validateExperiment_argsStandardScheme();
       }
@@ -89063,6 +93995,7 @@
 
     private static class validateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -89101,6 +94034,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -89122,6 +94056,7 @@
     }
 
     private static class validateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_argsTupleScheme getScheme() {
         return new validateExperiment_argsTupleScheme();
       }
@@ -89152,6 +94087,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class validateExperiment_result implements org.apache.thrift.TBase<validateExperiment_result, validateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_result");
 
@@ -89166,11 +94102,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateExperiment_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -89192,6 +94128,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -89224,6 +94161,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -89236,10 +94174,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -89311,6 +94251,7 @@
       }
     }
 
+    @Override
     public validateExperiment_result deepCopy() {
       return new validateExperiment_result(this);
     }
@@ -89349,11 +94290,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public validateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public validateExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -89373,11 +94315,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public validateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public validateExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -89397,11 +94340,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public validateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public validateExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -89421,11 +94365,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public validateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public validateExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -89445,11 +94390,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public validateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public validateExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -89469,7 +94415,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -89522,6 +94469,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -89547,6 +94496,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -89571,8 +94521,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof validateExperiment_result)
         return this.equals((validateExperiment_result)that);
       return false;
@@ -89678,7 +94626,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89688,7 +94636,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89698,7 +94646,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89708,7 +94656,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89718,7 +94666,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89728,7 +94676,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89741,10 +94689,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -89829,6 +94780,7 @@
     }
 
     private static class validateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_resultStandardScheme getScheme() {
         return new validateExperiment_resultStandardScheme();
       }
@@ -89836,6 +94788,7 @@
 
     private static class validateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -89910,6 +94863,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -89951,6 +94905,7 @@
     }
 
     private static class validateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_resultTupleScheme getScheme() {
         return new validateExperiment_resultTupleScheme();
       }
@@ -90042,6 +94997,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class launchExperiment_args implements org.apache.thrift.TBase<launchExperiment_args, launchExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_args");
 
@@ -90052,9 +95008,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -90073,6 +95029,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -90099,6 +95056,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -90111,10 +95069,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -90163,6 +95123,7 @@
       }
     }
 
+    @Override
     public launchExperiment_args deepCopy() {
       return new launchExperiment_args(this);
     }
@@ -90174,11 +95135,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public launchExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public launchExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -90198,11 +95160,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public launchExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public launchExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -90222,11 +95185,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public launchExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public launchExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -90246,7 +95210,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -90275,6 +95240,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -90291,6 +95258,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -90309,8 +95277,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof launchExperiment_args)
         return this.equals((launchExperiment_args)that);
       return false;
@@ -90379,7 +95345,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -90389,7 +95355,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -90399,7 +95365,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -90412,14 +95378,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -90490,6 +95460,7 @@
     }
 
     private static class launchExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_argsStandardScheme getScheme() {
         return new launchExperiment_argsStandardScheme();
       }
@@ -90497,6 +95468,7 @@
 
     private static class launchExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -90543,6 +95515,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -90569,6 +95542,7 @@
     }
 
     private static class launchExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_argsTupleScheme getScheme() {
         return new launchExperiment_argsTupleScheme();
       }
@@ -90602,6 +95576,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class launchExperiment_result implements org.apache.thrift.TBase<launchExperiment_result, launchExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_result");
 
@@ -90614,11 +95589,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -90639,6 +95614,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IRE
@@ -90669,6 +95645,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -90681,10 +95658,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -90747,6 +95726,7 @@
       }
     }
 
+    @Override
     public launchExperiment_result deepCopy() {
       return new launchExperiment_result(this);
     }
@@ -90760,11 +95740,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public launchExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public launchExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -90784,11 +95765,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public launchExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public launchExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -90808,11 +95790,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public launchExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public launchExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -90832,11 +95815,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public launchExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public launchExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -90856,11 +95840,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public launchExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public launchExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -90880,7 +95865,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IRE:
         if (value == null) {
@@ -90925,6 +95911,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IRE:
@@ -90947,6 +95935,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -90969,8 +95958,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof launchExperiment_result)
         return this.equals((launchExperiment_result)that);
       return false;
@@ -91065,7 +96052,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91075,7 +96062,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91085,7 +96072,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91095,7 +96082,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91105,7 +96092,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91118,10 +96105,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -91200,6 +96190,7 @@
     }
 
     private static class launchExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_resultStandardScheme getScheme() {
         return new launchExperiment_resultStandardScheme();
       }
@@ -91207,6 +96198,7 @@
 
     private static class launchExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -91273,6 +96265,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -91309,6 +96302,7 @@
     }
 
     private static class launchExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_resultTupleScheme getScheme() {
         return new launchExperiment_resultTupleScheme();
       }
@@ -91390,6 +96384,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatus_args implements org.apache.thrift.TBase<getExperimentStatus_args, getExperimentStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_args");
 
@@ -91399,8 +96394,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -91418,6 +96413,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -91442,6 +96438,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -91454,10 +96451,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -91499,6 +96498,7 @@
       }
     }
 
+    @Override
     public getExperimentStatus_args deepCopy() {
       return new getExperimentStatus_args(this);
     }
@@ -91509,11 +96509,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getExperimentStatus_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentStatus_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -91533,11 +96534,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperimentStatus_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentStatus_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -91557,7 +96559,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -91578,6 +96581,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -91591,6 +96596,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -91607,8 +96613,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatus_args)
         return this.equals((getExperimentStatus_args)that);
       return false;
@@ -91664,7 +96668,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91674,7 +96678,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91687,14 +96691,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -91754,6 +96762,7 @@
     }
 
     private static class getExperimentStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_argsStandardScheme getScheme() {
         return new getExperimentStatus_argsStandardScheme();
       }
@@ -91761,6 +96770,7 @@
 
     private static class getExperimentStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -91799,6 +96809,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -91820,6 +96831,7 @@
     }
 
     private static class getExperimentStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_argsTupleScheme getScheme() {
         return new getExperimentStatus_argsTupleScheme();
       }
@@ -91850,6 +96862,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatus_result implements org.apache.thrift.TBase<getExperimentStatus_result, getExperimentStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_result");
 
@@ -91863,12 +96876,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ExperimentStatus success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -91890,6 +96903,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -91922,6 +96936,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -91934,10 +96949,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -92007,6 +97024,7 @@
       }
     }
 
+    @Override
     public getExperimentStatus_result deepCopy() {
       return new getExperimentStatus_result(this);
     }
@@ -92021,11 +97039,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ExperimentStatus getSuccess() {
       return this.success;
     }
 
-    public getExperimentStatus_result setSuccess(org.apache.airavata.model.status.ExperimentStatus success) {
+    public getExperimentStatus_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus success) {
       this.success = success;
       return this;
     }
@@ -92045,11 +97064,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getExperimentStatus_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentStatus_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -92069,11 +97089,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperimentStatus_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentStatus_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -92093,11 +97114,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getExperimentStatus_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentStatus_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -92117,11 +97139,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getExperimentStatus_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentStatus_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -92141,11 +97164,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getExperimentStatus_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentStatus_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -92165,7 +97189,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -92218,6 +97243,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -92243,6 +97270,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -92267,8 +97295,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatus_result)
         return this.equals((getExperimentStatus_result)that);
       return false;
@@ -92376,7 +97402,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92386,7 +97412,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92396,7 +97422,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92406,7 +97432,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92416,7 +97442,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92426,7 +97452,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92439,10 +97465,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -92532,6 +97561,7 @@
     }
 
     private static class getExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_resultStandardScheme getScheme() {
         return new getExperimentStatus_resultStandardScheme();
       }
@@ -92539,6 +97569,7 @@
 
     private static class getExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -92614,6 +97645,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -92655,6 +97687,7 @@
     }
 
     private static class getExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_resultTupleScheme getScheme() {
         return new getExperimentStatus_resultTupleScheme();
       }
@@ -92747,6 +97780,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentOutputs_args implements org.apache.thrift.TBase<getExperimentOutputs_args, getExperimentOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_args");
 
@@ -92756,8 +97790,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -92775,6 +97809,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -92799,6 +97834,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -92811,10 +97847,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -92856,6 +97894,7 @@
       }
     }
 
+    @Override
     public getExperimentOutputs_args deepCopy() {
       return new getExperimentOutputs_args(this);
     }
@@ -92866,11 +97905,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getExperimentOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getExperimentOutputs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -92890,11 +97930,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperimentOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentOutputs_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -92914,7 +97955,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -92935,6 +97977,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -92948,6 +97992,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -92964,8 +98009,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentOutputs_args)
         return this.equals((getExperimentOutputs_args)that);
       return false;
@@ -93021,7 +98064,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93031,7 +98074,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93044,14 +98087,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -93111,6 +98158,7 @@
     }
 
     private static class getExperimentOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_argsStandardScheme getScheme() {
         return new getExperimentOutputs_argsStandardScheme();
       }
@@ -93118,6 +98166,7 @@
 
     private static class getExperimentOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -93156,6 +98205,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -93177,6 +98227,7 @@
     }
 
     private static class getExperimentOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_argsTupleScheme getScheme() {
         return new getExperimentOutputs_argsTupleScheme();
       }
@@ -93207,6 +98258,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentOutputs_result implements org.apache.thrift.TBase<getExperimentOutputs_result, getExperimentOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_result");
 
@@ -93220,12 +98272,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -93247,6 +98299,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -93279,6 +98332,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -93291,10 +98345,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -93369,6 +98425,7 @@
       }
     }
 
+    @Override
     public getExperimentOutputs_result deepCopy() {
       return new getExperimentOutputs_result(this);
     }
@@ -93387,6 +98444,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -93398,11 +98456,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getExperimentOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getExperimentOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -93422,11 +98481,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getExperimentOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getExperimentOutputs_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -93446,11 +98506,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperimentOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentOutputs_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -93470,11 +98531,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getExperimentOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getExperimentOutputs_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -93494,11 +98556,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getExperimentOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getExperimentOutputs_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -93518,11 +98581,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getExperimentOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getExperimentOutputs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -93542,7 +98606,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -93595,6 +98660,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -93620,6 +98687,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -93644,8 +98712,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentOutputs_result)
         return this.equals((getExperimentOutputs_result)that);
       return false;
@@ -93753,7 +98819,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93763,7 +98829,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93773,7 +98839,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93783,7 +98849,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93793,7 +98859,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93803,7 +98869,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93816,10 +98882,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -93906,6 +98975,7 @@
     }
 
     private static class getExperimentOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_resultStandardScheme getScheme() {
         return new getExperimentOutputs_resultStandardScheme();
       }
@@ -93913,6 +98983,7 @@
 
     private static class getExperimentOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -93928,7 +98999,7 @@
                 {
                   org.apache.thrift.protocol.TList _list92 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list92.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem93;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem93;
                   for (int _i94 = 0; _i94 < _list92.size; ++_i94)
                   {
                     _elem93 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -93998,6 +99069,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -94046,6 +99118,7 @@
     }
 
     private static class getExperimentOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_resultTupleScheme getScheme() {
         return new getExperimentOutputs_resultTupleScheme();
       }
@@ -94108,9 +99181,9 @@
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list97 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list97 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list97.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem98;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem98;
             for (int _i99 = 0; _i99 < _list97.size; ++_i99)
             {
               _elem98 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -94153,6 +99226,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getIntermediateOutputs_args implements org.apache.thrift.TBase<getIntermediateOutputs_args, getIntermediateOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_args");
 
@@ -94162,8 +99236,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -94181,6 +99255,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -94205,6 +99280,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -94217,10 +99293,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -94262,6 +99340,7 @@
       }
     }
 
+    @Override
     public getIntermediateOutputs_args deepCopy() {
       return new getIntermediateOutputs_args(this);
     }
@@ -94272,11 +99351,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getIntermediateOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getIntermediateOutputs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -94296,11 +99376,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getIntermediateOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getIntermediateOutputs_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -94320,7 +99401,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -94341,6 +99423,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -94354,6 +99438,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -94370,8 +99455,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getIntermediateOutputs_args)
         return this.equals((getIntermediateOutputs_args)that);
       return false;
@@ -94427,7 +99510,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -94437,7 +99520,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -94450,14 +99533,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -94517,6 +99604,7 @@
     }
 
     private static class getIntermediateOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_argsStandardScheme getScheme() {
         return new getIntermediateOutputs_argsStandardScheme();
       }
@@ -94524,6 +99612,7 @@
 
     private static class getIntermediateOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -94562,6 +99651,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -94583,6 +99673,7 @@
     }
 
     private static class getIntermediateOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_argsTupleScheme getScheme() {
         return new getIntermediateOutputs_argsTupleScheme();
       }
@@ -94613,6 +99704,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getIntermediateOutputs_result implements org.apache.thrift.TBase<getIntermediateOutputs_result, getIntermediateOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_result");
 
@@ -94626,12 +99718,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -94653,6 +99745,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -94685,6 +99778,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -94697,10 +99791,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -94775,6 +99871,7 @@
       }
     }
 
+    @Override
     public getIntermediateOutputs_result deepCopy() {
       return new getIntermediateOutputs_result(this);
     }
@@ -94793,6 +99890,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -94804,11 +99902,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getIntermediateOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getIntermediateOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -94828,11 +99927,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getIntermediateOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getIntermediateOutputs_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -94852,11 +99952,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getIntermediateOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getIntermediateOutputs_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -94876,11 +99977,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getIntermediateOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getIntermediateOutputs_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -94900,11 +100002,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getIntermediateOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getIntermediateOutputs_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -94924,11 +100027,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getIntermediateOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getIntermediateOutputs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -94948,7 +100052,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -95001,6 +100106,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -95026,6 +100133,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -95050,8 +100158,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getIntermediateOutputs_result)
         return this.equals((getIntermediateOutputs_result)that);
       return false;
@@ -95159,7 +100265,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95169,7 +100275,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95179,7 +100285,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95189,7 +100295,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95199,7 +100305,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95209,7 +100315,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95222,10 +100328,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -95312,6 +100421,7 @@
     }
 
     private static class getIntermediateOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_resultStandardScheme getScheme() {
         return new getIntermediateOutputs_resultStandardScheme();
       }
@@ -95319,6 +100429,7 @@
 
     private static class getIntermediateOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -95334,7 +100445,7 @@
                 {
                   org.apache.thrift.protocol.TList _list100 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list100.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem101;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem101;
                   for (int _i102 = 0; _i102 < _list100.size; ++_i102)
                   {
                     _elem101 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -95404,6 +100515,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -95452,6 +100564,7 @@
     }
 
     private static class getIntermediateOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_resultTupleScheme getScheme() {
         return new getIntermediateOutputs_resultTupleScheme();
       }
@@ -95514,9 +100627,9 @@
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list105 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list105 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list105.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem106;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem106;
             for (int _i107 = 0; _i107 < _list105.size; ++_i107)
             {
               _elem106 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -95559,6 +100672,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class fetchIntermediateOutputs_args implements org.apache.thrift.TBase<fetchIntermediateOutputs_args, fetchIntermediateOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<fetchIntermediateOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fetchIntermediateOutputs_args");
 
@@ -95569,9 +100683,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new fetchIntermediateOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new fetchIntermediateOutputs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public java.util.List<java.lang.String> outputNames; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> outputNames; // 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 {
@@ -95590,6 +100704,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -95616,6 +100731,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -95628,10 +100744,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -95682,6 +100800,7 @@
       }
     }
 
+    @Override
     public fetchIntermediateOutputs_args deepCopy() {
       return new fetchIntermediateOutputs_args(this);
     }
@@ -95693,11 +100812,12 @@
       this.outputNames = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public fetchIntermediateOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public fetchIntermediateOutputs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -95717,11 +100837,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public fetchIntermediateOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public fetchIntermediateOutputs_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -95745,6 +100866,7 @@
       return (this.outputNames == null) ? 0 : this.outputNames.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getOutputNamesIterator() {
       return (this.outputNames == null) ? null : this.outputNames.iterator();
     }
@@ -95756,11 +100878,12 @@
       this.outputNames.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getOutputNames() {
       return this.outputNames;
     }
 
-    public fetchIntermediateOutputs_args setOutputNames(java.util.List<java.lang.String> outputNames) {
+    public fetchIntermediateOutputs_args setOutputNames(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> outputNames) {
       this.outputNames = outputNames;
       return this;
     }
@@ -95780,7 +100903,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -95809,6 +100933,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -95825,6 +100951,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -95843,8 +100970,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof fetchIntermediateOutputs_args)
         return this.equals((fetchIntermediateOutputs_args)that);
       return false;
@@ -95913,7 +101038,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95923,7 +101048,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95933,7 +101058,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOutputNames()).compareTo(other.isSetOutputNames());
+      lastComparison = java.lang.Boolean.compare(isSetOutputNames(), other.isSetOutputNames());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95946,14 +101071,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -96024,6 +101153,7 @@
     }
 
     private static class fetchIntermediateOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public fetchIntermediateOutputs_argsStandardScheme getScheme() {
         return new fetchIntermediateOutputs_argsStandardScheme();
       }
@@ -96031,6 +101161,7 @@
 
     private static class fetchIntermediateOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<fetchIntermediateOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, fetchIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -96063,7 +101194,7 @@
                 {
                   org.apache.thrift.protocol.TList _list108 = iprot.readListBegin();
                   struct.outputNames = new java.util.ArrayList<java.lang.String>(_list108.size);
-                  java.lang.String _elem109;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem109;
                   for (int _i110 = 0; _i110 < _list108.size; ++_i110)
                   {
                     _elem109 = iprot.readString();
@@ -96087,6 +101218,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, fetchIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -96120,6 +101252,7 @@
     }
 
     private static class fetchIntermediateOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public fetchIntermediateOutputs_argsTupleScheme getScheme() {
         return new fetchIntermediateOutputs_argsTupleScheme();
       }
@@ -96150,9 +101283,9 @@
         struct.airavataExperimentId = iprot.readString();
         struct.setAiravataExperimentIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list113 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list113 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.outputNames = new java.util.ArrayList<java.lang.String>(_list113.size);
-          java.lang.String _elem114;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem114;
           for (int _i115 = 0; _i115 < _list113.size; ++_i115)
           {
             _elem114 = iprot.readString();
@@ -96168,6 +101301,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class fetchIntermediateOutputs_result implements org.apache.thrift.TBase<fetchIntermediateOutputs_result, fetchIntermediateOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<fetchIntermediateOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("fetchIntermediateOutputs_result");
 
@@ -96180,11 +101314,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new fetchIntermediateOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new fetchIntermediateOutputs_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -96205,6 +101339,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IRE
@@ -96235,6 +101370,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -96247,10 +101383,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -96313,6 +101451,7 @@
       }
     }
 
+    @Override
     public fetchIntermediateOutputs_result deepCopy() {
       return new fetchIntermediateOutputs_result(this);
     }
@@ -96326,11 +101465,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public fetchIntermediateOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public fetchIntermediateOutputs_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -96350,11 +101490,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public fetchIntermediateOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public fetchIntermediateOutputs_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -96374,11 +101515,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public fetchIntermediateOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public fetchIntermediateOutputs_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -96398,11 +101540,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public fetchIntermediateOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public fetchIntermediateOutputs_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -96422,11 +101565,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public fetchIntermediateOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public fetchIntermediateOutputs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -96446,7 +101590,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IRE:
         if (value == null) {
@@ -96491,6 +101636,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IRE:
@@ -96513,6 +101660,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -96535,8 +101683,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof fetchIntermediateOutputs_result)
         return this.equals((fetchIntermediateOutputs_result)that);
       return false;
@@ -96631,7 +101777,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96641,7 +101787,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96651,7 +101797,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96661,7 +101807,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96671,7 +101817,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96684,10 +101830,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -96766,6 +101915,7 @@
     }
 
     private static class fetchIntermediateOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public fetchIntermediateOutputs_resultStandardScheme getScheme() {
         return new fetchIntermediateOutputs_resultStandardScheme();
       }
@@ -96773,6 +101923,7 @@
 
     private static class fetchIntermediateOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<fetchIntermediateOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, fetchIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -96839,6 +101990,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, fetchIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -96875,6 +102027,7 @@
     }
 
     private static class fetchIntermediateOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public fetchIntermediateOutputs_resultTupleScheme getScheme() {
         return new fetchIntermediateOutputs_resultTupleScheme();
       }
@@ -96956,6 +102109,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getIntermediateOutputProcessStatus_args implements org.apache.thrift.TBase<getIntermediateOutputProcessStatus_args, getIntermediateOutputProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputProcessStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputProcessStatus_args");
 
@@ -96966,9 +102120,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputProcessStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputProcessStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public java.util.List<java.lang.String> outputNames; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> outputNames; // 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 {
@@ -96987,6 +102141,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -97013,6 +102168,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -97025,10 +102181,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -97079,6 +102237,7 @@
       }
     }
 
+    @Override
     public getIntermediateOutputProcessStatus_args deepCopy() {
       return new getIntermediateOutputProcessStatus_args(this);
     }
@@ -97090,11 +102249,12 @@
       this.outputNames = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getIntermediateOutputProcessStatus_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getIntermediateOutputProcessStatus_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -97114,11 +102274,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getIntermediateOutputProcessStatus_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getIntermediateOutputProcessStatus_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -97142,6 +102303,7 @@
       return (this.outputNames == null) ? 0 : this.outputNames.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getOutputNamesIterator() {
       return (this.outputNames == null) ? null : this.outputNames.iterator();
     }
@@ -97153,11 +102315,12 @@
       this.outputNames.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getOutputNames() {
       return this.outputNames;
     }
 
-    public getIntermediateOutputProcessStatus_args setOutputNames(java.util.List<java.lang.String> outputNames) {
+    public getIntermediateOutputProcessStatus_args setOutputNames(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> outputNames) {
       this.outputNames = outputNames;
       return this;
     }
@@ -97177,7 +102340,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -97206,6 +102370,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -97222,6 +102388,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -97240,8 +102407,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getIntermediateOutputProcessStatus_args)
         return this.equals((getIntermediateOutputProcessStatus_args)that);
       return false;
@@ -97310,7 +102475,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -97320,7 +102485,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -97330,7 +102495,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOutputNames()).compareTo(other.isSetOutputNames());
+      lastComparison = java.lang.Boolean.compare(isSetOutputNames(), other.isSetOutputNames());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -97343,14 +102508,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -97421,6 +102590,7 @@
     }
 
     private static class getIntermediateOutputProcessStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputProcessStatus_argsStandardScheme getScheme() {
         return new getIntermediateOutputProcessStatus_argsStandardScheme();
       }
@@ -97428,6 +102598,7 @@
 
     private static class getIntermediateOutputProcessStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputProcessStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -97460,7 +102631,7 @@
                 {
                   org.apache.thrift.protocol.TList _list116 = iprot.readListBegin();
                   struct.outputNames = new java.util.ArrayList<java.lang.String>(_list116.size);
-                  java.lang.String _elem117;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem117;
                   for (int _i118 = 0; _i118 < _list116.size; ++_i118)
                   {
                     _elem117 = iprot.readString();
@@ -97484,6 +102655,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputProcessStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -97517,6 +102689,7 @@
     }
 
     private static class getIntermediateOutputProcessStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputProcessStatus_argsTupleScheme getScheme() {
         return new getIntermediateOutputProcessStatus_argsTupleScheme();
       }
@@ -97547,9 +102720,9 @@
         struct.airavataExperimentId = iprot.readString();
         struct.setAiravataExperimentIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list121 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list121 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.outputNames = new java.util.ArrayList<java.lang.String>(_list121.size);
-          java.lang.String _elem122;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem122;
           for (int _i123 = 0; _i123 < _list121.size; ++_i123)
           {
             _elem122 = iprot.readString();
@@ -97565,6 +102738,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getIntermediateOutputProcessStatus_result implements org.apache.thrift.TBase<getIntermediateOutputProcessStatus_result, getIntermediateOutputProcessStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputProcessStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputProcessStatus_result");
 
@@ -97578,12 +102752,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputProcessStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputProcessStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ProcessStatus success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -97605,6 +102779,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -97637,6 +102812,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -97649,10 +102825,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -97722,6 +102900,7 @@
       }
     }
 
+    @Override
     public getIntermediateOutputProcessStatus_result deepCopy() {
       return new getIntermediateOutputProcessStatus_result(this);
     }
@@ -97736,11 +102915,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ProcessStatus getSuccess() {
       return this.success;
     }
 
-    public getIntermediateOutputProcessStatus_result setSuccess(org.apache.airavata.model.status.ProcessStatus success) {
+    public getIntermediateOutputProcessStatus_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus success) {
       this.success = success;
       return this;
     }
@@ -97760,11 +102940,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getIntermediateOutputProcessStatus_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getIntermediateOutputProcessStatus_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -97784,11 +102965,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getIntermediateOutputProcessStatus_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getIntermediateOutputProcessStatus_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -97808,11 +102990,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getIntermediateOutputProcessStatus_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getIntermediateOutputProcessStatus_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -97832,11 +103015,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getIntermediateOutputProcessStatus_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getIntermediateOutputProcessStatus_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -97856,11 +103040,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getIntermediateOutputProcessStatus_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getIntermediateOutputProcessStatus_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -97880,7 +103065,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -97933,6 +103119,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -97958,6 +103146,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -97982,8 +103171,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getIntermediateOutputProcessStatus_result)
         return this.equals((getIntermediateOutputProcessStatus_result)that);
       return false;
@@ -98091,7 +103278,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98101,7 +103288,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98111,7 +103298,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98121,7 +103308,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98131,7 +103318,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98141,7 +103328,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98154,10 +103341,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -98247,6 +103437,7 @@
     }
 
     private static class getIntermediateOutputProcessStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputProcessStatus_resultStandardScheme getScheme() {
         return new getIntermediateOutputProcessStatus_resultStandardScheme();
       }
@@ -98254,6 +103445,7 @@
 
     private static class getIntermediateOutputProcessStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputProcessStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputProcessStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -98329,6 +103521,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputProcessStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -98370,6 +103563,7 @@
     }
 
     private static class getIntermediateOutputProcessStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputProcessStatus_resultTupleScheme getScheme() {
         return new getIntermediateOutputProcessStatus_resultTupleScheme();
       }
@@ -98462,6 +103656,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobStatuses_args implements org.apache.thrift.TBase<getJobStatuses_args, getJobStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_args");
 
@@ -98471,8 +103666,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -98490,6 +103685,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -98514,6 +103710,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -98526,10 +103723,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -98571,6 +103770,7 @@
       }
     }
 
+    @Override
     public getJobStatuses_args deepCopy() {
       return new getJobStatuses_args(this);
     }
@@ -98581,11 +103781,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getJobStatuses_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getJobStatuses_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -98605,11 +103806,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getJobStatuses_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getJobStatuses_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -98629,7 +103831,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -98650,6 +103853,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -98663,6 +103868,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -98679,8 +103885,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobStatuses_args)
         return this.equals((getJobStatuses_args)that);
       return false;
@@ -98736,7 +103940,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98746,7 +103950,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98759,14 +103963,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -98826,6 +104034,7 @@
     }
 
     private static class getJobStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_argsStandardScheme getScheme() {
         return new getJobStatuses_argsStandardScheme();
       }
@@ -98833,6 +104042,7 @@
 
     private static class getJobStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -98871,6 +104081,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -98892,6 +104103,7 @@
     }
 
     private static class getJobStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_argsTupleScheme getScheme() {
         return new getJobStatuses_argsTupleScheme();
       }
@@ -98922,6 +104134,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobStatuses_result implements org.apache.thrift.TBase<getJobStatuses_result, getJobStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_result");
 
@@ -98935,12 +104148,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -98962,6 +104175,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -98994,6 +104208,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -99006,10 +104221,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -99093,6 +104310,7 @@
       }
     }
 
+    @Override
     public getJobStatuses_result deepCopy() {
       return new getJobStatuses_result(this);
     }
@@ -99118,11 +104336,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getSuccess() {
       return this.success;
     }
 
-    public getJobStatuses_result setSuccess(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success) {
+    public getJobStatuses_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success) {
       this.success = success;
       return this;
     }
@@ -99142,11 +104361,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getJobStatuses_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getJobStatuses_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -99166,11 +104386,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getJobStatuses_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getJobStatuses_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -99190,11 +104411,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getJobStatuses_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getJobStatuses_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -99214,11 +104436,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getJobStatuses_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getJobStatuses_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -99238,11 +104461,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getJobStatuses_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getJobStatuses_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -99262,7 +104486,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -99315,6 +104540,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -99340,6 +104567,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -99364,8 +104592,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobStatuses_result)
         return this.equals((getJobStatuses_result)that);
       return false;
@@ -99473,7 +104699,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99483,7 +104709,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99493,7 +104719,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99503,7 +104729,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99513,7 +104739,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99523,7 +104749,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99536,10 +104762,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -99626,6 +104855,7 @@
     }
 
     private static class getJobStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_resultStandardScheme getScheme() {
         return new getJobStatuses_resultStandardScheme();
       }
@@ -99633,6 +104863,7 @@
 
     private static class getJobStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -99648,8 +104879,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map124 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map124.size);
-                  java.lang.String _key125;
-                  org.apache.airavata.model.status.JobStatus _val126;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key125;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus _val126;
                   for (int _i127 = 0; _i127 < _map124.size; ++_i127)
                   {
                     _key125 = iprot.readString();
@@ -99720,6 +104951,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -99769,6 +105001,7 @@
     }
 
     private static class getJobStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_resultTupleScheme getScheme() {
         return new getJobStatuses_resultTupleScheme();
       }
@@ -99832,10 +105065,10 @@
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map130 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map130 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT); 
             struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map130.size);
-            java.lang.String _key131;
-            org.apache.airavata.model.status.JobStatus _val132;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key131;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus _val132;
             for (int _i133 = 0; _i133 < _map130.size; ++_i133)
             {
               _key131 = iprot.readString();
@@ -99879,6 +105112,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobDetails_args implements org.apache.thrift.TBase<getJobDetails_args, getJobDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_args");
 
@@ -99888,8 +105122,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -99907,6 +105141,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -99931,6 +105166,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -99943,10 +105179,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -99988,6 +105226,7 @@
       }
     }
 
+    @Override
     public getJobDetails_args deepCopy() {
       return new getJobDetails_args(this);
     }
@@ -99998,11 +105237,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getJobDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getJobDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -100022,11 +105262,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getJobDetails_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getJobDetails_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -100046,7 +105287,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -100067,6 +105309,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -100080,6 +105324,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -100096,8 +105341,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobDetails_args)
         return this.equals((getJobDetails_args)that);
       return false;
@@ -100153,7 +105396,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100163,7 +105406,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100176,14 +105419,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -100243,6 +105490,7 @@
     }
 
     private static class getJobDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_argsStandardScheme getScheme() {
         return new getJobDetails_argsStandardScheme();
       }
@@ -100250,6 +105498,7 @@
 
     private static class getJobDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -100288,6 +105537,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -100309,6 +105559,7 @@
     }
 
     private static class getJobDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_argsTupleScheme getScheme() {
         return new getJobDetails_argsTupleScheme();
       }
@@ -100339,6 +105590,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobDetails_result implements org.apache.thrift.TBase<getJobDetails_result, getJobDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_result");
 
@@ -100352,12 +105604,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.job.JobModel> success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -100379,6 +105631,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -100411,6 +105664,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -100423,10 +105677,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -100501,6 +105757,7 @@
       }
     }
 
+    @Override
     public getJobDetails_result deepCopy() {
       return new getJobDetails_result(this);
     }
@@ -100519,6 +105776,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.job.JobModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -100530,11 +105788,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.job.JobModel> getSuccess() {
       return this.success;
     }
 
-    public getJobDetails_result setSuccess(java.util.List<org.apache.airavata.model.job.JobModel> success) {
+    public getJobDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> success) {
       this.success = success;
       return this;
     }
@@ -100554,11 +105813,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getJobDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getJobDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -100578,11 +105838,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getJobDetails_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getJobDetails_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -100602,11 +105863,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getJobDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getJobDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -100626,11 +105888,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getJobDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getJobDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -100650,11 +105913,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getJobDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getJobDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -100674,7 +105938,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -100727,6 +105992,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -100752,6 +106019,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -100776,8 +106044,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobDetails_result)
         return this.equals((getJobDetails_result)that);
       return false;
@@ -100885,7 +106151,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100895,7 +106161,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100905,7 +106171,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100915,7 +106181,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100925,7 +106191,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100935,7 +106201,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100948,10 +106214,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -101038,6 +106307,7 @@
     }
 
     private static class getJobDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_resultStandardScheme getScheme() {
         return new getJobDetails_resultStandardScheme();
       }
@@ -101045,6 +106315,7 @@
 
     private static class getJobDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -101060,7 +106331,7 @@
                 {
                   org.apache.thrift.protocol.TList _list134 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list134.size);
-                  org.apache.airavata.model.job.JobModel _elem135;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem135;
                   for (int _i136 = 0; _i136 < _list134.size; ++_i136)
                   {
                     _elem135 = new org.apache.airavata.model.job.JobModel();
@@ -101130,6 +106401,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -101178,6 +106450,7 @@
     }
 
     private static class getJobDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_resultTupleScheme getScheme() {
         return new getJobDetails_resultTupleScheme();
       }
@@ -101240,9 +106513,9 @@
         java.util.BitSet incoming = iprot.readBitSet(6);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list139 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list139 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list139.size);
-            org.apache.airavata.model.job.JobModel _elem140;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem140;
             for (int _i141 = 0; _i141 < _list139.size; ++_i141)
             {
               _elem140 = new org.apache.airavata.model.job.JobModel();
@@ -101285,6 +106558,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class cloneExperiment_args implements org.apache.thrift.TBase<cloneExperiment_args, cloneExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperiment_args");
 
@@ -101296,10 +106570,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String existingExperimentID; // required
-    public java.lang.String newExperimentName; // required
-    public java.lang.String newExperimentProjectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String existingExperimentID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newExperimentName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newExperimentProjectId; // 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 {
@@ -101319,6 +106593,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -101347,6 +106622,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -101359,10 +106635,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -101418,6 +106696,7 @@
       }
     }
 
+    @Override
     public cloneExperiment_args deepCopy() {
       return new cloneExperiment_args(this);
     }
@@ -101430,11 +106709,12 @@
       this.newExperimentProjectId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public cloneExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public cloneExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -101454,11 +106734,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExistingExperimentID() {
       return this.existingExperimentID;
     }
 
-    public cloneExperiment_args setExistingExperimentID(java.lang.String existingExperimentID) {
+    public cloneExperiment_args setExistingExperimentID(@org.apache.thrift.annotation.Nullable java.lang.String existingExperimentID) {
       this.existingExperimentID = existingExperimentID;
       return this;
     }
@@ -101478,11 +106759,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewExperimentName() {
       return this.newExperimentName;
     }
 
-    public cloneExperiment_args setNewExperimentName(java.lang.String newExperimentName) {
+    public cloneExperiment_args setNewExperimentName(@org.apache.thrift.annotation.Nullable java.lang.String newExperimentName) {
       this.newExperimentName = newExperimentName;
       return this;
     }
@@ -101502,11 +106784,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewExperimentProjectId() {
       return this.newExperimentProjectId;
     }
 
-    public cloneExperiment_args setNewExperimentProjectId(java.lang.String newExperimentProjectId) {
+    public cloneExperiment_args setNewExperimentProjectId(@org.apache.thrift.annotation.Nullable java.lang.String newExperimentProjectId) {
       this.newExperimentProjectId = newExperimentProjectId;
       return this;
     }
@@ -101526,7 +106809,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -101563,6 +106847,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -101582,6 +106868,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -101602,8 +106889,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof cloneExperiment_args)
         return this.equals((cloneExperiment_args)that);
       return false;
@@ -101685,7 +106970,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101695,7 +106980,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExistingExperimentID()).compareTo(other.isSetExistingExperimentID());
+      lastComparison = java.lang.Boolean.compare(isSetExistingExperimentID(), other.isSetExistingExperimentID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101705,7 +106990,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentName()).compareTo(other.isSetNewExperimentName());
+      lastComparison = java.lang.Boolean.compare(isSetNewExperimentName(), other.isSetNewExperimentName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101715,7 +107000,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentProjectId()).compareTo(other.isSetNewExperimentProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetNewExperimentProjectId(), other.isSetNewExperimentProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101728,14 +107013,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -101808,6 +107097,7 @@
     }
 
     private static class cloneExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperiment_argsStandardScheme getScheme() {
         return new cloneExperiment_argsStandardScheme();
       }
@@ -101815,6 +107105,7 @@
 
     private static class cloneExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -101869,6 +107160,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -101900,6 +107192,7 @@
     }
 
     private static class cloneExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperiment_argsTupleScheme getScheme() {
         return new cloneExperiment_argsTupleScheme();
       }
@@ -101960,6 +107253,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class cloneExperiment_result implements org.apache.thrift.TBase<cloneExperiment_result, cloneExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperiment_result");
 
@@ -101974,13 +107268,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperiment_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -102003,6 +107297,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -102037,6 +107332,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -102049,10 +107345,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -102129,6 +107427,7 @@
       }
     }
 
+    @Override
     public cloneExperiment_result deepCopy() {
       return new cloneExperiment_result(this);
     }
@@ -102144,11 +107443,12 @@
       this.pnfe = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public cloneExperiment_result setSuccess(java.lang.String success) {
+    public cloneExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -102168,11 +107468,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public cloneExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public cloneExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -102192,11 +107493,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public cloneExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public cloneExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -102216,11 +107518,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public cloneExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public cloneExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -102240,11 +107543,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public cloneExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public cloneExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -102264,11 +107568,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public cloneExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public cloneExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -102288,11 +107593,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public cloneExperiment_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public cloneExperiment_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -102312,7 +107618,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -102373,6 +107680,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -102401,6 +107710,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -102427,8 +107737,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof cloneExperiment_result)
         return this.equals((cloneExperiment_result)that);
       return false;
@@ -102549,7 +107857,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102559,7 +107867,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102569,7 +107877,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102579,7 +107887,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102589,7 +107897,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102599,7 +107907,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102609,7 +107917,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102622,10 +107930,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -102720,6 +108031,7 @@
     }
 
     private static class cloneExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperiment_resultStandardScheme getScheme() {
         return new cloneExperiment_resultStandardScheme();
       }
@@ -102727,6 +108039,7 @@
 
     private static class cloneExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -102810,6 +108123,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -102856,6 +108170,7 @@
     }
 
     private static class cloneExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperiment_resultTupleScheme getScheme() {
         return new cloneExperiment_resultTupleScheme();
       }
@@ -102958,6 +108273,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class cloneExperimentByAdmin_args implements org.apache.thrift.TBase<cloneExperimentByAdmin_args, cloneExperimentByAdmin_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperimentByAdmin_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperimentByAdmin_args");
 
@@ -102969,10 +108285,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperimentByAdmin_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperimentByAdmin_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String existingExperimentID; // required
-    public java.lang.String newExperimentName; // required
-    public java.lang.String newExperimentProjectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String existingExperimentID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newExperimentName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newExperimentProjectId; // 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 {
@@ -102992,6 +108308,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -103020,6 +108337,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -103032,10 +108350,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -103091,6 +108411,7 @@
       }
     }
 
+    @Override
     public cloneExperimentByAdmin_args deepCopy() {
       return new cloneExperimentByAdmin_args(this);
     }
@@ -103103,11 +108424,12 @@
       this.newExperimentProjectId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public cloneExperimentByAdmin_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public cloneExperimentByAdmin_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -103127,11 +108449,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExistingExperimentID() {
       return this.existingExperimentID;
     }
 
-    public cloneExperimentByAdmin_args setExistingExperimentID(java.lang.String existingExperimentID) {
+    public cloneExperimentByAdmin_args setExistingExperimentID(@org.apache.thrift.annotation.Nullable java.lang.String existingExperimentID) {
       this.existingExperimentID = existingExperimentID;
       return this;
     }
@@ -103151,11 +108474,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewExperimentName() {
       return this.newExperimentName;
     }
 
-    public cloneExperimentByAdmin_args setNewExperimentName(java.lang.String newExperimentName) {
+    public cloneExperimentByAdmin_args setNewExperimentName(@org.apache.thrift.annotation.Nullable java.lang.String newExperimentName) {
       this.newExperimentName = newExperimentName;
       return this;
     }
@@ -103175,11 +108499,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewExperimentProjectId() {
       return this.newExperimentProjectId;
     }
 
-    public cloneExperimentByAdmin_args setNewExperimentProjectId(java.lang.String newExperimentProjectId) {
+    public cloneExperimentByAdmin_args setNewExperimentProjectId(@org.apache.thrift.annotation.Nullable java.lang.String newExperimentProjectId) {
       this.newExperimentProjectId = newExperimentProjectId;
       return this;
     }
@@ -103199,7 +108524,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -103236,6 +108562,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -103255,6 +108583,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -103275,8 +108604,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof cloneExperimentByAdmin_args)
         return this.equals((cloneExperimentByAdmin_args)that);
       return false;
@@ -103358,7 +108685,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103368,7 +108695,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExistingExperimentID()).compareTo(other.isSetExistingExperimentID());
+      lastComparison = java.lang.Boolean.compare(isSetExistingExperimentID(), other.isSetExistingExperimentID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103378,7 +108705,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentName()).compareTo(other.isSetNewExperimentName());
+      lastComparison = java.lang.Boolean.compare(isSetNewExperimentName(), other.isSetNewExperimentName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103388,7 +108715,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewExperimentProjectId()).compareTo(other.isSetNewExperimentProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetNewExperimentProjectId(), other.isSetNewExperimentProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103401,14 +108728,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -103481,6 +108812,7 @@
     }
 
     private static class cloneExperimentByAdmin_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperimentByAdmin_argsStandardScheme getScheme() {
         return new cloneExperimentByAdmin_argsStandardScheme();
       }
@@ -103488,6 +108820,7 @@
 
     private static class cloneExperimentByAdmin_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -103542,6 +108875,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -103573,6 +108907,7 @@
     }
 
     private static class cloneExperimentByAdmin_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperimentByAdmin_argsTupleScheme getScheme() {
         return new cloneExperimentByAdmin_argsTupleScheme();
       }
@@ -103633,6 +108968,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class cloneExperimentByAdmin_result implements org.apache.thrift.TBase<cloneExperimentByAdmin_result, cloneExperimentByAdmin_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneExperimentByAdmin_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneExperimentByAdmin_result");
 
@@ -103647,13 +108983,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneExperimentByAdmin_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneExperimentByAdmin_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -103676,6 +109012,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -103710,6 +109047,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -103722,10 +109060,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -103802,6 +109142,7 @@
       }
     }
 
+    @Override
     public cloneExperimentByAdmin_result deepCopy() {
       return new cloneExperimentByAdmin_result(this);
     }
@@ -103817,11 +109158,12 @@
       this.pnfe = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public cloneExperimentByAdmin_result setSuccess(java.lang.String success) {
+    public cloneExperimentByAdmin_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -103841,11 +109183,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public cloneExperimentByAdmin_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public cloneExperimentByAdmin_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -103865,11 +109208,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public cloneExperimentByAdmin_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public cloneExperimentByAdmin_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -103889,11 +109233,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public cloneExperimentByAdmin_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public cloneExperimentByAdmin_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -103913,11 +109258,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public cloneExperimentByAdmin_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public cloneExperimentByAdmin_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -103937,11 +109283,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public cloneExperimentByAdmin_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public cloneExperimentByAdmin_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -103961,11 +109308,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public cloneExperimentByAdmin_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public cloneExperimentByAdmin_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -103985,7 +109333,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -104046,6 +109395,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -104074,6 +109425,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -104100,8 +109452,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof cloneExperimentByAdmin_result)
         return this.equals((cloneExperimentByAdmin_result)that);
       return false;
@@ -104222,7 +109572,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104232,7 +109582,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104242,7 +109592,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104252,7 +109602,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104262,7 +109612,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104272,7 +109622,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104282,7 +109632,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104295,10 +109645,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -104393,6 +109746,7 @@
     }
 
     private static class cloneExperimentByAdmin_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperimentByAdmin_resultStandardScheme getScheme() {
         return new cloneExperimentByAdmin_resultStandardScheme();
       }
@@ -104400,6 +109754,7 @@
 
     private static class cloneExperimentByAdmin_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneExperimentByAdmin_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -104483,6 +109838,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, cloneExperimentByAdmin_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -104529,6 +109885,7 @@
     }
 
     private static class cloneExperimentByAdmin_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneExperimentByAdmin_resultTupleScheme getScheme() {
         return new cloneExperimentByAdmin_resultTupleScheme();
       }
@@ -104631,6 +109988,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_args");
 
@@ -104641,9 +109999,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataExperimentId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -104662,6 +110020,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -104688,6 +110047,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -104700,10 +110060,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -104752,6 +110114,7 @@
       }
     }
 
+    @Override
     public terminateExperiment_args deepCopy() {
       return new terminateExperiment_args(this);
     }
@@ -104763,11 +110126,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public terminateExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public terminateExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -104787,11 +110151,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public terminateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public terminateExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -104811,11 +110176,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public terminateExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public terminateExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -104835,7 +110201,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -104864,6 +110231,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -104880,6 +110249,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -104898,8 +110268,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof terminateExperiment_args)
         return this.equals((terminateExperiment_args)that);
       return false;
@@ -104968,7 +110336,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104978,7 +110346,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104988,7 +110356,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105001,14 +110369,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -105073,6 +110445,7 @@
     }
 
     private static class terminateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_argsStandardScheme getScheme() {
         return new terminateExperiment_argsStandardScheme();
       }
@@ -105080,6 +110453,7 @@
 
     private static class terminateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -105126,6 +110500,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -105152,6 +110527,7 @@
     }
 
     private static class terminateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_argsTupleScheme getScheme() {
         return new terminateExperiment_argsTupleScheme();
       }
@@ -105202,6 +110578,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class terminateExperiment_result implements org.apache.thrift.TBase<terminateExperiment_result, terminateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_result");
 
@@ -105214,11 +110591,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.error.InvalidRequestException ire; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -105239,6 +110616,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IRE
@@ -105269,6 +110647,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -105281,10 +110660,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -105347,6 +110728,7 @@
       }
     }
 
+    @Override
     public terminateExperiment_result deepCopy() {
       return new terminateExperiment_result(this);
     }
@@ -105360,11 +110742,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public terminateExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public terminateExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -105384,11 +110767,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public terminateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public terminateExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -105408,11 +110792,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public terminateExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public terminateExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -105432,11 +110817,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public terminateExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public terminateExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -105456,11 +110842,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public terminateExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public terminateExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -105480,7 +110867,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IRE:
         if (value == null) {
@@ -105525,6 +110913,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IRE:
@@ -105547,6 +110937,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -105569,8 +110960,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof terminateExperiment_result)
         return this.equals((terminateExperiment_result)that);
       return false;
@@ -105665,7 +111054,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105675,7 +111064,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105685,7 +111074,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105695,7 +111084,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105705,7 +111094,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105718,10 +111107,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -105800,6 +111192,7 @@
     }
 
     private static class terminateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_resultStandardScheme getScheme() {
         return new terminateExperiment_resultStandardScheme();
       }
@@ -105807,6 +111200,7 @@
 
     private static class terminateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -105873,6 +111267,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -105909,6 +111304,7 @@
     }
 
     private static class terminateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_resultTupleScheme getScheme() {
         return new terminateExperiment_resultTupleScheme();
       }
@@ -105990,6 +111386,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationModule_args implements org.apache.thrift.TBase<registerApplicationModule_args, registerApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_args");
 
@@ -106000,9 +111397,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
@@ -106021,6 +111418,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -106047,6 +111445,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106059,10 +111458,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -106111,6 +111512,7 @@
       }
     }
 
+    @Override
     public registerApplicationModule_args deepCopy() {
       return new registerApplicationModule_args(this);
     }
@@ -106122,11 +111524,12 @@
       this.applicationModule = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerApplicationModule_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -106146,11 +111549,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public registerApplicationModule_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationModule_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -106170,11 +111574,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
       return this.applicationModule;
     }
 
-    public registerApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
+    public registerApplicationModule_args setApplicationModule(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
       this.applicationModule = applicationModule;
       return this;
     }
@@ -106194,7 +111599,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -106223,6 +111629,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -106239,6 +111647,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -106257,8 +111666,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationModule_args)
         return this.equals((registerApplicationModule_args)that);
       return false;
@@ -106327,7 +111734,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -106337,7 +111744,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -106347,7 +111754,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationModule(), other.isSetApplicationModule());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -106360,14 +111767,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -106441,6 +111852,7 @@
     }
 
     private static class registerApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_argsStandardScheme getScheme() {
         return new registerApplicationModule_argsStandardScheme();
       }
@@ -106448,6 +111860,7 @@
 
     private static class registerApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -106495,6 +111908,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -106521,6 +111935,7 @@
     }
 
     private static class registerApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_argsTupleScheme getScheme() {
         return new registerApplicationModule_argsTupleScheme();
       }
@@ -106555,6 +111970,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationModule_result implements org.apache.thrift.TBase<registerApplicationModule_result, registerApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_result");
 
@@ -106567,11 +111983,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -106592,6 +112008,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -106622,6 +112039,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106634,10 +112052,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -106700,6 +112120,7 @@
       }
     }
 
+    @Override
     public registerApplicationModule_result deepCopy() {
       return new registerApplicationModule_result(this);
     }
@@ -106713,11 +112134,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerApplicationModule_result setSuccess(java.lang.String success) {
+    public registerApplicationModule_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -106737,11 +112159,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerApplicationModule_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -106761,11 +112184,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerApplicationModule_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -106785,11 +112209,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerApplicationModule_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -106809,11 +112234,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerApplicationModule_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -106833,7 +112259,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -106878,6 +112305,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -106900,6 +112329,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -106922,8 +112352,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationModule_result)
         return this.equals((registerApplicationModule_result)that);
       return false;
@@ -107018,7 +112446,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107028,7 +112456,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107038,7 +112466,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107048,7 +112476,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107058,7 +112486,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107071,10 +112499,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -107153,6 +112584,7 @@
     }
 
     private static class registerApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_resultStandardScheme getScheme() {
         return new registerApplicationModule_resultStandardScheme();
       }
@@ -107160,6 +112592,7 @@
 
     private static class registerApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -107225,6 +112658,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -107261,6 +112695,7 @@
     }
 
     private static class registerApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_resultTupleScheme getScheme() {
         return new registerApplicationModule_resultTupleScheme();
       }
@@ -107341,6 +112776,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationModule_args implements org.apache.thrift.TBase<getApplicationModule_args, getApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_args");
 
@@ -107350,8 +112786,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -107369,6 +112805,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -107393,6 +112830,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -107405,10 +112843,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -107450,6 +112890,7 @@
       }
     }
 
+    @Override
     public getApplicationModule_args deepCopy() {
       return new getApplicationModule_args(this);
     }
@@ -107460,11 +112901,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationModule_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -107484,11 +112926,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
+    public getApplicationModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -107508,7 +112951,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -107529,6 +112973,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -107542,6 +112988,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -107558,8 +113005,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationModule_args)
         return this.equals((getApplicationModule_args)that);
       return false;
@@ -107615,7 +113060,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107625,7 +113070,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107638,14 +113083,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -107705,6 +113154,7 @@
     }
 
     private static class getApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_argsStandardScheme getScheme() {
         return new getApplicationModule_argsStandardScheme();
       }
@@ -107712,6 +113162,7 @@
 
     private static class getApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -107750,6 +113201,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -107771,6 +113223,7 @@
     }
 
     private static class getApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_argsTupleScheme getScheme() {
         return new getApplicationModule_argsTupleScheme();
       }
@@ -107801,6 +113254,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationModule_result implements org.apache.thrift.TBase<getApplicationModule_result, getApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_result");
 
@@ -107813,11 +113267,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -107838,6 +113292,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -107868,6 +113323,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -107880,10 +113336,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -107946,6 +113404,7 @@
       }
     }
 
+    @Override
     public getApplicationModule_result deepCopy() {
       return new getApplicationModule_result(this);
     }
@@ -107959,11 +113418,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getSuccess() {
       return this.success;
     }
 
-    public getApplicationModule_result setSuccess(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success) {
+    public getApplicationModule_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success) {
       this.success = success;
       return this;
     }
@@ -107983,11 +113443,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getApplicationModule_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -108007,11 +113468,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getApplicationModule_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -108031,11 +113493,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getApplicationModule_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -108055,11 +113518,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getApplicationModule_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -108079,7 +113543,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -108124,6 +113589,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -108146,6 +113613,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -108168,8 +113636,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationModule_result)
         return this.equals((getApplicationModule_result)that);
       return false;
@@ -108264,7 +113730,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108274,7 +113740,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108284,7 +113750,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108294,7 +113760,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108304,7 +113770,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108317,10 +113783,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -108402,6 +113871,7 @@
     }
 
     private static class getApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_resultStandardScheme getScheme() {
         return new getApplicationModule_resultStandardScheme();
       }
@@ -108409,6 +113879,7 @@
 
     private static class getApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -108475,6 +113946,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -108511,6 +113983,7 @@
     }
 
     private static class getApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_resultTupleScheme getScheme() {
         return new getApplicationModule_resultTupleScheme();
       }
@@ -108592,6 +114065,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationModule_args implements org.apache.thrift.TBase<updateApplicationModule_args, updateApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationModule_args");
 
@@ -108602,9 +114076,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationModule_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
@@ -108623,6 +114097,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -108649,6 +114124,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -108661,10 +114137,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -108713,6 +114191,7 @@
       }
     }
 
+    @Override
     public updateApplicationModule_args deepCopy() {
       return new updateApplicationModule_args(this);
     }
@@ -108724,11 +114203,12 @@
       this.applicationModule = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateApplicationModule_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -108748,11 +114228,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public updateApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
+    public updateApplicationModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -108772,11 +114253,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
       return this.applicationModule;
     }
 
-    public updateApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
+    public updateApplicationModule_args setApplicationModule(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
       this.applicationModule = applicationModule;
       return this;
     }
@@ -108796,7 +114278,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -108825,6 +114308,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -108841,6 +114326,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -108859,8 +114345,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationModule_args)
         return this.equals((updateApplicationModule_args)that);
       return false;
@@ -108929,7 +114413,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108939,7 +114423,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108949,7 +114433,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationModule(), other.isSetApplicationModule());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108962,14 +114446,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -109043,6 +114531,7 @@
     }
 
     private static class updateApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_argsStandardScheme getScheme() {
         return new updateApplicationModule_argsStandardScheme();
       }
@@ -109050,6 +114539,7 @@
 
     private static class updateApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -109097,6 +114587,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -109123,6 +114614,7 @@
     }
 
     private static class updateApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_argsTupleScheme getScheme() {
         return new updateApplicationModule_argsTupleScheme();
       }
@@ -109157,6 +114649,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationModule_result implements org.apache.thrift.TBase<updateApplicationModule_result, updateApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationModule_result");
 
@@ -109170,10 +114663,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationModule_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -109194,6 +114687,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -109224,6 +114718,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -109236,10 +114731,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -109304,6 +114801,7 @@
       }
     }
 
+    @Override
     public updateApplicationModule_result deepCopy() {
       return new updateApplicationModule_result(this);
     }
@@ -109341,11 +114839,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateApplicationModule_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -109365,11 +114864,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateApplicationModule_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -109389,11 +114889,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateApplicationModule_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -109413,11 +114914,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateApplicationModule_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -109437,7 +114939,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -109482,6 +114985,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -109504,6 +115009,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -109526,8 +115032,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationModule_result)
         return this.equals((updateApplicationModule_result)that);
       return false;
@@ -109620,7 +115124,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109630,7 +115134,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109640,7 +115144,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109650,7 +115154,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109660,7 +115164,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109673,10 +115177,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -109753,6 +115260,7 @@
     }
 
     private static class updateApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_resultStandardScheme getScheme() {
         return new updateApplicationModule_resultStandardScheme();
       }
@@ -109760,6 +115268,7 @@
 
     private static class updateApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -109825,6 +115334,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -109861,6 +115371,7 @@
     }
 
     private static class updateApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_resultTupleScheme getScheme() {
         return new updateApplicationModule_resultTupleScheme();
       }
@@ -109941,6 +115452,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAppModules_args implements org.apache.thrift.TBase<getAllAppModules_args, getAllAppModules_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAppModules_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAppModules_args");
 
@@ -109950,8 +115462,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAppModules_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAppModules_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -109969,6 +115481,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -109993,6 +115506,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110005,10 +115519,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -110050,6 +115566,7 @@
       }
     }
 
+    @Override
     public getAllAppModules_args deepCopy() {
       return new getAllAppModules_args(this);
     }
@@ -110060,11 +115577,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllAppModules_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllAppModules_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -110084,11 +115602,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllAppModules_args setGatewayId(java.lang.String gatewayId) {
+    public getAllAppModules_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -110108,7 +115627,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -110129,6 +115649,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -110142,6 +115664,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -110158,8 +115681,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAppModules_args)
         return this.equals((getAllAppModules_args)that);
       return false;
@@ -110215,7 +115736,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110225,7 +115746,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110238,14 +115759,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -110305,6 +115830,7 @@
     }
 
     private static class getAllAppModules_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_argsStandardScheme getScheme() {
         return new getAllAppModules_argsStandardScheme();
       }
@@ -110312,6 +115838,7 @@
 
     private static class getAllAppModules_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAppModules_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAppModules_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -110350,6 +115877,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAppModules_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -110371,6 +115899,7 @@
     }
 
     private static class getAllAppModules_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_argsTupleScheme getScheme() {
         return new getAllAppModules_argsTupleScheme();
       }
@@ -110401,6 +115930,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAppModules_result implements org.apache.thrift.TBase<getAllAppModules_result, getAllAppModules_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAppModules_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAppModules_result");
 
@@ -110413,11 +115943,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAppModules_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAppModules_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -110438,6 +115968,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -110468,6 +115999,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110480,10 +116012,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -110551,6 +116085,7 @@
       }
     }
 
+    @Override
     public getAllAppModules_result deepCopy() {
       return new getAllAppModules_result(this);
     }
@@ -110568,6 +116103,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -110579,11 +116115,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccess() {
       return this.success;
     }
 
-    public getAllAppModules_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
+    public getAllAppModules_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
       this.success = success;
       return this;
     }
@@ -110603,11 +116140,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllAppModules_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllAppModules_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -110627,11 +116165,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllAppModules_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllAppModules_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -110651,11 +116190,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllAppModules_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllAppModules_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -110675,11 +116215,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllAppModules_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllAppModules_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -110699,7 +116240,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -110744,6 +116286,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -110766,6 +116310,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -110788,8 +116333,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAppModules_result)
         return this.equals((getAllAppModules_result)that);
       return false;
@@ -110884,7 +116427,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110894,7 +116437,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110904,7 +116447,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110914,7 +116457,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110924,7 +116467,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110937,10 +116480,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -111019,6 +116565,7 @@
     }
 
     private static class getAllAppModules_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_resultStandardScheme getScheme() {
         return new getAllAppModules_resultStandardScheme();
       }
@@ -111026,6 +116573,7 @@
 
     private static class getAllAppModules_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAppModules_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAppModules_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -111041,7 +116589,7 @@
                 {
                   org.apache.thrift.protocol.TList _list142 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list142.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem143;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem143;
                   for (int _i144 = 0; _i144 < _list142.size; ++_i144)
                   {
                     _elem143 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
@@ -111102,6 +116650,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAppModules_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -111145,6 +116694,7 @@
     }
 
     private static class getAllAppModules_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_resultTupleScheme getScheme() {
         return new getAllAppModules_resultTupleScheme();
       }
@@ -111201,9 +116751,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list147 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list147 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list147.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem148;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem148;
             for (int _i149 = 0; _i149 < _list147.size; ++_i149)
             {
               _elem148 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
@@ -111241,6 +116791,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleAppModules_args implements org.apache.thrift.TBase<getAccessibleAppModules_args, getAccessibleAppModules_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleAppModules_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleAppModules_args");
 
@@ -111250,8 +116801,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleAppModules_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleAppModules_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -111269,6 +116820,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -111293,6 +116845,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -111305,10 +116858,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -111350,6 +116905,7 @@
       }
     }
 
+    @Override
     public getAccessibleAppModules_args deepCopy() {
       return new getAccessibleAppModules_args(this);
     }
@@ -111360,11 +116916,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAccessibleAppModules_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAccessibleAppModules_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -111384,11 +116941,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAccessibleAppModules_args setGatewayId(java.lang.String gatewayId) {
+    public getAccessibleAppModules_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -111408,7 +116966,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -111429,6 +116988,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -111442,6 +117003,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -111458,8 +117020,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleAppModules_args)
         return this.equals((getAccessibleAppModules_args)that);
       return false;
@@ -111515,7 +117075,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -111525,7 +117085,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -111538,14 +117098,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -111605,6 +117169,7 @@
     }
 
     private static class getAccessibleAppModules_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_argsStandardScheme getScheme() {
         return new getAccessibleAppModules_argsStandardScheme();
       }
@@ -111612,6 +117177,7 @@
 
     private static class getAccessibleAppModules_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleAppModules_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleAppModules_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -111650,6 +117216,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleAppModules_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -111671,6 +117238,7 @@
     }
 
     private static class getAccessibleAppModules_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_argsTupleScheme getScheme() {
         return new getAccessibleAppModules_argsTupleScheme();
       }
@@ -111701,6 +117269,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleAppModules_result implements org.apache.thrift.TBase<getAccessibleAppModules_result, getAccessibleAppModules_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleAppModules_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleAppModules_result");
 
@@ -111713,11 +117282,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleAppModules_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleAppModules_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -111738,6 +117307,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -111768,6 +117338,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -111780,10 +117351,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -111851,6 +117424,7 @@
       }
     }
 
+    @Override
     public getAccessibleAppModules_result deepCopy() {
       return new getAccessibleAppModules_result(this);
     }
@@ -111868,6 +117442,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -111879,11 +117454,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccess() {
       return this.success;
     }
 
-    public getAccessibleAppModules_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
+    public getAccessibleAppModules_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
       this.success = success;
       return this;
     }
@@ -111903,11 +117479,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAccessibleAppModules_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAccessibleAppModules_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -111927,11 +117504,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAccessibleAppModules_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAccessibleAppModules_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -111951,11 +117529,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAccessibleAppModules_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAccessibleAppModules_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -111975,11 +117554,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAccessibleAppModules_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAccessibleAppModules_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -111999,7 +117579,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -112044,6 +117625,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -112066,6 +117649,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -112088,8 +117672,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleAppModules_result)
         return this.equals((getAccessibleAppModules_result)that);
       return false;
@@ -112184,7 +117766,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112194,7 +117776,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112204,7 +117786,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112214,7 +117796,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112224,7 +117806,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112237,10 +117819,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -112319,6 +117904,7 @@
     }
 
     private static class getAccessibleAppModules_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_resultStandardScheme getScheme() {
         return new getAccessibleAppModules_resultStandardScheme();
       }
@@ -112326,6 +117912,7 @@
 
     private static class getAccessibleAppModules_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleAppModules_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleAppModules_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -112341,7 +117928,7 @@
                 {
                   org.apache.thrift.protocol.TList _list150 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list150.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem151;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem151;
                   for (int _i152 = 0; _i152 < _list150.size; ++_i152)
                   {
                     _elem151 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
@@ -112402,6 +117989,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleAppModules_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -112445,6 +118033,7 @@
     }
 
     private static class getAccessibleAppModules_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_resultTupleScheme getScheme() {
         return new getAccessibleAppModules_resultTupleScheme();
       }
@@ -112501,9 +118090,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list155 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list155.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem156;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem156;
             for (int _i157 = 0; _i157 < _list155.size; ++_i157)
             {
               _elem156 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
@@ -112541,6 +118130,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationModule_args implements org.apache.thrift.TBase<deleteApplicationModule_args, deleteApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationModule_args");
 
@@ -112550,8 +118140,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationModule_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -112569,6 +118159,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -112593,6 +118184,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -112605,10 +118197,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -112650,6 +118244,7 @@
       }
     }
 
+    @Override
     public deleteApplicationModule_args deepCopy() {
       return new deleteApplicationModule_args(this);
     }
@@ -112660,11 +118255,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteApplicationModule_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteApplicationModule_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -112684,11 +118280,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public deleteApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
+    public deleteApplicationModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -112708,7 +118305,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -112729,6 +118327,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -112742,6 +118342,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -112758,8 +118359,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationModule_args)
         return this.equals((deleteApplicationModule_args)that);
       return false;
@@ -112815,7 +118414,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112825,7 +118424,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112838,14 +118437,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -112905,6 +118508,7 @@
     }
 
     private static class deleteApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_argsStandardScheme getScheme() {
         return new deleteApplicationModule_argsStandardScheme();
       }
@@ -112912,6 +118516,7 @@
 
     private static class deleteApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -112950,6 +118555,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -112971,6 +118577,7 @@
     }
 
     private static class deleteApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_argsTupleScheme getScheme() {
         return new deleteApplicationModule_argsTupleScheme();
       }
@@ -113001,6 +118608,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationModule_result implements org.apache.thrift.TBase<deleteApplicationModule_result, deleteApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationModule_result");
 
@@ -113014,10 +118622,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationModule_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -113038,6 +118646,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -113068,6 +118677,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -113080,10 +118690,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -113148,6 +118760,7 @@
       }
     }
 
+    @Override
     public deleteApplicationModule_result deepCopy() {
       return new deleteApplicationModule_result(this);
     }
@@ -113185,11 +118798,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteApplicationModule_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteApplicationModule_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -113209,11 +118823,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteApplicationModule_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteApplicationModule_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -113233,11 +118848,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteApplicationModule_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteApplicationModule_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -113257,11 +118873,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteApplicationModule_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteApplicationModule_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -113281,7 +118898,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -113326,6 +118944,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -113348,6 +118968,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -113370,8 +118991,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationModule_result)
         return this.equals((deleteApplicationModule_result)that);
       return false;
@@ -113464,7 +119083,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113474,7 +119093,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113484,7 +119103,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113494,7 +119113,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113504,7 +119123,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113517,10 +119136,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -113597,6 +119219,7 @@
     }
 
     private static class deleteApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_resultStandardScheme getScheme() {
         return new deleteApplicationModule_resultStandardScheme();
       }
@@ -113604,6 +119227,7 @@
 
     private static class deleteApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -113669,6 +119293,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -113705,6 +119330,7 @@
     }
 
     private static class deleteApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_resultTupleScheme getScheme() {
         return new deleteApplicationModule_resultTupleScheme();
       }
@@ -113785,6 +119411,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationDeployment_args implements org.apache.thrift.TBase<registerApplicationDeployment_args, registerApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationDeployment_args");
 
@@ -113795,9 +119422,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationDeployment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // 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 {
@@ -113816,6 +119443,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -113842,6 +119470,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -113854,10 +119483,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -113906,6 +119537,7 @@
       }
     }
 
+    @Override
     public registerApplicationDeployment_args deepCopy() {
       return new registerApplicationDeployment_args(this);
     }
@@ -113917,11 +119549,12 @@
       this.applicationDeployment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerApplicationDeployment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerApplicationDeployment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -113941,11 +119574,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public registerApplicationDeployment_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationDeployment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -113965,11 +119599,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment() {
       return this.applicationDeployment;
     }
 
-    public registerApplicationDeployment_args setApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
+    public registerApplicationDeployment_args setApplicationDeployment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
       this.applicationDeployment = applicationDeployment;
       return this;
     }
@@ -113989,7 +119624,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -114018,6 +119654,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -114034,6 +119672,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -114052,8 +119691,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationDeployment_args)
         return this.equals((registerApplicationDeployment_args)that);
       return false;
@@ -114122,7 +119759,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114132,7 +119769,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114142,7 +119779,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationDeployment()).compareTo(other.isSetApplicationDeployment());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationDeployment(), other.isSetApplicationDeployment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114155,14 +119792,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -114236,6 +119877,7 @@
     }
 
     private static class registerApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_argsStandardScheme getScheme() {
         return new registerApplicationDeployment_argsStandardScheme();
       }
@@ -114243,6 +119885,7 @@
 
     private static class registerApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -114290,6 +119933,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -114316,6 +119960,7 @@
     }
 
     private static class registerApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_argsTupleScheme getScheme() {
         return new registerApplicationDeployment_argsTupleScheme();
       }
@@ -114350,6 +119995,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationDeployment_result implements org.apache.thrift.TBase<registerApplicationDeployment_result, registerApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationDeployment_result");
 
@@ -114362,11 +120008,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationDeployment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationDeployment_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -114387,6 +120033,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -114417,6 +120064,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -114429,10 +120077,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -114495,6 +120145,7 @@
       }
     }
 
+    @Override
     public registerApplicationDeployment_result deepCopy() {
       return new registerApplicationDeployment_result(this);
     }
@@ -114508,11 +120159,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerApplicationDeployment_result setSuccess(java.lang.String success) {
+    public registerApplicationDeployment_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -114532,11 +120184,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerApplicationDeployment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerApplicationDeployment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -114556,11 +120209,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerApplicationDeployment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerApplicationDeployment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -114580,11 +120234,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerApplicationDeployment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerApplicationDeployment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -114604,11 +120259,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerApplicationDeployment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerApplicationDeployment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -114628,7 +120284,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -114673,6 +120330,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -114695,6 +120354,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -114717,8 +120377,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationDeployment_result)
         return this.equals((registerApplicationDeployment_result)that);
       return false;
@@ -114813,7 +120471,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114823,7 +120481,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114833,7 +120491,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114843,7 +120501,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114853,7 +120511,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114866,10 +120524,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -114948,6 +120609,7 @@
     }
 
     private static class registerApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_resultStandardScheme getScheme() {
         return new registerApplicationDeployment_resultStandardScheme();
       }
@@ -114955,6 +120617,7 @@
 
     private static class registerApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -115020,6 +120683,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -115056,6 +120720,7 @@
     }
 
     private static class registerApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_resultTupleScheme getScheme() {
         return new registerApplicationDeployment_resultTupleScheme();
       }
@@ -115136,6 +120801,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeployment_args implements org.apache.thrift.TBase<getApplicationDeployment_args, getApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeployment_args");
 
@@ -115145,8 +120811,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeployment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appDeploymentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // 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 {
@@ -115164,6 +120830,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -115188,6 +120855,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115200,10 +120868,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -115245,6 +120915,7 @@
       }
     }
 
+    @Override
     public getApplicationDeployment_args deepCopy() {
       return new getApplicationDeployment_args(this);
     }
@@ -115255,11 +120926,12 @@
       this.appDeploymentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getApplicationDeployment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationDeployment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -115279,11 +120951,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppDeploymentId() {
       return this.appDeploymentId;
     }
 
-    public getApplicationDeployment_args setAppDeploymentId(java.lang.String appDeploymentId) {
+    public getApplicationDeployment_args setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
       this.appDeploymentId = appDeploymentId;
       return this;
     }
@@ -115303,7 +120976,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -115324,6 +120998,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -115337,6 +121013,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -115353,8 +121030,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeployment_args)
         return this.equals((getApplicationDeployment_args)that);
       return false;
@@ -115410,7 +121085,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -115420,7 +121095,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+      lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -115433,14 +121108,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -115500,6 +121179,7 @@
     }
 
     private static class getApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_argsStandardScheme getScheme() {
         return new getApplicationDeployment_argsStandardScheme();
       }
@@ -115507,6 +121187,7 @@
 
     private static class getApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -115545,6 +121226,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -115566,6 +121248,7 @@
     }
 
     private static class getApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_argsTupleScheme getScheme() {
         return new getApplicationDeployment_argsTupleScheme();
       }
@@ -115596,6 +121279,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeployment_result implements org.apache.thrift.TBase<getApplicationDeployment_result, getApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeployment_result");
 
@@ -115608,11 +121292,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeployment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeployment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -115633,6 +121317,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -115663,6 +121348,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115675,10 +121361,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -115741,6 +121429,7 @@
       }
     }
 
+    @Override
     public getApplicationDeployment_result deepCopy() {
       return new getApplicationDeployment_result(this);
     }
@@ -115754,11 +121443,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getSuccess() {
       return this.success;
     }
 
-    public getApplicationDeployment_result setSuccess(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success) {
+    public getApplicationDeployment_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success) {
       this.success = success;
       return this;
     }
@@ -115778,11 +121468,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getApplicationDeployment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getApplicationDeployment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -115802,11 +121493,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getApplicationDeployment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getApplicationDeployment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -115826,11 +121518,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getApplicationDeployment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getApplicationDeployment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -115850,11 +121543,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getApplicationDeployment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getApplicationDeployment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -115874,7 +121568,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -115919,6 +121614,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -115941,6 +121638,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -115963,8 +121661,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeployment_result)
         return this.equals((getApplicationDeployment_result)that);
       return false;
@@ -116059,7 +121755,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116069,7 +121765,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116079,7 +121775,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116089,7 +121785,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116099,7 +121795,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116112,10 +121808,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -116197,6 +121896,7 @@
     }
 
     private static class getApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_resultStandardScheme getScheme() {
         return new getApplicationDeployment_resultStandardScheme();
       }
@@ -116204,6 +121904,7 @@
 
     private static class getApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -116270,6 +121971,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -116306,6 +122008,7 @@
     }
 
     private static class getApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_resultTupleScheme getScheme() {
         return new getApplicationDeployment_resultTupleScheme();
       }
@@ -116387,6 +122090,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationDeployment_args implements org.apache.thrift.TBase<updateApplicationDeployment_args, updateApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationDeployment_args");
 
@@ -116397,9 +122101,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationDeployment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appDeploymentId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // 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 {
@@ -116418,6 +122122,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -116444,6 +122149,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -116456,10 +122162,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -116508,6 +122216,7 @@
       }
     }
 
+    @Override
     public updateApplicationDeployment_args deepCopy() {
       return new updateApplicationDeployment_args(this);
     }
@@ -116519,11 +122228,12 @@
       this.applicationDeployment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateApplicationDeployment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateApplicationDeployment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -116543,11 +122253,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppDeploymentId() {
       return this.appDeploymentId;
     }
 
-    public updateApplicationDeployment_args setAppDeploymentId(java.lang.String appDeploymentId) {
+    public updateApplicationDeployment_args setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
       this.appDeploymentId = appDeploymentId;
       return this;
     }
@@ -116567,11 +122278,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment() {
       return this.applicationDeployment;
     }
 
-    public updateApplicationDeployment_args setApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
+    public updateApplicationDeployment_args setApplicationDeployment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
       this.applicationDeployment = applicationDeployment;
       return this;
     }
@@ -116591,7 +122303,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -116620,6 +122333,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -116636,6 +122351,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -116654,8 +122370,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationDeployment_args)
         return this.equals((updateApplicationDeployment_args)that);
       return false;
@@ -116724,7 +122438,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116734,7 +122448,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+      lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116744,7 +122458,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationDeployment()).compareTo(other.isSetApplicationDeployment());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationDeployment(), other.isSetApplicationDeployment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116757,14 +122471,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -116838,6 +122556,7 @@
     }
 
     private static class updateApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_argsStandardScheme getScheme() {
         return new updateApplicationDeployment_argsStandardScheme();
       }
@@ -116845,6 +122564,7 @@
 
     private static class updateApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -116892,6 +122612,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -116918,6 +122639,7 @@
     }
 
     private static class updateApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_argsTupleScheme getScheme() {
         return new updateApplicationDeployment_argsTupleScheme();
       }
@@ -116952,6 +122674,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationDeployment_result implements org.apache.thrift.TBase<updateApplicationDeployment_result, updateApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationDeployment_result");
 
@@ -116965,10 +122688,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationDeployment_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -116989,6 +122712,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -117019,6 +122743,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -117031,10 +122756,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -117099,6 +122826,7 @@
       }
     }
 
+    @Override
     public updateApplicationDeployment_result deepCopy() {
       return new updateApplicationDeployment_result(this);
     }
@@ -117136,11 +122864,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateApplicationDeployment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateApplicationDeployment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -117160,11 +122889,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateApplicationDeployment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateApplicationDeployment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -117184,11 +122914,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateApplicationDeployment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateApplicationDeployment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -117208,11 +122939,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateApplicationDeployment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateApplicationDeployment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -117232,7 +122964,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -117277,6 +123010,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -117299,6 +123034,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -117321,8 +123057,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationDeployment_result)
         return this.equals((updateApplicationDeployment_result)that);
       return false;
@@ -117415,7 +123149,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117425,7 +123159,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117435,7 +123169,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117445,7 +123179,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117455,7 +123189,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117468,10 +123202,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -117548,6 +123285,7 @@
     }
 
     private static class updateApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_resultStandardScheme getScheme() {
         return new updateApplicationDeployment_resultStandardScheme();
       }
@@ -117555,6 +123293,7 @@
 
     private static class updateApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -117620,6 +123359,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -117656,6 +123396,7 @@
     }
 
     private static class updateApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_resultTupleScheme getScheme() {
         return new updateApplicationDeployment_resultTupleScheme();
       }
@@ -117736,6 +123477,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationDeployment_args implements org.apache.thrift.TBase<deleteApplicationDeployment_args, deleteApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationDeployment_args");
 
@@ -117745,8 +123487,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationDeployment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appDeploymentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // 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 {
@@ -117764,6 +123506,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -117788,6 +123531,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -117800,10 +123544,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -117845,6 +123591,7 @@
       }
     }
 
+    @Override
     public deleteApplicationDeployment_args deepCopy() {
       return new deleteApplicationDeployment_args(this);
     }
@@ -117855,11 +123602,12 @@
       this.appDeploymentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteApplicationDeployment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteApplicationDeployment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -117879,11 +123627,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppDeploymentId() {
       return this.appDeploymentId;
     }
 
-    public deleteApplicationDeployment_args setAppDeploymentId(java.lang.String appDeploymentId) {
+    public deleteApplicationDeployment_args setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
       this.appDeploymentId = appDeploymentId;
       return this;
     }
@@ -117903,7 +123652,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -117924,6 +123674,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -117937,6 +123689,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -117953,8 +123706,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationDeployment_args)
         return this.equals((deleteApplicationDeployment_args)that);
       return false;
@@ -118010,7 +123761,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118020,7 +123771,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+      lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118033,14 +123784,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -118100,6 +123855,7 @@
     }
 
     private static class deleteApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_argsStandardScheme getScheme() {
         return new deleteApplicationDeployment_argsStandardScheme();
       }
@@ -118107,6 +123863,7 @@
 
     private static class deleteApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -118145,6 +123902,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -118166,6 +123924,7 @@
     }
 
     private static class deleteApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_argsTupleScheme getScheme() {
         return new deleteApplicationDeployment_argsTupleScheme();
       }
@@ -118196,6 +123955,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationDeployment_result implements org.apache.thrift.TBase<deleteApplicationDeployment_result, deleteApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationDeployment_result");
 
@@ -118209,10 +123969,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationDeployment_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -118233,6 +123993,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -118263,6 +124024,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -118275,10 +124037,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -118343,6 +124107,7 @@
       }
     }
 
+    @Override
     public deleteApplicationDeployment_result deepCopy() {
       return new deleteApplicationDeployment_result(this);
     }
@@ -118380,11 +124145,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteApplicationDeployment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteApplicationDeployment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -118404,11 +124170,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteApplicationDeployment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteApplicationDeployment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -118428,11 +124195,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteApplicationDeployment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteApplicationDeployment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -118452,11 +124220,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteApplicationDeployment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteApplicationDeployment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -118476,7 +124245,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -118521,6 +124291,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -118543,6 +124315,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -118565,8 +124338,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationDeployment_result)
         return this.equals((deleteApplicationDeployment_result)that);
       return false;
@@ -118659,7 +124430,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118669,7 +124440,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118679,7 +124450,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118689,7 +124460,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118699,7 +124470,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118712,10 +124483,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -118792,6 +124566,7 @@
     }
 
     private static class deleteApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_resultStandardScheme getScheme() {
         return new deleteApplicationDeployment_resultStandardScheme();
       }
@@ -118799,6 +124574,7 @@
 
     private static class deleteApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -118864,6 +124640,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -118900,6 +124677,7 @@
     }
 
     private static class deleteApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_resultTupleScheme getScheme() {
         return new deleteApplicationDeployment_resultTupleScheme();
       }
@@ -118980,6 +124758,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationDeployments_args implements org.apache.thrift.TBase<getAllApplicationDeployments_args, getAllApplicationDeployments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationDeployments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationDeployments_args");
 
@@ -118989,8 +124768,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationDeployments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationDeployments_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -119008,6 +124787,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -119032,6 +124812,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -119044,10 +124825,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -119089,6 +124872,7 @@
       }
     }
 
+    @Override
     public getAllApplicationDeployments_args deepCopy() {
       return new getAllApplicationDeployments_args(this);
     }
@@ -119099,11 +124883,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllApplicationDeployments_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllApplicationDeployments_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -119123,11 +124908,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllApplicationDeployments_args setGatewayId(java.lang.String gatewayId) {
+    public getAllApplicationDeployments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -119147,7 +124933,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -119168,6 +124955,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -119181,6 +124970,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -119197,8 +124987,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationDeployments_args)
         return this.equals((getAllApplicationDeployments_args)that);
       return false;
@@ -119254,7 +125042,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119264,7 +125052,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119277,14 +125065,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -119344,6 +125136,7 @@
     }
 
     private static class getAllApplicationDeployments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_argsStandardScheme getScheme() {
         return new getAllApplicationDeployments_argsStandardScheme();
       }
@@ -119351,6 +125144,7 @@
 
     private static class getAllApplicationDeployments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationDeployments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationDeployments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -119389,6 +125183,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationDeployments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -119410,6 +125205,7 @@
     }
 
     private static class getAllApplicationDeployments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_argsTupleScheme getScheme() {
         return new getAllApplicationDeployments_argsTupleScheme();
       }
@@ -119440,6 +125236,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationDeployments_result implements org.apache.thrift.TBase<getAllApplicationDeployments_result, getAllApplicationDeployments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationDeployments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationDeployments_result");
 
@@ -119452,11 +125249,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationDeployments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationDeployments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -119477,6 +125274,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -119507,6 +125305,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -119519,10 +125318,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -119590,6 +125391,7 @@
       }
     }
 
+    @Override
     public getAllApplicationDeployments_result deepCopy() {
       return new getAllApplicationDeployments_result(this);
     }
@@ -119607,6 +125409,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -119618,11 +125421,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getAllApplicationDeployments_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getAllApplicationDeployments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -119642,11 +125446,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllApplicationDeployments_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllApplicationDeployments_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -119666,11 +125471,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllApplicationDeployments_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllApplicationDeployments_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -119690,11 +125496,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllApplicationDeployments_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllApplicationDeployments_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -119714,11 +125521,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllApplicationDeployments_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllApplicationDeployments_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -119738,7 +125546,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -119783,6 +125592,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -119805,6 +125616,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -119827,8 +125639,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationDeployments_result)
         return this.equals((getAllApplicationDeployments_result)that);
       return false;
@@ -119923,7 +125733,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119933,7 +125743,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119943,7 +125753,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119953,7 +125763,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119963,7 +125773,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119976,10 +125786,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -120058,6 +125871,7 @@
     }
 
     private static class getAllApplicationDeployments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_resultStandardScheme getScheme() {
         return new getAllApplicationDeployments_resultStandardScheme();
       }
@@ -120065,6 +125879,7 @@
 
     private static class getAllApplicationDeployments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationDeployments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationDeployments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -120080,7 +125895,7 @@
                 {
                   org.apache.thrift.protocol.TList _list158 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list158.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem159;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem159;
                   for (int _i160 = 0; _i160 < _list158.size; ++_i160)
                   {
                     _elem159 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
@@ -120141,6 +125956,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationDeployments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -120184,6 +126000,7 @@
     }
 
     private static class getAllApplicationDeployments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_resultTupleScheme getScheme() {
         return new getAllApplicationDeployments_resultTupleScheme();
       }
@@ -120240,9 +126057,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list163 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list163 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list163.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem164;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem164;
             for (int _i165 = 0; _i165 < _list163.size; ++_i165)
             {
               _elem164 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
@@ -120280,6 +126097,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleApplicationDeployments_args implements org.apache.thrift.TBase<getAccessibleApplicationDeployments_args, getAccessibleApplicationDeployments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleApplicationDeployments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleApplicationDeployments_args");
 
@@ -120290,13 +126108,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleApplicationDeployments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleApplicationDeployments_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
     /**
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public org.apache.airavata.model.group.ResourcePermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType; // 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 {
@@ -120319,6 +126137,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -120345,6 +126164,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -120357,10 +126177,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -120409,6 +126231,7 @@
       }
     }
 
+    @Override
     public getAccessibleApplicationDeployments_args deepCopy() {
       return new getAccessibleApplicationDeployments_args(this);
     }
@@ -120420,11 +126243,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAccessibleApplicationDeployments_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAccessibleApplicationDeployments_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -120444,11 +126268,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAccessibleApplicationDeployments_args setGatewayId(java.lang.String gatewayId) {
+    public getAccessibleApplicationDeployments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -120472,6 +126297,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.ResourcePermissionType getPermissionType() {
       return this.permissionType;
     }
@@ -120480,7 +126306,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public getAccessibleApplicationDeployments_args setPermissionType(org.apache.airavata.model.group.ResourcePermissionType permissionType) {
+    public getAccessibleApplicationDeployments_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -120500,7 +126326,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -120529,6 +126356,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -120545,6 +126374,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -120563,8 +126393,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleApplicationDeployments_args)
         return this.equals((getAccessibleApplicationDeployments_args)that);
       return false;
@@ -120633,7 +126461,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120643,7 +126471,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120653,7 +126481,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120666,14 +126494,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -120744,6 +126576,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_argsStandardScheme getScheme() {
         return new getAccessibleApplicationDeployments_argsStandardScheme();
       }
@@ -120751,6 +126584,7 @@
 
     private static class getAccessibleApplicationDeployments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleApplicationDeployments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleApplicationDeployments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -120797,6 +126631,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleApplicationDeployments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -120823,6 +126658,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_argsTupleScheme getScheme() {
         return new getAccessibleApplicationDeployments_argsTupleScheme();
       }
@@ -120856,6 +126692,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleApplicationDeployments_result implements org.apache.thrift.TBase<getAccessibleApplicationDeployments_result, getAccessibleApplicationDeployments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleApplicationDeployments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleApplicationDeployments_result");
 
@@ -120868,11 +126705,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleApplicationDeployments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleApplicationDeployments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -120893,6 +126730,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -120923,6 +126761,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -120935,10 +126774,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -121006,6 +126847,7 @@
       }
     }
 
+    @Override
     public getAccessibleApplicationDeployments_result deepCopy() {
       return new getAccessibleApplicationDeployments_result(this);
     }
@@ -121023,6 +126865,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -121034,11 +126877,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getAccessibleApplicationDeployments_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getAccessibleApplicationDeployments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -121058,11 +126902,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAccessibleApplicationDeployments_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAccessibleApplicationDeployments_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -121082,11 +126927,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAccessibleApplicationDeployments_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAccessibleApplicationDeployments_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -121106,11 +126952,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAccessibleApplicationDeployments_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAccessibleApplicationDeployments_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -121130,11 +126977,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAccessibleApplicationDeployments_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAccessibleApplicationDeployments_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -121154,7 +127002,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -121199,6 +127048,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -121221,6 +127072,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -121243,8 +127095,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleApplicationDeployments_result)
         return this.equals((getAccessibleApplicationDeployments_result)that);
       return false;
@@ -121339,7 +127189,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121349,7 +127199,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121359,7 +127209,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121369,7 +127219,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121379,7 +127229,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121392,10 +127242,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -121474,6 +127327,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_resultStandardScheme getScheme() {
         return new getAccessibleApplicationDeployments_resultStandardScheme();
       }
@@ -121481,6 +127335,7 @@
 
     private static class getAccessibleApplicationDeployments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleApplicationDeployments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleApplicationDeployments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -121496,7 +127351,7 @@
                 {
                   org.apache.thrift.protocol.TList _list166 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list166.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem167;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem167;
                   for (int _i168 = 0; _i168 < _list166.size; ++_i168)
                   {
                     _elem167 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
@@ -121557,6 +127412,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleApplicationDeployments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -121600,6 +127456,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_resultTupleScheme getScheme() {
         return new getAccessibleApplicationDeployments_resultTupleScheme();
       }
@@ -121656,9 +127513,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list171 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list171 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list171.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem172;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem172;
             for (int _i173 = 0; _i173 < _list171.size; ++_i173)
             {
               _elem172 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
@@ -121696,6 +127553,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAppModuleDeployedResources_args implements org.apache.thrift.TBase<getAppModuleDeployedResources_args, getAppModuleDeployedResources_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAppModuleDeployedResources_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAppModuleDeployedResources_args");
 
@@ -121705,8 +127563,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAppModuleDeployedResources_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAppModuleDeployedResources_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -121724,6 +127582,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -121748,6 +127607,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -121760,10 +127620,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -121805,6 +127667,7 @@
       }
     }
 
+    @Override
     public getAppModuleDeployedResources_args deepCopy() {
       return new getAppModuleDeployedResources_args(this);
     }
@@ -121815,11 +127678,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAppModuleDeployedResources_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAppModuleDeployedResources_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -121839,11 +127703,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getAppModuleDeployedResources_args setAppModuleId(java.lang.String appModuleId) {
+    public getAppModuleDeployedResources_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -121863,7 +127728,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -121884,6 +127750,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -121897,6 +127765,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -121913,8 +127782,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAppModuleDeployedResources_args)
         return this.equals((getAppModuleDeployedResources_args)that);
       return false;
@@ -121970,7 +127837,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121980,7 +127847,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121993,14 +127860,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -122060,6 +127931,7 @@
     }
 
     private static class getAppModuleDeployedResources_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_argsStandardScheme getScheme() {
         return new getAppModuleDeployedResources_argsStandardScheme();
       }
@@ -122067,6 +127939,7 @@
 
     private static class getAppModuleDeployedResources_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAppModuleDeployedResources_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAppModuleDeployedResources_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -122105,6 +127978,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAppModuleDeployedResources_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -122126,6 +128000,7 @@
     }
 
     private static class getAppModuleDeployedResources_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_argsTupleScheme getScheme() {
         return new getAppModuleDeployedResources_argsTupleScheme();
       }
@@ -122156,6 +128031,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAppModuleDeployedResources_result implements org.apache.thrift.TBase<getAppModuleDeployedResources_result, getAppModuleDeployedResources_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAppModuleDeployedResources_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAppModuleDeployedResources_result");
 
@@ -122168,11 +128044,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAppModuleDeployedResources_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAppModuleDeployedResources_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -122193,6 +128069,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -122223,6 +128100,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -122235,10 +128113,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -122303,6 +128183,7 @@
       }
     }
 
+    @Override
     public getAppModuleDeployedResources_result deepCopy() {
       return new getAppModuleDeployedResources_result(this);
     }
@@ -122320,6 +128201,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -122331,11 +128213,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAppModuleDeployedResources_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAppModuleDeployedResources_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -122355,11 +128238,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAppModuleDeployedResources_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAppModuleDeployedResources_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -122379,11 +128263,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAppModuleDeployedResources_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAppModuleDeployedResources_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -122403,11 +128288,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAppModuleDeployedResources_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAppModuleDeployedResources_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -122427,11 +128313,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAppModuleDeployedResources_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAppModuleDeployedResources_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -122451,7 +128338,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -122496,6 +128384,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -122518,6 +128408,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -122540,8 +128431,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAppModuleDeployedResources_result)
         return this.equals((getAppModuleDeployedResources_result)that);
       return false;
@@ -122636,7 +128525,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122646,7 +128535,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122656,7 +128545,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122666,7 +128555,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122676,7 +128565,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122689,10 +128578,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -122771,6 +128663,7 @@
     }
 
     private static class getAppModuleDeployedResources_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_resultStandardScheme getScheme() {
         return new getAppModuleDeployedResources_resultStandardScheme();
       }
@@ -122778,6 +128671,7 @@
 
     private static class getAppModuleDeployedResources_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAppModuleDeployedResources_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAppModuleDeployedResources_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -122793,7 +128687,7 @@
                 {
                   org.apache.thrift.protocol.TList _list174 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list174.size);
-                  java.lang.String _elem175;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem175;
                   for (int _i176 = 0; _i176 < _list174.size; ++_i176)
                   {
                     _elem175 = iprot.readString();
@@ -122853,6 +128747,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAppModuleDeployedResources_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -122896,6 +128791,7 @@
     }
 
     private static class getAppModuleDeployedResources_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_resultTupleScheme getScheme() {
         return new getAppModuleDeployedResources_resultTupleScheme();
       }
@@ -122952,9 +128848,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list179 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list179.size);
-            java.lang.String _elem180;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem180;
             for (int _i181 = 0; _i181 < _list179.size; ++_i181)
             {
               _elem180 = iprot.readString();
@@ -122991,6 +128887,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args implements org.apache.thrift.TBase<getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args");
 
@@ -123001,9 +128898,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appModuleId; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -123022,6 +128919,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -123048,6 +128946,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -123060,10 +128959,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -123112,6 +129013,7 @@
       }
     }
 
+    @Override
     public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args deepCopy() {
       return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args(this);
     }
@@ -123123,11 +129025,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -123147,11 +129050,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args setAppModuleId(java.lang.String appModuleId) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -123171,11 +129075,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -123195,7 +129100,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -123224,6 +129130,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -123240,6 +129148,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -123258,8 +129167,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args)
         return this.equals((getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args)that);
       return false;
@@ -123328,7 +129235,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123338,7 +129245,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123348,7 +129255,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123361,14 +129268,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -123439,6 +129350,7 @@
     }
 
     private static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsStandardScheme getScheme() {
         return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsStandardScheme();
       }
@@ -123446,6 +129358,7 @@
 
     private static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -123492,6 +129405,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -123518,6 +129432,7 @@
     }
 
     private static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsTupleScheme getScheme() {
         return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_argsTupleScheme();
       }
@@ -123551,6 +129466,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result implements org.apache.thrift.TBase<getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result");
 
@@ -123563,11 +129479,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -123588,6 +129504,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -123618,6 +129535,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -123630,10 +129548,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -123701,6 +129621,7 @@
       }
     }
 
+    @Override
     public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result deepCopy() {
       return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result(this);
     }
@@ -123718,6 +129639,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -123729,11 +129651,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -123753,11 +129676,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -123777,11 +129701,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -123801,11 +129726,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -123825,11 +129751,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -123849,7 +129776,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -123894,6 +129822,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -123916,6 +129846,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -123938,8 +129869,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result)
         return this.equals((getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result)that);
       return false;
@@ -124034,7 +129963,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124044,7 +129973,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124054,7 +129983,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124064,7 +129993,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124074,7 +130003,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124087,10 +130016,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -124169,6 +130101,7 @@
     }
 
     private static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultStandardScheme getScheme() {
         return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultStandardScheme();
       }
@@ -124176,6 +130109,7 @@
 
     private static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -124191,7 +130125,7 @@
                 {
                   org.apache.thrift.protocol.TList _list182 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list182.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem183;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem183;
                   for (int _i184 = 0; _i184 < _list182.size; ++_i184)
                   {
                     _elem183 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
@@ -124252,6 +130186,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -124295,6 +130230,7 @@
     }
 
     private static class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultTupleScheme getScheme() {
         return new getApplicationDeploymentsForAppModuleAndGroupResourceProfile_resultTupleScheme();
       }
@@ -124351,9 +130287,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list187 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list187 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list187.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem188;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem188;
             for (int _i189 = 0; _i189 < _list187.size; ++_i189)
             {
               _elem188 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
@@ -124391,6 +130327,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationInterface_args implements org.apache.thrift.TBase<registerApplicationInterface_args, registerApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationInterface_args");
 
@@ -124401,9 +130338,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // 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 {
@@ -124422,6 +130359,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -124448,6 +130386,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -124460,10 +130399,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -124512,6 +130453,7 @@
       }
     }
 
+    @Override
     public registerApplicationInterface_args deepCopy() {
       return new registerApplicationInterface_args(this);
     }
@@ -124523,11 +130465,12 @@
       this.applicationInterface = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerApplicationInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerApplicationInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -124547,11 +130490,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public registerApplicationInterface_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationInterface_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -124571,11 +130515,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface() {
       return this.applicationInterface;
     }
 
-    public registerApplicationInterface_args setApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
+    public registerApplicationInterface_args setApplicationInterface(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
       this.applicationInterface = applicationInterface;
       return this;
     }
@@ -124595,7 +130540,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -124624,6 +130570,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -124640,6 +130588,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -124658,8 +130607,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationInterface_args)
         return this.equals((registerApplicationInterface_args)that);
       return false;
@@ -124728,7 +130675,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124738,7 +130685,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124748,7 +130695,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterface()).compareTo(other.isSetApplicationInterface());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationInterface(), other.isSetApplicationInterface());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124761,14 +130708,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -124842,6 +130793,7 @@
     }
 
     private static class registerApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_argsStandardScheme getScheme() {
         return new registerApplicationInterface_argsStandardScheme();
       }
@@ -124849,6 +130801,7 @@
 
     private static class registerApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -124896,6 +130849,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -124922,6 +130876,7 @@
     }
 
     private static class registerApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_argsTupleScheme getScheme() {
         return new registerApplicationInterface_argsTupleScheme();
       }
@@ -124956,6 +130911,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationInterface_result implements org.apache.thrift.TBase<registerApplicationInterface_result, registerApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationInterface_result");
 
@@ -124968,11 +130924,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationInterface_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationInterface_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -124993,6 +130949,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -125023,6 +130980,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -125035,10 +130993,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -125101,6 +131061,7 @@
       }
     }
 
+    @Override
     public registerApplicationInterface_result deepCopy() {
       return new registerApplicationInterface_result(this);
     }
@@ -125114,11 +131075,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerApplicationInterface_result setSuccess(java.lang.String success) {
+    public registerApplicationInterface_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -125138,11 +131100,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerApplicationInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerApplicationInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -125162,11 +131125,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerApplicationInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerApplicationInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -125186,11 +131150,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerApplicationInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerApplicationInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -125210,11 +131175,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerApplicationInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerApplicationInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -125234,7 +131200,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -125279,6 +131246,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -125301,6 +131270,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -125323,8 +131293,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationInterface_result)
         return this.equals((registerApplicationInterface_result)that);
       return false;
@@ -125419,7 +131387,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125429,7 +131397,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125439,7 +131407,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125449,7 +131417,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125459,7 +131427,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125472,10 +131440,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -125554,6 +131525,7 @@
     }
 
     private static class registerApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_resultStandardScheme getScheme() {
         return new registerApplicationInterface_resultStandardScheme();
       }
@@ -125561,6 +131533,7 @@
 
     private static class registerApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -125626,6 +131599,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -125662,6 +131636,7 @@
     }
 
     private static class registerApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_resultTupleScheme getScheme() {
         return new registerApplicationInterface_resultTupleScheme();
       }
@@ -125742,6 +131717,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class cloneApplicationInterface_args implements org.apache.thrift.TBase<cloneApplicationInterface_args, cloneApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<cloneApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneApplicationInterface_args");
 
@@ -125753,10 +131729,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneApplicationInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String existingAppInterfaceID; // required
-    public java.lang.String newApplicationName; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String existingAppInterfaceID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newApplicationName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -125776,6 +131752,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -125804,6 +131781,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -125816,10 +131794,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -125875,6 +131855,7 @@
       }
     }
 
+    @Override
     public cloneApplicationInterface_args deepCopy() {
       return new cloneApplicationInterface_args(this);
     }
@@ -125887,11 +131868,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public cloneApplicationInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public cloneApplicationInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -125911,11 +131893,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExistingAppInterfaceID() {
       return this.existingAppInterfaceID;
     }
 
-    public cloneApplicationInterface_args setExistingAppInterfaceID(java.lang.String existingAppInterfaceID) {
+    public cloneApplicationInterface_args setExistingAppInterfaceID(@org.apache.thrift.annotation.Nullable java.lang.String existingAppInterfaceID) {
       this.existingAppInterfaceID = existingAppInterfaceID;
       return this;
     }
@@ -125935,11 +131918,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewApplicationName() {
       return this.newApplicationName;
     }
 
-    public cloneApplicationInterface_args setNewApplicationName(java.lang.String newApplicationName) {
+    public cloneApplicationInterface_args setNewApplicationName(@org.apache.thrift.annotation.Nullable java.lang.String newApplicationName) {
       this.newApplicationName = newApplicationName;
       return this;
     }
@@ -125959,11 +131943,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public cloneApplicationInterface_args setGatewayId(java.lang.String gatewayId) {
+    public cloneApplicationInterface_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -125983,7 +131968,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -126020,6 +132006,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -126039,6 +132027,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -126059,8 +132048,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof cloneApplicationInterface_args)
         return this.equals((cloneApplicationInterface_args)that);
       return false;
@@ -126142,7 +132129,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126152,7 +132139,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExistingAppInterfaceID()).compareTo(other.isSetExistingAppInterfaceID());
+      lastComparison = java.lang.Boolean.compare(isSetExistingAppInterfaceID(), other.isSetExistingAppInterfaceID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126162,7 +132149,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewApplicationName()).compareTo(other.isSetNewApplicationName());
+      lastComparison = java.lang.Boolean.compare(isSetNewApplicationName(), other.isSetNewApplicationName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126172,7 +132159,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126185,14 +132172,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -126265,6 +132256,7 @@
     }
 
     private static class cloneApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneApplicationInterface_argsStandardScheme getScheme() {
         return new cloneApplicationInterface_argsStandardScheme();
       }
@@ -126272,6 +132264,7 @@
 
     private static class cloneApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, cloneApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -126326,6 +132319,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, cloneApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -126357,6 +132351,7 @@
     }
 
     private static class cloneApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneApplicationInterface_argsTupleScheme getScheme() {
         return new cloneApplicationInterface_argsTupleScheme();
       }
@@ -126417,6 +132412,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class cloneApplicationInterface_result implements org.apache.thrift.TBase<cloneApplicationInterface_result, cloneApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<cloneApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("cloneApplicationInterface_result");
 
@@ -126429,11 +132425,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new cloneApplicationInterface_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new cloneApplicationInterface_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -126454,6 +132450,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -126484,6 +132481,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -126496,10 +132494,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -126562,6 +132562,7 @@
       }
     }
 
+    @Override
     public cloneApplicationInterface_result deepCopy() {
       return new cloneApplicationInterface_result(this);
     }
@@ -126575,11 +132576,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public cloneApplicationInterface_result setSuccess(java.lang.String success) {
+    public cloneApplicationInterface_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -126599,11 +132601,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public cloneApplicationInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public cloneApplicationInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -126623,11 +132626,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public cloneApplicationInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public cloneApplicationInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -126647,11 +132651,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public cloneApplicationInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public cloneApplicationInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -126671,11 +132676,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public cloneApplicationInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public cloneApplicationInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -126695,7 +132701,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -126740,6 +132747,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -126762,6 +132771,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -126784,8 +132794,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof cloneApplicationInterface_result)
         return this.equals((cloneApplicationInterface_result)that);
       return false;
@@ -126880,7 +132888,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126890,7 +132898,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126900,7 +132908,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126910,7 +132918,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126920,7 +132928,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126933,10 +132941,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -127015,6 +133026,7 @@
     }
 
     private static class cloneApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneApplicationInterface_resultStandardScheme getScheme() {
         return new cloneApplicationInterface_resultStandardScheme();
       }
@@ -127022,6 +133034,7 @@
 
     private static class cloneApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<cloneApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, cloneApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -127087,6 +133100,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, cloneApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -127123,6 +133137,7 @@
     }
 
     private static class cloneApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public cloneApplicationInterface_resultTupleScheme getScheme() {
         return new cloneApplicationInterface_resultTupleScheme();
       }
@@ -127203,6 +133218,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInterface_args implements org.apache.thrift.TBase<getApplicationInterface_args, getApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInterface_args");
 
@@ -127212,8 +133228,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -127231,6 +133247,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -127255,6 +133272,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -127267,10 +133285,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -127312,6 +133332,7 @@
       }
     }
 
+    @Override
     public getApplicationInterface_args deepCopy() {
       return new getApplicationInterface_args(this);
     }
@@ -127322,11 +133343,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getApplicationInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -127346,11 +133368,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getApplicationInterface_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getApplicationInterface_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -127370,7 +133393,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -127391,6 +133415,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -127404,6 +133430,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -127420,8 +133447,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInterface_args)
         return this.equals((getApplicationInterface_args)that);
       return false;
@@ -127477,7 +133502,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -127487,7 +133512,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -127500,14 +133525,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -127567,6 +133596,7 @@
     }
 
     private static class getApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_argsStandardScheme getScheme() {
         return new getApplicationInterface_argsStandardScheme();
       }
@@ -127574,6 +133604,7 @@
 
     private static class getApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -127612,6 +133643,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -127633,6 +133665,7 @@
     }
 
     private static class getApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_argsTupleScheme getScheme() {
         return new getApplicationInterface_argsTupleScheme();
       }
@@ -127663,6 +133696,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInterface_result implements org.apache.thrift.TBase<getApplicationInterface_result, getApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInterface_result");
 
@@ -127675,11 +133709,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInterface_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInterface_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -127700,6 +133734,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -127730,6 +133765,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -127742,10 +133778,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -127808,6 +133846,7 @@
       }
     }
 
+    @Override
     public getApplicationInterface_result deepCopy() {
       return new getApplicationInterface_result(this);
     }
@@ -127821,11 +133860,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getSuccess() {
       return this.success;
     }
 
-    public getApplicationInterface_result setSuccess(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success) {
+    public getApplicationInterface_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success) {
       this.success = success;
       return this;
     }
@@ -127845,11 +133885,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getApplicationInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getApplicationInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -127869,11 +133910,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getApplicationInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getApplicationInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -127893,11 +133935,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getApplicationInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getApplicationInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -127917,11 +133960,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getApplicationInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getApplicationInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -127941,7 +133985,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -127986,6 +134031,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -128008,6 +134055,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -128030,8 +134078,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInterface_result)
         return this.equals((getApplicationInterface_result)that);
       return false;
@@ -128126,7 +134172,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128136,7 +134182,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128146,7 +134192,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128156,7 +134202,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128166,7 +134212,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128179,10 +134225,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -128264,6 +134313,7 @@
     }
 
     private static class getApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_resultStandardScheme getScheme() {
         return new getApplicationInterface_resultStandardScheme();
       }
@@ -128271,6 +134321,7 @@
 
     private static class getApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -128337,6 +134388,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -128373,6 +134425,7 @@
     }
 
     private static class getApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_resultTupleScheme getScheme() {
         return new getApplicationInterface_resultTupleScheme();
       }
@@ -128454,6 +134507,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationInterface_args implements org.apache.thrift.TBase<updateApplicationInterface_args, updateApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationInterface_args");
 
@@ -128464,9 +134518,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // 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 {
@@ -128485,6 +134539,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -128511,6 +134566,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -128523,10 +134579,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -128575,6 +134633,7 @@
       }
     }
 
+    @Override
     public updateApplicationInterface_args deepCopy() {
       return new updateApplicationInterface_args(this);
     }
@@ -128586,11 +134645,12 @@
       this.applicationInterface = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateApplicationInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateApplicationInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -128610,11 +134670,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public updateApplicationInterface_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public updateApplicationInterface_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -128634,11 +134695,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface() {
       return this.applicationInterface;
     }
 
-    public updateApplicationInterface_args setApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
+    public updateApplicationInterface_args setApplicationInterface(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
       this.applicationInterface = applicationInterface;
       return this;
     }
@@ -128658,7 +134720,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -128687,6 +134750,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -128703,6 +134768,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -128721,8 +134787,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationInterface_args)
         return this.equals((updateApplicationInterface_args)that);
       return false;
@@ -128791,7 +134855,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128801,7 +134865,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128811,7 +134875,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterface()).compareTo(other.isSetApplicationInterface());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationInterface(), other.isSetApplicationInterface());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128824,14 +134888,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -128905,6 +134973,7 @@
     }
 
     private static class updateApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_argsStandardScheme getScheme() {
         return new updateApplicationInterface_argsStandardScheme();
       }
@@ -128912,6 +134981,7 @@
 
     private static class updateApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -128959,6 +135029,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -128985,6 +135056,7 @@
     }
 
     private static class updateApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_argsTupleScheme getScheme() {
         return new updateApplicationInterface_argsTupleScheme();
       }
@@ -129019,6 +135091,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationInterface_result implements org.apache.thrift.TBase<updateApplicationInterface_result, updateApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationInterface_result");
 
@@ -129032,10 +135105,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationInterface_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -129056,6 +135129,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -129086,6 +135160,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -129098,10 +135173,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -129166,6 +135243,7 @@
       }
     }
 
+    @Override
     public updateApplicationInterface_result deepCopy() {
       return new updateApplicationInterface_result(this);
     }
@@ -129203,11 +135281,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateApplicationInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateApplicationInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -129227,11 +135306,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateApplicationInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateApplicationInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -129251,11 +135331,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateApplicationInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateApplicationInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -129275,11 +135356,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateApplicationInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateApplicationInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -129299,7 +135381,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -129344,6 +135427,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -129366,6 +135451,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -129388,8 +135474,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationInterface_result)
         return this.equals((updateApplicationInterface_result)that);
       return false;
@@ -129482,7 +135566,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129492,7 +135576,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129502,7 +135586,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129512,7 +135596,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129522,7 +135606,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129535,10 +135619,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -129615,6 +135702,7 @@
     }
 
     private static class updateApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_resultStandardScheme getScheme() {
         return new updateApplicationInterface_resultStandardScheme();
       }
@@ -129622,6 +135710,7 @@
 
     private static class updateApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -129687,6 +135776,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -129723,6 +135813,7 @@
     }
 
     private static class updateApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_resultTupleScheme getScheme() {
         return new updateApplicationInterface_resultTupleScheme();
       }
@@ -129803,6 +135894,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationInterface_args implements org.apache.thrift.TBase<deleteApplicationInterface_args, deleteApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationInterface_args");
 
@@ -129812,8 +135904,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -129831,6 +135923,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -129855,6 +135948,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -129867,10 +135961,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -129912,6 +136008,7 @@
       }
     }
 
+    @Override
     public deleteApplicationInterface_args deepCopy() {
       return new deleteApplicationInterface_args(this);
     }
@@ -129922,11 +136019,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteApplicationInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteApplicationInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -129946,11 +136044,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public deleteApplicationInterface_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public deleteApplicationInterface_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -129970,7 +136069,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -129991,6 +136091,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -130004,6 +136106,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -130020,8 +136123,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationInterface_args)
         return this.equals((deleteApplicationInterface_args)that);
       return false;
@@ -130077,7 +136178,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130087,7 +136188,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130100,14 +136201,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -130167,6 +136272,7 @@
     }
 
     private static class deleteApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_argsStandardScheme getScheme() {
         return new deleteApplicationInterface_argsStandardScheme();
       }
@@ -130174,6 +136280,7 @@
 
     private static class deleteApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -130212,6 +136319,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -130233,6 +136341,7 @@
     }
 
     private static class deleteApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_argsTupleScheme getScheme() {
         return new deleteApplicationInterface_argsTupleScheme();
       }
@@ -130263,6 +136372,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationInterface_result implements org.apache.thrift.TBase<deleteApplicationInterface_result, deleteApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationInterface_result");
 
@@ -130276,10 +136386,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationInterface_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -130300,6 +136410,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -130330,6 +136441,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -130342,10 +136454,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -130410,6 +136524,7 @@
       }
     }
 
+    @Override
     public deleteApplicationInterface_result deepCopy() {
       return new deleteApplicationInterface_result(this);
     }
@@ -130447,11 +136562,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteApplicationInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteApplicationInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -130471,11 +136587,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteApplicationInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteApplicationInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -130495,11 +136612,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteApplicationInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteApplicationInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -130519,11 +136637,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteApplicationInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteApplicationInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -130543,7 +136662,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -130588,6 +136708,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -130610,6 +136732,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -130632,8 +136755,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationInterface_result)
         return this.equals((deleteApplicationInterface_result)that);
       return false;
@@ -130726,7 +136847,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130736,7 +136857,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130746,7 +136867,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130756,7 +136877,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130766,7 +136887,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130779,10 +136900,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -130859,6 +136983,7 @@
     }
 
     private static class deleteApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_resultStandardScheme getScheme() {
         return new deleteApplicationInterface_resultStandardScheme();
       }
@@ -130866,6 +136991,7 @@
 
     private static class deleteApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -130931,6 +137057,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -130967,6 +137094,7 @@
     }
 
     private static class deleteApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_resultTupleScheme getScheme() {
         return new deleteApplicationInterface_resultTupleScheme();
       }
@@ -131047,6 +137175,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaceNames_args implements org.apache.thrift.TBase<getAllApplicationInterfaceNames_args, getAllApplicationInterfaceNames_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaceNames_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaceNames_args");
 
@@ -131056,8 +137185,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaceNames_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaceNames_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -131075,6 +137204,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -131099,6 +137229,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -131111,10 +137242,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -131156,6 +137289,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaceNames_args deepCopy() {
       return new getAllApplicationInterfaceNames_args(this);
     }
@@ -131166,11 +137300,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllApplicationInterfaceNames_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllApplicationInterfaceNames_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -131190,11 +137325,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllApplicationInterfaceNames_args setGatewayId(java.lang.String gatewayId) {
+    public getAllApplicationInterfaceNames_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -131214,7 +137350,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -131235,6 +137372,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -131248,6 +137387,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -131264,8 +137404,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaceNames_args)
         return this.equals((getAllApplicationInterfaceNames_args)that);
       return false;
@@ -131321,7 +137459,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131331,7 +137469,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131344,14 +137482,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -131411,6 +137553,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_argsStandardScheme getScheme() {
         return new getAllApplicationInterfaceNames_argsStandardScheme();
       }
@@ -131418,6 +137561,7 @@
 
     private static class getAllApplicationInterfaceNames_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaceNames_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaceNames_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -131456,6 +137600,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaceNames_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -131477,6 +137622,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_argsTupleScheme getScheme() {
         return new getAllApplicationInterfaceNames_argsTupleScheme();
       }
@@ -131507,6 +137653,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaceNames_result implements org.apache.thrift.TBase<getAllApplicationInterfaceNames_result, getAllApplicationInterfaceNames_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaceNames_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaceNames_result");
 
@@ -131519,11 +137666,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaceNames_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaceNames_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -131544,6 +137691,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -131574,6 +137722,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -131586,10 +137735,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -131655,6 +137806,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaceNames_result deepCopy() {
       return new getAllApplicationInterfaceNames_result(this);
     }
@@ -131679,11 +137831,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllApplicationInterfaceNames_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllApplicationInterfaceNames_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -131703,11 +137856,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllApplicationInterfaceNames_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllApplicationInterfaceNames_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -131727,11 +137881,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllApplicationInterfaceNames_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllApplicationInterfaceNames_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -131751,11 +137906,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllApplicationInterfaceNames_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllApplicationInterfaceNames_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -131775,11 +137931,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllApplicationInterfaceNames_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllApplicationInterfaceNames_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -131799,7 +137956,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -131844,6 +138002,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -131866,6 +138026,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -131888,8 +138049,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaceNames_result)
         return this.equals((getAllApplicationInterfaceNames_result)that);
       return false;
@@ -131984,7 +138143,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131994,7 +138153,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132004,7 +138163,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132014,7 +138173,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132024,7 +138183,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132037,10 +138196,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -132119,6 +138281,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_resultStandardScheme getScheme() {
         return new getAllApplicationInterfaceNames_resultStandardScheme();
       }
@@ -132126,6 +138289,7 @@
 
     private static class getAllApplicationInterfaceNames_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaceNames_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaceNames_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -132141,8 +138305,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map190 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map190.size);
-                  java.lang.String _key191;
-                  java.lang.String _val192;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key191;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val192;
                   for (int _i193 = 0; _i193 < _map190.size; ++_i193)
                   {
                     _key191 = iprot.readString();
@@ -132203,6 +138367,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaceNames_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -132247,6 +138412,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_resultTupleScheme getScheme() {
         return new getAllApplicationInterfaceNames_resultTupleScheme();
       }
@@ -132304,10 +138470,10 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map196 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map196 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map196.size);
-            java.lang.String _key197;
-            java.lang.String _val198;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key197;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val198;
             for (int _i199 = 0; _i199 < _map196.size; ++_i199)
             {
               _key197 = iprot.readString();
@@ -132345,6 +138511,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaces_args implements org.apache.thrift.TBase<getAllApplicationInterfaces_args, getAllApplicationInterfaces_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaces_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaces_args");
 
@@ -132354,8 +138521,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaces_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaces_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -132373,6 +138540,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -132397,6 +138565,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -132409,10 +138578,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -132454,6 +138625,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaces_args deepCopy() {
       return new getAllApplicationInterfaces_args(this);
     }
@@ -132464,11 +138636,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllApplicationInterfaces_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllApplicationInterfaces_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -132488,11 +138661,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllApplicationInterfaces_args setGatewayId(java.lang.String gatewayId) {
+    public getAllApplicationInterfaces_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -132512,7 +138686,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -132533,6 +138708,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -132546,6 +138723,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -132562,8 +138740,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaces_args)
         return this.equals((getAllApplicationInterfaces_args)that);
       return false;
@@ -132619,7 +138795,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132629,7 +138805,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132642,14 +138818,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -132709,6 +138889,7 @@
     }
 
     private static class getAllApplicationInterfaces_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_argsStandardScheme getScheme() {
         return new getAllApplicationInterfaces_argsStandardScheme();
       }
@@ -132716,6 +138897,7 @@
 
     private static class getAllApplicationInterfaces_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaces_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaces_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -132754,6 +138936,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaces_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -132775,6 +138958,7 @@
     }
 
     private static class getAllApplicationInterfaces_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_argsTupleScheme getScheme() {
         return new getAllApplicationInterfaces_argsTupleScheme();
       }
@@ -132805,6 +138989,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaces_result implements org.apache.thrift.TBase<getAllApplicationInterfaces_result, getAllApplicationInterfaces_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaces_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaces_result");
 
@@ -132817,11 +139002,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaces_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaces_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -132842,6 +139027,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -132872,6 +139058,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -132884,10 +139071,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -132955,6 +139144,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaces_result deepCopy() {
       return new getAllApplicationInterfaces_result(this);
     }
@@ -132972,6 +139162,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -132983,11 +139174,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getSuccess() {
       return this.success;
     }
 
-    public getAllApplicationInterfaces_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success) {
+    public getAllApplicationInterfaces_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success) {
       this.success = success;
       return this;
     }
@@ -133007,11 +139199,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllApplicationInterfaces_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllApplicationInterfaces_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -133031,11 +139224,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllApplicationInterfaces_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllApplicationInterfaces_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -133055,11 +139249,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllApplicationInterfaces_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllApplicationInterfaces_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -133079,11 +139274,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllApplicationInterfaces_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllApplicationInterfaces_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -133103,7 +139299,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -133148,6 +139345,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -133170,6 +139369,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -133192,8 +139392,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaces_result)
         return this.equals((getAllApplicationInterfaces_result)that);
       return false;
@@ -133288,7 +139486,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133298,7 +139496,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133308,7 +139506,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133318,7 +139516,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133328,7 +139526,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133341,10 +139539,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -133423,6 +139624,7 @@
     }
 
     private static class getAllApplicationInterfaces_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_resultStandardScheme getScheme() {
         return new getAllApplicationInterfaces_resultStandardScheme();
       }
@@ -133430,6 +139632,7 @@
 
     private static class getAllApplicationInterfaces_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaces_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaces_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -133445,7 +139648,7 @@
                 {
                   org.apache.thrift.protocol.TList _list200 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>(_list200.size);
-                  org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem201;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem201;
                   for (int _i202 = 0; _i202 < _list200.size; ++_i202)
                   {
                     _elem201 = new org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription();
@@ -133506,6 +139709,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaces_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -133549,6 +139753,7 @@
     }
 
     private static class getAllApplicationInterfaces_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_resultTupleScheme getScheme() {
         return new getAllApplicationInterfaces_resultTupleScheme();
       }
@@ -133605,9 +139810,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list205 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list205 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>(_list205.size);
-            org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem206;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem206;
             for (int _i207 = 0; _i207 < _list205.size; ++_i207)
             {
               _elem206 = new org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription();
@@ -133645,6 +139850,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInputs_args implements org.apache.thrift.TBase<getApplicationInputs_args, getApplicationInputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInputs_args");
 
@@ -133654,8 +139860,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInputs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -133673,6 +139879,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -133697,6 +139904,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -133709,10 +139917,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -133754,6 +139964,7 @@
       }
     }
 
+    @Override
     public getApplicationInputs_args deepCopy() {
       return new getApplicationInputs_args(this);
     }
@@ -133764,11 +139975,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getApplicationInputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationInputs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -133788,11 +140000,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getApplicationInputs_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getApplicationInputs_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -133812,7 +140025,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -133833,6 +140047,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -133846,6 +140062,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -133862,8 +140079,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInputs_args)
         return this.equals((getApplicationInputs_args)that);
       return false;
@@ -133919,7 +140134,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133929,7 +140144,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133942,14 +140157,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -134009,6 +140228,7 @@
     }
 
     private static class getApplicationInputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_argsStandardScheme getScheme() {
         return new getApplicationInputs_argsStandardScheme();
       }
@@ -134016,6 +140236,7 @@
 
     private static class getApplicationInputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -134054,6 +140275,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -134075,6 +140297,7 @@
     }
 
     private static class getApplicationInputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_argsTupleScheme getScheme() {
         return new getApplicationInputs_argsTupleScheme();
       }
@@ -134105,6 +140328,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInputs_result implements org.apache.thrift.TBase<getApplicationInputs_result, getApplicationInputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInputs_result");
 
@@ -134117,11 +140341,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -134142,6 +140366,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -134172,6 +140397,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -134184,10 +140410,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -134255,6 +140483,7 @@
       }
     }
 
+    @Override
     public getApplicationInputs_result deepCopy() {
       return new getApplicationInputs_result(this);
     }
@@ -134272,6 +140501,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -134283,11 +140513,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getApplicationInputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success) {
+    public getApplicationInputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -134307,11 +140538,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getApplicationInputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getApplicationInputs_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -134331,11 +140563,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getApplicationInputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getApplicationInputs_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -134355,11 +140588,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getApplicationInputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getApplicationInputs_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -134379,11 +140613,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getApplicationInputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getApplicationInputs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -134403,7 +140638,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -134448,6 +140684,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -134470,6 +140708,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -134492,8 +140731,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInputs_result)
         return this.equals((getApplicationInputs_result)that);
       return false;
@@ -134588,7 +140825,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134598,7 +140835,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134608,7 +140845,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134618,7 +140855,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134628,7 +140865,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134641,10 +140878,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -134723,6 +140963,7 @@
     }
 
     private static class getApplicationInputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_resultStandardScheme getScheme() {
         return new getApplicationInputs_resultStandardScheme();
       }
@@ -134730,6 +140971,7 @@
 
     private static class getApplicationInputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -134745,7 +140987,7 @@
                 {
                   org.apache.thrift.protocol.TList _list208 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list208.size);
-                  org.apache.airavata.model.application.io.InputDataObjectType _elem209;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem209;
                   for (int _i210 = 0; _i210 < _list208.size; ++_i210)
                   {
                     _elem209 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -134806,6 +141048,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -134849,6 +141092,7 @@
     }
 
     private static class getApplicationInputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_resultTupleScheme getScheme() {
         return new getApplicationInputs_resultTupleScheme();
       }
@@ -134905,9 +141149,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list213 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list213 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list213.size);
-            org.apache.airavata.model.application.io.InputDataObjectType _elem214;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem214;
             for (int _i215 = 0; _i215 < _list213.size; ++_i215)
             {
               _elem214 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -134945,6 +141189,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationOutputs_args implements org.apache.thrift.TBase<getApplicationOutputs_args, getApplicationOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationOutputs_args");
 
@@ -134954,8 +141199,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationOutputs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -134973,6 +141218,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -134997,6 +141243,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -135009,10 +141256,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -135054,6 +141303,7 @@
       }
     }
 
+    @Override
     public getApplicationOutputs_args deepCopy() {
       return new getApplicationOutputs_args(this);
     }
@@ -135064,11 +141314,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getApplicationOutputs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getApplicationOutputs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -135088,11 +141339,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getApplicationOutputs_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getApplicationOutputs_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -135112,7 +141364,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -135133,6 +141386,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -135146,6 +141401,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -135162,8 +141418,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationOutputs_args)
         return this.equals((getApplicationOutputs_args)that);
       return false;
@@ -135219,7 +141473,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135229,7 +141483,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135242,14 +141496,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -135309,6 +141567,7 @@
     }
 
     private static class getApplicationOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_argsStandardScheme getScheme() {
         return new getApplicationOutputs_argsStandardScheme();
       }
@@ -135316,6 +141575,7 @@
 
     private static class getApplicationOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -135354,6 +141614,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -135375,6 +141636,7 @@
     }
 
     private static class getApplicationOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_argsTupleScheme getScheme() {
         return new getApplicationOutputs_argsTupleScheme();
       }
@@ -135405,6 +141667,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationOutputs_result implements org.apache.thrift.TBase<getApplicationOutputs_result, getApplicationOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationOutputs_result");
 
@@ -135417,11 +141680,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -135442,6 +141705,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -135472,6 +141736,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -135484,10 +141749,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -135555,6 +141822,7 @@
       }
     }
 
+    @Override
     public getApplicationOutputs_result deepCopy() {
       return new getApplicationOutputs_result(this);
     }
@@ -135572,6 +141840,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -135583,11 +141852,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getApplicationOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getApplicationOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -135607,11 +141877,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getApplicationOutputs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getApplicationOutputs_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -135631,11 +141902,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getApplicationOutputs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getApplicationOutputs_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -135655,11 +141927,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getApplicationOutputs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getApplicationOutputs_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -135679,11 +141952,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getApplicationOutputs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getApplicationOutputs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -135703,7 +141977,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -135748,6 +142023,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -135770,6 +142047,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -135792,8 +142070,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationOutputs_result)
         return this.equals((getApplicationOutputs_result)that);
       return false;
@@ -135888,7 +142164,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135898,7 +142174,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135908,7 +142184,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135918,7 +142194,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135928,7 +142204,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135941,10 +142217,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -136023,6 +142302,7 @@
     }
 
     private static class getApplicationOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_resultStandardScheme getScheme() {
         return new getApplicationOutputs_resultStandardScheme();
       }
@@ -136030,6 +142310,7 @@
 
     private static class getApplicationOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -136045,7 +142326,7 @@
                 {
                   org.apache.thrift.protocol.TList _list216 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list216.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem217;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem217;
                   for (int _i218 = 0; _i218 < _list216.size; ++_i218)
                   {
                     _elem217 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -136106,6 +142387,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -136149,6 +142431,7 @@
     }
 
     private static class getApplicationOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_resultTupleScheme getScheme() {
         return new getApplicationOutputs_resultTupleScheme();
       }
@@ -136205,9 +142488,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list221 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list221 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list221.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem222;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem222;
             for (int _i223 = 0; _i223 < _list221.size; ++_i223)
             {
               _elem222 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -136245,6 +142528,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAvailableAppInterfaceComputeResources_args implements org.apache.thrift.TBase<getAvailableAppInterfaceComputeResources_args, getAvailableAppInterfaceComputeResources_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAvailableAppInterfaceComputeResources_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableAppInterfaceComputeResources_args");
 
@@ -136254,8 +142538,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -136273,6 +142557,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -136297,6 +142582,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -136309,10 +142595,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -136354,6 +142642,7 @@
       }
     }
 
+    @Override
     public getAvailableAppInterfaceComputeResources_args deepCopy() {
       return new getAvailableAppInterfaceComputeResources_args(this);
     }
@@ -136364,11 +142653,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAvailableAppInterfaceComputeResources_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAvailableAppInterfaceComputeResources_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -136388,11 +142678,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getAvailableAppInterfaceComputeResources_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getAvailableAppInterfaceComputeResources_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -136412,7 +142703,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -136433,6 +142725,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -136446,6 +142740,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -136462,8 +142757,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAvailableAppInterfaceComputeResources_args)
         return this.equals((getAvailableAppInterfaceComputeResources_args)that);
       return false;
@@ -136519,7 +142812,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -136529,7 +142822,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -136542,14 +142835,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -136609,6 +142906,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_argsStandardScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_argsStandardScheme();
       }
@@ -136616,6 +142914,7 @@
 
     private static class getAvailableAppInterfaceComputeResources_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAvailableAppInterfaceComputeResources_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAvailableAppInterfaceComputeResources_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -136654,6 +142953,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAvailableAppInterfaceComputeResources_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -136675,6 +142975,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_argsTupleScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_argsTupleScheme();
       }
@@ -136705,6 +143006,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAvailableAppInterfaceComputeResources_result implements org.apache.thrift.TBase<getAvailableAppInterfaceComputeResources_result, getAvailableAppInterfaceComputeResources_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAvailableAppInterfaceComputeResources_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableAppInterfaceComputeResources_result");
 
@@ -136717,11 +143019,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -136742,6 +143044,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -136772,6 +143075,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -136784,10 +143088,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -136853,6 +143159,7 @@
       }
     }
 
+    @Override
     public getAvailableAppInterfaceComputeResources_result deepCopy() {
       return new getAvailableAppInterfaceComputeResources_result(this);
     }
@@ -136877,11 +143184,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAvailableAppInterfaceComputeResources_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -136901,11 +143209,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAvailableAppInterfaceComputeResources_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -136925,11 +143234,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAvailableAppInterfaceComputeResources_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -136949,11 +143259,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAvailableAppInterfaceComputeResources_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -136973,11 +143284,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAvailableAppInterfaceComputeResources_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -136997,7 +143309,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -137042,6 +143355,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -137064,6 +143379,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -137086,8 +143402,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAvailableAppInterfaceComputeResources_result)
         return this.equals((getAvailableAppInterfaceComputeResources_result)that);
       return false;
@@ -137182,7 +143496,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137192,7 +143506,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137202,7 +143516,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137212,7 +143526,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137222,7 +143536,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137235,10 +143549,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -137317,6 +143634,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_resultStandardScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_resultStandardScheme();
       }
@@ -137324,6 +143642,7 @@
 
     private static class getAvailableAppInterfaceComputeResources_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAvailableAppInterfaceComputeResources_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAvailableAppInterfaceComputeResources_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -137339,8 +143658,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map224 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map224.size);
-                  java.lang.String _key225;
-                  java.lang.String _val226;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key225;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val226;
                   for (int _i227 = 0; _i227 < _map224.size; ++_i227)
                   {
                     _key225 = iprot.readString();
@@ -137401,6 +143720,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAvailableAppInterfaceComputeResources_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -137445,6 +143765,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_resultTupleScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_resultTupleScheme();
       }
@@ -137502,10 +143823,10 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map230 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map230 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map230.size);
-            java.lang.String _key231;
-            java.lang.String _val232;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key231;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val232;
             for (int _i233 = 0; _i233 < _map230.size; ++_i233)
             {
               _key231 = iprot.readString();
@@ -137543,6 +143864,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerComputeResource_args implements org.apache.thrift.TBase<registerComputeResource_args, registerComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerComputeResource_args");
 
@@ -137552,8 +143874,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerComputeResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // 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 {
@@ -137571,6 +143893,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -137595,6 +143918,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -137607,10 +143931,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -137652,6 +143978,7 @@
       }
     }
 
+    @Override
     public registerComputeResource_args deepCopy() {
       return new registerComputeResource_args(this);
     }
@@ -137662,11 +143989,12 @@
       this.computeResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerComputeResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerComputeResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -137686,11 +144014,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResourceDescription() {
       return this.computeResourceDescription;
     }
 
-    public registerComputeResource_args setComputeResourceDescription(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
+    public registerComputeResource_args setComputeResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
       this.computeResourceDescription = computeResourceDescription;
       return this;
     }
@@ -137710,7 +144039,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -137731,6 +144061,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -137744,6 +144076,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -137760,8 +144093,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerComputeResource_args)
         return this.equals((registerComputeResource_args)that);
       return false;
@@ -137817,7 +144148,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137827,7 +144158,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceDescription()).compareTo(other.isSetComputeResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceDescription(), other.isSetComputeResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137840,14 +144171,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -137910,6 +144245,7 @@
     }
 
     private static class registerComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_argsStandardScheme getScheme() {
         return new registerComputeResource_argsStandardScheme();
       }
@@ -137917,6 +144253,7 @@
 
     private static class registerComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -137956,6 +144293,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -137977,6 +144315,7 @@
     }
 
     private static class registerComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_argsTupleScheme getScheme() {
         return new registerComputeResource_argsTupleScheme();
       }
@@ -138008,6 +144347,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerComputeResource_result implements org.apache.thrift.TBase<registerComputeResource_result, registerComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerComputeResource_result");
 
@@ -138020,11 +144360,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerComputeResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerComputeResource_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -138045,6 +144385,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -138075,6 +144416,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -138087,10 +144429,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -138153,6 +144497,7 @@
       }
     }
 
+    @Override
     public registerComputeResource_result deepCopy() {
       return new registerComputeResource_result(this);
     }
@@ -138166,11 +144511,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerComputeResource_result setSuccess(java.lang.String success) {
+    public registerComputeResource_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -138190,11 +144536,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerComputeResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerComputeResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -138214,11 +144561,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerComputeResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerComputeResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -138238,11 +144586,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerComputeResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerComputeResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -138262,11 +144611,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerComputeResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerComputeResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -138286,7 +144636,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -138331,6 +144682,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -138353,6 +144706,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -138375,8 +144729,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerComputeResource_result)
         return this.equals((registerComputeResource_result)that);
       return false;
@@ -138471,7 +144823,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138481,7 +144833,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138491,7 +144843,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138501,7 +144853,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138511,7 +144863,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138524,10 +144876,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -138606,6 +144961,7 @@
     }
 
     private static class registerComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_resultStandardScheme getScheme() {
         return new registerComputeResource_resultStandardScheme();
       }
@@ -138613,6 +144969,7 @@
 
     private static class registerComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -138678,6 +145035,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -138714,6 +145072,7 @@
     }
 
     private static class registerComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_resultTupleScheme getScheme() {
         return new registerComputeResource_resultTupleScheme();
       }
@@ -138794,6 +145153,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getComputeResource_args implements org.apache.thrift.TBase<getComputeResource_args, getComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<getComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getComputeResource_args");
 
@@ -138803,8 +145163,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComputeResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -138822,6 +145182,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -138846,6 +145207,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -138858,10 +145220,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -138903,6 +145267,7 @@
       }
     }
 
+    @Override
     public getComputeResource_args deepCopy() {
       return new getComputeResource_args(this);
     }
@@ -138913,11 +145278,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getComputeResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getComputeResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -138937,11 +145303,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getComputeResource_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getComputeResource_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -138961,7 +145328,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -138982,6 +145350,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -138995,6 +145365,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -139011,8 +145382,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getComputeResource_args)
         return this.equals((getComputeResource_args)that);
       return false;
@@ -139068,7 +145437,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139078,7 +145447,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139091,14 +145460,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -139158,6 +145531,7 @@
     }
 
     private static class getComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_argsStandardScheme getScheme() {
         return new getComputeResource_argsStandardScheme();
       }
@@ -139165,6 +145539,7 @@
 
     private static class getComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -139203,6 +145578,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -139224,6 +145600,7 @@
     }
 
     private static class getComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_argsTupleScheme getScheme() {
         return new getComputeResource_argsTupleScheme();
       }
@@ -139254,6 +145631,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getComputeResource_result implements org.apache.thrift.TBase<getComputeResource_result, getComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<getComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getComputeResource_result");
 
@@ -139266,11 +145644,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComputeResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComputeResource_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -139291,6 +145669,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -139321,6 +145700,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -139333,10 +145713,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -139399,6 +145781,7 @@
       }
     }
 
+    @Override
     public getComputeResource_result deepCopy() {
       return new getComputeResource_result(this);
     }
@@ -139412,11 +145795,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getSuccess() {
       return this.success;
     }
 
-    public getComputeResource_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success) {
+    public getComputeResource_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success) {
       this.success = success;
       return this;
     }
@@ -139436,11 +145820,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getComputeResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getComputeResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -139460,11 +145845,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getComputeResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getComputeResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -139484,11 +145870,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getComputeResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getComputeResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -139508,11 +145895,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getComputeResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getComputeResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -139532,7 +145920,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -139577,6 +145966,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -139599,6 +145990,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -139621,8 +146013,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getComputeResource_result)
         return this.equals((getComputeResource_result)that);
       return false;
@@ -139717,7 +146107,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139727,7 +146117,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139737,7 +146127,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139747,7 +146137,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139757,7 +146147,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139770,10 +146160,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -139855,6 +146248,7 @@
     }
 
     private static class getComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_resultStandardScheme getScheme() {
         return new getComputeResource_resultStandardScheme();
       }
@@ -139862,6 +146256,7 @@
 
     private static class getComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -139928,6 +146323,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -139964,6 +146360,7 @@
     }
 
     private static class getComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_resultTupleScheme getScheme() {
         return new getComputeResource_resultTupleScheme();
       }
@@ -140045,6 +146442,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllComputeResourceNames_args implements org.apache.thrift.TBase<getAllComputeResourceNames_args, getAllComputeResourceNames_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllComputeResourceNames_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllComputeResourceNames_args");
 
@@ -140053,7 +146451,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllComputeResourceNames_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllComputeResourceNames_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -140070,6 +146468,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -140092,6 +146491,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -140104,10 +146504,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -140142,6 +146544,7 @@
       }
     }
 
+    @Override
     public getAllComputeResourceNames_args deepCopy() {
       return new getAllComputeResourceNames_args(this);
     }
@@ -140151,11 +146554,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllComputeResourceNames_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllComputeResourceNames_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -140175,7 +146579,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -140188,6 +146593,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -140198,6 +146605,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -140212,8 +146620,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllComputeResourceNames_args)
         return this.equals((getAllComputeResourceNames_args)that);
       return false;
@@ -140256,7 +146662,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140269,14 +146675,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -140325,6 +146735,7 @@
     }
 
     private static class getAllComputeResourceNames_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_argsStandardScheme getScheme() {
         return new getAllComputeResourceNames_argsStandardScheme();
       }
@@ -140332,6 +146743,7 @@
 
     private static class getAllComputeResourceNames_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllComputeResourceNames_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllComputeResourceNames_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -140362,6 +146774,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllComputeResourceNames_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -140378,6 +146791,7 @@
     }
 
     private static class getAllComputeResourceNames_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_argsTupleScheme getScheme() {
         return new getAllComputeResourceNames_argsTupleScheme();
       }
@@ -140405,6 +146819,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllComputeResourceNames_result implements org.apache.thrift.TBase<getAllComputeResourceNames_result, getAllComputeResourceNames_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllComputeResourceNames_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllComputeResourceNames_result");
 
@@ -140417,11 +146832,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllComputeResourceNames_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllComputeResourceNames_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -140442,6 +146857,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -140472,6 +146888,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -140484,10 +146901,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -140553,6 +146972,7 @@
       }
     }
 
+    @Override
     public getAllComputeResourceNames_result deepCopy() {
       return new getAllComputeResourceNames_result(this);
     }
@@ -140577,11 +146997,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllComputeResourceNames_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllComputeResourceNames_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -140601,11 +147022,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllComputeResourceNames_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllComputeResourceNames_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -140625,11 +147047,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllComputeResourceNames_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllComputeResourceNames_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -140649,11 +147072,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllComputeResourceNames_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllComputeResourceNames_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -140673,11 +147097,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllComputeResourceNames_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllComputeResourceNames_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -140697,7 +147122,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -140742,6 +147168,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -140764,6 +147192,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -140786,8 +147215,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllComputeResourceNames_result)
         return this.equals((getAllComputeResourceNames_result)that);
       return false;
@@ -140882,7 +147309,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140892,7 +147319,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140902,7 +147329,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140912,7 +147339,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140922,7 +147349,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140935,10 +147362,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -141017,6 +147447,7 @@
     }
 
     private static class getAllComputeResourceNames_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_resultStandardScheme getScheme() {
         return new getAllComputeResourceNames_resultStandardScheme();
       }
@@ -141024,6 +147455,7 @@
 
     private static class getAllComputeResourceNames_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllComputeResourceNames_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllComputeResourceNames_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -141039,8 +147471,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map234 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map234.size);
-                  java.lang.String _key235;
-                  java.lang.String _val236;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key235;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val236;
                   for (int _i237 = 0; _i237 < _map234.size; ++_i237)
                   {
                     _key235 = iprot.readString();
@@ -141101,6 +147533,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllComputeResourceNames_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -141145,6 +147578,7 @@
     }
 
     private static class getAllComputeResourceNames_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_resultTupleScheme getScheme() {
         return new getAllComputeResourceNames_resultTupleScheme();
       }
@@ -141202,10 +147636,10 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map240 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map240 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map240.size);
-            java.lang.String _key241;
-            java.lang.String _val242;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key241;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val242;
             for (int _i243 = 0; _i243 < _map240.size; ++_i243)
             {
               _key241 = iprot.readString();
@@ -141243,6 +147677,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateComputeResource_args implements org.apache.thrift.TBase<updateComputeResource_args, updateComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateComputeResource_args");
 
@@ -141253,9 +147688,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateComputeResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // 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 {
@@ -141274,6 +147709,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -141300,6 +147736,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -141312,10 +147749,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -141364,6 +147803,7 @@
       }
     }
 
+    @Override
     public updateComputeResource_args deepCopy() {
       return new updateComputeResource_args(this);
     }
@@ -141375,11 +147815,12 @@
       this.computeResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateComputeResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateComputeResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -141399,11 +147840,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public updateComputeResource_args setComputeResourceId(java.lang.String computeResourceId) {
+    public updateComputeResource_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -141423,11 +147865,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResourceDescription() {
       return this.computeResourceDescription;
     }
 
-    public updateComputeResource_args setComputeResourceDescription(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
+    public updateComputeResource_args setComputeResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
       this.computeResourceDescription = computeResourceDescription;
       return this;
     }
@@ -141447,7 +147890,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -141476,6 +147920,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -141492,6 +147938,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -141510,8 +147957,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateComputeResource_args)
         return this.equals((updateComputeResource_args)that);
       return false;
@@ -141580,7 +148025,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141590,7 +148035,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141600,7 +148045,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceDescription()).compareTo(other.isSetComputeResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceDescription(), other.isSetComputeResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141613,14 +148058,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -141694,6 +148143,7 @@
     }
 
     private static class updateComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_argsStandardScheme getScheme() {
         return new updateComputeResource_argsStandardScheme();
       }
@@ -141701,6 +148151,7 @@
 
     private static class updateComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -141748,6 +148199,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -141774,6 +148226,7 @@
     }
 
     private static class updateComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_argsTupleScheme getScheme() {
         return new updateComputeResource_argsTupleScheme();
       }
@@ -141808,6 +148261,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateComputeResource_result implements org.apache.thrift.TBase<updateComputeResource_result, updateComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateComputeResource_result");
 
@@ -141821,10 +148275,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateComputeResource_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -141845,6 +148299,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -141875,6 +148330,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -141887,10 +148343,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -141955,6 +148413,7 @@
       }
     }
 
+    @Override
     public updateComputeResource_result deepCopy() {
       return new updateComputeResource_result(this);
     }
@@ -141992,11 +148451,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateComputeResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateComputeResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -142016,11 +148476,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateComputeResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateComputeResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -142040,11 +148501,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateComputeResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateComputeResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -142064,11 +148526,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateComputeResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateComputeResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -142088,7 +148551,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -142133,6 +148597,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -142155,6 +148621,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -142177,8 +148644,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateComputeResource_result)
         return this.equals((updateComputeResource_result)that);
       return false;
@@ -142271,7 +148736,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142281,7 +148746,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142291,7 +148756,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142301,7 +148766,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142311,7 +148776,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142324,10 +148789,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -142404,6 +148872,7 @@
     }
 
     private static class updateComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_resultStandardScheme getScheme() {
         return new updateComputeResource_resultStandardScheme();
       }
@@ -142411,6 +148880,7 @@
 
     private static class updateComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -142476,6 +148946,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -142512,6 +148983,7 @@
     }
 
     private static class updateComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_resultTupleScheme getScheme() {
         return new updateComputeResource_resultTupleScheme();
       }
@@ -142592,6 +149064,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteComputeResource_args implements org.apache.thrift.TBase<deleteComputeResource_args, deleteComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteComputeResource_args");
 
@@ -142601,8 +149074,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteComputeResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -142620,6 +149093,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -142644,6 +149118,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -142656,10 +149131,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -142701,6 +149178,7 @@
       }
     }
 
+    @Override
     public deleteComputeResource_args deepCopy() {
       return new deleteComputeResource_args(this);
     }
@@ -142711,11 +149189,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteComputeResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteComputeResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -142735,11 +149214,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteComputeResource_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteComputeResource_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -142759,7 +149239,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -142780,6 +149261,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -142793,6 +149276,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -142809,8 +149293,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteComputeResource_args)
         return this.equals((deleteComputeResource_args)that);
       return false;
@@ -142866,7 +149348,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142876,7 +149358,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142889,14 +149371,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -142956,6 +149442,7 @@
     }
 
     private static class deleteComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_argsStandardScheme getScheme() {
         return new deleteComputeResource_argsStandardScheme();
       }
@@ -142963,6 +149450,7 @@
 
     private static class deleteComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -143001,6 +149489,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -143022,6 +149511,7 @@
     }
 
     private static class deleteComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_argsTupleScheme getScheme() {
         return new deleteComputeResource_argsTupleScheme();
       }
@@ -143052,6 +149542,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteComputeResource_result implements org.apache.thrift.TBase<deleteComputeResource_result, deleteComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteComputeResource_result");
 
@@ -143065,10 +149556,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteComputeResource_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -143089,6 +149580,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -143119,6 +149611,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -143131,10 +149624,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -143199,6 +149694,7 @@
       }
     }
 
+    @Override
     public deleteComputeResource_result deepCopy() {
       return new deleteComputeResource_result(this);
     }
@@ -143236,11 +149732,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteComputeResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteComputeResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -143260,11 +149757,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteComputeResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteComputeResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -143284,11 +149782,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteComputeResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteComputeResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -143308,11 +149807,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteComputeResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteComputeResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -143332,7 +149832,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -143377,6 +149878,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -143399,6 +149902,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -143421,8 +149925,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteComputeResource_result)
         return this.equals((deleteComputeResource_result)that);
       return false;
@@ -143515,7 +150017,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143525,7 +150027,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143535,7 +150037,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143545,7 +150047,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143555,7 +150057,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143568,10 +150070,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -143648,6 +150153,7 @@
     }
 
     private static class deleteComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_resultStandardScheme getScheme() {
         return new deleteComputeResource_resultStandardScheme();
       }
@@ -143655,6 +150161,7 @@
 
     private static class deleteComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -143720,6 +150227,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -143756,6 +150264,7 @@
     }
 
     private static class deleteComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_resultTupleScheme getScheme() {
         return new deleteComputeResource_resultTupleScheme();
       }
@@ -143836,6 +150345,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerStorageResource_args implements org.apache.thrift.TBase<registerStorageResource_args, registerStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerStorageResource_args");
 
@@ -143845,8 +150355,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerStorageResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // 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 {
@@ -143864,6 +150374,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -143888,6 +150399,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -143900,10 +150412,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -143945,6 +150459,7 @@
       }
     }
 
+    @Override
     public registerStorageResource_args deepCopy() {
       return new registerStorageResource_args(this);
     }
@@ -143955,11 +150470,12 @@
       this.storageResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerStorageResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerStorageResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -143979,11 +150495,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResourceDescription() {
       return this.storageResourceDescription;
     }
 
-    public registerStorageResource_args setStorageResourceDescription(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
+    public registerStorageResource_args setStorageResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
       this.storageResourceDescription = storageResourceDescription;
       return this;
     }
@@ -144003,7 +150520,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -144024,6 +150542,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -144037,6 +150557,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -144053,8 +150574,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerStorageResource_args)
         return this.equals((registerStorageResource_args)that);
       return false;
@@ -144110,7 +150629,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144120,7 +150639,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceDescription()).compareTo(other.isSetStorageResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceDescription(), other.isSetStorageResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144133,14 +150652,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -144203,6 +150726,7 @@
     }
 
     private static class registerStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_argsStandardScheme getScheme() {
         return new registerStorageResource_argsStandardScheme();
       }
@@ -144210,6 +150734,7 @@
 
     private static class registerStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -144249,6 +150774,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -144270,6 +150796,7 @@
     }
 
     private static class registerStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_argsTupleScheme getScheme() {
         return new registerStorageResource_argsTupleScheme();
       }
@@ -144301,6 +150828,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerStorageResource_result implements org.apache.thrift.TBase<registerStorageResource_result, registerStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerStorageResource_result");
 
@@ -144313,11 +150841,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerStorageResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerStorageResource_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -144338,6 +150866,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -144368,6 +150897,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -144380,10 +150910,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -144446,6 +150978,7 @@
       }
     }
 
+    @Override
     public registerStorageResource_result deepCopy() {
       return new registerStorageResource_result(this);
     }
@@ -144459,11 +150992,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerStorageResource_result setSuccess(java.lang.String success) {
+    public registerStorageResource_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -144483,11 +151017,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerStorageResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerStorageResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -144507,11 +151042,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerStorageResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerStorageResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -144531,11 +151067,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerStorageResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerStorageResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -144555,11 +151092,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerStorageResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerStorageResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -144579,7 +151117,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -144624,6 +151163,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -144646,6 +151187,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -144668,8 +151210,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerStorageResource_result)
         return this.equals((registerStorageResource_result)that);
       return false;
@@ -144764,7 +151304,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144774,7 +151314,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144784,7 +151324,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144794,7 +151334,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144804,7 +151344,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144817,10 +151357,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -144899,6 +151442,7 @@
     }
 
     private static class registerStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_resultStandardScheme getScheme() {
         return new registerStorageResource_resultStandardScheme();
       }
@@ -144906,6 +151450,7 @@
 
     private static class registerStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -144971,6 +151516,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -145007,6 +151553,7 @@
     }
 
     private static class registerStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_resultTupleScheme getScheme() {
         return new registerStorageResource_resultTupleScheme();
       }
@@ -145087,6 +151634,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getStorageResource_args implements org.apache.thrift.TBase<getStorageResource_args, getStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<getStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStorageResource_args");
 
@@ -145096,8 +151644,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getStorageResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // 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 {
@@ -145115,6 +151663,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -145139,6 +151688,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -145151,10 +151701,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -145196,6 +151748,7 @@
       }
     }
 
+    @Override
     public getStorageResource_args deepCopy() {
       return new getStorageResource_args(this);
     }
@@ -145206,11 +151759,12 @@
       this.storageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getStorageResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getStorageResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -145230,11 +151784,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public getStorageResource_args setStorageResourceId(java.lang.String storageResourceId) {
+    public getStorageResource_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -145254,7 +151809,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -145275,6 +151831,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -145288,6 +151846,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -145304,8 +151863,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getStorageResource_args)
         return this.equals((getStorageResource_args)that);
       return false;
@@ -145361,7 +151918,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -145371,7 +151928,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -145384,14 +151941,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -145451,6 +152012,7 @@
     }
 
     private static class getStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_argsStandardScheme getScheme() {
         return new getStorageResource_argsStandardScheme();
       }
@@ -145458,6 +152020,7 @@
 
     private static class getStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -145496,6 +152059,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -145517,6 +152081,7 @@
     }
 
     private static class getStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_argsTupleScheme getScheme() {
         return new getStorageResource_argsTupleScheme();
       }
@@ -145547,6 +152112,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getStorageResource_result implements org.apache.thrift.TBase<getStorageResource_result, getStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<getStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStorageResource_result");
 
@@ -145559,11 +152125,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getStorageResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getStorageResource_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -145584,6 +152150,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -145614,6 +152181,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -145626,10 +152194,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -145692,6 +152262,7 @@
       }
     }
 
+    @Override
     public getStorageResource_result deepCopy() {
       return new getStorageResource_result(this);
     }
@@ -145705,11 +152276,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getSuccess() {
       return this.success;
     }
 
-    public getStorageResource_result setSuccess(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success) {
+    public getStorageResource_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success) {
       this.success = success;
       return this;
     }
@@ -145729,11 +152301,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getStorageResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getStorageResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -145753,11 +152326,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getStorageResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getStorageResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -145777,11 +152351,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getStorageResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getStorageResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -145801,11 +152376,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getStorageResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getStorageResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -145825,7 +152401,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -145870,6 +152447,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -145892,6 +152471,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -145914,8 +152494,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getStorageResource_result)
         return this.equals((getStorageResource_result)that);
       return false;
@@ -146010,7 +152588,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146020,7 +152598,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146030,7 +152608,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146040,7 +152618,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146050,7 +152628,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146063,10 +152641,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -146148,6 +152729,7 @@
     }
 
     private static class getStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_resultStandardScheme getScheme() {
         return new getStorageResource_resultStandardScheme();
       }
@@ -146155,6 +152737,7 @@
 
     private static class getStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -146221,6 +152804,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -146257,6 +152841,7 @@
     }
 
     private static class getStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_resultTupleScheme getScheme() {
         return new getStorageResource_resultTupleScheme();
       }
@@ -146338,6 +152923,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllStorageResourceNames_args implements org.apache.thrift.TBase<getAllStorageResourceNames_args, getAllStorageResourceNames_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllStorageResourceNames_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllStorageResourceNames_args");
 
@@ -146346,7 +152932,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllStorageResourceNames_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllStorageResourceNames_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -146363,6 +152949,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -146385,6 +152972,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -146397,10 +152985,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -146435,6 +153025,7 @@
       }
     }
 
+    @Override
     public getAllStorageResourceNames_args deepCopy() {
       return new getAllStorageResourceNames_args(this);
     }
@@ -146444,11 +153035,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllStorageResourceNames_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllStorageResourceNames_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -146468,7 +153060,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -146481,6 +153074,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -146491,6 +153086,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -146505,8 +153101,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllStorageResourceNames_args)
         return this.equals((getAllStorageResourceNames_args)that);
       return false;
@@ -146549,7 +153143,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146562,14 +153156,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -146618,6 +153216,7 @@
     }
 
     private static class getAllStorageResourceNames_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_argsStandardScheme getScheme() {
         return new getAllStorageResourceNames_argsStandardScheme();
       }
@@ -146625,6 +153224,7 @@
 
     private static class getAllStorageResourceNames_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllStorageResourceNames_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllStorageResourceNames_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -146655,6 +153255,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllStorageResourceNames_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -146671,6 +153272,7 @@
     }
 
     private static class getAllStorageResourceNames_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_argsTupleScheme getScheme() {
         return new getAllStorageResourceNames_argsTupleScheme();
       }
@@ -146698,6 +153300,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllStorageResourceNames_result implements org.apache.thrift.TBase<getAllStorageResourceNames_result, getAllStorageResourceNames_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllStorageResourceNames_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllStorageResourceNames_result");
 
@@ -146710,11 +153313,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllStorageResourceNames_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllStorageResourceNames_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -146735,6 +153338,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -146765,6 +153369,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -146777,10 +153382,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -146846,6 +153453,7 @@
       }
     }
 
+    @Override
     public getAllStorageResourceNames_result deepCopy() {
       return new getAllStorageResourceNames_result(this);
     }
@@ -146870,11 +153478,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllStorageResourceNames_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllStorageResourceNames_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -146894,11 +153503,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllStorageResourceNames_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllStorageResourceNames_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -146918,11 +153528,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllStorageResourceNames_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllStorageResourceNames_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -146942,11 +153553,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllStorageResourceNames_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllStorageResourceNames_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -146966,11 +153578,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllStorageResourceNames_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllStorageResourceNames_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -146990,7 +153603,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -147035,6 +153649,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -147057,6 +153673,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -147079,8 +153696,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllStorageResourceNames_result)
         return this.equals((getAllStorageResourceNames_result)that);
       return false;
@@ -147175,7 +153790,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147185,7 +153800,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147195,7 +153810,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147205,7 +153820,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147215,7 +153830,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147228,10 +153843,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -147310,6 +153928,7 @@
     }
 
     private static class getAllStorageResourceNames_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_resultStandardScheme getScheme() {
         return new getAllStorageResourceNames_resultStandardScheme();
       }
@@ -147317,6 +153936,7 @@
 
     private static class getAllStorageResourceNames_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllStorageResourceNames_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllStorageResourceNames_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -147332,8 +153952,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map244 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map244.size);
-                  java.lang.String _key245;
-                  java.lang.String _val246;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key245;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val246;
                   for (int _i247 = 0; _i247 < _map244.size; ++_i247)
                   {
                     _key245 = iprot.readString();
@@ -147394,6 +154014,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllStorageResourceNames_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -147438,6 +154059,7 @@
     }
 
     private static class getAllStorageResourceNames_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_resultTupleScheme getScheme() {
         return new getAllStorageResourceNames_resultTupleScheme();
       }
@@ -147495,10 +154117,10 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map250 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map250 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map250.size);
-            java.lang.String _key251;
-            java.lang.String _val252;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key251;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val252;
             for (int _i253 = 0; _i253 < _map250.size; ++_i253)
             {
               _key251 = iprot.readString();
@@ -147536,6 +154158,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateStorageResource_args implements org.apache.thrift.TBase<updateStorageResource_args, updateStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateStorageResource_args");
 
@@ -147546,9 +154169,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateStorageResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String storageResourceId; // required
-    public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // 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 {
@@ -147567,6 +154190,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -147593,6 +154217,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -147605,10 +154230,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -147657,6 +154284,7 @@
       }
     }
 
+    @Override
     public updateStorageResource_args deepCopy() {
       return new updateStorageResource_args(this);
     }
@@ -147668,11 +154296,12 @@
       this.storageResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateStorageResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateStorageResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -147692,11 +154321,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public updateStorageResource_args setStorageResourceId(java.lang.String storageResourceId) {
+    public updateStorageResource_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -147716,11 +154346,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResourceDescription() {
       return this.storageResourceDescription;
     }
 
-    public updateStorageResource_args setStorageResourceDescription(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
+    public updateStorageResource_args setStorageResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
       this.storageResourceDescription = storageResourceDescription;
       return this;
     }
@@ -147740,7 +154371,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -147769,6 +154401,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -147785,6 +154419,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -147803,8 +154438,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateStorageResource_args)
         return this.equals((updateStorageResource_args)that);
       return false;
@@ -147873,7 +154506,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147883,7 +154516,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147893,7 +154526,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceDescription()).compareTo(other.isSetStorageResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceDescription(), other.isSetStorageResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147906,14 +154539,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -147987,6 +154624,7 @@
     }
 
     private static class updateStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_argsStandardScheme getScheme() {
         return new updateStorageResource_argsStandardScheme();
       }
@@ -147994,6 +154632,7 @@
 
     private static class updateStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -148041,6 +154680,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -148067,6 +154707,7 @@
     }
 
     private static class updateStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_argsTupleScheme getScheme() {
         return new updateStorageResource_argsTupleScheme();
       }
@@ -148101,6 +154742,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateStorageResource_result implements org.apache.thrift.TBase<updateStorageResource_result, updateStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateStorageResource_result");
 
@@ -148114,10 +154756,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateStorageResource_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -148138,6 +154780,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -148168,6 +154811,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -148180,10 +154824,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -148248,6 +154894,7 @@
       }
     }
 
+    @Override
     public updateStorageResource_result deepCopy() {
       return new updateStorageResource_result(this);
     }
@@ -148285,11 +154932,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateStorageResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateStorageResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -148309,11 +154957,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateStorageResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateStorageResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -148333,11 +154982,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateStorageResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateStorageResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -148357,11 +155007,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateStorageResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateStorageResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -148381,7 +155032,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -148426,6 +155078,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -148448,6 +155102,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -148470,8 +155125,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateStorageResource_result)
         return this.equals((updateStorageResource_result)that);
       return false;
@@ -148564,7 +155217,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148574,7 +155227,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148584,7 +155237,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148594,7 +155247,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148604,7 +155257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148617,10 +155270,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -148697,6 +155353,7 @@
     }
 
     private static class updateStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_resultStandardScheme getScheme() {
         return new updateStorageResource_resultStandardScheme();
       }
@@ -148704,6 +155361,7 @@
 
     private static class updateStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -148769,6 +155427,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -148805,6 +155464,7 @@
     }
 
     private static class updateStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_resultTupleScheme getScheme() {
         return new updateStorageResource_resultTupleScheme();
       }
@@ -148885,6 +155545,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteStorageResource_args implements org.apache.thrift.TBase<deleteStorageResource_args, deleteStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteStorageResource_args");
 
@@ -148894,8 +155555,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteStorageResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // 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 {
@@ -148913,6 +155574,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -148937,6 +155599,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -148949,10 +155612,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -148994,6 +155659,7 @@
       }
     }
 
+    @Override
     public deleteStorageResource_args deepCopy() {
       return new deleteStorageResource_args(this);
     }
@@ -149004,11 +155670,12 @@
       this.storageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteStorageResource_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteStorageResource_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -149028,11 +155695,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public deleteStorageResource_args setStorageResourceId(java.lang.String storageResourceId) {
+    public deleteStorageResource_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -149052,7 +155720,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -149073,6 +155742,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -149086,6 +155757,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -149102,8 +155774,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteStorageResource_args)
         return this.equals((deleteStorageResource_args)that);
       return false;
@@ -149159,7 +155829,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149169,7 +155839,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149182,14 +155852,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -149249,6 +155923,7 @@
     }
 
     private static class deleteStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_argsStandardScheme getScheme() {
         return new deleteStorageResource_argsStandardScheme();
       }
@@ -149256,6 +155931,7 @@
 
     private static class deleteStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -149294,6 +155970,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -149315,6 +155992,7 @@
     }
 
     private static class deleteStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_argsTupleScheme getScheme() {
         return new deleteStorageResource_argsTupleScheme();
       }
@@ -149345,6 +156023,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteStorageResource_result implements org.apache.thrift.TBase<deleteStorageResource_result, deleteStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteStorageResource_result");
 
@@ -149358,10 +156037,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteStorageResource_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -149382,6 +156061,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -149412,6 +156092,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -149424,10 +156105,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -149492,6 +156175,7 @@
       }
     }
 
+    @Override
     public deleteStorageResource_result deepCopy() {
       return new deleteStorageResource_result(this);
     }
@@ -149529,11 +156213,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteStorageResource_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteStorageResource_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -149553,11 +156238,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteStorageResource_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteStorageResource_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -149577,11 +156263,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteStorageResource_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteStorageResource_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -149601,11 +156288,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteStorageResource_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteStorageResource_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -149625,7 +156313,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -149670,6 +156359,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -149692,6 +156383,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -149714,8 +156406,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteStorageResource_result)
         return this.equals((deleteStorageResource_result)that);
       return false;
@@ -149808,7 +156498,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149818,7 +156508,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149828,7 +156518,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149838,7 +156528,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149848,7 +156538,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149861,10 +156551,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -149941,6 +156634,7 @@
     }
 
     private static class deleteStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_resultStandardScheme getScheme() {
         return new deleteStorageResource_resultStandardScheme();
       }
@@ -149948,6 +156642,7 @@
 
     private static class deleteStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -150013,6 +156708,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -150049,6 +156745,7 @@
     }
 
     private static class deleteStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_resultTupleScheme getScheme() {
         return new deleteStorageResource_resultTupleScheme();
       }
@@ -150129,6 +156826,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalSubmissionDetails_args implements org.apache.thrift.TBase<addLocalSubmissionDetails_args, addLocalSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalSubmissionDetails_args");
 
@@ -150140,10 +156838,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // 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 {
@@ -150163,6 +156861,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -150191,6 +156890,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -150203,10 +156903,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -150264,6 +156966,7 @@
       }
     }
 
+    @Override
     public addLocalSubmissionDetails_args deepCopy() {
       return new addLocalSubmissionDetails_args(this);
     }
@@ -150277,11 +156980,12 @@
       this.localSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addLocalSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addLocalSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -150301,11 +157005,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addLocalSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addLocalSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -150348,11 +157053,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalSubmission() {
       return this.localSubmission;
     }
 
-    public addLocalSubmissionDetails_args setLocalSubmission(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
+    public addLocalSubmissionDetails_args setLocalSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
       this.localSubmission = localSubmission;
       return this;
     }
@@ -150372,7 +157078,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -150409,6 +157116,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -150428,6 +157137,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -150448,8 +157158,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalSubmissionDetails_args)
         return this.equals((addLocalSubmissionDetails_args)that);
       return false;
@@ -150529,7 +157237,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150539,7 +157247,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150549,7 +157257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150559,7 +157267,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalSubmission()).compareTo(other.isSetLocalSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetLocalSubmission(), other.isSetLocalSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150572,14 +157280,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -150660,6 +157372,7 @@
     }
 
     private static class addLocalSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_argsStandardScheme getScheme() {
         return new addLocalSubmissionDetails_argsStandardScheme();
       }
@@ -150667,6 +157380,7 @@
 
     private static class addLocalSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -150725,6 +157439,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -150754,6 +157469,7 @@
     }
 
     private static class addLocalSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_argsTupleScheme getScheme() {
         return new addLocalSubmissionDetails_argsTupleScheme();
       }
@@ -150791,6 +157507,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalSubmissionDetails_result implements org.apache.thrift.TBase<addLocalSubmissionDetails_result, addLocalSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalSubmissionDetails_result");
 
@@ -150803,11 +157520,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -150828,6 +157545,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -150858,6 +157576,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -150870,10 +157589,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -150936,6 +157657,7 @@
       }
     }
 
+    @Override
     public addLocalSubmissionDetails_result deepCopy() {
       return new addLocalSubmissionDetails_result(this);
     }
@@ -150949,11 +157671,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addLocalSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addLocalSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -150973,11 +157696,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addLocalSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addLocalSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -150997,11 +157721,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addLocalSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addLocalSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -151021,11 +157746,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addLocalSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addLocalSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -151045,11 +157771,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addLocalSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addLocalSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -151069,7 +157796,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -151114,6 +157842,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -151136,6 +157866,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -151158,8 +157889,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalSubmissionDetails_result)
         return this.equals((addLocalSubmissionDetails_result)that);
       return false;
@@ -151254,7 +157983,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151264,7 +157993,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151274,7 +158003,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151284,7 +158013,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151294,7 +158023,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151307,10 +158036,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -151389,6 +158121,7 @@
     }
 
     private static class addLocalSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_resultStandardScheme getScheme() {
         return new addLocalSubmissionDetails_resultStandardScheme();
       }
@@ -151396,6 +158129,7 @@
 
     private static class addLocalSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -151461,6 +158195,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -151497,6 +158232,7 @@
     }
 
     private static class addLocalSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_resultTupleScheme getScheme() {
         return new addLocalSubmissionDetails_resultTupleScheme();
       }
@@ -151577,6 +158313,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalSubmissionDetails_args implements org.apache.thrift.TBase<updateLocalSubmissionDetails_args, updateLocalSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalSubmissionDetails_args");
 
@@ -151587,9 +158324,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateLocalSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // 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 {
@@ -151608,6 +158345,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -151634,6 +158372,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -151646,10 +158385,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -151698,6 +158439,7 @@
       }
     }
 
+    @Override
     public updateLocalSubmissionDetails_args deepCopy() {
       return new updateLocalSubmissionDetails_args(this);
     }
@@ -151709,11 +158451,12 @@
       this.localSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateLocalSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateLocalSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -151733,11 +158476,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateLocalSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateLocalSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -151757,11 +158501,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalSubmission() {
       return this.localSubmission;
     }
 
-    public updateLocalSubmissionDetails_args setLocalSubmission(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
+    public updateLocalSubmissionDetails_args setLocalSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
       this.localSubmission = localSubmission;
       return this;
     }
@@ -151781,7 +158526,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -151810,6 +158556,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -151826,6 +158574,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -151844,8 +158593,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalSubmissionDetails_args)
         return this.equals((updateLocalSubmissionDetails_args)that);
       return false;
@@ -151914,7 +158661,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151924,7 +158671,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151934,7 +158681,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalSubmission()).compareTo(other.isSetLocalSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetLocalSubmission(), other.isSetLocalSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151947,14 +158694,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -152028,6 +158779,7 @@
     }
 
     private static class updateLocalSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_argsStandardScheme getScheme() {
         return new updateLocalSubmissionDetails_argsStandardScheme();
       }
@@ -152035,6 +158787,7 @@
 
     private static class updateLocalSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -152082,6 +158835,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -152108,6 +158862,7 @@
     }
 
     private static class updateLocalSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_argsTupleScheme getScheme() {
         return new updateLocalSubmissionDetails_argsTupleScheme();
       }
@@ -152142,6 +158897,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalSubmissionDetails_result implements org.apache.thrift.TBase<updateLocalSubmissionDetails_result, updateLocalSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalSubmissionDetails_result");
 
@@ -152155,10 +158911,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -152179,6 +158935,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -152209,6 +158966,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -152221,10 +158979,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -152289,6 +159049,7 @@
       }
     }
 
+    @Override
     public updateLocalSubmissionDetails_result deepCopy() {
       return new updateLocalSubmissionDetails_result(this);
     }
@@ -152326,11 +159087,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateLocalSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateLocalSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -152350,11 +159112,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateLocalSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateLocalSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -152374,11 +159137,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateLocalSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateLocalSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -152398,11 +159162,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateLocalSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateLocalSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -152422,7 +159187,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -152467,6 +159233,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -152489,6 +159257,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -152511,8 +159280,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalSubmissionDetails_result)
         return this.equals((updateLocalSubmissionDetails_result)that);
       return false;
@@ -152605,7 +159372,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152615,7 +159382,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152625,7 +159392,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152635,7 +159402,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152645,7 +159412,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152658,10 +159425,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -152738,6 +159508,7 @@
     }
 
     private static class updateLocalSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_resultStandardScheme getScheme() {
         return new updateLocalSubmissionDetails_resultStandardScheme();
       }
@@ -152745,6 +159516,7 @@
 
     private static class updateLocalSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -152810,6 +159582,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -152846,6 +159619,7 @@
     }
 
     private static class updateLocalSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_resultTupleScheme getScheme() {
         return new updateLocalSubmissionDetails_resultTupleScheme();
       }
@@ -152926,6 +159700,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalJobSubmission_args implements org.apache.thrift.TBase<getLocalJobSubmission_args, getLocalJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalJobSubmission_args");
 
@@ -152935,8 +159710,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalJobSubmission_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -152954,6 +159729,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -152978,6 +159754,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -152990,10 +159767,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -153035,6 +159814,7 @@
       }
     }
 
+    @Override
     public getLocalJobSubmission_args deepCopy() {
       return new getLocalJobSubmission_args(this);
     }
@@ -153045,11 +159825,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getLocalJobSubmission_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getLocalJobSubmission_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -153069,11 +159850,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getLocalJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getLocalJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -153093,7 +159875,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -153114,6 +159897,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -153127,6 +159912,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -153143,8 +159929,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalJobSubmission_args)
         return this.equals((getLocalJobSubmission_args)that);
       return false;
@@ -153200,7 +159984,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153210,7 +159994,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153223,14 +160007,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -153290,6 +160078,7 @@
     }
 
     private static class getLocalJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_argsStandardScheme getScheme() {
         return new getLocalJobSubmission_argsStandardScheme();
       }
@@ -153297,6 +160086,7 @@
 
     private static class getLocalJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -153335,6 +160125,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -153356,6 +160147,7 @@
     }
 
     private static class getLocalJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_argsTupleScheme getScheme() {
         return new getLocalJobSubmission_argsTupleScheme();
       }
@@ -153386,6 +160178,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalJobSubmission_result implements org.apache.thrift.TBase<getLocalJobSubmission_result, getLocalJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalJobSubmission_result");
 
@@ -153398,11 +160191,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -153423,6 +160216,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -153453,6 +160247,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -153465,10 +160260,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -153531,6 +160328,7 @@
       }
     }
 
+    @Override
     public getLocalJobSubmission_result deepCopy() {
       return new getLocalJobSubmission_result(this);
     }
@@ -153544,11 +160342,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getSuccess() {
       return this.success;
     }
 
-    public getLocalJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success) {
+    public getLocalJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success) {
       this.success = success;
       return this;
     }
@@ -153568,11 +160367,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getLocalJobSubmission_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getLocalJobSubmission_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -153592,11 +160392,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getLocalJobSubmission_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getLocalJobSubmission_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -153616,11 +160417,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getLocalJobSubmission_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getLocalJobSubmission_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -153640,11 +160442,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getLocalJobSubmission_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getLocalJobSubmission_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -153664,7 +160467,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -153709,6 +160513,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -153731,6 +160537,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -153753,8 +160560,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalJobSubmission_result)
         return this.equals((getLocalJobSubmission_result)that);
       return false;
@@ -153849,7 +160654,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153859,7 +160664,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153869,7 +160674,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153879,7 +160684,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153889,7 +160694,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153902,10 +160707,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -153987,6 +160795,7 @@
     }
 
     private static class getLocalJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_resultStandardScheme getScheme() {
         return new getLocalJobSubmission_resultStandardScheme();
       }
@@ -153994,6 +160803,7 @@
 
     private static class getLocalJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -154060,6 +160870,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -154096,6 +160907,7 @@
     }
 
     private static class getLocalJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_resultTupleScheme getScheme() {
         return new getLocalJobSubmission_resultTupleScheme();
       }
@@ -154177,6 +160989,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHJobSubmissionDetails_args implements org.apache.thrift.TBase<addSSHJobSubmissionDetails_args, addSSHJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHJobSubmissionDetails_args");
 
@@ -154188,10 +161001,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // 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 {
@@ -154211,6 +161024,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -154239,6 +161053,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -154251,10 +161066,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -154312,6 +161129,7 @@
       }
     }
 
+    @Override
     public addSSHJobSubmissionDetails_args deepCopy() {
       return new addSSHJobSubmissionDetails_args(this);
     }
@@ -154325,11 +161143,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addSSHJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addSSHJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -154349,11 +161168,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addSSHJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addSSHJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -154396,11 +161216,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public addSSHJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
+    public addSSHJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -154420,7 +161241,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -154457,6 +161279,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -154476,6 +161300,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -154496,8 +161321,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHJobSubmissionDetails_args)
         return this.equals((addSSHJobSubmissionDetails_args)that);
       return false;
@@ -154577,7 +161400,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154587,7 +161410,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154597,7 +161420,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154607,7 +161430,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154620,14 +161443,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -154708,6 +161535,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addSSHJobSubmissionDetails_argsStandardScheme();
       }
@@ -154715,6 +161543,7 @@
 
     private static class addSSHJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -154773,6 +161602,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -154802,6 +161632,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addSSHJobSubmissionDetails_argsTupleScheme();
       }
@@ -154839,6 +161670,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHJobSubmissionDetails_result implements org.apache.thrift.TBase<addSSHJobSubmissionDetails_result, addSSHJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHJobSubmissionDetails_result");
 
@@ -154851,11 +161683,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -154876,6 +161708,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -154906,6 +161739,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -154918,10 +161752,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -154984,6 +161820,7 @@
       }
     }
 
+    @Override
     public addSSHJobSubmissionDetails_result deepCopy() {
       return new addSSHJobSubmissionDetails_result(this);
     }
@@ -154997,11 +161834,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSSHJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addSSHJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -155021,11 +161859,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addSSHJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addSSHJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -155045,11 +161884,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addSSHJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addSSHJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -155069,11 +161909,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addSSHJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addSSHJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -155093,11 +161934,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addSSHJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addSSHJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -155117,7 +161959,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -155162,6 +162005,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -155184,6 +162029,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -155206,8 +162052,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHJobSubmissionDetails_result)
         return this.equals((addSSHJobSubmissionDetails_result)that);
       return false;
@@ -155302,7 +162146,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155312,7 +162156,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155322,7 +162166,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155332,7 +162176,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155342,7 +162186,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155355,10 +162199,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -155437,6 +162284,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addSSHJobSubmissionDetails_resultStandardScheme();
       }
@@ -155444,6 +162292,7 @@
 
     private static class addSSHJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -155509,6 +162358,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -155545,6 +162395,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addSSHJobSubmissionDetails_resultTupleScheme();
       }
@@ -155625,6 +162476,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHForkJobSubmissionDetails_args implements org.apache.thrift.TBase<addSSHForkJobSubmissionDetails_args, addSSHForkJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHForkJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHForkJobSubmissionDetails_args");
 
@@ -155636,10 +162488,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // 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 {
@@ -155659,6 +162511,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -155687,6 +162540,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -155699,10 +162553,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -155760,6 +162616,7 @@
       }
     }
 
+    @Override
     public addSSHForkJobSubmissionDetails_args deepCopy() {
       return new addSSHForkJobSubmissionDetails_args(this);
     }
@@ -155773,11 +162630,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addSSHForkJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addSSHForkJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -155797,11 +162655,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addSSHForkJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addSSHForkJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -155844,11 +162703,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public addSSHForkJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
+    public addSSHForkJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -155868,7 +162728,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -155905,6 +162766,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -155924,6 +162787,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -155944,8 +162808,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHForkJobSubmissionDetails_args)
         return this.equals((addSSHForkJobSubmissionDetails_args)that);
       return false;
@@ -156025,7 +162887,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156035,7 +162897,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156045,7 +162907,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156055,7 +162917,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156068,14 +162930,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -156156,6 +163022,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_argsStandardScheme();
       }
@@ -156163,6 +163030,7 @@
 
     private static class addSSHForkJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHForkJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHForkJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -156221,6 +163089,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHForkJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -156250,6 +163119,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_argsTupleScheme();
       }
@@ -156287,6 +163157,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHForkJobSubmissionDetails_result implements org.apache.thrift.TBase<addSSHForkJobSubmissionDetails_result, addSSHForkJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHForkJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHForkJobSubmissionDetails_result");
 
@@ -156299,11 +163170,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -156324,6 +163195,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -156354,6 +163226,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -156366,10 +163239,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -156432,6 +163307,7 @@
       }
     }
 
+    @Override
     public addSSHForkJobSubmissionDetails_result deepCopy() {
       return new addSSHForkJobSubmissionDetails_result(this);
     }
@@ -156445,11 +163321,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSSHForkJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addSSHForkJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -156469,11 +163346,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addSSHForkJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addSSHForkJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -156493,11 +163371,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addSSHForkJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addSSHForkJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -156517,11 +163396,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addSSHForkJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addSSHForkJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -156541,11 +163421,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addSSHForkJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addSSHForkJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -156565,7 +163446,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -156610,6 +163492,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -156632,6 +163516,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -156654,8 +163539,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHForkJobSubmissionDetails_result)
         return this.equals((addSSHForkJobSubmissionDetails_result)that);
       return false;
@@ -156750,7 +163633,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156760,7 +163643,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156770,7 +163653,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156780,7 +163663,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156790,7 +163673,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156803,10 +163686,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -156885,6 +163771,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_resultStandardScheme();
       }
@@ -156892,6 +163779,7 @@
 
     private static class addSSHForkJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHForkJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHForkJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -156957,6 +163845,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHForkJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -156993,6 +163882,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_resultTupleScheme();
       }
@@ -157073,6 +163963,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHJobSubmission_args implements org.apache.thrift.TBase<getSSHJobSubmission_args, getSSHJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHJobSubmission_args");
 
@@ -157082,8 +163973,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHJobSubmission_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -157101,6 +163992,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -157125,6 +164017,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -157137,10 +164030,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -157182,6 +164077,7 @@
       }
     }
 
+    @Override
     public getSSHJobSubmission_args deepCopy() {
       return new getSSHJobSubmission_args(this);
     }
@@ -157192,11 +164088,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getSSHJobSubmission_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getSSHJobSubmission_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -157216,11 +164113,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getSSHJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getSSHJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -157240,7 +164138,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -157261,6 +164160,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -157274,6 +164175,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -157290,8 +164192,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHJobSubmission_args)
         return this.equals((getSSHJobSubmission_args)that);
       return false;
@@ -157347,7 +164247,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -157357,7 +164257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -157370,14 +164270,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -157437,6 +164341,7 @@
     }
 
     private static class getSSHJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_argsStandardScheme getScheme() {
         return new getSSHJobSubmission_argsStandardScheme();
       }
@@ -157444,6 +164349,7 @@
 
     private static class getSSHJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -157482,6 +164388,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -157503,6 +164410,7 @@
     }
 
     private static class getSSHJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_argsTupleScheme getScheme() {
         return new getSSHJobSubmission_argsTupleScheme();
       }
@@ -157533,6 +164441,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHJobSubmission_result implements org.apache.thrift.TBase<getSSHJobSubmission_result, getSSHJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHJobSubmission_result");
 
@@ -157545,11 +164454,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -157570,6 +164479,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -157600,6 +164510,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -157612,10 +164523,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -157678,6 +164591,7 @@
       }
     }
 
+    @Override
     public getSSHJobSubmission_result deepCopy() {
       return new getSSHJobSubmission_result(this);
     }
@@ -157691,11 +164605,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSuccess() {
       return this.success;
     }
 
-    public getSSHJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success) {
+    public getSSHJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success) {
       this.success = success;
       return this;
     }
@@ -157715,11 +164630,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getSSHJobSubmission_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getSSHJobSubmission_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -157739,11 +164655,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getSSHJobSubmission_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getSSHJobSubmission_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -157763,11 +164680,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getSSHJobSubmission_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getSSHJobSubmission_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -157787,11 +164705,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getSSHJobSubmission_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getSSHJobSubmission_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -157811,7 +164730,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -157856,6 +164776,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -157878,6 +164800,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -157900,8 +164823,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHJobSubmission_result)
         return this.equals((getSSHJobSubmission_result)that);
       return false;
@@ -157996,7 +164917,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158006,7 +164927,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158016,7 +164937,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158026,7 +164947,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158036,7 +164957,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158049,10 +164970,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -158134,6 +165058,7 @@
     }
 
     private static class getSSHJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_resultStandardScheme getScheme() {
         return new getSSHJobSubmission_resultStandardScheme();
       }
@@ -158141,6 +165066,7 @@
 
     private static class getSSHJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -158207,6 +165133,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -158243,6 +165170,7 @@
     }
 
     private static class getSSHJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_resultTupleScheme getScheme() {
         return new getSSHJobSubmission_resultTupleScheme();
       }
@@ -158324,6 +165252,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUNICOREJobSubmissionDetails_args implements org.apache.thrift.TBase<addUNICOREJobSubmissionDetails_args, addUNICOREJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUNICOREJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUNICOREJobSubmissionDetails_args");
 
@@ -158335,10 +165264,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // 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 {
@@ -158358,6 +165287,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -158386,6 +165316,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -158398,10 +165329,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -158459,6 +165392,7 @@
       }
     }
 
+    @Override
     public addUNICOREJobSubmissionDetails_args deepCopy() {
       return new addUNICOREJobSubmissionDetails_args(this);
     }
@@ -158472,11 +165406,12 @@
       this.unicoreJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addUNICOREJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addUNICOREJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -158496,11 +165431,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addUNICOREJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addUNICOREJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -158543,11 +165479,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission() {
       return this.unicoreJobSubmission;
     }
 
-    public addUNICOREJobSubmissionDetails_args setUnicoreJobSubmission(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
+    public addUNICOREJobSubmissionDetails_args setUnicoreJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
       this.unicoreJobSubmission = unicoreJobSubmission;
       return this;
     }
@@ -158567,7 +165504,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -158604,6 +165542,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -158623,6 +165563,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -158643,8 +165584,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUNICOREJobSubmissionDetails_args)
         return this.equals((addUNICOREJobSubmissionDetails_args)that);
       return false;
@@ -158724,7 +165663,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158734,7 +165673,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158744,7 +165683,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158754,7 +165693,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreJobSubmission()).compareTo(other.isSetUnicoreJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreJobSubmission(), other.isSetUnicoreJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158767,14 +165706,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -158855,6 +165798,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_argsStandardScheme();
       }
@@ -158862,6 +165806,7 @@
 
     private static class addUNICOREJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUNICOREJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUNICOREJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -158920,6 +165865,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUNICOREJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -158949,6 +165895,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_argsTupleScheme();
       }
@@ -158986,6 +165933,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUNICOREJobSubmissionDetails_result implements org.apache.thrift.TBase<addUNICOREJobSubmissionDetails_result, addUNICOREJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUNICOREJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUNICOREJobSubmissionDetails_result");
 
@@ -158998,11 +165946,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -159023,6 +165971,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -159053,6 +166002,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -159065,10 +166015,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -159131,6 +166083,7 @@
       }
     }
 
+    @Override
     public addUNICOREJobSubmissionDetails_result deepCopy() {
       return new addUNICOREJobSubmissionDetails_result(this);
     }
@@ -159144,11 +166097,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addUNICOREJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addUNICOREJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -159168,11 +166122,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addUNICOREJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addUNICOREJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -159192,11 +166147,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addUNICOREJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addUNICOREJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -159216,11 +166172,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addUNICOREJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addUNICOREJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -159240,11 +166197,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addUNICOREJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addUNICOREJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -159264,7 +166222,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -159309,6 +166268,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -159331,6 +166292,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -159353,8 +166315,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUNICOREJobSubmissionDetails_result)
         return this.equals((addUNICOREJobSubmissionDetails_result)that);
       return false;
@@ -159449,7 +166409,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159459,7 +166419,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159469,7 +166429,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159479,7 +166439,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159489,7 +166449,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159502,10 +166462,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -159584,6 +166547,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_resultStandardScheme();
       }
@@ -159591,6 +166555,7 @@
 
     private static class addUNICOREJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUNICOREJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUNICOREJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -159656,6 +166621,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUNICOREJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -159692,6 +166658,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_resultTupleScheme();
       }
@@ -159772,6 +166739,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreJobSubmission_args implements org.apache.thrift.TBase<getUnicoreJobSubmission_args, getUnicoreJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreJobSubmission_args");
 
@@ -159781,8 +166749,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreJobSubmission_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -159800,6 +166768,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -159824,6 +166793,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -159836,10 +166806,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -159881,6 +166853,7 @@
       }
     }
 
+    @Override
     public getUnicoreJobSubmission_args deepCopy() {
       return new getUnicoreJobSubmission_args(this);
     }
@@ -159891,11 +166864,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUnicoreJobSubmission_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUnicoreJobSubmission_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -159915,11 +166889,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getUnicoreJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getUnicoreJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -159939,7 +166914,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -159960,6 +166936,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -159973,6 +166951,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -159989,8 +166968,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreJobSubmission_args)
         return this.equals((getUnicoreJobSubmission_args)that);
       return false;
@@ -160046,7 +167023,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160056,7 +167033,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160069,14 +167046,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -160136,6 +167117,7 @@
     }
 
     private static class getUnicoreJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_argsStandardScheme getScheme() {
         return new getUnicoreJobSubmission_argsStandardScheme();
       }
@@ -160143,6 +167125,7 @@
 
     private static class getUnicoreJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -160181,6 +167164,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -160202,6 +167186,7 @@
     }
 
     private static class getUnicoreJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_argsTupleScheme getScheme() {
         return new getUnicoreJobSubmission_argsTupleScheme();
       }
@@ -160232,6 +167217,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreJobSubmission_result implements org.apache.thrift.TBase<getUnicoreJobSubmission_result, getUnicoreJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreJobSubmission_result");
 
@@ -160244,11 +167230,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -160269,6 +167255,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -160299,6 +167286,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -160311,10 +167299,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -160377,6 +167367,7 @@
       }
     }
 
+    @Override
     public getUnicoreJobSubmission_result deepCopy() {
       return new getUnicoreJobSubmission_result(this);
     }
@@ -160390,11 +167381,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getSuccess() {
       return this.success;
     }
 
-    public getUnicoreJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success) {
+    public getUnicoreJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success) {
       this.success = success;
       return this;
     }
@@ -160414,11 +167406,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUnicoreJobSubmission_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUnicoreJobSubmission_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -160438,11 +167431,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUnicoreJobSubmission_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUnicoreJobSubmission_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -160462,11 +167456,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUnicoreJobSubmission_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUnicoreJobSubmission_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -160486,11 +167481,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUnicoreJobSubmission_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUnicoreJobSubmission_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -160510,7 +167506,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -160555,6 +167552,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -160577,6 +167576,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -160599,8 +167599,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreJobSubmission_result)
         return this.equals((getUnicoreJobSubmission_result)that);
       return false;
@@ -160695,7 +167693,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160705,7 +167703,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160715,7 +167713,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160725,7 +167723,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160735,7 +167733,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160748,10 +167746,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -160833,6 +167834,7 @@
     }
 
     private static class getUnicoreJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_resultStandardScheme getScheme() {
         return new getUnicoreJobSubmission_resultStandardScheme();
       }
@@ -160840,6 +167842,7 @@
 
     private static class getUnicoreJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -160906,6 +167909,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -160942,6 +167946,7 @@
     }
 
     private static class getUnicoreJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_resultTupleScheme getScheme() {
         return new getUnicoreJobSubmission_resultTupleScheme();
       }
@@ -161023,6 +168028,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addCloudJobSubmissionDetails_args implements org.apache.thrift.TBase<addCloudJobSubmissionDetails_args, addCloudJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addCloudJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addCloudJobSubmissionDetails_args");
 
@@ -161034,10 +168040,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addCloudJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addCloudJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission; // 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 {
@@ -161057,6 +168063,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -161085,6 +168092,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -161097,10 +168105,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -161158,6 +168168,7 @@
       }
     }
 
+    @Override
     public addCloudJobSubmissionDetails_args deepCopy() {
       return new addCloudJobSubmissionDetails_args(this);
     }
@@ -161171,11 +168182,12 @@
       this.cloudSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addCloudJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addCloudJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -161195,11 +168207,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addCloudJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addCloudJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -161242,11 +168255,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudSubmission() {
       return this.cloudSubmission;
     }
 
-    public addCloudJobSubmissionDetails_args setCloudSubmission(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) {
+    public addCloudJobSubmissionDetails_args setCloudSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) {
       this.cloudSubmission = cloudSubmission;
       return this;
     }
@@ -161266,7 +168280,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -161303,6 +168318,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -161322,6 +168339,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -161342,8 +168360,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addCloudJobSubmissionDetails_args)
         return this.equals((addCloudJobSubmissionDetails_args)that);
       return false;
@@ -161423,7 +168439,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161433,7 +168449,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161443,7 +168459,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161453,7 +168469,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCloudSubmission()).compareTo(other.isSetCloudSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetCloudSubmission(), other.isSetCloudSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161466,14 +168482,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -161554,6 +168574,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addCloudJobSubmissionDetails_argsStandardScheme();
       }
@@ -161561,6 +168582,7 @@
 
     private static class addCloudJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addCloudJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -161619,6 +168641,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -161648,6 +168671,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addCloudJobSubmissionDetails_argsTupleScheme();
       }
@@ -161685,6 +168709,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addCloudJobSubmissionDetails_result implements org.apache.thrift.TBase<addCloudJobSubmissionDetails_result, addCloudJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addCloudJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addCloudJobSubmissionDetails_result");
 
@@ -161697,11 +168722,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addCloudJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addCloudJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -161722,6 +168747,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -161752,6 +168778,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -161764,10 +168791,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -161830,6 +168859,7 @@
       }
     }
 
+    @Override
     public addCloudJobSubmissionDetails_result deepCopy() {
       return new addCloudJobSubmissionDetails_result(this);
     }
@@ -161843,11 +168873,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addCloudJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addCloudJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -161867,11 +168898,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addCloudJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addCloudJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -161891,11 +168923,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addCloudJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addCloudJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -161915,11 +168948,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addCloudJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addCloudJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -161939,11 +168973,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addCloudJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addCloudJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -161963,7 +168998,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -162008,6 +169044,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -162030,6 +169068,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -162052,8 +169091,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addCloudJobSubmissionDetails_result)
         return this.equals((addCloudJobSubmissionDetails_result)that);
       return false;
@@ -162148,7 +169185,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162158,7 +169195,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162168,7 +169205,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162178,7 +169215,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162188,7 +169225,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162201,10 +169238,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -162283,6 +169323,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addCloudJobSubmissionDetails_resultStandardScheme();
       }
@@ -162290,6 +169331,7 @@
 
     private static class addCloudJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addCloudJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -162355,6 +169397,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -162391,6 +169434,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addCloudJobSubmissionDetails_resultTupleScheme();
       }
@@ -162471,6 +169515,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCloudJobSubmission_args implements org.apache.thrift.TBase<getCloudJobSubmission_args, getCloudJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCloudJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCloudJobSubmission_args");
 
@@ -162480,8 +169525,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCloudJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCloudJobSubmission_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -162499,6 +169544,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -162523,6 +169569,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -162535,10 +169582,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -162580,6 +169629,7 @@
       }
     }
 
+    @Override
     public getCloudJobSubmission_args deepCopy() {
       return new getCloudJobSubmission_args(this);
     }
@@ -162590,11 +169640,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getCloudJobSubmission_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getCloudJobSubmission_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -162614,11 +169665,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getCloudJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getCloudJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -162638,7 +169690,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -162659,6 +169712,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -162672,6 +169727,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -162688,8 +169744,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCloudJobSubmission_args)
         return this.equals((getCloudJobSubmission_args)that);
       return false;
@@ -162745,7 +169799,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162755,7 +169809,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162768,14 +169822,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -162835,6 +169893,7 @@
     }
 
     private static class getCloudJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_argsStandardScheme getScheme() {
         return new getCloudJobSubmission_argsStandardScheme();
       }
@@ -162842,6 +169901,7 @@
 
     private static class getCloudJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCloudJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCloudJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -162880,6 +169940,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCloudJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -162901,6 +169962,7 @@
     }
 
     private static class getCloudJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_argsTupleScheme getScheme() {
         return new getCloudJobSubmission_argsTupleScheme();
       }
@@ -162931,6 +169993,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCloudJobSubmission_result implements org.apache.thrift.TBase<getCloudJobSubmission_result, getCloudJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCloudJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCloudJobSubmission_result");
 
@@ -162943,11 +170006,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCloudJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCloudJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -162968,6 +170031,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -162998,6 +170062,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -163010,10 +170075,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -163076,6 +170143,7 @@
       }
     }
 
+    @Override
     public getCloudJobSubmission_result deepCopy() {
       return new getCloudJobSubmission_result(this);
     }
@@ -163089,11 +170157,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getSuccess() {
       return this.success;
     }
 
-    public getCloudJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success) {
+    public getCloudJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success) {
       this.success = success;
       return this;
     }
@@ -163113,11 +170182,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getCloudJobSubmission_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getCloudJobSubmission_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -163137,11 +170207,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getCloudJobSubmission_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getCloudJobSubmission_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -163161,11 +170232,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getCloudJobSubmission_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getCloudJobSubmission_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -163185,11 +170257,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getCloudJobSubmission_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getCloudJobSubmission_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -163209,7 +170282,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -163254,6 +170328,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -163276,6 +170352,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -163298,8 +170375,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCloudJobSubmission_result)
         return this.equals((getCloudJobSubmission_result)that);
       return false;
@@ -163394,7 +170469,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163404,7 +170479,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163414,7 +170489,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163424,7 +170499,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163434,7 +170509,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163447,10 +170522,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -163532,6 +170610,7 @@
     }
 
     private static class getCloudJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_resultStandardScheme getScheme() {
         return new getCloudJobSubmission_resultStandardScheme();
       }
@@ -163539,6 +170618,7 @@
 
     private static class getCloudJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCloudJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCloudJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -163605,6 +170685,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCloudJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -163641,6 +170722,7 @@
     }
 
     private static class getCloudJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_resultTupleScheme getScheme() {
         return new getCloudJobSubmission_resultTupleScheme();
       }
@@ -163722,6 +170804,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSSHJobSubmissionDetails_args implements org.apache.thrift.TBase<updateSSHJobSubmissionDetails_args, updateSSHJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateSSHJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSSHJobSubmissionDetails_args");
 
@@ -163732,9 +170815,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateSSHJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSSHJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // 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 {
@@ -163753,6 +170836,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -163779,6 +170863,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -163791,10 +170876,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -163843,6 +170930,7 @@
       }
     }
 
+    @Override
     public updateSSHJobSubmissionDetails_args deepCopy() {
       return new updateSSHJobSubmissionDetails_args(this);
     }
@@ -163854,11 +170942,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateSSHJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateSSHJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -163878,11 +170967,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateSSHJobSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateSSHJobSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -163902,11 +170992,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public updateSSHJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
+    public updateSSHJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -163926,7 +171017,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -163955,6 +171047,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -163971,6 +171065,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -163989,8 +171084,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSSHJobSubmissionDetails_args)
         return this.equals((updateSSHJobSubmissionDetails_args)that);
       return false;
@@ -164059,7 +171152,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164069,7 +171162,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164079,7 +171172,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164092,14 +171185,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -164173,6 +171270,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_argsStandardScheme getScheme() {
         return new updateSSHJobSubmissionDetails_argsStandardScheme();
       }
@@ -164180,6 +171278,7 @@
 
     private static class updateSSHJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSSHJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -164227,6 +171326,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -164253,6 +171353,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_argsTupleScheme getScheme() {
         return new updateSSHJobSubmissionDetails_argsTupleScheme();
       }
@@ -164287,6 +171388,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSSHJobSubmissionDetails_result implements org.apache.thrift.TBase<updateSSHJobSubmissionDetails_result, updateSSHJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateSSHJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSSHJobSubmissionDetails_result");
 
@@ -164300,10 +171402,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSSHJobSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -164324,6 +171426,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -164354,6 +171457,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -164366,10 +171470,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -164434,6 +171540,7 @@
       }
     }
 
+    @Override
     public updateSSHJobSubmissionDetails_result deepCopy() {
       return new updateSSHJobSubmissionDetails_result(this);
     }
@@ -164471,11 +171578,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateSSHJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateSSHJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -164495,11 +171603,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateSSHJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateSSHJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -164519,11 +171628,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateSSHJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateSSHJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -164543,11 +171653,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateSSHJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateSSHJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -164567,7 +171678,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -164612,6 +171724,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -164634,6 +171748,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -164656,8 +171771,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSSHJobSubmissionDetails_result)
         return this.equals((updateSSHJobSubmissionDetails_result)that);
       return false;
@@ -164750,7 +171863,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164760,7 +171873,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164770,7 +171883,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164780,7 +171893,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164790,7 +171903,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164803,10 +171916,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -164883,6 +171999,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_resultStandardScheme getScheme() {
         return new updateSSHJobSubmissionDetails_resultStandardScheme();
       }
@@ -164890,6 +172007,7 @@
 
     private static class updateSSHJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSSHJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -164955,6 +172073,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -164991,6 +172110,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_resultTupleScheme getScheme() {
         return new updateSSHJobSubmissionDetails_resultTupleScheme();
       }
@@ -165071,6 +172191,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateCloudJobSubmissionDetails_args implements org.apache.thrift.TBase<updateCloudJobSubmissionDetails_args, updateCloudJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateCloudJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCloudJobSubmissionDetails_args");
 
@@ -165081,9 +172202,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateCloudJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateCloudJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission; // 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 {
@@ -165102,6 +172223,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -165128,6 +172250,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -165140,10 +172263,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -165192,6 +172317,7 @@
       }
     }
 
+    @Override
     public updateCloudJobSubmissionDetails_args deepCopy() {
       return new updateCloudJobSubmissionDetails_args(this);
     }
@@ -165203,11 +172329,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateCloudJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateCloudJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -165227,11 +172354,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateCloudJobSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateCloudJobSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -165251,11 +172379,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public updateCloudJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) {
+    public updateCloudJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -165275,7 +172404,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -165304,6 +172434,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -165320,6 +172452,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -165338,8 +172471,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateCloudJobSubmissionDetails_args)
         return this.equals((updateCloudJobSubmissionDetails_args)that);
       return false;
@@ -165408,7 +172539,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165418,7 +172549,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165428,7 +172559,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165441,14 +172572,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -165522,6 +172657,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_argsStandardScheme getScheme() {
         return new updateCloudJobSubmissionDetails_argsStandardScheme();
       }
@@ -165529,6 +172665,7 @@
 
     private static class updateCloudJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateCloudJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -165576,6 +172713,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -165602,6 +172740,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_argsTupleScheme getScheme() {
         return new updateCloudJobSubmissionDetails_argsTupleScheme();
       }
@@ -165636,6 +172775,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateCloudJobSubmissionDetails_result implements org.apache.thrift.TBase<updateCloudJobSubmissionDetails_result, updateCloudJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateCloudJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCloudJobSubmissionDetails_result");
 
@@ -165649,10 +172789,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateCloudJobSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -165673,6 +172813,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -165703,6 +172844,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -165715,10 +172857,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -165783,6 +172927,7 @@
       }
     }
 
+    @Override
     public updateCloudJobSubmissionDetails_result deepCopy() {
       return new updateCloudJobSubmissionDetails_result(this);
     }
@@ -165820,11 +172965,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateCloudJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateCloudJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -165844,11 +172990,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateCloudJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateCloudJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -165868,11 +173015,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateCloudJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateCloudJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -165892,11 +173040,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateCloudJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateCloudJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -165916,7 +173065,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -165961,6 +173111,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -165983,6 +173135,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -166005,8 +173158,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateCloudJobSubmissionDetails_result)
         return this.equals((updateCloudJobSubmissionDetails_result)that);
       return false;
@@ -166099,7 +173250,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166109,7 +173260,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166119,7 +173270,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166129,7 +173280,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166139,7 +173290,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166152,10 +173303,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -166232,6 +173386,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_resultStandardScheme getScheme() {
         return new updateCloudJobSubmissionDetails_resultStandardScheme();
       }
@@ -166239,6 +173394,7 @@
 
     private static class updateCloudJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateCloudJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -166304,6 +173460,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -166340,6 +173497,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_resultTupleScheme getScheme() {
         return new updateCloudJobSubmissionDetails_resultTupleScheme();
       }
@@ -166420,6 +173578,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreJobSubmissionDetails_args implements org.apache.thrift.TBase<updateUnicoreJobSubmissionDetails_args, updateUnicoreJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreJobSubmissionDetails_args");
 
@@ -166430,9 +173589,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUnicoreJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // 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 {
@@ -166451,6 +173610,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -166477,6 +173637,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -166489,10 +173650,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -166541,6 +173704,7 @@
       }
     }
 
+    @Override
     public updateUnicoreJobSubmissionDetails_args deepCopy() {
       return new updateUnicoreJobSubmissionDetails_args(this);
     }
@@ -166552,11 +173716,12 @@
       this.unicoreJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUnicoreJobSubmissionDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUnicoreJobSubmissionDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -166576,11 +173741,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateUnicoreJobSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateUnicoreJobSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -166600,11 +173766,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission() {
       return this.unicoreJobSubmission;
     }
 
-    public updateUnicoreJobSubmissionDetails_args setUnicoreJobSubmission(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
+    public updateUnicoreJobSubmissionDetails_args setUnicoreJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
       this.unicoreJobSubmission = unicoreJobSubmission;
       return this;
     }
@@ -166624,7 +173791,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -166653,6 +173821,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -166669,6 +173839,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -166687,8 +173858,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreJobSubmissionDetails_args)
         return this.equals((updateUnicoreJobSubmissionDetails_args)that);
       return false;
@@ -166757,7 +173926,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166767,7 +173936,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166777,7 +173946,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreJobSubmission()).compareTo(other.isSetUnicoreJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreJobSubmission(), other.isSetUnicoreJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166790,14 +173959,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -166871,6 +174044,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_argsStandardScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_argsStandardScheme();
       }
@@ -166878,6 +174052,7 @@
 
     private static class updateUnicoreJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -166925,6 +174100,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -166951,6 +174127,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_argsTupleScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_argsTupleScheme();
       }
@@ -166985,6 +174162,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreJobSubmissionDetails_result implements org.apache.thrift.TBase<updateUnicoreJobSubmissionDetails_result, updateUnicoreJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreJobSubmissionDetails_result");
 
@@ -166998,10 +174176,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreJobSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -167022,6 +174200,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -167052,6 +174231,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -167064,10 +174244,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -167132,6 +174314,7 @@
       }
     }
 
+    @Override
     public updateUnicoreJobSubmissionDetails_result deepCopy() {
       return new updateUnicoreJobSubmissionDetails_result(this);
     }
@@ -167169,11 +174352,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateUnicoreJobSubmissionDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateUnicoreJobSubmissionDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -167193,11 +174377,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateUnicoreJobSubmissionDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateUnicoreJobSubmissionDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -167217,11 +174402,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateUnicoreJobSubmissionDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateUnicoreJobSubmissionDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -167241,11 +174427,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUnicoreJobSubmissionDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUnicoreJobSubmissionDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -167265,7 +174452,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -167310,6 +174498,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -167332,6 +174522,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -167354,8 +174545,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreJobSubmissionDetails_result)
         return this.equals((updateUnicoreJobSubmissionDetails_result)that);
       return false;
@@ -167448,7 +174637,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167458,7 +174647,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167468,7 +174657,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167478,7 +174667,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167488,7 +174677,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167501,10 +174690,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -167581,6 +174773,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_resultStandardScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_resultStandardScheme();
       }
@@ -167588,6 +174781,7 @@
 
     private static class updateUnicoreJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -167653,6 +174847,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -167689,6 +174884,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_resultTupleScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_resultTupleScheme();
       }
@@ -167769,6 +174965,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalDataMovementDetails_args implements org.apache.thrift.TBase<addLocalDataMovementDetails_args, addLocalDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalDataMovementDetails_args");
 
@@ -167781,15 +174978,15 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // 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 {
@@ -167814,6 +175011,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -167844,6 +175042,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -167856,10 +175055,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -167924,6 +175125,7 @@
       }
     }
 
+    @Override
     public addLocalDataMovementDetails_args deepCopy() {
       return new addLocalDataMovementDetails_args(this);
     }
@@ -167938,11 +175140,12 @@
       this.localDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addLocalDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addLocalDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -167962,11 +175165,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addLocalDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addLocalDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -167990,6 +175194,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -167998,7 +175203,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addLocalDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addLocalDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -168041,11 +175246,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement() {
       return this.localDataMovement;
     }
 
-    public addLocalDataMovementDetails_args setLocalDataMovement(org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
+    public addLocalDataMovementDetails_args setLocalDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
       this.localDataMovement = localDataMovement;
       return this;
     }
@@ -168065,7 +175271,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -168110,6 +175317,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -168132,6 +175341,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -168154,8 +175364,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalDataMovementDetails_args)
         return this.equals((addLocalDataMovementDetails_args)that);
       return false;
@@ -168248,7 +175456,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168258,7 +175466,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168268,7 +175476,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168278,7 +175486,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168288,7 +175496,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalDataMovement()).compareTo(other.isSetLocalDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetLocalDataMovement(), other.isSetLocalDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168301,14 +175509,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -168400,6 +175612,7 @@
     }
 
     private static class addLocalDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_argsStandardScheme getScheme() {
         return new addLocalDataMovementDetails_argsStandardScheme();
       }
@@ -168407,6 +175620,7 @@
 
     private static class addLocalDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -168473,6 +175687,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -168507,6 +175722,7 @@
     }
 
     private static class addLocalDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_argsTupleScheme getScheme() {
         return new addLocalDataMovementDetails_argsTupleScheme();
       }
@@ -168547,6 +175763,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalDataMovementDetails_result implements org.apache.thrift.TBase<addLocalDataMovementDetails_result, addLocalDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalDataMovementDetails_result");
 
@@ -168559,11 +175776,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -168584,6 +175801,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -168614,6 +175832,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -168626,10 +175845,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -168692,6 +175913,7 @@
       }
     }
 
+    @Override
     public addLocalDataMovementDetails_result deepCopy() {
       return new addLocalDataMovementDetails_result(this);
     }
@@ -168705,11 +175927,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addLocalDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addLocalDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -168729,11 +175952,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addLocalDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addLocalDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -168753,11 +175977,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addLocalDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addLocalDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -168777,11 +176002,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addLocalDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addLocalDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -168801,11 +176027,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addLocalDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addLocalDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -168825,7 +176052,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -168870,6 +176098,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -168892,6 +176122,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -168914,8 +176145,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalDataMovementDetails_result)
         return this.equals((addLocalDataMovementDetails_result)that);
       return false;
@@ -169010,7 +176239,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169020,7 +176249,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169030,7 +176259,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169040,7 +176269,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169050,7 +176279,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169063,10 +176292,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -169145,6 +176377,7 @@
     }
 
     private static class addLocalDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_resultStandardScheme getScheme() {
         return new addLocalDataMovementDetails_resultStandardScheme();
       }
@@ -169152,6 +176385,7 @@
 
     private static class addLocalDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -169217,6 +176451,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -169253,6 +176488,7 @@
     }
 
     private static class addLocalDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_resultTupleScheme getScheme() {
         return new addLocalDataMovementDetails_resultTupleScheme();
       }
@@ -169333,6 +176569,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalDataMovementDetails_args implements org.apache.thrift.TBase<updateLocalDataMovementDetails_args, updateLocalDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalDataMovementDetails_args");
 
@@ -169343,9 +176580,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateLocalDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // 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 {
@@ -169364,6 +176601,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -169390,6 +176628,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -169402,10 +176641,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -169454,6 +176695,7 @@
       }
     }
 
+    @Override
     public updateLocalDataMovementDetails_args deepCopy() {
       return new updateLocalDataMovementDetails_args(this);
     }
@@ -169465,11 +176707,12 @@
       this.localDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateLocalDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateLocalDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -169489,11 +176732,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateLocalDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateLocalDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -169513,11 +176757,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement() {
       return this.localDataMovement;
     }
 
-    public updateLocalDataMovementDetails_args setLocalDataMovement(org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
+    public updateLocalDataMovementDetails_args setLocalDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
       this.localDataMovement = localDataMovement;
       return this;
     }
@@ -169537,7 +176782,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -169566,6 +176812,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -169582,6 +176830,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -169600,8 +176849,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalDataMovementDetails_args)
         return this.equals((updateLocalDataMovementDetails_args)that);
       return false;
@@ -169670,7 +176917,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169680,7 +176927,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169690,7 +176937,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalDataMovement()).compareTo(other.isSetLocalDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetLocalDataMovement(), other.isSetLocalDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169703,14 +176950,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -169784,6 +177035,7 @@
     }
 
     private static class updateLocalDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_argsStandardScheme getScheme() {
         return new updateLocalDataMovementDetails_argsStandardScheme();
       }
@@ -169791,6 +177043,7 @@
 
     private static class updateLocalDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -169838,6 +177091,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -169864,6 +177118,7 @@
     }
 
     private static class updateLocalDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_argsTupleScheme getScheme() {
         return new updateLocalDataMovementDetails_argsTupleScheme();
       }
@@ -169898,6 +177153,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalDataMovementDetails_result implements org.apache.thrift.TBase<updateLocalDataMovementDetails_result, updateLocalDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalDataMovementDetails_result");
 
@@ -169911,10 +177167,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -169935,6 +177191,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -169965,6 +177222,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -169977,10 +177235,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -170045,6 +177305,7 @@
       }
     }
 
+    @Override
     public updateLocalDataMovementDetails_result deepCopy() {
       return new updateLocalDataMovementDetails_result(this);
     }
@@ -170082,11 +177343,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateLocalDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateLocalDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -170106,11 +177368,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateLocalDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateLocalDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -170130,11 +177393,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateLocalDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateLocalDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -170154,11 +177418,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateLocalDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateLocalDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -170178,7 +177443,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -170223,6 +177489,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -170245,6 +177513,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -170267,8 +177536,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalDataMovementDetails_result)
         return this.equals((updateLocalDataMovementDetails_result)that);
       return false;
@@ -170361,7 +177628,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170371,7 +177638,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170381,7 +177648,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170391,7 +177658,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170401,7 +177668,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170414,10 +177681,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -170494,6 +177764,7 @@
     }
 
     private static class updateLocalDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_resultStandardScheme getScheme() {
         return new updateLocalDataMovementDetails_resultStandardScheme();
       }
@@ -170501,6 +177772,7 @@
 
     private static class updateLocalDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -170566,6 +177838,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -170602,6 +177875,7 @@
     }
 
     private static class updateLocalDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_resultTupleScheme getScheme() {
         return new updateLocalDataMovementDetails_resultTupleScheme();
       }
@@ -170682,6 +177956,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalDataMovement_args implements org.apache.thrift.TBase<getLocalDataMovement_args, getLocalDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalDataMovement_args");
 
@@ -170691,8 +177966,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalDataMovement_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -170710,6 +177985,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -170734,6 +178010,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -170746,10 +178023,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -170791,6 +178070,7 @@
       }
     }
 
+    @Override
     public getLocalDataMovement_args deepCopy() {
       return new getLocalDataMovement_args(this);
     }
@@ -170801,11 +178081,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getLocalDataMovement_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getLocalDataMovement_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -170825,11 +178106,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getLocalDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getLocalDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -170849,7 +178131,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -170870,6 +178153,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -170883,6 +178168,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -170899,8 +178185,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalDataMovement_args)
         return this.equals((getLocalDataMovement_args)that);
       return false;
@@ -170956,7 +178240,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170966,7 +178250,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170979,14 +178263,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -171046,6 +178334,7 @@
     }
 
     private static class getLocalDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_argsStandardScheme getScheme() {
         return new getLocalDataMovement_argsStandardScheme();
       }
@@ -171053,6 +178342,7 @@
 
     private static class getLocalDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -171091,6 +178381,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -171112,6 +178403,7 @@
     }
 
     private static class getLocalDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_argsTupleScheme getScheme() {
         return new getLocalDataMovement_argsTupleScheme();
       }
@@ -171142,6 +178434,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalDataMovement_result implements org.apache.thrift.TBase<getLocalDataMovement_result, getLocalDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalDataMovement_result");
 
@@ -171154,11 +178447,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.LOCALDataMovement 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -171179,6 +178472,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -171209,6 +178503,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -171221,10 +178516,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -171287,6 +178584,7 @@
       }
     }
 
+    @Override
     public getLocalDataMovement_result deepCopy() {
       return new getLocalDataMovement_result(this);
     }
@@ -171300,11 +178598,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.LOCALDataMovement getSuccess() {
       return this.success;
     }
 
-    public getLocalDataMovement_result setSuccess(org.apache.airavata.model.data.movement.LOCALDataMovement success) {
+    public getLocalDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement success) {
       this.success = success;
       return this;
     }
@@ -171324,11 +178623,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getLocalDataMovement_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getLocalDataMovement_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -171348,11 +178648,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getLocalDataMovement_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getLocalDataMovement_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -171372,11 +178673,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getLocalDataMovement_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getLocalDataMovement_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -171396,11 +178698,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getLocalDataMovement_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getLocalDataMovement_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -171420,7 +178723,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -171465,6 +178769,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -171487,6 +178793,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -171509,8 +178816,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalDataMovement_result)
         return this.equals((getLocalDataMovement_result)that);
       return false;
@@ -171605,7 +178910,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171615,7 +178920,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171625,7 +178930,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171635,7 +178940,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171645,7 +178950,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171658,10 +178963,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -171743,6 +179051,7 @@
     }
 
     private static class getLocalDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_resultStandardScheme getScheme() {
         return new getLocalDataMovement_resultStandardScheme();
       }
@@ -171750,6 +179059,7 @@
 
     private static class getLocalDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -171816,6 +179126,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -171852,6 +179163,7 @@
     }
 
     private static class getLocalDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_resultTupleScheme getScheme() {
         return new getLocalDataMovement_resultTupleScheme();
       }
@@ -171933,6 +179245,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSCPDataMovementDetails_args implements org.apache.thrift.TBase<addSCPDataMovementDetails_args, addSCPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSCPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSCPDataMovementDetails_args");
 
@@ -171945,15 +179258,15 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSCPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSCPDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // 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 {
@@ -171978,6 +179291,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -172008,6 +179322,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -172020,10 +179335,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -172088,6 +179405,7 @@
       }
     }
 
+    @Override
     public addSCPDataMovementDetails_args deepCopy() {
       return new addSCPDataMovementDetails_args(this);
     }
@@ -172102,11 +179420,12 @@
       this.scpDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addSCPDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addSCPDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -172126,11 +179445,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addSCPDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addSCPDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -172154,6 +179474,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -172162,7 +179483,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addSCPDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addSCPDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -172205,11 +179526,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.SCPDataMovement getScpDataMovement() {
       return this.scpDataMovement;
     }
 
-    public addSCPDataMovementDetails_args setScpDataMovement(org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
+    public addSCPDataMovementDetails_args setScpDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
       this.scpDataMovement = scpDataMovement;
       return this;
     }
@@ -172229,7 +179551,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -172274,6 +179597,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -172296,6 +179621,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -172318,8 +179644,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSCPDataMovementDetails_args)
         return this.equals((addSCPDataMovementDetails_args)that);
       return false;
@@ -172412,7 +179736,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172422,7 +179746,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172432,7 +179756,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172442,7 +179766,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172452,7 +179776,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetScpDataMovement()).compareTo(other.isSetScpDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetScpDataMovement(), other.isSetScpDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172465,14 +179789,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -172564,6 +179892,7 @@
     }
 
     private static class addSCPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_argsStandardScheme getScheme() {
         return new addSCPDataMovementDetails_argsStandardScheme();
       }
@@ -172571,6 +179900,7 @@
 
     private static class addSCPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSCPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -172637,6 +179967,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -172671,6 +180002,7 @@
     }
 
     private static class addSCPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_argsTupleScheme getScheme() {
         return new addSCPDataMovementDetails_argsTupleScheme();
       }
@@ -172711,6 +180043,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSCPDataMovementDetails_result implements org.apache.thrift.TBase<addSCPDataMovementDetails_result, addSCPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSCPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSCPDataMovementDetails_result");
 
@@ -172723,11 +180056,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSCPDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSCPDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -172748,6 +180081,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -172778,6 +180112,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -172790,10 +180125,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -172856,6 +180193,7 @@
       }
     }
 
+    @Override
     public addSCPDataMovementDetails_result deepCopy() {
       return new addSCPDataMovementDetails_result(this);
     }
@@ -172869,11 +180207,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSCPDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addSCPDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -172893,11 +180232,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addSCPDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addSCPDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -172917,11 +180257,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addSCPDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addSCPDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -172941,11 +180282,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addSCPDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addSCPDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -172965,11 +180307,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addSCPDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addSCPDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -172989,7 +180332,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -173034,6 +180378,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -173056,6 +180402,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -173078,8 +180425,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSCPDataMovementDetails_result)
         return this.equals((addSCPDataMovementDetails_result)that);
       return false;
@@ -173174,7 +180519,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173184,7 +180529,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173194,7 +180539,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173204,7 +180549,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173214,7 +180559,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173227,10 +180572,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -173309,6 +180657,7 @@
     }
 
     private static class addSCPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_resultStandardScheme getScheme() {
         return new addSCPDataMovementDetails_resultStandardScheme();
       }
@@ -173316,6 +180665,7 @@
 
     private static class addSCPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSCPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -173381,6 +180731,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -173417,6 +180768,7 @@
     }
 
     private static class addSCPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_resultTupleScheme getScheme() {
         return new addSCPDataMovementDetails_resultTupleScheme();
       }
@@ -173497,6 +180849,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSCPDataMovementDetails_args implements org.apache.thrift.TBase<updateSCPDataMovementDetails_args, updateSCPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateSCPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSCPDataMovementDetails_args");
 
@@ -173507,9 +180860,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateSCPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSCPDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // 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 {
@@ -173528,6 +180881,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -173554,6 +180908,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -173566,10 +180921,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -173618,6 +180975,7 @@
       }
     }
 
+    @Override
     public updateSCPDataMovementDetails_args deepCopy() {
       return new updateSCPDataMovementDetails_args(this);
     }
@@ -173629,11 +180987,12 @@
       this.scpDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateSCPDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateSCPDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -173653,11 +181012,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateSCPDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateSCPDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -173677,11 +181037,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.SCPDataMovement getScpDataMovement() {
       return this.scpDataMovement;
     }
 
-    public updateSCPDataMovementDetails_args setScpDataMovement(org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
+    public updateSCPDataMovementDetails_args setScpDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
       this.scpDataMovement = scpDataMovement;
       return this;
     }
@@ -173701,7 +181062,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -173730,6 +181092,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -173746,6 +181110,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -173764,8 +181129,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSCPDataMovementDetails_args)
         return this.equals((updateSCPDataMovementDetails_args)that);
       return false;
@@ -173834,7 +181197,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173844,7 +181207,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173854,7 +181217,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetScpDataMovement()).compareTo(other.isSetScpDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetScpDataMovement(), other.isSetScpDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173867,14 +181230,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -173948,6 +181315,7 @@
     }
 
     private static class updateSCPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_argsStandardScheme getScheme() {
         return new updateSCPDataMovementDetails_argsStandardScheme();
       }
@@ -173955,6 +181323,7 @@
 
     private static class updateSCPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSCPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -174002,6 +181371,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -174028,6 +181398,7 @@
     }
 
     private static class updateSCPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_argsTupleScheme getScheme() {
         return new updateSCPDataMovementDetails_argsTupleScheme();
       }
@@ -174062,6 +181433,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSCPDataMovementDetails_result implements org.apache.thrift.TBase<updateSCPDataMovementDetails_result, updateSCPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateSCPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSCPDataMovementDetails_result");
 
@@ -174075,10 +181447,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSCPDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -174099,6 +181471,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -174129,6 +181502,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -174141,10 +181515,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -174209,6 +181585,7 @@
       }
     }
 
+    @Override
     public updateSCPDataMovementDetails_result deepCopy() {
       return new updateSCPDataMovementDetails_result(this);
     }
@@ -174246,11 +181623,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateSCPDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateSCPDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -174270,11 +181648,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateSCPDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateSCPDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -174294,11 +181673,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateSCPDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateSCPDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -174318,11 +181698,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateSCPDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateSCPDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -174342,7 +181723,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -174387,6 +181769,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -174409,6 +181793,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -174431,8 +181816,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSCPDataMovementDetails_result)
         return this.equals((updateSCPDataMovementDetails_result)that);
       return false;
@@ -174525,7 +181908,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174535,7 +181918,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174545,7 +181928,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174555,7 +181938,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174565,7 +181948,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174578,10 +181961,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -174658,6 +182044,7 @@
     }
 
     private static class updateSCPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_resultStandardScheme getScheme() {
         return new updateSCPDataMovementDetails_resultStandardScheme();
       }
@@ -174665,6 +182052,7 @@
 
     private static class updateSCPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSCPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -174730,6 +182118,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -174766,6 +182155,7 @@
     }
 
     private static class updateSCPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_resultTupleScheme getScheme() {
         return new updateSCPDataMovementDetails_resultTupleScheme();
       }
@@ -174846,6 +182236,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSCPDataMovement_args implements org.apache.thrift.TBase<getSCPDataMovement_args, getSCPDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSCPDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSCPDataMovement_args");
 
@@ -174855,8 +182246,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSCPDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSCPDataMovement_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -174874,6 +182265,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -174898,6 +182290,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -174910,10 +182303,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -174955,6 +182350,7 @@
       }
     }
 
+    @Override
     public getSCPDataMovement_args deepCopy() {
       return new getSCPDataMovement_args(this);
     }
@@ -174965,11 +182361,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getSCPDataMovement_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getSCPDataMovement_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -174989,11 +182386,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getSCPDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getSCPDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -175013,7 +182411,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -175034,6 +182433,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -175047,6 +182448,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -175063,8 +182465,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSCPDataMovement_args)
         return this.equals((getSCPDataMovement_args)that);
       return false;
@@ -175120,7 +182520,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175130,7 +182530,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175143,14 +182543,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -175210,6 +182614,7 @@
     }
 
     private static class getSCPDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_argsStandardScheme getScheme() {
         return new getSCPDataMovement_argsStandardScheme();
       }
@@ -175217,6 +182622,7 @@
 
     private static class getSCPDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSCPDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSCPDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -175255,6 +182661,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSCPDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -175276,6 +182683,7 @@
     }
 
     private static class getSCPDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_argsTupleScheme getScheme() {
         return new getSCPDataMovement_argsTupleScheme();
       }
@@ -175306,6 +182714,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSCPDataMovement_result implements org.apache.thrift.TBase<getSCPDataMovement_result, getSCPDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSCPDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSCPDataMovement_result");
 
@@ -175318,11 +182727,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSCPDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSCPDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.SCPDataMovement 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -175343,6 +182752,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -175373,6 +182783,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -175385,10 +182796,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -175451,6 +182864,7 @@
       }
     }
 
+    @Override
     public getSCPDataMovement_result deepCopy() {
       return new getSCPDataMovement_result(this);
     }
@@ -175464,11 +182878,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.SCPDataMovement getSuccess() {
       return this.success;
     }
 
-    public getSCPDataMovement_result setSuccess(org.apache.airavata.model.data.movement.SCPDataMovement success) {
+    public getSCPDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement success) {
       this.success = success;
       return this;
     }
@@ -175488,11 +182903,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getSCPDataMovement_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getSCPDataMovement_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -175512,11 +182928,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getSCPDataMovement_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getSCPDataMovement_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -175536,11 +182953,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getSCPDataMovement_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getSCPDataMovement_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -175560,11 +182978,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getSCPDataMovement_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getSCPDataMovement_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -175584,7 +183003,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -175629,6 +183049,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -175651,6 +183073,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -175673,8 +183096,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSCPDataMovement_result)
         return this.equals((getSCPDataMovement_result)that);
       return false;
@@ -175769,7 +183190,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175779,7 +183200,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175789,7 +183210,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175799,7 +183220,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175809,7 +183230,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175822,10 +183243,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -175907,6 +183331,7 @@
     }
 
     private static class getSCPDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_resultStandardScheme getScheme() {
         return new getSCPDataMovement_resultStandardScheme();
       }
@@ -175914,6 +183339,7 @@
 
     private static class getSCPDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSCPDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSCPDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -175980,6 +183406,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSCPDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -176016,6 +183443,7 @@
     }
 
     private static class getSCPDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_resultTupleScheme getScheme() {
         return new getSCPDataMovement_resultTupleScheme();
       }
@@ -176097,6 +183525,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUnicoreDataMovementDetails_args implements org.apache.thrift.TBase<addUnicoreDataMovementDetails_args, addUnicoreDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUnicoreDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUnicoreDataMovementDetails_args");
 
@@ -176109,15 +183538,15 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUnicoreDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUnicoreDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // 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 {
@@ -176142,6 +183571,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -176172,6 +183602,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -176184,10 +183615,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -176252,6 +183685,7 @@
       }
     }
 
+    @Override
     public addUnicoreDataMovementDetails_args deepCopy() {
       return new addUnicoreDataMovementDetails_args(this);
     }
@@ -176266,11 +183700,12 @@
       this.unicoreDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addUnicoreDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addUnicoreDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -176290,11 +183725,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addUnicoreDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addUnicoreDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -176318,6 +183754,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -176326,7 +183763,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addUnicoreDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addUnicoreDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -176369,11 +183806,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement() {
       return this.unicoreDataMovement;
     }
 
-    public addUnicoreDataMovementDetails_args setUnicoreDataMovement(org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
+    public addUnicoreDataMovementDetails_args setUnicoreDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
       this.unicoreDataMovement = unicoreDataMovement;
       return this;
     }
@@ -176393,7 +183831,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -176438,6 +183877,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -176460,6 +183901,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -176482,8 +183924,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUnicoreDataMovementDetails_args)
         return this.equals((addUnicoreDataMovementDetails_args)that);
       return false;
@@ -176576,7 +184016,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176586,7 +184026,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176596,7 +184036,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176606,7 +184046,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176616,7 +184056,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreDataMovement()).compareTo(other.isSetUnicoreDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreDataMovement(), other.isSetUnicoreDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176629,14 +184069,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -176728,6 +184172,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_argsStandardScheme getScheme() {
         return new addUnicoreDataMovementDetails_argsStandardScheme();
       }
@@ -176735,6 +184180,7 @@
 
     private static class addUnicoreDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUnicoreDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -176801,6 +184247,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -176835,6 +184282,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_argsTupleScheme getScheme() {
         return new addUnicoreDataMovementDetails_argsTupleScheme();
       }
@@ -176875,6 +184323,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUnicoreDataMovementDetails_result implements org.apache.thrift.TBase<addUnicoreDataMovementDetails_result, addUnicoreDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUnicoreDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUnicoreDataMovementDetails_result");
 
@@ -176887,11 +184336,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUnicoreDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUnicoreDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -176912,6 +184361,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -176942,6 +184392,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -176954,10 +184405,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -177020,6 +184473,7 @@
       }
     }
 
+    @Override
     public addUnicoreDataMovementDetails_result deepCopy() {
       return new addUnicoreDataMovementDetails_result(this);
     }
@@ -177033,11 +184487,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addUnicoreDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addUnicoreDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -177057,11 +184512,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addUnicoreDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addUnicoreDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -177081,11 +184537,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addUnicoreDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addUnicoreDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -177105,11 +184562,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addUnicoreDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addUnicoreDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -177129,11 +184587,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addUnicoreDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addUnicoreDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -177153,7 +184612,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -177198,6 +184658,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -177220,6 +184682,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -177242,8 +184705,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUnicoreDataMovementDetails_result)
         return this.equals((addUnicoreDataMovementDetails_result)that);
       return false;
@@ -177338,7 +184799,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177348,7 +184809,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177358,7 +184819,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177368,7 +184829,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177378,7 +184839,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177391,10 +184852,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -177473,6 +184937,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_resultStandardScheme getScheme() {
         return new addUnicoreDataMovementDetails_resultStandardScheme();
       }
@@ -177480,6 +184945,7 @@
 
     private static class addUnicoreDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUnicoreDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -177545,6 +185011,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -177581,6 +185048,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_resultTupleScheme getScheme() {
         return new addUnicoreDataMovementDetails_resultTupleScheme();
       }
@@ -177661,6 +185129,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreDataMovementDetails_args implements org.apache.thrift.TBase<updateUnicoreDataMovementDetails_args, updateUnicoreDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreDataMovementDetails_args");
 
@@ -177671,9 +185140,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUnicoreDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // 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 {
@@ -177692,6 +185161,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -177718,6 +185188,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -177730,10 +185201,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -177782,6 +185255,7 @@
       }
     }
 
+    @Override
     public updateUnicoreDataMovementDetails_args deepCopy() {
       return new updateUnicoreDataMovementDetails_args(this);
     }
@@ -177793,11 +185267,12 @@
       this.unicoreDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUnicoreDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUnicoreDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -177817,11 +185292,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateUnicoreDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateUnicoreDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -177841,11 +185317,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement() {
       return this.unicoreDataMovement;
     }
 
-    public updateUnicoreDataMovementDetails_args setUnicoreDataMovement(org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
+    public updateUnicoreDataMovementDetails_args setUnicoreDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
       this.unicoreDataMovement = unicoreDataMovement;
       return this;
     }
@@ -177865,7 +185342,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -177894,6 +185372,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -177910,6 +185390,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -177928,8 +185409,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreDataMovementDetails_args)
         return this.equals((updateUnicoreDataMovementDetails_args)that);
       return false;
@@ -177998,7 +185477,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178008,7 +185487,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178018,7 +185497,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreDataMovement()).compareTo(other.isSetUnicoreDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreDataMovement(), other.isSetUnicoreDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178031,14 +185510,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -178112,6 +185595,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_argsStandardScheme getScheme() {
         return new updateUnicoreDataMovementDetails_argsStandardScheme();
       }
@@ -178119,6 +185603,7 @@
 
     private static class updateUnicoreDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -178166,6 +185651,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -178192,6 +185678,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_argsTupleScheme getScheme() {
         return new updateUnicoreDataMovementDetails_argsTupleScheme();
       }
@@ -178226,6 +185713,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreDataMovementDetails_result implements org.apache.thrift.TBase<updateUnicoreDataMovementDetails_result, updateUnicoreDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreDataMovementDetails_result");
 
@@ -178239,10 +185727,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -178263,6 +185751,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -178293,6 +185782,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -178305,10 +185795,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -178373,6 +185865,7 @@
       }
     }
 
+    @Override
     public updateUnicoreDataMovementDetails_result deepCopy() {
       return new updateUnicoreDataMovementDetails_result(this);
     }
@@ -178410,11 +185903,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateUnicoreDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateUnicoreDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -178434,11 +185928,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateUnicoreDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateUnicoreDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -178458,11 +185953,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateUnicoreDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateUnicoreDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -178482,11 +185978,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUnicoreDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUnicoreDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -178506,7 +186003,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -178551,6 +186049,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -178573,6 +186073,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -178595,8 +186096,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreDataMovementDetails_result)
         return this.equals((updateUnicoreDataMovementDetails_result)that);
       return false;
@@ -178689,7 +186188,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178699,7 +186198,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178709,7 +186208,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178719,7 +186218,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178729,7 +186228,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178742,10 +186241,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -178822,6 +186324,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_resultStandardScheme getScheme() {
         return new updateUnicoreDataMovementDetails_resultStandardScheme();
       }
@@ -178829,6 +186332,7 @@
 
     private static class updateUnicoreDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -178894,6 +186398,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -178930,6 +186435,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_resultTupleScheme getScheme() {
         return new updateUnicoreDataMovementDetails_resultTupleScheme();
       }
@@ -179010,6 +186516,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreDataMovement_args implements org.apache.thrift.TBase<getUnicoreDataMovement_args, getUnicoreDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreDataMovement_args");
 
@@ -179019,8 +186526,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreDataMovement_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -179038,6 +186545,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -179062,6 +186570,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -179074,10 +186583,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -179119,6 +186630,7 @@
       }
     }
 
+    @Override
     public getUnicoreDataMovement_args deepCopy() {
       return new getUnicoreDataMovement_args(this);
     }
@@ -179129,11 +186641,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUnicoreDataMovement_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUnicoreDataMovement_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -179153,11 +186666,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getUnicoreDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getUnicoreDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -179177,7 +186691,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -179198,6 +186713,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -179211,6 +186728,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -179227,8 +186745,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreDataMovement_args)
         return this.equals((getUnicoreDataMovement_args)that);
       return false;
@@ -179284,7 +186800,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179294,7 +186810,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179307,14 +186823,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -179374,6 +186894,7 @@
     }
 
     private static class getUnicoreDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_argsStandardScheme getScheme() {
         return new getUnicoreDataMovement_argsStandardScheme();
       }
@@ -179381,6 +186902,7 @@
 
     private static class getUnicoreDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -179419,6 +186941,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -179440,6 +186963,7 @@
     }
 
     private static class getUnicoreDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_argsTupleScheme getScheme() {
         return new getUnicoreDataMovement_argsTupleScheme();
       }
@@ -179470,6 +186994,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreDataMovement_result implements org.apache.thrift.TBase<getUnicoreDataMovement_result, getUnicoreDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreDataMovement_result");
 
@@ -179482,11 +187007,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.UnicoreDataMovement 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -179507,6 +187032,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -179537,6 +187063,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -179549,10 +187076,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -179615,6 +187144,7 @@
       }
     }
 
+    @Override
     public getUnicoreDataMovement_result deepCopy() {
       return new getUnicoreDataMovement_result(this);
     }
@@ -179628,11 +187158,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getSuccess() {
       return this.success;
     }
 
-    public getUnicoreDataMovement_result setSuccess(org.apache.airavata.model.data.movement.UnicoreDataMovement success) {
+    public getUnicoreDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement success) {
       this.success = success;
       return this;
     }
@@ -179652,11 +187183,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUnicoreDataMovement_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUnicoreDataMovement_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -179676,11 +187208,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUnicoreDataMovement_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUnicoreDataMovement_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -179700,11 +187233,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUnicoreDataMovement_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUnicoreDataMovement_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -179724,11 +187258,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUnicoreDataMovement_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUnicoreDataMovement_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -179748,7 +187283,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -179793,6 +187329,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -179815,6 +187353,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -179837,8 +187376,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreDataMovement_result)
         return this.equals((getUnicoreDataMovement_result)that);
       return false;
@@ -179933,7 +187470,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179943,7 +187480,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179953,7 +187490,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179963,7 +187500,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179973,7 +187510,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179986,10 +187523,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -180071,6 +187611,7 @@
     }
 
     private static class getUnicoreDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_resultStandardScheme getScheme() {
         return new getUnicoreDataMovement_resultStandardScheme();
       }
@@ -180078,6 +187619,7 @@
 
     private static class getUnicoreDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -180144,6 +187686,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -180180,6 +187723,7 @@
     }
 
     private static class getUnicoreDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_resultTupleScheme getScheme() {
         return new getUnicoreDataMovement_resultTupleScheme();
       }
@@ -180261,6 +187805,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGridFTPDataMovementDetails_args implements org.apache.thrift.TBase<addGridFTPDataMovementDetails_args, addGridFTPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGridFTPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGridFTPDataMovementDetails_args");
 
@@ -180273,15 +187818,15 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGridFTPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGridFTPDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // 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 {
@@ -180306,6 +187851,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -180336,6 +187882,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -180348,10 +187895,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -180416,6 +187965,7 @@
       }
     }
 
+    @Override
     public addGridFTPDataMovementDetails_args deepCopy() {
       return new addGridFTPDataMovementDetails_args(this);
     }
@@ -180430,11 +187980,12 @@
       this.gridFTPDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addGridFTPDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addGridFTPDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -180454,11 +188005,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addGridFTPDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addGridFTPDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -180482,6 +188034,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -180490,7 +188043,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addGridFTPDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addGridFTPDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -180533,11 +188086,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement() {
       return this.gridFTPDataMovement;
     }
 
-    public addGridFTPDataMovementDetails_args setGridFTPDataMovement(org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
+    public addGridFTPDataMovementDetails_args setGridFTPDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
       this.gridFTPDataMovement = gridFTPDataMovement;
       return this;
     }
@@ -180557,7 +188111,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -180602,6 +188157,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -180624,6 +188181,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -180646,8 +188204,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGridFTPDataMovementDetails_args)
         return this.equals((addGridFTPDataMovementDetails_args)that);
       return false;
@@ -180740,7 +188296,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180750,7 +188306,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180760,7 +188316,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180770,7 +188326,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180780,7 +188336,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGridFTPDataMovement()).compareTo(other.isSetGridFTPDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetGridFTPDataMovement(), other.isSetGridFTPDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180793,14 +188349,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -180892,6 +188452,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_argsStandardScheme getScheme() {
         return new addGridFTPDataMovementDetails_argsStandardScheme();
       }
@@ -180899,6 +188460,7 @@
 
     private static class addGridFTPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGridFTPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -180965,6 +188527,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -180999,6 +188562,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_argsTupleScheme getScheme() {
         return new addGridFTPDataMovementDetails_argsTupleScheme();
       }
@@ -181039,6 +188603,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGridFTPDataMovementDetails_result implements org.apache.thrift.TBase<addGridFTPDataMovementDetails_result, addGridFTPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGridFTPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGridFTPDataMovementDetails_result");
 
@@ -181051,11 +188616,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGridFTPDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGridFTPDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -181076,6 +188641,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -181106,6 +188672,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -181118,10 +188685,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -181184,6 +188753,7 @@
       }
     }
 
+    @Override
     public addGridFTPDataMovementDetails_result deepCopy() {
       return new addGridFTPDataMovementDetails_result(this);
     }
@@ -181197,11 +188767,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addGridFTPDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addGridFTPDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -181221,11 +188792,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addGridFTPDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addGridFTPDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -181245,11 +188817,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addGridFTPDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addGridFTPDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -181269,11 +188842,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addGridFTPDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addGridFTPDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -181293,11 +188867,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addGridFTPDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addGridFTPDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -181317,7 +188892,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -181362,6 +188938,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -181384,6 +188962,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -181406,8 +188985,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGridFTPDataMovementDetails_result)
         return this.equals((addGridFTPDataMovementDetails_result)that);
       return false;
@@ -181502,7 +189079,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181512,7 +189089,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181522,7 +189099,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181532,7 +189109,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181542,7 +189119,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181555,10 +189132,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -181637,6 +189217,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_resultStandardScheme getScheme() {
         return new addGridFTPDataMovementDetails_resultStandardScheme();
       }
@@ -181644,6 +189225,7 @@
 
     private static class addGridFTPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGridFTPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -181709,6 +189291,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -181745,6 +189328,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_resultTupleScheme getScheme() {
         return new addGridFTPDataMovementDetails_resultTupleScheme();
       }
@@ -181825,6 +189409,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGridFTPDataMovementDetails_args implements org.apache.thrift.TBase<updateGridFTPDataMovementDetails_args, updateGridFTPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGridFTPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGridFTPDataMovementDetails_args");
 
@@ -181835,9 +189420,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGridFTPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGridFTPDataMovementDetails_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // 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 {
@@ -181856,6 +189441,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -181882,6 +189468,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -181894,10 +189481,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -181946,6 +189535,7 @@
       }
     }
 
+    @Override
     public updateGridFTPDataMovementDetails_args deepCopy() {
       return new updateGridFTPDataMovementDetails_args(this);
     }
@@ -181957,11 +189547,12 @@
       this.gridFTPDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGridFTPDataMovementDetails_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGridFTPDataMovementDetails_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -181981,11 +189572,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateGridFTPDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateGridFTPDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -182005,11 +189597,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement() {
       return this.gridFTPDataMovement;
     }
 
-    public updateGridFTPDataMovementDetails_args setGridFTPDataMovement(org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
+    public updateGridFTPDataMovementDetails_args setGridFTPDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
       this.gridFTPDataMovement = gridFTPDataMovement;
       return this;
     }
@@ -182029,7 +189622,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -182058,6 +189652,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -182074,6 +189670,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -182092,8 +189689,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGridFTPDataMovementDetails_args)
         return this.equals((updateGridFTPDataMovementDetails_args)that);
       return false;
@@ -182162,7 +189757,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182172,7 +189767,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182182,7 +189777,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGridFTPDataMovement()).compareTo(other.isSetGridFTPDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetGridFTPDataMovement(), other.isSetGridFTPDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182195,14 +189790,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -182276,6 +189875,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_argsStandardScheme getScheme() {
         return new updateGridFTPDataMovementDetails_argsStandardScheme();
       }
@@ -182283,6 +189883,7 @@
 
     private static class updateGridFTPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGridFTPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -182330,6 +189931,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -182356,6 +189958,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_argsTupleScheme getScheme() {
         return new updateGridFTPDataMovementDetails_argsTupleScheme();
       }
@@ -182390,6 +189993,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGridFTPDataMovementDetails_result implements org.apache.thrift.TBase<updateGridFTPDataMovementDetails_result, updateGridFTPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGridFTPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGridFTPDataMovementDetails_result");
 
@@ -182403,10 +190007,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGridFTPDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -182427,6 +190031,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -182457,6 +190062,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -182469,10 +190075,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -182537,6 +190145,7 @@
       }
     }
 
+    @Override
     public updateGridFTPDataMovementDetails_result deepCopy() {
       return new updateGridFTPDataMovementDetails_result(this);
     }
@@ -182574,11 +190183,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateGridFTPDataMovementDetails_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateGridFTPDataMovementDetails_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -182598,11 +190208,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateGridFTPDataMovementDetails_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateGridFTPDataMovementDetails_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -182622,11 +190233,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateGridFTPDataMovementDetails_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateGridFTPDataMovementDetails_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -182646,11 +190258,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGridFTPDataMovementDetails_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGridFTPDataMovementDetails_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -182670,7 +190283,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -182715,6 +190329,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -182737,6 +190353,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -182759,8 +190376,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGridFTPDataMovementDetails_result)
         return this.equals((updateGridFTPDataMovementDetails_result)that);
       return false;
@@ -182853,7 +190468,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182863,7 +190478,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182873,7 +190488,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182883,7 +190498,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182893,7 +190508,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182906,10 +190521,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -182986,6 +190604,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_resultStandardScheme getScheme() {
         return new updateGridFTPDataMovementDetails_resultStandardScheme();
       }
@@ -182993,6 +190612,7 @@
 
     private static class updateGridFTPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGridFTPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -183058,6 +190678,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -183094,6 +190715,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_resultTupleScheme getScheme() {
         return new updateGridFTPDataMovementDetails_resultTupleScheme();
       }
@@ -183174,6 +190796,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGridFTPDataMovement_args implements org.apache.thrift.TBase<getGridFTPDataMovement_args, getGridFTPDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGridFTPDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGridFTPDataMovement_args");
 
@@ -183183,8 +190806,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGridFTPDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGridFTPDataMovement_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -183202,6 +190825,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -183226,6 +190850,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -183238,10 +190863,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -183283,6 +190910,7 @@
       }
     }
 
+    @Override
     public getGridFTPDataMovement_args deepCopy() {
       return new getGridFTPDataMovement_args(this);
     }
@@ -183293,11 +190921,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGridFTPDataMovement_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGridFTPDataMovement_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -183317,11 +190946,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getGridFTPDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getGridFTPDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -183341,7 +190971,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -183362,6 +190993,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -183375,6 +191008,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -183391,8 +191025,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGridFTPDataMovement_args)
         return this.equals((getGridFTPDataMovement_args)that);
       return false;
@@ -183448,7 +191080,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -183458,7 +191090,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -183471,14 +191103,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -183538,6 +191174,7 @@
     }
 
     private static class getGridFTPDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_argsStandardScheme getScheme() {
         return new getGridFTPDataMovement_argsStandardScheme();
       }
@@ -183545,6 +191182,7 @@
 
     private static class getGridFTPDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGridFTPDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGridFTPDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -183583,6 +191221,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGridFTPDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -183604,6 +191243,7 @@
     }
 
     private static class getGridFTPDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_argsTupleScheme getScheme() {
         return new getGridFTPDataMovement_argsTupleScheme();
       }
@@ -183634,6 +191274,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGridFTPDataMovement_result implements org.apache.thrift.TBase<getGridFTPDataMovement_result, getGridFTPDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGridFTPDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGridFTPDataMovement_result");
 
@@ -183646,11 +191287,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGridFTPDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGridFTPDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.GridFTPDataMovement 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -183671,6 +191312,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -183701,6 +191343,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -183713,10 +191356,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -183779,6 +191424,7 @@
       }
     }
 
+    @Override
     public getGridFTPDataMovement_result deepCopy() {
       return new getGridFTPDataMovement_result(this);
     }
@@ -183792,11 +191438,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getSuccess() {
       return this.success;
     }
 
-    public getGridFTPDataMovement_result setSuccess(org.apache.airavata.model.data.movement.GridFTPDataMovement success) {
+    public getGridFTPDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement success) {
       this.success = success;
       return this;
     }
@@ -183816,11 +191463,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGridFTPDataMovement_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGridFTPDataMovement_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -183840,11 +191488,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGridFTPDataMovement_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGridFTPDataMovement_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -183864,11 +191513,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGridFTPDataMovement_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGridFTPDataMovement_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -183888,11 +191538,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGridFTPDataMovement_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGridFTPDataMovement_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -183912,7 +191563,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -183957,6 +191609,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -183979,6 +191633,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -184001,8 +191656,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGridFTPDataMovement_result)
         return this.equals((getGridFTPDataMovement_result)that);
       return false;
@@ -184097,7 +191750,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184107,7 +191760,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184117,7 +191770,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184127,7 +191780,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184137,7 +191790,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184150,10 +191803,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -184235,6 +191891,7 @@
     }
 
     private static class getGridFTPDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_resultStandardScheme getScheme() {
         return new getGridFTPDataMovement_resultStandardScheme();
       }
@@ -184242,6 +191899,7 @@
 
     private static class getGridFTPDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGridFTPDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGridFTPDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -184308,6 +191966,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGridFTPDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -184344,6 +192003,7 @@
     }
 
     private static class getGridFTPDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_resultTupleScheme getScheme() {
         return new getGridFTPDataMovement_resultTupleScheme();
       }
@@ -184425,6 +192085,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriority_args implements org.apache.thrift.TBase<changeJobSubmissionPriority_args, changeJobSubmissionPriority_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriority_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriority_args");
 
@@ -184435,8 +192096,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeJobSubmissionPriority_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriority_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
     public int newPriorityOrder; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -184456,6 +192117,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -184482,6 +192144,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -184494,10 +192157,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -184548,6 +192213,7 @@
       this.newPriorityOrder = other.newPriorityOrder;
     }
 
+    @Override
     public changeJobSubmissionPriority_args deepCopy() {
       return new changeJobSubmissionPriority_args(this);
     }
@@ -184560,11 +192226,12 @@
       this.newPriorityOrder = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public changeJobSubmissionPriority_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public changeJobSubmissionPriority_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -184584,11 +192251,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public changeJobSubmissionPriority_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public changeJobSubmissionPriority_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -184631,7 +192299,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __NEWPRIORITYORDER_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -184660,6 +192329,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -184676,6 +192347,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -184694,8 +192366,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriority_args)
         return this.equals((changeJobSubmissionPriority_args)that);
       return false;
@@ -184762,7 +192432,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184772,7 +192442,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184782,7 +192452,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewPriorityOrder()).compareTo(other.isSetNewPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetNewPriorityOrder(), other.isSetNewPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184795,14 +192465,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -184869,6 +192543,7 @@
     }
 
     private static class changeJobSubmissionPriority_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_argsStandardScheme getScheme() {
         return new changeJobSubmissionPriority_argsStandardScheme();
       }
@@ -184876,6 +192551,7 @@
 
     private static class changeJobSubmissionPriority_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriority_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriority_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -184925,6 +192601,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriority_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -184949,6 +192626,7 @@
     }
 
     private static class changeJobSubmissionPriority_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_argsTupleScheme getScheme() {
         return new changeJobSubmissionPriority_argsTupleScheme();
       }
@@ -184982,6 +192660,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriority_result implements org.apache.thrift.TBase<changeJobSubmissionPriority_result, changeJobSubmissionPriority_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriority_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriority_result");
 
@@ -184995,10 +192674,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriority_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -185019,6 +192698,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -185049,6 +192729,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -185061,10 +192742,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -185129,6 +192812,7 @@
       }
     }
 
+    @Override
     public changeJobSubmissionPriority_result deepCopy() {
       return new changeJobSubmissionPriority_result(this);
     }
@@ -185166,11 +192850,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public changeJobSubmissionPriority_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public changeJobSubmissionPriority_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -185190,11 +192875,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public changeJobSubmissionPriority_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public changeJobSubmissionPriority_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -185214,11 +192900,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public changeJobSubmissionPriority_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public changeJobSubmissionPriority_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -185238,11 +192925,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public changeJobSubmissionPriority_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public changeJobSubmissionPriority_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -185262,7 +192950,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -185307,6 +192996,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -185329,6 +193020,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -185351,8 +193043,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriority_result)
         return this.equals((changeJobSubmissionPriority_result)that);
       return false;
@@ -185445,7 +193135,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185455,7 +193145,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185465,7 +193155,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185475,7 +193165,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185485,7 +193175,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185498,10 +193188,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -185578,6 +193271,7 @@
     }
 
     private static class changeJobSubmissionPriority_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_resultStandardScheme getScheme() {
         return new changeJobSubmissionPriority_resultStandardScheme();
       }
@@ -185585,6 +193279,7 @@
 
     private static class changeJobSubmissionPriority_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriority_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriority_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -185650,6 +193345,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriority_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -185686,6 +193382,7 @@
     }
 
     private static class changeJobSubmissionPriority_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_resultTupleScheme getScheme() {
         return new changeJobSubmissionPriority_resultTupleScheme();
       }
@@ -185766,6 +193463,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriority_args implements org.apache.thrift.TBase<changeDataMovementPriority_args, changeDataMovementPriority_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriority_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriority_args");
 
@@ -185776,8 +193474,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeDataMovementPriority_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriority_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
     public int newPriorityOrder; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -185797,6 +193495,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -185823,6 +193522,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -185835,10 +193535,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -185889,6 +193591,7 @@
       this.newPriorityOrder = other.newPriorityOrder;
     }
 
+    @Override
     public changeDataMovementPriority_args deepCopy() {
       return new changeDataMovementPriority_args(this);
     }
@@ -185901,11 +193604,12 @@
       this.newPriorityOrder = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public changeDataMovementPriority_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public changeDataMovementPriority_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -185925,11 +193629,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public changeDataMovementPriority_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public changeDataMovementPriority_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -185972,7 +193677,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __NEWPRIORITYORDER_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -186001,6 +193707,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -186017,6 +193725,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -186035,8 +193744,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriority_args)
         return this.equals((changeDataMovementPriority_args)that);
       return false;
@@ -186103,7 +193810,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186113,7 +193820,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186123,7 +193830,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewPriorityOrder()).compareTo(other.isSetNewPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetNewPriorityOrder(), other.isSetNewPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186136,14 +193843,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -186210,6 +193921,7 @@
     }
 
     private static class changeDataMovementPriority_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_argsStandardScheme getScheme() {
         return new changeDataMovementPriority_argsStandardScheme();
       }
@@ -186217,6 +193929,7 @@
 
     private static class changeDataMovementPriority_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriority_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriority_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -186266,6 +193979,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriority_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -186290,6 +194004,7 @@
     }
 
     private static class changeDataMovementPriority_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_argsTupleScheme getScheme() {
         return new changeDataMovementPriority_argsTupleScheme();
       }
@@ -186323,6 +194038,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriority_result implements org.apache.thrift.TBase<changeDataMovementPriority_result, changeDataMovementPriority_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriority_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriority_result");
 
@@ -186336,10 +194052,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriority_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -186360,6 +194076,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -186390,6 +194107,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -186402,10 +194120,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -186470,6 +194190,7 @@
       }
     }
 
+    @Override
     public changeDataMovementPriority_result deepCopy() {
       return new changeDataMovementPriority_result(this);
     }
@@ -186507,11 +194228,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public changeDataMovementPriority_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public changeDataMovementPriority_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -186531,11 +194253,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public changeDataMovementPriority_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public changeDataMovementPriority_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -186555,11 +194278,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public changeDataMovementPriority_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public changeDataMovementPriority_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -186579,11 +194303,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public changeDataMovementPriority_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public changeDataMovementPriority_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -186603,7 +194328,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -186648,6 +194374,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -186670,6 +194398,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -186692,8 +194421,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriority_result)
         return this.equals((changeDataMovementPriority_result)that);
       return false;
@@ -186786,7 +194513,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186796,7 +194523,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186806,7 +194533,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186816,7 +194543,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186826,7 +194553,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186839,10 +194566,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -186919,6 +194649,7 @@
     }
 
     private static class changeDataMovementPriority_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_resultStandardScheme getScheme() {
         return new changeDataMovementPriority_resultStandardScheme();
       }
@@ -186926,6 +194657,7 @@
 
     private static class changeDataMovementPriority_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriority_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriority_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -186991,6 +194723,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriority_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -187027,6 +194760,7 @@
     }
 
     private static class changeDataMovementPriority_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_resultTupleScheme getScheme() {
         return new changeDataMovementPriority_resultTupleScheme();
       }
@@ -187107,6 +194841,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriorities_args implements org.apache.thrift.TBase<changeJobSubmissionPriorities_args, changeJobSubmissionPriorities_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriorities_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriorities_args");
 
@@ -187116,8 +194851,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeJobSubmissionPriorities_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriorities_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap; // 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 {
@@ -187135,6 +194870,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -187159,6 +194895,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -187171,10 +194908,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -187219,6 +194958,7 @@
       }
     }
 
+    @Override
     public changeJobSubmissionPriorities_args deepCopy() {
       return new changeJobSubmissionPriorities_args(this);
     }
@@ -187229,11 +194969,12 @@
       this.jobSubmissionPriorityMap = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public changeJobSubmissionPriorities_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public changeJobSubmissionPriorities_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -187264,11 +195005,12 @@
       this.jobSubmissionPriorityMap.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.Integer> getJobSubmissionPriorityMap() {
       return this.jobSubmissionPriorityMap;
     }
 
-    public changeJobSubmissionPriorities_args setJobSubmissionPriorityMap(java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap) {
+    public changeJobSubmissionPriorities_args setJobSubmissionPriorityMap(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap) {
       this.jobSubmissionPriorityMap = jobSubmissionPriorityMap;
       return this;
     }
@@ -187288,7 +195030,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -187309,6 +195052,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -187322,6 +195067,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -187338,8 +195084,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriorities_args)
         return this.equals((changeJobSubmissionPriorities_args)that);
       return false;
@@ -187395,7 +195139,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187405,7 +195149,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionPriorityMap()).compareTo(other.isSetJobSubmissionPriorityMap());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionPriorityMap(), other.isSetJobSubmissionPriorityMap());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187418,14 +195162,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -187485,6 +195233,7 @@
     }
 
     private static class changeJobSubmissionPriorities_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_argsStandardScheme getScheme() {
         return new changeJobSubmissionPriorities_argsStandardScheme();
       }
@@ -187492,6 +195241,7 @@
 
     private static class changeJobSubmissionPriorities_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriorities_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriorities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -187516,7 +195266,7 @@
                 {
                   org.apache.thrift.protocol.TMap _map254 = iprot.readMapBegin();
                   struct.jobSubmissionPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map254.size);
-                  java.lang.String _key255;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key255;
                   int _val256;
                   for (int _i257 = 0; _i257 < _map254.size; ++_i257)
                   {
@@ -187542,6 +195292,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriorities_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -187571,6 +195322,7 @@
     }
 
     private static class changeJobSubmissionPriorities_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_argsTupleScheme getScheme() {
         return new changeJobSubmissionPriorities_argsTupleScheme();
       }
@@ -187599,9 +195351,9 @@
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         {
-          org.apache.thrift.protocol.TMap _map260 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          org.apache.thrift.protocol.TMap _map260 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
           struct.jobSubmissionPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map260.size);
-          java.lang.String _key261;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key261;
           int _val262;
           for (int _i263 = 0; _i263 < _map260.size; ++_i263)
           {
@@ -187619,6 +195371,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriorities_result implements org.apache.thrift.TBase<changeJobSubmissionPriorities_result, changeJobSubmissionPriorities_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriorities_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriorities_result");
 
@@ -187632,10 +195385,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriorities_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -187656,6 +195409,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -187686,6 +195440,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -187698,10 +195453,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -187766,6 +195523,7 @@
       }
     }
 
+    @Override
     public changeJobSubmissionPriorities_result deepCopy() {
       return new changeJobSubmissionPriorities_result(this);
     }
@@ -187803,11 +195561,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public changeJobSubmissionPriorities_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public changeJobSubmissionPriorities_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -187827,11 +195586,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public changeJobSubmissionPriorities_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public changeJobSubmissionPriorities_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -187851,11 +195611,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public changeJobSubmissionPriorities_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public changeJobSubmissionPriorities_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -187875,11 +195636,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public changeJobSubmissionPriorities_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public changeJobSubmissionPriorities_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -187899,7 +195661,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -187944,6 +195707,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -187966,6 +195731,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -187988,8 +195754,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriorities_result)
         return this.equals((changeJobSubmissionPriorities_result)that);
       return false;
@@ -188082,7 +195846,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188092,7 +195856,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188102,7 +195866,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188112,7 +195876,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188122,7 +195886,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188135,10 +195899,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -188215,6 +195982,7 @@
     }
 
     private static class changeJobSubmissionPriorities_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_resultStandardScheme getScheme() {
         return new changeJobSubmissionPriorities_resultStandardScheme();
       }
@@ -188222,6 +195990,7 @@
 
     private static class changeJobSubmissionPriorities_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriorities_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriorities_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -188287,6 +196056,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriorities_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -188323,6 +196093,7 @@
     }
 
     private static class changeJobSubmissionPriorities_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_resultTupleScheme getScheme() {
         return new changeJobSubmissionPriorities_resultTupleScheme();
       }
@@ -188403,6 +196174,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriorities_args implements org.apache.thrift.TBase<changeDataMovementPriorities_args, changeDataMovementPriorities_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriorities_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriorities_args");
 
@@ -188412,8 +196184,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeDataMovementPriorities_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriorities_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap; // 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 {
@@ -188431,6 +196203,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -188455,6 +196228,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -188467,10 +196241,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -188515,6 +196291,7 @@
       }
     }
 
+    @Override
     public changeDataMovementPriorities_args deepCopy() {
       return new changeDataMovementPriorities_args(this);
     }
@@ -188525,11 +196302,12 @@
       this.dataMovementPriorityMap = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public changeDataMovementPriorities_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public changeDataMovementPriorities_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -188560,11 +196338,12 @@
       this.dataMovementPriorityMap.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.Integer> getDataMovementPriorityMap() {
       return this.dataMovementPriorityMap;
     }
 
-    public changeDataMovementPriorities_args setDataMovementPriorityMap(java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap) {
+    public changeDataMovementPriorities_args setDataMovementPriorityMap(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap) {
       this.dataMovementPriorityMap = dataMovementPriorityMap;
       return this;
     }
@@ -188584,7 +196363,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -188605,6 +196385,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -188618,6 +196400,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -188634,8 +196417,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriorities_args)
         return this.equals((changeDataMovementPriorities_args)that);
       return false;
@@ -188691,7 +196472,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188701,7 +196482,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementPriorityMap()).compareTo(other.isSetDataMovementPriorityMap());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementPriorityMap(), other.isSetDataMovementPriorityMap());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188714,14 +196495,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -188781,6 +196566,7 @@
     }
 
     private static class changeDataMovementPriorities_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_argsStandardScheme getScheme() {
         return new changeDataMovementPriorities_argsStandardScheme();
       }
@@ -188788,6 +196574,7 @@
 
     private static class changeDataMovementPriorities_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriorities_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriorities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -188812,7 +196599,7 @@
                 {
                   org.apache.thrift.protocol.TMap _map264 = iprot.readMapBegin();
                   struct.dataMovementPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map264.size);
-                  java.lang.String _key265;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key265;
                   int _val266;
                   for (int _i267 = 0; _i267 < _map264.size; ++_i267)
                   {
@@ -188838,6 +196625,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriorities_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -188867,6 +196655,7 @@
     }
 
     private static class changeDataMovementPriorities_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_argsTupleScheme getScheme() {
         return new changeDataMovementPriorities_argsTupleScheme();
       }
@@ -188895,9 +196684,9 @@
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         {
-          org.apache.thrift.protocol.TMap _map270 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          org.apache.thrift.protocol.TMap _map270 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
           struct.dataMovementPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map270.size);
-          java.lang.String _key271;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key271;
           int _val272;
           for (int _i273 = 0; _i273 < _map270.size; ++_i273)
           {
@@ -188915,6 +196704,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriorities_result implements org.apache.thrift.TBase<changeDataMovementPriorities_result, changeDataMovementPriorities_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriorities_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriorities_result");
 
@@ -188928,10 +196718,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriorities_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -188952,6 +196742,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -188982,6 +196773,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -188994,10 +196786,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -189062,6 +196856,7 @@
       }
     }
 
+    @Override
     public changeDataMovementPriorities_result deepCopy() {
       return new changeDataMovementPriorities_result(this);
     }
@@ -189099,11 +196894,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public changeDataMovementPriorities_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public changeDataMovementPriorities_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -189123,11 +196919,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public changeDataMovementPriorities_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public changeDataMovementPriorities_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -189147,11 +196944,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public changeDataMovementPriorities_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public changeDataMovementPriorities_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -189171,11 +196969,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public changeDataMovementPriorities_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public changeDataMovementPriorities_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -189195,7 +196994,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -189240,6 +197040,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -189262,6 +197064,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -189284,8 +197087,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriorities_result)
         return this.equals((changeDataMovementPriorities_result)that);
       return false;
@@ -189378,7 +197179,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189388,7 +197189,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189398,7 +197199,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189408,7 +197209,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189418,7 +197219,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189431,10 +197232,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -189511,6 +197315,7 @@
     }
 
     private static class changeDataMovementPriorities_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_resultStandardScheme getScheme() {
         return new changeDataMovementPriorities_resultStandardScheme();
       }
@@ -189518,6 +197323,7 @@
 
     private static class changeDataMovementPriorities_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriorities_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriorities_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -189583,6 +197389,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriorities_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -189619,6 +197426,7 @@
     }
 
     private static class changeDataMovementPriorities_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_resultTupleScheme getScheme() {
         return new changeDataMovementPriorities_resultTupleScheme();
       }
@@ -189699,6 +197507,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteJobSubmissionInterface_args implements org.apache.thrift.TBase<deleteJobSubmissionInterface_args, deleteJobSubmissionInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteJobSubmissionInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteJobSubmissionInterface_args");
 
@@ -189709,9 +197518,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteJobSubmissionInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteJobSubmissionInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // 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 {
@@ -189730,6 +197539,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -189756,6 +197566,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -189768,10 +197579,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -189820,6 +197633,7 @@
       }
     }
 
+    @Override
     public deleteJobSubmissionInterface_args deepCopy() {
       return new deleteJobSubmissionInterface_args(this);
     }
@@ -189831,11 +197645,12 @@
       this.jobSubmissionInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteJobSubmissionInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteJobSubmissionInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -189855,11 +197670,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteJobSubmissionInterface_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteJobSubmissionInterface_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -189879,11 +197695,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public deleteJobSubmissionInterface_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public deleteJobSubmissionInterface_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -189903,7 +197720,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -189932,6 +197750,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -189948,6 +197768,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -189966,8 +197787,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteJobSubmissionInterface_args)
         return this.equals((deleteJobSubmissionInterface_args)that);
       return false;
@@ -190036,7 +197855,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190046,7 +197865,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190056,7 +197875,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190069,14 +197888,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -190147,6 +197970,7 @@
     }
 
     private static class deleteJobSubmissionInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_argsStandardScheme getScheme() {
         return new deleteJobSubmissionInterface_argsStandardScheme();
       }
@@ -190154,6 +197978,7 @@
 
     private static class deleteJobSubmissionInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteJobSubmissionInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteJobSubmissionInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -190200,6 +198025,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteJobSubmissionInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -190226,6 +198052,7 @@
     }
 
     private static class deleteJobSubmissionInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_argsTupleScheme getScheme() {
         return new deleteJobSubmissionInterface_argsTupleScheme();
       }
@@ -190259,6 +198086,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteJobSubmissionInterface_result implements org.apache.thrift.TBase<deleteJobSubmissionInterface_result, deleteJobSubmissionInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteJobSubmissionInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteJobSubmissionInterface_result");
 
@@ -190272,10 +198100,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteJobSubmissionInterface_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -190296,6 +198124,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -190326,6 +198155,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -190338,10 +198168,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -190406,6 +198238,7 @@
       }
     }
 
+    @Override
     public deleteJobSubmissionInterface_result deepCopy() {
       return new deleteJobSubmissionInterface_result(this);
     }
@@ -190443,11 +198276,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteJobSubmissionInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteJobSubmissionInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -190467,11 +198301,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteJobSubmissionInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteJobSubmissionInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -190491,11 +198326,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteJobSubmissionInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteJobSubmissionInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -190515,11 +198351,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteJobSubmissionInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteJobSubmissionInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -190539,7 +198376,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -190584,6 +198422,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -190606,6 +198446,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -190628,8 +198469,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteJobSubmissionInterface_result)
         return this.equals((deleteJobSubmissionInterface_result)that);
       return false;
@@ -190722,7 +198561,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190732,7 +198571,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190742,7 +198581,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190752,7 +198591,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190762,7 +198601,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190775,10 +198614,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -190855,6 +198697,7 @@
     }
 
     private static class deleteJobSubmissionInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_resultStandardScheme getScheme() {
         return new deleteJobSubmissionInterface_resultStandardScheme();
       }
@@ -190862,6 +198705,7 @@
 
     private static class deleteJobSubmissionInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteJobSubmissionInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteJobSubmissionInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -190927,6 +198771,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteJobSubmissionInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -190963,6 +198808,7 @@
     }
 
     private static class deleteJobSubmissionInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_resultTupleScheme getScheme() {
         return new deleteJobSubmissionInterface_resultTupleScheme();
       }
@@ -191043,6 +198889,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteDataMovementInterface_args implements org.apache.thrift.TBase<deleteDataMovementInterface_args, deleteDataMovementInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteDataMovementInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDataMovementInterface_args");
 
@@ -191054,14 +198901,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteDataMovementInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteDataMovementInterface_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
-    public java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // 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 {
@@ -191085,6 +198932,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -191113,6 +198961,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -191125,10 +198974,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -191184,6 +199035,7 @@
       }
     }
 
+    @Override
     public deleteDataMovementInterface_args deepCopy() {
       return new deleteDataMovementInterface_args(this);
     }
@@ -191196,11 +199048,12 @@
       this.dataMoveType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteDataMovementInterface_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteDataMovementInterface_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -191220,11 +199073,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public deleteDataMovementInterface_args setProductUri(java.lang.String productUri) {
+    public deleteDataMovementInterface_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -191244,11 +199098,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public deleteDataMovementInterface_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public deleteDataMovementInterface_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -191272,6 +199127,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -191280,7 +199136,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public deleteDataMovementInterface_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public deleteDataMovementInterface_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -191300,7 +199156,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -191337,6 +199194,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -191356,6 +199215,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -191376,8 +199236,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteDataMovementInterface_args)
         return this.equals((deleteDataMovementInterface_args)that);
       return false;
@@ -191459,7 +199317,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191469,7 +199327,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191479,7 +199337,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191489,7 +199347,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191502,14 +199360,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -191591,6 +199453,7 @@
     }
 
     private static class deleteDataMovementInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_argsStandardScheme getScheme() {
         return new deleteDataMovementInterface_argsStandardScheme();
       }
@@ -191598,6 +199461,7 @@
 
     private static class deleteDataMovementInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteDataMovementInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteDataMovementInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -191652,6 +199516,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteDataMovementInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -191683,6 +199548,7 @@
     }
 
     private static class deleteDataMovementInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_argsTupleScheme getScheme() {
         return new deleteDataMovementInterface_argsTupleScheme();
       }
@@ -191719,6 +199585,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteDataMovementInterface_result implements org.apache.thrift.TBase<deleteDataMovementInterface_result, deleteDataMovementInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteDataMovementInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDataMovementInterface_result");
 
@@ -191732,10 +199599,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteDataMovementInterface_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -191756,6 +199623,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -191786,6 +199654,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -191798,10 +199667,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -191866,6 +199737,7 @@
       }
     }
 
+    @Override
     public deleteDataMovementInterface_result deepCopy() {
       return new deleteDataMovementInterface_result(this);
     }
@@ -191903,11 +199775,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteDataMovementInterface_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteDataMovementInterface_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -191927,11 +199800,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteDataMovementInterface_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteDataMovementInterface_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -191951,11 +199825,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteDataMovementInterface_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteDataMovementInterface_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -191975,11 +199850,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteDataMovementInterface_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteDataMovementInterface_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -191999,7 +199875,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -192044,6 +199921,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -192066,6 +199945,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -192088,8 +199968,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteDataMovementInterface_result)
         return this.equals((deleteDataMovementInterface_result)that);
       return false;
@@ -192182,7 +200060,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192192,7 +200070,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192202,7 +200080,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192212,7 +200090,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192222,7 +200100,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192235,10 +200113,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -192315,6 +200196,7 @@
     }
 
     private static class deleteDataMovementInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_resultStandardScheme getScheme() {
         return new deleteDataMovementInterface_resultStandardScheme();
       }
@@ -192322,6 +200204,7 @@
 
     private static class deleteDataMovementInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteDataMovementInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteDataMovementInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -192387,6 +200270,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteDataMovementInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -192423,6 +200307,7 @@
     }
 
     private static class deleteDataMovementInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_resultTupleScheme getScheme() {
         return new deleteDataMovementInterface_resultTupleScheme();
       }
@@ -192503,6 +200388,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerResourceJobManager_args implements org.apache.thrift.TBase<registerResourceJobManager_args, registerResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerResourceJobManager_args");
 
@@ -192512,8 +200398,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerResourceJobManager_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager; // 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 {
@@ -192531,6 +200417,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -192555,6 +200442,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -192567,10 +200455,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -192612,6 +200502,7 @@
       }
     }
 
+    @Override
     public registerResourceJobManager_args deepCopy() {
       return new registerResourceJobManager_args(this);
     }
@@ -192622,11 +200513,12 @@
       this.resourceJobManager = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerResourceJobManager_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerResourceJobManager_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -192646,11 +200538,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getResourceJobManager() {
       return this.resourceJobManager;
     }
 
-    public registerResourceJobManager_args setResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) {
+    public registerResourceJobManager_args setResourceJobManager(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) {
       this.resourceJobManager = resourceJobManager;
       return this;
     }
@@ -192670,7 +200563,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -192691,6 +200585,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -192704,6 +200600,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -192720,8 +200617,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerResourceJobManager_args)
         return this.equals((registerResourceJobManager_args)that);
       return false;
@@ -192777,7 +200672,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192787,7 +200682,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManager()).compareTo(other.isSetResourceJobManager());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManager(), other.isSetResourceJobManager());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192800,14 +200695,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -192870,6 +200769,7 @@
     }
 
     private static class registerResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_argsStandardScheme getScheme() {
         return new registerResourceJobManager_argsStandardScheme();
       }
@@ -192877,6 +200777,7 @@
 
     private static class registerResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -192916,6 +200817,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -192937,6 +200839,7 @@
     }
 
     private static class registerResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_argsTupleScheme getScheme() {
         return new registerResourceJobManager_argsTupleScheme();
       }
@@ -192968,6 +200871,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerResourceJobManager_result implements org.apache.thrift.TBase<registerResourceJobManager_result, registerResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerResourceJobManager_result");
 
@@ -192980,11 +200884,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerResourceJobManager_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerResourceJobManager_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -193005,6 +200909,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -193035,6 +200940,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -193047,10 +200953,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -193113,6 +201021,7 @@
       }
     }
 
+    @Override
     public registerResourceJobManager_result deepCopy() {
       return new registerResourceJobManager_result(this);
     }
@@ -193126,11 +201035,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerResourceJobManager_result setSuccess(java.lang.String success) {
+    public registerResourceJobManager_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -193150,11 +201060,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerResourceJobManager_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerResourceJobManager_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -193174,11 +201085,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerResourceJobManager_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerResourceJobManager_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -193198,11 +201110,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerResourceJobManager_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerResourceJobManager_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -193222,11 +201135,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerResourceJobManager_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerResourceJobManager_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -193246,7 +201160,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -193291,6 +201206,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -193313,6 +201230,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -193335,8 +201253,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerResourceJobManager_result)
         return this.equals((registerResourceJobManager_result)that);
       return false;
@@ -193431,7 +201347,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193441,7 +201357,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193451,7 +201367,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193461,7 +201377,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193471,7 +201387,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193484,10 +201400,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -193566,6 +201485,7 @@
     }
 
     private static class registerResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_resultStandardScheme getScheme() {
         return new registerResourceJobManager_resultStandardScheme();
       }
@@ -193573,6 +201493,7 @@
 
     private static class registerResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -193638,6 +201559,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -193674,6 +201596,7 @@
     }
 
     private static class registerResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_resultTupleScheme getScheme() {
         return new registerResourceJobManager_resultTupleScheme();
       }
@@ -193754,6 +201677,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceJobManager_args implements org.apache.thrift.TBase<updateResourceJobManager_args, updateResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceJobManager_args");
 
@@ -193764,9 +201688,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceJobManager_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceJobManagerId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager; // 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 {
@@ -193785,6 +201709,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -193811,6 +201736,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -193823,10 +201749,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -193875,6 +201803,7 @@
       }
     }
 
+    @Override
     public updateResourceJobManager_args deepCopy() {
       return new updateResourceJobManager_args(this);
     }
@@ -193886,11 +201815,12 @@
       this.updatedResourceJobManager = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateResourceJobManager_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateResourceJobManager_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -193910,11 +201840,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceJobManagerId() {
       return this.resourceJobManagerId;
     }
 
-    public updateResourceJobManager_args setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+    public updateResourceJobManager_args setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
       this.resourceJobManagerId = resourceJobManagerId;
       return this;
     }
@@ -193934,11 +201865,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getUpdatedResourceJobManager() {
       return this.updatedResourceJobManager;
     }
 
-    public updateResourceJobManager_args setUpdatedResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) {
+    public updateResourceJobManager_args setUpdatedResourceJobManager(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) {
       this.updatedResourceJobManager = updatedResourceJobManager;
       return this;
     }
@@ -193958,7 +201890,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -193987,6 +201920,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -194003,6 +201938,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -194021,8 +201957,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceJobManager_args)
         return this.equals((updateResourceJobManager_args)that);
       return false;
@@ -194091,7 +202025,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194101,7 +202035,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194111,7 +202045,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedResourceJobManager()).compareTo(other.isSetUpdatedResourceJobManager());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedResourceJobManager(), other.isSetUpdatedResourceJobManager());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194124,14 +202058,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -194205,6 +202143,7 @@
     }
 
     private static class updateResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_argsStandardScheme getScheme() {
         return new updateResourceJobManager_argsStandardScheme();
       }
@@ -194212,6 +202151,7 @@
 
     private static class updateResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -194259,6 +202199,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -194285,6 +202226,7 @@
     }
 
     private static class updateResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_argsTupleScheme getScheme() {
         return new updateResourceJobManager_argsTupleScheme();
       }
@@ -194319,6 +202261,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceJobManager_result implements org.apache.thrift.TBase<updateResourceJobManager_result, updateResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceJobManager_result");
 
@@ -194332,10 +202275,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceJobManager_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -194356,6 +202299,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -194386,6 +202330,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -194398,10 +202343,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -194466,6 +202413,7 @@
       }
     }
 
+    @Override
     public updateResourceJobManager_result deepCopy() {
       return new updateResourceJobManager_result(this);
     }
@@ -194503,11 +202451,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateResourceJobManager_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateResourceJobManager_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -194527,11 +202476,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateResourceJobManager_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateResourceJobManager_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -194551,11 +202501,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateResourceJobManager_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateResourceJobManager_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -194575,11 +202526,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateResourceJobManager_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateResourceJobManager_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -194599,7 +202551,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -194644,6 +202597,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -194666,6 +202621,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -194688,8 +202644,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceJobManager_result)
         return this.equals((updateResourceJobManager_result)that);
       return false;
@@ -194782,7 +202736,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194792,7 +202746,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194802,7 +202756,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194812,7 +202766,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194822,7 +202776,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194835,10 +202789,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -194915,6 +202872,7 @@
     }
 
     private static class updateResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_resultStandardScheme getScheme() {
         return new updateResourceJobManager_resultStandardScheme();
       }
@@ -194922,6 +202880,7 @@
 
     private static class updateResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -194987,6 +202946,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -195023,6 +202983,7 @@
     }
 
     private static class updateResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_resultTupleScheme getScheme() {
         return new updateResourceJobManager_resultTupleScheme();
       }
@@ -195103,6 +203064,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getResourceJobManager_args implements org.apache.thrift.TBase<getResourceJobManager_args, getResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<getResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getResourceJobManager_args");
 
@@ -195112,8 +203074,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getResourceJobManager_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceJobManagerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // 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 {
@@ -195131,6 +203093,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -195155,6 +203118,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -195167,10 +203131,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -195212,6 +203178,7 @@
       }
     }
 
+    @Override
     public getResourceJobManager_args deepCopy() {
       return new getResourceJobManager_args(this);
     }
@@ -195222,11 +203189,12 @@
       this.resourceJobManagerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getResourceJobManager_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getResourceJobManager_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -195246,11 +203214,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceJobManagerId() {
       return this.resourceJobManagerId;
     }
 
-    public getResourceJobManager_args setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+    public getResourceJobManager_args setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
       this.resourceJobManagerId = resourceJobManagerId;
       return this;
     }
@@ -195270,7 +203239,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -195291,6 +203261,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -195304,6 +203276,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -195320,8 +203293,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getResourceJobManager_args)
         return this.equals((getResourceJobManager_args)that);
       return false;
@@ -195377,7 +203348,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -195387,7 +203358,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -195400,14 +203371,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -195467,6 +203442,7 @@
     }
 
     private static class getResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_argsStandardScheme getScheme() {
         return new getResourceJobManager_argsStandardScheme();
       }
@@ -195474,6 +203450,7 @@
 
     private static class getResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -195512,6 +203489,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -195533,6 +203511,7 @@
     }
 
     private static class getResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_argsTupleScheme getScheme() {
         return new getResourceJobManager_argsTupleScheme();
       }
@@ -195563,6 +203542,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getResourceJobManager_result implements org.apache.thrift.TBase<getResourceJobManager_result, getResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<getResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getResourceJobManager_result");
 
@@ -195575,11 +203555,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getResourceJobManager_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getResourceJobManager_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -195600,6 +203580,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -195630,6 +203611,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -195642,10 +203624,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -195708,6 +203692,7 @@
       }
     }
 
+    @Override
     public getResourceJobManager_result deepCopy() {
       return new getResourceJobManager_result(this);
     }
@@ -195721,11 +203706,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getSuccess() {
       return this.success;
     }
 
-    public getResourceJobManager_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success) {
+    public getResourceJobManager_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success) {
       this.success = success;
       return this;
     }
@@ -195745,11 +203731,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getResourceJobManager_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getResourceJobManager_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -195769,11 +203756,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getResourceJobManager_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getResourceJobManager_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -195793,11 +203781,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getResourceJobManager_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getResourceJobManager_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -195817,11 +203806,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getResourceJobManager_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getResourceJobManager_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -195841,7 +203831,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -195886,6 +203877,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -195908,6 +203901,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -195930,8 +203924,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getResourceJobManager_result)
         return this.equals((getResourceJobManager_result)that);
       return false;
@@ -196026,7 +204018,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196036,7 +204028,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196046,7 +204038,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196056,7 +204048,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196066,7 +204058,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196079,10 +204071,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -196164,6 +204159,7 @@
     }
 
     private static class getResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_resultStandardScheme getScheme() {
         return new getResourceJobManager_resultStandardScheme();
       }
@@ -196171,6 +204167,7 @@
 
     private static class getResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -196237,6 +204234,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -196273,6 +204271,7 @@
     }
 
     private static class getResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_resultTupleScheme getScheme() {
         return new getResourceJobManager_resultTupleScheme();
       }
@@ -196354,6 +204353,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteResourceJobManager_args implements org.apache.thrift.TBase<deleteResourceJobManager_args, deleteResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteResourceJobManager_args");
 
@@ -196363,8 +204363,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteResourceJobManager_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceJobManagerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // 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 {
@@ -196382,6 +204382,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -196406,6 +204407,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -196418,10 +204420,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -196463,6 +204467,7 @@
       }
     }
 
+    @Override
     public deleteResourceJobManager_args deepCopy() {
       return new deleteResourceJobManager_args(this);
     }
@@ -196473,11 +204478,12 @@
       this.resourceJobManagerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteResourceJobManager_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteResourceJobManager_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -196497,11 +204503,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceJobManagerId() {
       return this.resourceJobManagerId;
     }
 
-    public deleteResourceJobManager_args setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+    public deleteResourceJobManager_args setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
       this.resourceJobManagerId = resourceJobManagerId;
       return this;
     }
@@ -196521,7 +204528,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -196542,6 +204550,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -196555,6 +204565,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -196571,8 +204582,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteResourceJobManager_args)
         return this.equals((deleteResourceJobManager_args)that);
       return false;
@@ -196628,7 +204637,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196638,7 +204647,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196651,14 +204660,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -196718,6 +204731,7 @@
     }
 
     private static class deleteResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_argsStandardScheme getScheme() {
         return new deleteResourceJobManager_argsStandardScheme();
       }
@@ -196725,6 +204739,7 @@
 
     private static class deleteResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -196763,6 +204778,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -196784,6 +204800,7 @@
     }
 
     private static class deleteResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_argsTupleScheme getScheme() {
         return new deleteResourceJobManager_argsTupleScheme();
       }
@@ -196814,6 +204831,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteResourceJobManager_result implements org.apache.thrift.TBase<deleteResourceJobManager_result, deleteResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteResourceJobManager_result");
 
@@ -196827,10 +204845,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteResourceJobManager_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -196851,6 +204869,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -196881,6 +204900,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -196893,10 +204913,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -196961,6 +204983,7 @@
       }
     }
 
+    @Override
     public deleteResourceJobManager_result deepCopy() {
       return new deleteResourceJobManager_result(this);
     }
@@ -196998,11 +205021,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteResourceJobManager_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteResourceJobManager_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -197022,11 +205046,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteResourceJobManager_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteResourceJobManager_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -197046,11 +205071,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteResourceJobManager_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteResourceJobManager_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -197070,11 +205096,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteResourceJobManager_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteResourceJobManager_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -197094,7 +205121,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -197139,6 +205167,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -197161,6 +205191,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -197183,8 +205214,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteResourceJobManager_result)
         return this.equals((deleteResourceJobManager_result)that);
       return false;
@@ -197277,7 +205306,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197287,7 +205316,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197297,7 +205326,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197307,7 +205336,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197317,7 +205346,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197330,10 +205359,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -197410,6 +205442,7 @@
     }
 
     private static class deleteResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_resultStandardScheme getScheme() {
         return new deleteResourceJobManager_resultStandardScheme();
       }
@@ -197417,6 +205450,7 @@
 
     private static class deleteResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -197482,6 +205516,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -197518,6 +205553,7 @@
     }
 
     private static class deleteResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_resultTupleScheme getScheme() {
         return new deleteResourceJobManager_resultTupleScheme();
       }
@@ -197598,6 +205634,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteBatchQueue_args implements org.apache.thrift.TBase<deleteBatchQueue_args, deleteBatchQueue_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBatchQueue_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteBatchQueue_args");
 
@@ -197608,9 +205645,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteBatchQueue_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteBatchQueue_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String queueName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String queueName; // 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 {
@@ -197629,6 +205666,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -197655,6 +205693,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -197667,10 +205706,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -197719,6 +205760,7 @@
       }
     }
 
+    @Override
     public deleteBatchQueue_args deepCopy() {
       return new deleteBatchQueue_args(this);
     }
@@ -197730,11 +205772,12 @@
       this.queueName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteBatchQueue_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteBatchQueue_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -197754,11 +205797,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteBatchQueue_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteBatchQueue_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -197778,11 +205822,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getQueueName() {
       return this.queueName;
     }
 
-    public deleteBatchQueue_args setQueueName(java.lang.String queueName) {
+    public deleteBatchQueue_args setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
       this.queueName = queueName;
       return this;
     }
@@ -197802,7 +205847,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -197831,6 +205877,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -197847,6 +205895,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -197865,8 +205914,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteBatchQueue_args)
         return this.equals((deleteBatchQueue_args)that);
       return false;
@@ -197935,7 +205982,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197945,7 +205992,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197955,7 +206002,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
+      lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197968,14 +206015,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -198046,6 +206097,7 @@
     }
 
     private static class deleteBatchQueue_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_argsStandardScheme getScheme() {
         return new deleteBatchQueue_argsStandardScheme();
       }
@@ -198053,6 +206105,7 @@
 
     private static class deleteBatchQueue_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteBatchQueue_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteBatchQueue_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -198099,6 +206152,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteBatchQueue_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -198125,6 +206179,7 @@
     }
 
     private static class deleteBatchQueue_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_argsTupleScheme getScheme() {
         return new deleteBatchQueue_argsTupleScheme();
       }
@@ -198158,6 +206213,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteBatchQueue_result implements org.apache.thrift.TBase<deleteBatchQueue_result, deleteBatchQueue_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBatchQueue_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteBatchQueue_result");
 
@@ -198171,10 +206227,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteBatchQueue_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -198195,6 +206251,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -198225,6 +206282,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -198237,10 +206295,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -198305,6 +206365,7 @@
       }
     }
 
+    @Override
     public deleteBatchQueue_result deepCopy() {
       return new deleteBatchQueue_result(this);
     }
@@ -198342,11 +206403,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteBatchQueue_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteBatchQueue_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -198366,11 +206428,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteBatchQueue_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteBatchQueue_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -198390,11 +206453,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteBatchQueue_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteBatchQueue_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -198414,11 +206478,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteBatchQueue_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteBatchQueue_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -198438,7 +206503,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -198483,6 +206549,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -198505,6 +206573,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -198527,8 +206596,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteBatchQueue_result)
         return this.equals((deleteBatchQueue_result)that);
       return false;
@@ -198621,7 +206688,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198631,7 +206698,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198641,7 +206708,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198651,7 +206718,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198661,7 +206728,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198674,10 +206741,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -198754,6 +206824,7 @@
     }
 
     private static class deleteBatchQueue_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_resultStandardScheme getScheme() {
         return new deleteBatchQueue_resultStandardScheme();
       }
@@ -198761,6 +206832,7 @@
 
     private static class deleteBatchQueue_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteBatchQueue_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteBatchQueue_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -198826,6 +206898,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteBatchQueue_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -198862,6 +206935,7 @@
     }
 
     private static class deleteBatchQueue_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_resultTupleScheme getScheme() {
         return new deleteBatchQueue_resultTupleScheme();
       }
@@ -198942,6 +207016,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerGatewayResourceProfile_args implements org.apache.thrift.TBase<registerGatewayResourceProfile_args, registerGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerGatewayResourceProfile_args");
 
@@ -198951,8 +207026,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // 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 {
@@ -198970,6 +207045,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -198994,6 +207070,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -199006,10 +207083,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -199051,6 +207130,7 @@
       }
     }
 
+    @Override
     public registerGatewayResourceProfile_args deepCopy() {
       return new registerGatewayResourceProfile_args(this);
     }
@@ -199061,11 +207141,12 @@
       this.gatewayResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerGatewayResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerGatewayResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -199085,11 +207166,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile() {
       return this.gatewayResourceProfile;
     }
 
-    public registerGatewayResourceProfile_args setGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
+    public registerGatewayResourceProfile_args setGatewayResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
       this.gatewayResourceProfile = gatewayResourceProfile;
       return this;
     }
@@ -199109,7 +207191,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -199130,6 +207213,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -199143,6 +207228,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -199159,8 +207245,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerGatewayResourceProfile_args)
         return this.equals((registerGatewayResourceProfile_args)that);
       return false;
@@ -199216,7 +207300,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199226,7 +207310,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayResourceProfile()).compareTo(other.isSetGatewayResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayResourceProfile(), other.isSetGatewayResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199239,14 +207323,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -199309,6 +207397,7 @@
     }
 
     private static class registerGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_argsStandardScheme getScheme() {
         return new registerGatewayResourceProfile_argsStandardScheme();
       }
@@ -199316,6 +207405,7 @@
 
     private static class registerGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -199355,6 +207445,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -199376,6 +207467,7 @@
     }
 
     private static class registerGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_argsTupleScheme getScheme() {
         return new registerGatewayResourceProfile_argsTupleScheme();
       }
@@ -199407,6 +207499,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerGatewayResourceProfile_result implements org.apache.thrift.TBase<registerGatewayResourceProfile_result, registerGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerGatewayResourceProfile_result");
 
@@ -199419,11 +207512,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerGatewayResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerGatewayResourceProfile_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -199444,6 +207537,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -199474,6 +207568,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -199486,10 +207581,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -199552,6 +207649,7 @@
       }
     }
 
+    @Override
     public registerGatewayResourceProfile_result deepCopy() {
       return new registerGatewayResourceProfile_result(this);
     }
@@ -199565,11 +207663,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerGatewayResourceProfile_result setSuccess(java.lang.String success) {
+    public registerGatewayResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -199589,11 +207688,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerGatewayResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerGatewayResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -199613,11 +207713,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerGatewayResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerGatewayResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -199637,11 +207738,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerGatewayResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerGatewayResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -199661,11 +207763,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerGatewayResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerGatewayResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -199685,7 +207788,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -199730,6 +207834,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -199752,6 +207858,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -199774,8 +207881,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerGatewayResourceProfile_result)
         return this.equals((registerGatewayResourceProfile_result)that);
       return false;
@@ -199870,7 +207975,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199880,7 +207985,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199890,7 +207995,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199900,7 +208005,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199910,7 +208015,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199923,10 +208028,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -200005,6 +208113,7 @@
     }
 
     private static class registerGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_resultStandardScheme getScheme() {
         return new registerGatewayResourceProfile_resultStandardScheme();
       }
@@ -200012,6 +208121,7 @@
 
     private static class registerGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -200077,6 +208187,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -200113,6 +208224,7 @@
     }
 
     private static class registerGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_resultTupleScheme getScheme() {
         return new registerGatewayResourceProfile_resultTupleScheme();
       }
@@ -200193,6 +208305,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayResourceProfile_args implements org.apache.thrift.TBase<getGatewayResourceProfile_args, getGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayResourceProfile_args");
 
@@ -200202,8 +208315,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -200221,6 +208334,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -200245,6 +208359,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -200257,10 +208372,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -200302,6 +208419,7 @@
       }
     }
 
+    @Override
     public getGatewayResourceProfile_args deepCopy() {
       return new getGatewayResourceProfile_args(this);
     }
@@ -200312,11 +208430,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGatewayResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGatewayResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -200336,11 +208455,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getGatewayResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public getGatewayResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -200360,7 +208480,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -200381,6 +208502,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -200394,6 +208517,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -200410,8 +208534,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayResourceProfile_args)
         return this.equals((getGatewayResourceProfile_args)that);
       return false;
@@ -200467,7 +208589,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -200477,7 +208599,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -200490,14 +208612,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -200557,6 +208683,7 @@
     }
 
     private static class getGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_argsStandardScheme getScheme() {
         return new getGatewayResourceProfile_argsStandardScheme();
       }
@@ -200564,6 +208691,7 @@
 
     private static class getGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -200602,6 +208730,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -200623,6 +208752,7 @@
     }
 
     private static class getGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_argsTupleScheme getScheme() {
         return new getGatewayResourceProfile_argsTupleScheme();
       }
@@ -200653,6 +208783,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayResourceProfile_result implements org.apache.thrift.TBase<getGatewayResourceProfile_result, getGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayResourceProfile_result");
 
@@ -200665,11 +208796,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -200690,6 +208821,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -200720,6 +208852,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -200732,10 +208865,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -200798,6 +208933,7 @@
       }
     }
 
+    @Override
     public getGatewayResourceProfile_result deepCopy() {
       return new getGatewayResourceProfile_result(this);
     }
@@ -200811,11 +208947,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getSuccess() {
       return this.success;
     }
 
-    public getGatewayResourceProfile_result setSuccess(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success) {
+    public getGatewayResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success) {
       this.success = success;
       return this;
     }
@@ -200835,11 +208972,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGatewayResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGatewayResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -200859,11 +208997,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGatewayResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGatewayResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -200883,11 +209022,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGatewayResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGatewayResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -200907,11 +209047,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGatewayResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGatewayResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -200931,7 +209072,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -200976,6 +209118,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -200998,6 +209142,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -201020,8 +209165,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayResourceProfile_result)
         return this.equals((getGatewayResourceProfile_result)that);
       return false;
@@ -201116,7 +209259,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201126,7 +209269,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201136,7 +209279,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201146,7 +209289,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201156,7 +209299,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201169,10 +209312,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -201254,6 +209400,7 @@
     }
 
     private static class getGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_resultStandardScheme getScheme() {
         return new getGatewayResourceProfile_resultStandardScheme();
       }
@@ -201261,6 +209408,7 @@
 
     private static class getGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -201327,6 +209475,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -201363,6 +209512,7 @@
     }
 
     private static class getGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_resultTupleScheme getScheme() {
         return new getGatewayResourceProfile_resultTupleScheme();
       }
@@ -201444,6 +209594,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayResourceProfile_args implements org.apache.thrift.TBase<updateGatewayResourceProfile_args, updateGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayResourceProfile_args");
 
@@ -201454,9 +209605,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // 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 {
@@ -201475,6 +209626,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -201501,6 +209653,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -201513,10 +209666,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -201565,6 +209720,7 @@
       }
     }
 
+    @Override
     public updateGatewayResourceProfile_args deepCopy() {
       return new updateGatewayResourceProfile_args(this);
     }
@@ -201576,11 +209732,12 @@
       this.gatewayResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGatewayResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGatewayResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -201600,11 +209757,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateGatewayResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public updateGatewayResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -201624,11 +209782,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile() {
       return this.gatewayResourceProfile;
     }
 
-    public updateGatewayResourceProfile_args setGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
+    public updateGatewayResourceProfile_args setGatewayResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
       this.gatewayResourceProfile = gatewayResourceProfile;
       return this;
     }
@@ -201648,7 +209807,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -201677,6 +209837,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -201693,6 +209855,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -201711,8 +209874,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayResourceProfile_args)
         return this.equals((updateGatewayResourceProfile_args)that);
       return false;
@@ -201781,7 +209942,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201791,7 +209952,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201801,7 +209962,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayResourceProfile()).compareTo(other.isSetGatewayResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayResourceProfile(), other.isSetGatewayResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201814,14 +209975,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -201895,6 +210060,7 @@
     }
 
     private static class updateGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_argsStandardScheme getScheme() {
         return new updateGatewayResourceProfile_argsStandardScheme();
       }
@@ -201902,6 +210068,7 @@
 
     private static class updateGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -201949,6 +210116,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -201975,6 +210143,7 @@
     }
 
     private static class updateGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_argsTupleScheme getScheme() {
         return new updateGatewayResourceProfile_argsTupleScheme();
       }
@@ -202009,6 +210178,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayResourceProfile_result implements org.apache.thrift.TBase<updateGatewayResourceProfile_result, updateGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayResourceProfile_result");
 
@@ -202022,10 +210192,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayResourceProfile_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -202046,6 +210216,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -202076,6 +210247,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -202088,10 +210260,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -202156,6 +210330,7 @@
       }
     }
 
+    @Override
     public updateGatewayResourceProfile_result deepCopy() {
       return new updateGatewayResourceProfile_result(this);
     }
@@ -202193,11 +210368,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateGatewayResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateGatewayResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -202217,11 +210393,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateGatewayResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateGatewayResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -202241,11 +210418,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateGatewayResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateGatewayResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -202265,11 +210443,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGatewayResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGatewayResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -202289,7 +210468,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -202334,6 +210514,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -202356,6 +210538,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -202378,8 +210561,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayResourceProfile_result)
         return this.equals((updateGatewayResourceProfile_result)that);
       return false;
@@ -202472,7 +210653,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202482,7 +210663,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202492,7 +210673,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202502,7 +210683,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202512,7 +210693,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202525,10 +210706,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -202605,6 +210789,7 @@
     }
 
     private static class updateGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_resultStandardScheme getScheme() {
         return new updateGatewayResourceProfile_resultStandardScheme();
       }
@@ -202612,6 +210797,7 @@
 
     private static class updateGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -202677,6 +210863,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -202713,6 +210900,7 @@
     }
 
     private static class updateGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_resultTupleScheme getScheme() {
         return new updateGatewayResourceProfile_resultTupleScheme();
       }
@@ -202793,6 +210981,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayResourceProfile_args implements org.apache.thrift.TBase<deleteGatewayResourceProfile_args, deleteGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayResourceProfile_args");
 
@@ -202802,8 +210991,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -202821,6 +211010,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -202845,6 +211035,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -202857,10 +211048,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -202902,6 +211095,7 @@
       }
     }
 
+    @Override
     public deleteGatewayResourceProfile_args deepCopy() {
       return new deleteGatewayResourceProfile_args(this);
     }
@@ -202912,11 +211106,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteGatewayResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteGatewayResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -202936,11 +211131,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteGatewayResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public deleteGatewayResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -202960,7 +211156,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -202981,6 +211178,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -202994,6 +211193,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -203010,8 +211210,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayResourceProfile_args)
         return this.equals((deleteGatewayResourceProfile_args)that);
       return false;
@@ -203067,7 +211265,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203077,7 +211275,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203090,14 +211288,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -203157,6 +211359,7 @@
     }
 
     private static class deleteGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_argsStandardScheme getScheme() {
         return new deleteGatewayResourceProfile_argsStandardScheme();
       }
@@ -203164,6 +211367,7 @@
 
     private static class deleteGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -203202,6 +211406,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -203223,6 +211428,7 @@
     }
 
     private static class deleteGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_argsTupleScheme getScheme() {
         return new deleteGatewayResourceProfile_argsTupleScheme();
       }
@@ -203253,6 +211459,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayResourceProfile_result implements org.apache.thrift.TBase<deleteGatewayResourceProfile_result, deleteGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayResourceProfile_result");
 
@@ -203266,10 +211473,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayResourceProfile_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -203290,6 +211497,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -203320,6 +211528,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -203332,10 +211541,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -203400,6 +211611,7 @@
       }
     }
 
+    @Override
     public deleteGatewayResourceProfile_result deepCopy() {
       return new deleteGatewayResourceProfile_result(this);
     }
@@ -203437,11 +211649,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteGatewayResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteGatewayResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -203461,11 +211674,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteGatewayResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteGatewayResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -203485,11 +211699,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteGatewayResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteGatewayResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -203509,11 +211724,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteGatewayResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteGatewayResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -203533,7 +211749,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -203578,6 +211795,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -203600,6 +211819,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -203622,8 +211842,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayResourceProfile_result)
         return this.equals((deleteGatewayResourceProfile_result)that);
       return false;
@@ -203716,7 +211934,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203726,7 +211944,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203736,7 +211954,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203746,7 +211964,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203756,7 +211974,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203769,10 +211987,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -203849,6 +212070,7 @@
     }
 
     private static class deleteGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_resultStandardScheme getScheme() {
         return new deleteGatewayResourceProfile_resultStandardScheme();
       }
@@ -203856,6 +212078,7 @@
 
     private static class deleteGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -203921,6 +212144,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -203957,6 +212181,7 @@
     }
 
     private static class deleteGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_resultTupleScheme getScheme() {
         return new deleteGatewayResourceProfile_resultTupleScheme();
       }
@@ -204037,6 +212262,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<addGatewayComputeResourcePreference_args, addGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayComputeResourcePreference_args");
 
@@ -204048,10 +212274,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // 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 {
@@ -204071,6 +212297,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -204099,6 +212326,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -204111,10 +212339,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -204170,6 +212400,7 @@
       }
     }
 
+    @Override
     public addGatewayComputeResourcePreference_args deepCopy() {
       return new addGatewayComputeResourcePreference_args(this);
     }
@@ -204182,11 +212413,12 @@
       this.computeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addGatewayComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addGatewayComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -204206,11 +212438,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -204230,11 +212463,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -204254,11 +212488,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getComputeResourcePreference() {
       return this.computeResourcePreference;
     }
 
-    public addGatewayComputeResourcePreference_args setComputeResourcePreference(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
+    public addGatewayComputeResourcePreference_args setComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
       this.computeResourcePreference = computeResourcePreference;
       return this;
     }
@@ -204278,7 +212513,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -204315,6 +212551,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -204334,6 +212572,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -204354,8 +212593,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayComputeResourcePreference_args)
         return this.equals((addGatewayComputeResourcePreference_args)that);
       return false;
@@ -204437,7 +212674,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204447,7 +212684,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204457,7 +212694,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204467,7 +212704,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourcePreference()).compareTo(other.isSetComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourcePreference(), other.isSetComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204480,14 +212717,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -204572,6 +212813,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new addGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -204579,6 +212821,7 @@
 
     private static class addGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -204634,6 +212877,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -204665,6 +212909,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new addGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -204702,6 +212947,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<addGatewayComputeResourcePreference_result, addGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayComputeResourcePreference_result");
 
@@ -204715,10 +212961,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -204739,6 +212985,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -204769,6 +213016,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -204781,10 +213029,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -204849,6 +213099,7 @@
       }
     }
 
+    @Override
     public addGatewayComputeResourcePreference_result deepCopy() {
       return new addGatewayComputeResourcePreference_result(this);
     }
@@ -204886,11 +213137,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addGatewayComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addGatewayComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -204910,11 +213162,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addGatewayComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addGatewayComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -204934,11 +213187,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addGatewayComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addGatewayComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -204958,11 +213212,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addGatewayComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addGatewayComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -204982,7 +213237,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -205027,6 +213283,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -205049,6 +213307,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -205071,8 +213330,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayComputeResourcePreference_result)
         return this.equals((addGatewayComputeResourcePreference_result)that);
       return false;
@@ -205165,7 +213422,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205175,7 +213432,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205185,7 +213442,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205195,7 +213452,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205205,7 +213462,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205218,10 +213475,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -205298,6 +213558,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new addGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -205305,6 +213566,7 @@
 
     private static class addGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -205370,6 +213632,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -205406,6 +213669,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new addGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -205486,6 +213750,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayStoragePreference_args implements org.apache.thrift.TBase<addGatewayStoragePreference_args, addGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayStoragePreference_args");
 
@@ -205497,10 +213762,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageResourceId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // 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 {
@@ -205520,6 +213785,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -205548,6 +213814,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -205560,10 +213827,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -205619,6 +213888,7 @@
       }
     }
 
+    @Override
     public addGatewayStoragePreference_args deepCopy() {
       return new addGatewayStoragePreference_args(this);
     }
@@ -205631,11 +213901,12 @@
       this.storagePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addGatewayStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addGatewayStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -205655,11 +213926,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -205679,11 +213951,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public addGatewayStoragePreference_args setStorageResourceId(java.lang.String storageResourceId) {
+    public addGatewayStoragePreference_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -205703,11 +213976,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getStoragePreference() {
       return this.storagePreference;
     }
 
-    public addGatewayStoragePreference_args setStoragePreference(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
+    public addGatewayStoragePreference_args setStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
       this.storagePreference = storagePreference;
       return this;
     }
@@ -205727,7 +214001,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -205764,6 +214039,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -205783,6 +214060,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -205803,8 +214081,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayStoragePreference_args)
         return this.equals((addGatewayStoragePreference_args)that);
       return false;
@@ -205886,7 +214162,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205896,7 +214172,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205906,7 +214182,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205916,7 +214192,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStoragePreference()).compareTo(other.isSetStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetStoragePreference(), other.isSetStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205929,14 +214205,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -206021,6 +214301,7 @@
     }
 
     private static class addGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_argsStandardScheme getScheme() {
         return new addGatewayStoragePreference_argsStandardScheme();
       }
@@ -206028,6 +214309,7 @@
 
     private static class addGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -206083,6 +214365,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -206114,6 +214397,7 @@
     }
 
     private static class addGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_argsTupleScheme getScheme() {
         return new addGatewayStoragePreference_argsTupleScheme();
       }
@@ -206151,6 +214435,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayStoragePreference_result implements org.apache.thrift.TBase<addGatewayStoragePreference_result, addGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayStoragePreference_result");
 
@@ -206164,10 +214449,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayStoragePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -206188,6 +214473,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -206218,6 +214504,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -206230,10 +214517,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -206298,6 +214587,7 @@
       }
     }
 
+    @Override
     public addGatewayStoragePreference_result deepCopy() {
       return new addGatewayStoragePreference_result(this);
     }
@@ -206335,11 +214625,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addGatewayStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addGatewayStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -206359,11 +214650,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addGatewayStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addGatewayStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -206383,11 +214675,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addGatewayStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addGatewayStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -206407,11 +214700,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addGatewayStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addGatewayStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -206431,7 +214725,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -206476,6 +214771,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -206498,6 +214795,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -206520,8 +214818,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayStoragePreference_result)
         return this.equals((addGatewayStoragePreference_result)that);
       return false;
@@ -206614,7 +214910,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206624,7 +214920,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206634,7 +214930,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206644,7 +214940,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206654,7 +214950,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206667,10 +214963,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -206747,6 +215046,7 @@
     }
 
     private static class addGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_resultStandardScheme getScheme() {
         return new addGatewayStoragePreference_resultStandardScheme();
       }
@@ -206754,6 +215054,7 @@
 
     private static class addGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -206819,6 +215120,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -206855,6 +215157,7 @@
     }
 
     private static class addGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_resultTupleScheme getScheme() {
         return new addGatewayStoragePreference_resultTupleScheme();
       }
@@ -206935,6 +215238,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<getGatewayComputeResourcePreference_args, getGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayComputeResourcePreference_args");
 
@@ -206945,9 +215249,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -206966,6 +215270,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -206992,6 +215297,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -207004,10 +215310,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -207056,6 +215364,7 @@
       }
     }
 
+    @Override
     public getGatewayComputeResourcePreference_args deepCopy() {
       return new getGatewayComputeResourcePreference_args(this);
     }
@@ -207067,11 +215376,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGatewayComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGatewayComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -207091,11 +215401,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -207115,11 +215426,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -207139,7 +215451,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -207168,6 +215481,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -207184,6 +215499,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -207202,8 +215518,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayComputeResourcePreference_args)
         return this.equals((getGatewayComputeResourcePreference_args)that);
       return false;
@@ -207272,7 +215586,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207282,7 +215596,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207292,7 +215606,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207305,14 +215619,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -207383,6 +215701,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new getGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -207390,6 +215709,7 @@
 
     private static class getGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -207436,6 +215756,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -207462,6 +215783,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new getGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -207495,6 +215817,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<getGatewayComputeResourcePreference_result, getGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayComputeResourcePreference_result");
 
@@ -207507,11 +215830,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayComputeResourcePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -207532,6 +215855,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -207562,6 +215886,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -207574,10 +215899,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -207640,6 +215967,7 @@
       }
     }
 
+    @Override
     public getGatewayComputeResourcePreference_result deepCopy() {
       return new getGatewayComputeResourcePreference_result(this);
     }
@@ -207653,11 +215981,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public getGatewayComputeResourcePreference_result setSuccess(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success) {
+    public getGatewayComputeResourcePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -207677,11 +216006,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGatewayComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGatewayComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -207701,11 +216031,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGatewayComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGatewayComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -207725,11 +216056,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGatewayComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGatewayComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -207749,11 +216081,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGatewayComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGatewayComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -207773,7 +216106,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -207818,6 +216152,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -207840,6 +216176,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -207862,8 +216199,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayComputeResourcePreference_result)
         return this.equals((getGatewayComputeResourcePreference_result)that);
       return false;
@@ -207958,7 +216293,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207968,7 +216303,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207978,7 +216313,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207988,7 +216323,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207998,7 +216333,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208011,10 +216346,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -208096,6 +216434,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new getGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -208103,6 +216442,7 @@
 
     private static class getGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -208169,6 +216509,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -208205,6 +216546,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new getGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -208286,6 +216628,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayStoragePreference_args implements org.apache.thrift.TBase<getGatewayStoragePreference_args, getGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayStoragePreference_args");
 
@@ -208296,9 +216639,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // 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 {
@@ -208317,6 +216660,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -208343,6 +216687,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -208355,10 +216700,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -208407,6 +216754,7 @@
       }
     }
 
+    @Override
     public getGatewayStoragePreference_args deepCopy() {
       return new getGatewayStoragePreference_args(this);
     }
@@ -208418,11 +216766,12 @@
       this.storageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGatewayStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGatewayStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -208442,11 +216791,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -208466,11 +216816,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public getGatewayStoragePreference_args setStorageResourceId(java.lang.String storageResourceId) {
+    public getGatewayStoragePreference_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -208490,7 +216841,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -208519,6 +216871,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -208535,6 +216889,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -208553,8 +216908,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayStoragePreference_args)
         return this.equals((getGatewayStoragePreference_args)that);
       return false;
@@ -208623,7 +216976,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208633,7 +216986,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208643,7 +216996,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208656,14 +217009,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -208734,6 +217091,7 @@
     }
 
     private static class getGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_argsStandardScheme getScheme() {
         return new getGatewayStoragePreference_argsStandardScheme();
       }
@@ -208741,6 +217099,7 @@
 
     private static class getGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -208787,6 +217146,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -208813,6 +217173,7 @@
     }
 
     private static class getGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_argsTupleScheme getScheme() {
         return new getGatewayStoragePreference_argsTupleScheme();
       }
@@ -208846,6 +217207,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayStoragePreference_result implements org.apache.thrift.TBase<getGatewayStoragePreference_result, getGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayStoragePreference_result");
 
@@ -208858,11 +217220,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayStoragePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayStoragePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -208883,6 +217245,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -208913,6 +217276,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -208925,10 +217289,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -208991,6 +217357,7 @@
       }
     }
 
+    @Override
     public getGatewayStoragePreference_result deepCopy() {
       return new getGatewayStoragePreference_result(this);
     }
@@ -209004,11 +217371,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getSuccess() {
       return this.success;
     }
 
-    public getGatewayStoragePreference_result setSuccess(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success) {
+    public getGatewayStoragePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success) {
       this.success = success;
       return this;
     }
@@ -209028,11 +217396,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGatewayStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGatewayStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -209052,11 +217421,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGatewayStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGatewayStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -209076,11 +217446,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGatewayStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGatewayStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -209100,11 +217471,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGatewayStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGatewayStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -209124,7 +217496,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -209169,6 +217542,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -209191,6 +217566,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -209213,8 +217589,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayStoragePreference_result)
         return this.equals((getGatewayStoragePreference_result)that);
       return false;
@@ -209309,7 +217683,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209319,7 +217693,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209329,7 +217703,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209339,7 +217713,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209349,7 +217723,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209362,10 +217736,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -209447,6 +217824,7 @@
     }
 
     private static class getGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_resultStandardScheme getScheme() {
         return new getGatewayStoragePreference_resultStandardScheme();
       }
@@ -209454,6 +217832,7 @@
 
     private static class getGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -209520,6 +217899,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -209556,6 +217936,7 @@
     }
 
     private static class getGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_resultTupleScheme getScheme() {
         return new getGatewayStoragePreference_resultTupleScheme();
       }
@@ -209637,6 +218018,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayComputeResourcePreferences_args implements org.apache.thrift.TBase<getAllGatewayComputeResourcePreferences_args, getAllGatewayComputeResourcePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayComputeResourcePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayComputeResourcePreferences_args");
 
@@ -209646,8 +218028,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -209665,6 +218047,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -209689,6 +218072,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -209701,10 +218085,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -209746,6 +218132,7 @@
       }
     }
 
+    @Override
     public getAllGatewayComputeResourcePreferences_args deepCopy() {
       return new getAllGatewayComputeResourcePreferences_args(this);
     }
@@ -209756,11 +218143,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGatewayComputeResourcePreferences_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGatewayComputeResourcePreferences_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -209780,11 +218168,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllGatewayComputeResourcePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllGatewayComputeResourcePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -209804,7 +218193,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -209825,6 +218215,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -209838,6 +218230,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -209854,8 +218247,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayComputeResourcePreferences_args)
         return this.equals((getAllGatewayComputeResourcePreferences_args)that);
       return false;
@@ -209911,7 +218302,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209921,7 +218312,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209934,14 +218325,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -210001,6 +218396,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_argsStandardScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_argsStandardScheme();
       }
@@ -210008,6 +218404,7 @@
 
     private static class getAllGatewayComputeResourcePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayComputeResourcePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -210046,6 +218443,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -210067,6 +218465,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_argsTupleScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_argsTupleScheme();
       }
@@ -210097,6 +218496,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayComputeResourcePreferences_result implements org.apache.thrift.TBase<getAllGatewayComputeResourcePreferences_result, getAllGatewayComputeResourcePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayComputeResourcePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayComputeResourcePreferences_result");
 
@@ -210109,11 +218509,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -210134,6 +218534,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -210164,6 +218565,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -210176,10 +218578,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -210247,6 +218651,7 @@
       }
     }
 
+    @Override
     public getAllGatewayComputeResourcePreferences_result deepCopy() {
       return new getAllGatewayComputeResourcePreferences_result(this);
     }
@@ -210264,6 +218669,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -210275,11 +218681,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success) {
+    public getAllGatewayComputeResourcePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success) {
       this.success = success;
       return this;
     }
@@ -210299,11 +218706,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllGatewayComputeResourcePreferences_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -210323,11 +218731,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllGatewayComputeResourcePreferences_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -210347,11 +218756,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllGatewayComputeResourcePreferences_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -210371,11 +218781,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGatewayComputeResourcePreferences_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -210395,7 +218806,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -210440,6 +218852,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -210462,6 +218876,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -210484,8 +218899,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayComputeResourcePreferences_result)
         return this.equals((getAllGatewayComputeResourcePreferences_result)that);
       return false;
@@ -210580,7 +218993,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210590,7 +219003,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210600,7 +219013,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210610,7 +219023,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210620,7 +219033,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210633,10 +219046,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -210715,6 +219131,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_resultStandardScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_resultStandardScheme();
       }
@@ -210722,6 +219139,7 @@
 
     private static class getAllGatewayComputeResourcePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayComputeResourcePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -210737,7 +219155,7 @@
                 {
                   org.apache.thrift.protocol.TList _list274 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list274.size);
-                  org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem275;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem275;
                   for (int _i276 = 0; _i276 < _list274.size; ++_i276)
                   {
                     _elem275 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
@@ -210798,6 +219216,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -210841,6 +219260,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_resultTupleScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_resultTupleScheme();
       }
@@ -210897,9 +219317,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list279 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list279 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list279.size);
-            org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem280;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem280;
             for (int _i281 = 0; _i281 < _list279.size; ++_i281)
             {
               _elem280 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
@@ -210937,6 +219357,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayStoragePreferences_args implements org.apache.thrift.TBase<getAllGatewayStoragePreferences_args, getAllGatewayStoragePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayStoragePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayStoragePreferences_args");
 
@@ -210946,8 +219367,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayStoragePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayStoragePreferences_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -210965,6 +219386,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -210989,6 +219411,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -211001,10 +219424,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -211046,6 +219471,7 @@
       }
     }
 
+    @Override
     public getAllGatewayStoragePreferences_args deepCopy() {
       return new getAllGatewayStoragePreferences_args(this);
     }
@@ -211056,11 +219482,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGatewayStoragePreferences_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGatewayStoragePreferences_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -211080,11 +219507,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllGatewayStoragePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllGatewayStoragePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -211104,7 +219532,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -211125,6 +219554,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -211138,6 +219569,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -211154,8 +219586,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayStoragePreferences_args)
         return this.equals((getAllGatewayStoragePreferences_args)that);
       return false;
@@ -211211,7 +219641,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211221,7 +219651,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211234,14 +219664,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -211301,6 +219735,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_argsStandardScheme getScheme() {
         return new getAllGatewayStoragePreferences_argsStandardScheme();
       }
@@ -211308,6 +219743,7 @@
 
     private static class getAllGatewayStoragePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayStoragePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayStoragePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -211346,6 +219782,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayStoragePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -211367,6 +219804,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_argsTupleScheme getScheme() {
         return new getAllGatewayStoragePreferences_argsTupleScheme();
       }
@@ -211397,6 +219835,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayStoragePreferences_result implements org.apache.thrift.TBase<getAllGatewayStoragePreferences_result, getAllGatewayStoragePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayStoragePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayStoragePreferences_result");
 
@@ -211409,11 +219848,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayStoragePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayStoragePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -211434,6 +219873,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -211464,6 +219904,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -211476,10 +219917,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -211547,6 +219990,7 @@
       }
     }
 
+    @Override
     public getAllGatewayStoragePreferences_result deepCopy() {
       return new getAllGatewayStoragePreferences_result(this);
     }
@@ -211564,6 +220008,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -211575,11 +220020,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewayStoragePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success) {
+    public getAllGatewayStoragePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success) {
       this.success = success;
       return this;
     }
@@ -211599,11 +220045,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllGatewayStoragePreferences_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllGatewayStoragePreferences_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -211623,11 +220070,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllGatewayStoragePreferences_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllGatewayStoragePreferences_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -211647,11 +220095,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllGatewayStoragePreferences_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllGatewayStoragePreferences_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -211671,11 +220120,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGatewayStoragePreferences_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGatewayStoragePreferences_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -211695,7 +220145,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -211740,6 +220191,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -211762,6 +220215,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -211784,8 +220238,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayStoragePreferences_result)
         return this.equals((getAllGatewayStoragePreferences_result)that);
       return false;
@@ -211880,7 +220332,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211890,7 +220342,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211900,7 +220352,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211910,7 +220362,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211920,7 +220372,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211933,10 +220385,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -212015,6 +220470,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_resultStandardScheme getScheme() {
         return new getAllGatewayStoragePreferences_resultStandardScheme();
       }
@@ -212022,6 +220478,7 @@
 
     private static class getAllGatewayStoragePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayStoragePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayStoragePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -212037,7 +220494,7 @@
                 {
                   org.apache.thrift.protocol.TList _list282 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>(_list282.size);
-                  org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem283;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem283;
                   for (int _i284 = 0; _i284 < _list282.size; ++_i284)
                   {
                     _elem283 = new org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference();
@@ -212098,6 +220555,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayStoragePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -212141,6 +220599,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_resultTupleScheme getScheme() {
         return new getAllGatewayStoragePreferences_resultTupleScheme();
       }
@@ -212197,9 +220656,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list287 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list287 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>(_list287.size);
-            org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem288;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem288;
             for (int _i289 = 0; _i289 < _list287.size; ++_i289)
             {
               _elem288 = new org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference();
@@ -212237,6 +220696,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayResourceProfiles_args implements org.apache.thrift.TBase<getAllGatewayResourceProfiles_args, getAllGatewayResourceProfiles_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayResourceProfiles_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayResourceProfiles_args");
 
@@ -212245,7 +220705,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayResourceProfiles_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayResourceProfiles_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -212262,6 +220722,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -212284,6 +220745,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -212296,10 +220758,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -212334,6 +220798,7 @@
       }
     }
 
+    @Override
     public getAllGatewayResourceProfiles_args deepCopy() {
       return new getAllGatewayResourceProfiles_args(this);
     }
@@ -212343,11 +220808,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGatewayResourceProfiles_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGatewayResourceProfiles_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -212367,7 +220833,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -212380,6 +220847,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -212390,6 +220859,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -212404,8 +220874,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayResourceProfiles_args)
         return this.equals((getAllGatewayResourceProfiles_args)that);
       return false;
@@ -212448,7 +220916,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -212461,14 +220929,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -212517,6 +220989,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_argsStandardScheme getScheme() {
         return new getAllGatewayResourceProfiles_argsStandardScheme();
       }
@@ -212524,6 +220997,7 @@
 
     private static class getAllGatewayResourceProfiles_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayResourceProfiles_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayResourceProfiles_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -212554,6 +221028,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayResourceProfiles_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -212570,6 +221045,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_argsTupleScheme getScheme() {
         return new getAllGatewayResourceProfiles_argsTupleScheme();
       }
@@ -212597,6 +221073,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayResourceProfiles_result implements org.apache.thrift.TBase<getAllGatewayResourceProfiles_result, getAllGatewayResourceProfiles_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayResourceProfiles_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayResourceProfiles_result");
 
@@ -212609,11 +221086,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayResourceProfiles_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayResourceProfiles_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -212634,6 +221111,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -212664,6 +221142,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -212676,10 +221155,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -212747,6 +221228,7 @@
       }
     }
 
+    @Override
     public getAllGatewayResourceProfiles_result deepCopy() {
       return new getAllGatewayResourceProfiles_result(this);
     }
@@ -212764,6 +221246,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -212775,11 +221258,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewayResourceProfiles_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success) {
+    public getAllGatewayResourceProfiles_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success) {
       this.success = success;
       return this;
     }
@@ -212799,11 +221283,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllGatewayResourceProfiles_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllGatewayResourceProfiles_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -212823,11 +221308,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllGatewayResourceProfiles_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllGatewayResourceProfiles_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -212847,11 +221333,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllGatewayResourceProfiles_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllGatewayResourceProfiles_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -212871,11 +221358,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGatewayResourceProfiles_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGatewayResourceProfiles_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -212895,7 +221383,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -212940,6 +221429,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -212962,6 +221453,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -212984,8 +221476,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayResourceProfiles_result)
         return this.equals((getAllGatewayResourceProfiles_result)that);
       return false;
@@ -213080,7 +221570,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213090,7 +221580,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213100,7 +221590,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213110,7 +221600,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213120,7 +221610,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213133,10 +221623,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -213215,6 +221708,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_resultStandardScheme getScheme() {
         return new getAllGatewayResourceProfiles_resultStandardScheme();
       }
@@ -213222,6 +221716,7 @@
 
     private static class getAllGatewayResourceProfiles_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayResourceProfiles_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayResourceProfiles_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -213237,7 +221732,7 @@
                 {
                   org.apache.thrift.protocol.TList _list290 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>(_list290.size);
-                  org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem291;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem291;
                   for (int _i292 = 0; _i292 < _list290.size; ++_i292)
                   {
                     _elem291 = new org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile();
@@ -213298,6 +221793,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayResourceProfiles_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -213341,6 +221837,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_resultTupleScheme getScheme() {
         return new getAllGatewayResourceProfiles_resultTupleScheme();
       }
@@ -213397,9 +221894,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list295 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list295 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>(_list295.size);
-            org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem296;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem296;
             for (int _i297 = 0; _i297 < _list295.size; ++_i297)
             {
               _elem296 = new org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile();
@@ -213437,6 +221934,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<updateGatewayComputeResourcePreference_args, updateGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayComputeResourcePreference_args");
 
@@ -213448,10 +221946,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // 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 {
@@ -213471,6 +221969,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -213499,6 +221998,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -213511,10 +222011,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -213570,6 +222072,7 @@
       }
     }
 
+    @Override
     public updateGatewayComputeResourcePreference_args deepCopy() {
       return new updateGatewayComputeResourcePreference_args(this);
     }
@@ -213582,11 +222085,12 @@
       this.computeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGatewayComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGatewayComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -213606,11 +222110,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -213630,11 +222135,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public updateGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public updateGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -213654,11 +222160,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getComputeResourcePreference() {
       return this.computeResourcePreference;
     }
 
-    public updateGatewayComputeResourcePreference_args setComputeResourcePreference(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
+    public updateGatewayComputeResourcePreference_args setComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
       this.computeResourcePreference = computeResourcePreference;
       return this;
     }
@@ -213678,7 +222185,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -213715,6 +222223,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -213734,6 +222244,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -213754,8 +222265,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayComputeResourcePreference_args)
         return this.equals((updateGatewayComputeResourcePreference_args)that);
       return false;
@@ -213837,7 +222346,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213847,7 +222356,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213857,7 +222366,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213867,7 +222376,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourcePreference()).compareTo(other.isSetComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourcePreference(), other.isSetComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213880,14 +222389,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -213972,6 +222485,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new updateGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -213979,6 +222493,7 @@
 
     private static class updateGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -214034,6 +222549,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -214065,6 +222581,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new updateGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -214102,6 +222619,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<updateGatewayComputeResourcePreference_result, updateGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayComputeResourcePreference_result");
 
@@ -214115,10 +222633,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -214139,6 +222657,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -214169,6 +222688,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -214181,10 +222701,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -214249,6 +222771,7 @@
       }
     }
 
+    @Override
     public updateGatewayComputeResourcePreference_result deepCopy() {
       return new updateGatewayComputeResourcePreference_result(this);
     }
@@ -214286,11 +222809,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateGatewayComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateGatewayComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -214310,11 +222834,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateGatewayComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateGatewayComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -214334,11 +222859,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateGatewayComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateGatewayComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -214358,11 +222884,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGatewayComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGatewayComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -214382,7 +222909,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -214427,6 +222955,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -214449,6 +222979,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -214471,8 +223002,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayComputeResourcePreference_result)
         return this.equals((updateGatewayComputeResourcePreference_result)that);
       return false;
@@ -214565,7 +223094,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214575,7 +223104,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214585,7 +223114,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214595,7 +223124,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214605,7 +223134,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214618,10 +223147,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -214698,6 +223230,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new updateGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -214705,6 +223238,7 @@
 
     private static class updateGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -214770,6 +223304,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -214806,6 +223341,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new updateGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -214886,6 +223422,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayStoragePreference_args implements org.apache.thrift.TBase<updateGatewayStoragePreference_args, updateGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayStoragePreference_args");
 
@@ -214897,10 +223434,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // 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 {
@@ -214920,6 +223457,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -214948,6 +223486,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -214960,10 +223499,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -215019,6 +223560,7 @@
       }
     }
 
+    @Override
     public updateGatewayStoragePreference_args deepCopy() {
       return new updateGatewayStoragePreference_args(this);
     }
@@ -215031,11 +223573,12 @@
       this.storagePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGatewayStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGatewayStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -215055,11 +223598,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -215079,11 +223623,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageId() {
       return this.storageId;
     }
 
-    public updateGatewayStoragePreference_args setStorageId(java.lang.String storageId) {
+    public updateGatewayStoragePreference_args setStorageId(@org.apache.thrift.annotation.Nullable java.lang.String storageId) {
       this.storageId = storageId;
       return this;
     }
@@ -215103,11 +223648,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getStoragePreference() {
       return this.storagePreference;
     }
 
-    public updateGatewayStoragePreference_args setStoragePreference(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
+    public updateGatewayStoragePreference_args setStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
       this.storagePreference = storagePreference;
       return this;
     }
@@ -215127,7 +223673,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -215164,6 +223711,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -215183,6 +223732,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -215203,8 +223753,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayStoragePreference_args)
         return this.equals((updateGatewayStoragePreference_args)that);
       return false;
@@ -215286,7 +223834,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215296,7 +223844,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215306,7 +223854,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageId()).compareTo(other.isSetStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageId(), other.isSetStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215316,7 +223864,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStoragePreference()).compareTo(other.isSetStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetStoragePreference(), other.isSetStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215329,14 +223877,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -215421,6 +223973,7 @@
     }
 
     private static class updateGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_argsStandardScheme getScheme() {
         return new updateGatewayStoragePreference_argsStandardScheme();
       }
@@ -215428,6 +223981,7 @@
 
     private static class updateGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -215483,6 +224037,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -215514,6 +224069,7 @@
     }
 
     private static class updateGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_argsTupleScheme getScheme() {
         return new updateGatewayStoragePreference_argsTupleScheme();
       }
@@ -215551,6 +224107,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayStoragePreference_result implements org.apache.thrift.TBase<updateGatewayStoragePreference_result, updateGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayStoragePreference_result");
 
@@ -215564,10 +224121,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayStoragePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -215588,6 +224145,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -215618,6 +224176,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -215630,10 +224189,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -215698,6 +224259,7 @@
       }
     }
 
+    @Override
     public updateGatewayStoragePreference_result deepCopy() {
       return new updateGatewayStoragePreference_result(this);
     }
@@ -215735,11 +224297,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateGatewayStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateGatewayStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -215759,11 +224322,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateGatewayStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateGatewayStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -215783,11 +224347,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateGatewayStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateGatewayStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -215807,11 +224372,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGatewayStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGatewayStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -215831,7 +224397,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -215876,6 +224443,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -215898,6 +224467,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -215920,8 +224490,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayStoragePreference_result)
         return this.equals((updateGatewayStoragePreference_result)that);
       return false;
@@ -216014,7 +224582,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216024,7 +224592,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216034,7 +224602,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216044,7 +224612,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216054,7 +224622,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216067,10 +224635,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -216147,6 +224718,7 @@
     }
 
     private static class updateGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_resultStandardScheme getScheme() {
         return new updateGatewayStoragePreference_resultStandardScheme();
       }
@@ -216154,6 +224726,7 @@
 
     private static class updateGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -216219,6 +224792,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -216255,6 +224829,7 @@
     }
 
     private static class updateGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_resultTupleScheme getScheme() {
         return new updateGatewayStoragePreference_resultTupleScheme();
       }
@@ -216335,6 +224910,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<deleteGatewayComputeResourcePreference_args, deleteGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayComputeResourcePreference_args");
 
@@ -216345,9 +224921,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -216366,6 +224942,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -216392,6 +224969,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -216404,10 +224982,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -216456,6 +225036,7 @@
       }
     }
 
+    @Override
     public deleteGatewayComputeResourcePreference_args deepCopy() {
       return new deleteGatewayComputeResourcePreference_args(this);
     }
@@ -216467,11 +225048,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteGatewayComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteGatewayComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -216491,11 +225073,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -216515,11 +225098,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -216539,7 +225123,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -216568,6 +225153,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -216584,6 +225171,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -216602,8 +225190,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayComputeResourcePreference_args)
         return this.equals((deleteGatewayComputeResourcePreference_args)that);
       return false;
@@ -216672,7 +225258,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216682,7 +225268,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216692,7 +225278,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216705,14 +225291,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -216783,6 +225373,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -216790,6 +225381,7 @@
 
     private static class deleteGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -216836,6 +225428,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -216862,6 +225455,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -216895,6 +225489,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<deleteGatewayComputeResourcePreference_result, deleteGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayComputeResourcePreference_result");
 
@@ -216908,10 +225503,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -216932,6 +225527,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -216962,6 +225558,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -216974,10 +225571,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -217042,6 +225641,7 @@
       }
     }
 
+    @Override
     public deleteGatewayComputeResourcePreference_result deepCopy() {
       return new deleteGatewayComputeResourcePreference_result(this);
     }
@@ -217079,11 +225679,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteGatewayComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteGatewayComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -217103,11 +225704,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteGatewayComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteGatewayComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -217127,11 +225729,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteGatewayComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteGatewayComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -217151,11 +225754,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteGatewayComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteGatewayComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -217175,7 +225779,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -217220,6 +225825,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -217242,6 +225849,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -217264,8 +225872,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayComputeResourcePreference_result)
         return this.equals((deleteGatewayComputeResourcePreference_result)that);
       return false;
@@ -217358,7 +225964,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -217368,7 +225974,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -217378,7 +225984,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -217388,7 +225994,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -217398,7 +226004,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -217411,10 +226017,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -217491,6 +226100,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -217498,6 +226108,7 @@
 
     private static class deleteGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -217563,6 +226174,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -217599,6 +226211,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -217679,6 +226292,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayStoragePreference_args implements org.apache.thrift.TBase<deleteGatewayStoragePreference_args, deleteGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayStoragePreference_args");
 
@@ -217689,9 +226303,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageId; // 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 {
@@ -217710,6 +226324,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -217736,6 +226351,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -217748,10 +226364,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -217800,6 +226418,7 @@
       }
     }
 
+    @Override
     public deleteGatewayStoragePreference_args deepCopy() {
       return new deleteGatewayStoragePreference_args(this);
     }
@@ -217811,11 +226430,12 @@
       this.storageId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteGatewayStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteGatewayStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -217835,11 +226455,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -217859,11 +226480,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageId() {
       return this.storageId;
     }
 
-    public deleteGatewayStoragePreference_args setStorageId(java.lang.String storageId) {
+    public deleteGatewayStoragePreference_args setStorageId(@org.apache.thrift.annotation.Nullable java.lang.String storageId) {
       this.storageId = storageId;
       return this;
     }
@@ -217883,7 +226505,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -217912,6 +226535,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -217928,6 +226553,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -217946,8 +226572,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayStoragePreference_args)
         return this.equals((deleteGatewayStoragePreference_args)that);
       return false;
@@ -218016,7 +226640,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218026,7 +226650,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218036,7 +226660,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageId()).compareTo(other.isSetStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageId(), other.isSetStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218049,14 +226673,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -218127,6 +226755,7 @@
     }
 
     private static class deleteGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_argsStandardScheme getScheme() {
         return new deleteGatewayStoragePreference_argsStandardScheme();
       }
@@ -218134,6 +226763,7 @@
 
     private static class deleteGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -218180,6 +226810,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -218206,6 +226837,7 @@
     }
 
     private static class deleteGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_argsTupleScheme getScheme() {
         return new deleteGatewayStoragePreference_argsTupleScheme();
       }
@@ -218239,6 +226871,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayStoragePreference_result implements org.apache.thrift.TBase<deleteGatewayStoragePreference_result, deleteGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayStoragePreference_result");
 
@@ -218252,10 +226885,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayStoragePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -218276,6 +226909,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -218306,6 +226940,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -218318,10 +226953,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -218386,6 +227023,7 @@
       }
     }
 
+    @Override
     public deleteGatewayStoragePreference_result deepCopy() {
       return new deleteGatewayStoragePreference_result(this);
     }
@@ -218423,11 +227061,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteGatewayStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteGatewayStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -218447,11 +227086,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteGatewayStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteGatewayStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -218471,11 +227111,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteGatewayStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteGatewayStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -218495,11 +227136,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteGatewayStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteGatewayStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -218519,7 +227161,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -218564,6 +227207,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -218586,6 +227231,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -218608,8 +227254,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayStoragePreference_result)
         return this.equals((deleteGatewayStoragePreference_result)that);
       return false;
@@ -218702,7 +227346,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218712,7 +227356,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218722,7 +227366,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218732,7 +227376,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218742,7 +227386,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -218755,10 +227399,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -218835,6 +227482,7 @@
     }
 
     private static class deleteGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_resultStandardScheme getScheme() {
         return new deleteGatewayStoragePreference_resultStandardScheme();
       }
@@ -218842,6 +227490,7 @@
 
     private static class deleteGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -218907,6 +227556,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -218943,6 +227593,7 @@
     }
 
     private static class deleteGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_resultTupleScheme getScheme() {
         return new deleteGatewayStoragePreference_resultTupleScheme();
       }
@@ -219023,6 +227674,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHAccountProvisioners_args implements org.apache.thrift.TBase<getSSHAccountProvisioners_args, getSSHAccountProvisioners_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHAccountProvisioners_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHAccountProvisioners_args");
 
@@ -219031,7 +227683,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHAccountProvisioners_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHAccountProvisioners_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -219048,6 +227700,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -219070,6 +227723,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -219082,10 +227736,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -219120,6 +227776,7 @@
       }
     }
 
+    @Override
     public getSSHAccountProvisioners_args deepCopy() {
       return new getSSHAccountProvisioners_args(this);
     }
@@ -219129,11 +227786,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getSSHAccountProvisioners_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getSSHAccountProvisioners_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -219153,7 +227811,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -219166,6 +227825,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -219176,6 +227837,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -219190,8 +227852,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHAccountProvisioners_args)
         return this.equals((getSSHAccountProvisioners_args)that);
       return false;
@@ -219234,7 +227894,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -219247,14 +227907,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -219303,6 +227967,7 @@
     }
 
     private static class getSSHAccountProvisioners_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHAccountProvisioners_argsStandardScheme getScheme() {
         return new getSSHAccountProvisioners_argsStandardScheme();
       }
@@ -219310,6 +227975,7 @@
 
     private static class getSSHAccountProvisioners_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHAccountProvisioners_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHAccountProvisioners_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -219340,6 +228006,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHAccountProvisioners_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -219356,6 +228023,7 @@
     }
 
     private static class getSSHAccountProvisioners_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHAccountProvisioners_argsTupleScheme getScheme() {
         return new getSSHAccountProvisioners_argsTupleScheme();
       }
@@ -219383,6 +228051,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHAccountProvisioners_result implements org.apache.thrift.TBase<getSSHAccountProvisioners_result, getSSHAccountProvisioners_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHAccountProvisioners_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHAccountProvisioners_result");
 
@@ -219395,11 +228064,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHAccountProvisioners_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHAccountProvisioners_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -219420,6 +228089,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -219450,6 +228120,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -219462,10 +228133,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -219533,6 +228206,7 @@
       }
     }
 
+    @Override
     public getSSHAccountProvisioners_result deepCopy() {
       return new getSSHAccountProvisioners_result(this);
     }
@@ -219550,6 +228224,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -219561,11 +228236,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> getSuccess() {
       return this.success;
     }
 
-    public getSSHAccountProvisioners_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> success) {
+    public getSSHAccountProvisioners_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner> success) {
       this.success = success;
       return this;
     }
@@ -219585,11 +228261,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getSSHAccountProvisioners_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getSSHAccountProvisioners_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -219609,11 +228286,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getSSHAccountProvisioners_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getSSHAccountProvisioners_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -219633,11 +228311,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getSSHAccountProvisioners_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getSSHAccountProvisioners_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -219657,11 +228336,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getSSHAccountProvisioners_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getSSHAccountProvisioners_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -219681,7 +228361,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -219726,6 +228407,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -219748,6 +228431,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -219770,8 +228454,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHAccountProvisioners_result)
         return this.equals((getSSHAccountProvisioners_result)that);
       return false;
@@ -219866,7 +228548,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -219876,7 +228558,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -219886,7 +228568,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -219896,7 +228578,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -219906,7 +228588,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -219919,10 +228601,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -220001,6 +228686,7 @@
     }
 
     private static class getSSHAccountProvisioners_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHAccountProvisioners_resultStandardScheme getScheme() {
         return new getSSHAccountProvisioners_resultStandardScheme();
       }
@@ -220008,6 +228694,7 @@
 
     private static class getSSHAccountProvisioners_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHAccountProvisioners_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHAccountProvisioners_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -220023,7 +228710,7 @@
                 {
                   org.apache.thrift.protocol.TList _list298 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner>(_list298.size);
-                  org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner _elem299;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner _elem299;
                   for (int _i300 = 0; _i300 < _list298.size; ++_i300)
                   {
                     _elem299 = new org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner();
@@ -220084,6 +228771,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHAccountProvisioners_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -220127,6 +228815,7 @@
     }
 
     private static class getSSHAccountProvisioners_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHAccountProvisioners_resultTupleScheme getScheme() {
         return new getSSHAccountProvisioners_resultTupleScheme();
       }
@@ -220183,9 +228872,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list303 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list303 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner>(_list303.size);
-            org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner _elem304;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner _elem304;
             for (int _i305 = 0; _i305 < _list303.size; ++_i305)
             {
               _elem304 = new org.apache.airavata.model.appcatalog.accountprovisioning.SSHAccountProvisioner();
@@ -220223,6 +228912,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class doesUserHaveSSHAccount_args implements org.apache.thrift.TBase<doesUserHaveSSHAccount_args, doesUserHaveSSHAccount_args._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserHaveSSHAccount_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserHaveSSHAccount_args");
 
@@ -220233,9 +228923,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new doesUserHaveSSHAccount_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new doesUserHaveSSHAccount_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -220254,6 +228944,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -220280,6 +228971,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -220292,10 +228984,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -220344,6 +229038,7 @@
       }
     }
 
+    @Override
     public doesUserHaveSSHAccount_args deepCopy() {
       return new doesUserHaveSSHAccount_args(this);
     }
@@ -220355,11 +229050,12 @@
       this.userId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public doesUserHaveSSHAccount_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public doesUserHaveSSHAccount_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -220379,11 +229075,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public doesUserHaveSSHAccount_args setComputeResourceId(java.lang.String computeResourceId) {
+    public doesUserHaveSSHAccount_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -220403,11 +229100,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public doesUserHaveSSHAccount_args setUserId(java.lang.String userId) {
+    public doesUserHaveSSHAccount_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -220427,7 +229125,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -220456,6 +229155,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -220472,6 +229173,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -220490,8 +229192,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof doesUserHaveSSHAccount_args)
         return this.equals((doesUserHaveSSHAccount_args)that);
       return false;
@@ -220560,7 +229260,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -220570,7 +229270,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -220580,7 +229280,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -220593,14 +229293,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -220671,6 +229375,7 @@
     }
 
     private static class doesUserHaveSSHAccount_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserHaveSSHAccount_argsStandardScheme getScheme() {
         return new doesUserHaveSSHAccount_argsStandardScheme();
       }
@@ -220678,6 +229383,7 @@
 
     private static class doesUserHaveSSHAccount_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<doesUserHaveSSHAccount_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, doesUserHaveSSHAccount_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -220724,6 +229430,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, doesUserHaveSSHAccount_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -220750,6 +229457,7 @@
     }
 
     private static class doesUserHaveSSHAccount_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserHaveSSHAccount_argsTupleScheme getScheme() {
         return new doesUserHaveSSHAccount_argsTupleScheme();
       }
@@ -220783,6 +229491,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class doesUserHaveSSHAccount_result implements org.apache.thrift.TBase<doesUserHaveSSHAccount_result, doesUserHaveSSHAccount_result._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserHaveSSHAccount_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserHaveSSHAccount_result");
 
@@ -220796,10 +229505,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new doesUserHaveSSHAccount_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -220820,6 +229529,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -220850,6 +229560,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -220862,10 +229573,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -220930,6 +229643,7 @@
       }
     }
 
+    @Override
     public doesUserHaveSSHAccount_result deepCopy() {
       return new doesUserHaveSSHAccount_result(this);
     }
@@ -220967,11 +229681,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public doesUserHaveSSHAccount_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public doesUserHaveSSHAccount_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -220991,11 +229706,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public doesUserHaveSSHAccount_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public doesUserHaveSSHAccount_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -221015,11 +229731,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public doesUserHaveSSHAccount_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public doesUserHaveSSHAccount_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -221039,11 +229756,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public doesUserHaveSSHAccount_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public doesUserHaveSSHAccount_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -221063,7 +229781,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -221108,6 +229827,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -221130,6 +229851,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -221152,8 +229874,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof doesUserHaveSSHAccount_result)
         return this.equals((doesUserHaveSSHAccount_result)that);
       return false;
@@ -221246,7 +229966,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221256,7 +229976,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221266,7 +229986,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221276,7 +229996,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221286,7 +230006,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221299,10 +230019,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -221379,6 +230102,7 @@
     }
 
     private static class doesUserHaveSSHAccount_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserHaveSSHAccount_resultStandardScheme getScheme() {
         return new doesUserHaveSSHAccount_resultStandardScheme();
       }
@@ -221386,6 +230110,7 @@
 
     private static class doesUserHaveSSHAccount_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<doesUserHaveSSHAccount_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, doesUserHaveSSHAccount_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -221451,6 +230176,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, doesUserHaveSSHAccount_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -221487,6 +230213,7 @@
     }
 
     private static class doesUserHaveSSHAccount_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserHaveSSHAccount_resultTupleScheme getScheme() {
         return new doesUserHaveSSHAccount_resultTupleScheme();
       }
@@ -221567,6 +230294,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isSSHSetupCompleteForUserComputeResourcePreference_args implements org.apache.thrift.TBase<isSSHSetupCompleteForUserComputeResourcePreference_args, isSSHSetupCompleteForUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<isSSHSetupCompleteForUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isSSHSetupCompleteForUserComputeResourcePreference_args");
 
@@ -221577,9 +230305,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isSSHSetupCompleteForUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isSSHSetupCompleteForUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String airavataCredStoreToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken; // 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 {
@@ -221598,6 +230326,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -221624,6 +230353,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -221636,10 +230366,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -221688,6 +230420,7 @@
       }
     }
 
+    @Override
     public isSSHSetupCompleteForUserComputeResourcePreference_args deepCopy() {
       return new isSSHSetupCompleteForUserComputeResourcePreference_args(this);
     }
@@ -221699,11 +230432,12 @@
       this.airavataCredStoreToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -221723,11 +230457,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -221747,11 +230482,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataCredStoreToken() {
       return this.airavataCredStoreToken;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_args setAiravataCredStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken) {
       this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
@@ -221771,7 +230507,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -221800,6 +230537,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -221816,6 +230555,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -221834,8 +230574,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isSSHSetupCompleteForUserComputeResourcePreference_args)
         return this.equals((isSSHSetupCompleteForUserComputeResourcePreference_args)that);
       return false;
@@ -221904,7 +230642,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221914,7 +230652,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221924,7 +230662,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataCredStoreToken(), other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -221937,14 +230675,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -222015,6 +230757,7 @@
     }
 
     private static class isSSHSetupCompleteForUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new isSSHSetupCompleteForUserComputeResourcePreference_argsStandardScheme();
       }
@@ -222022,6 +230765,7 @@
 
     private static class isSSHSetupCompleteForUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isSSHSetupCompleteForUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isSSHSetupCompleteForUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -222068,6 +230812,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isSSHSetupCompleteForUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -222094,6 +230839,7 @@
     }
 
     private static class isSSHSetupCompleteForUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new isSSHSetupCompleteForUserComputeResourcePreference_argsTupleScheme();
       }
@@ -222127,6 +230873,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isSSHSetupCompleteForUserComputeResourcePreference_result implements org.apache.thrift.TBase<isSSHSetupCompleteForUserComputeResourcePreference_result, isSSHSetupCompleteForUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<isSSHSetupCompleteForUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isSSHSetupCompleteForUserComputeResourcePreference_result");
 
@@ -222140,10 +230887,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isSSHSetupCompleteForUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -222164,6 +230911,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -222194,6 +230942,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -222206,10 +230955,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -222274,6 +231025,7 @@
       }
     }
 
+    @Override
     public isSSHSetupCompleteForUserComputeResourcePreference_result deepCopy() {
       return new isSSHSetupCompleteForUserComputeResourcePreference_result(this);
     }
@@ -222311,11 +231063,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -222335,11 +231088,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -222359,11 +231113,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -222383,11 +231138,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isSSHSetupCompleteForUserComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isSSHSetupCompleteForUserComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -222407,7 +231163,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -222452,6 +231209,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -222474,6 +231233,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -222496,8 +231256,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isSSHSetupCompleteForUserComputeResourcePreference_result)
         return this.equals((isSSHSetupCompleteForUserComputeResourcePreference_result)that);
       return false;
@@ -222590,7 +231348,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -222600,7 +231358,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -222610,7 +231368,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -222620,7 +231378,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -222630,7 +231388,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -222643,10 +231401,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -222723,6 +231484,7 @@
     }
 
     private static class isSSHSetupCompleteForUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new isSSHSetupCompleteForUserComputeResourcePreference_resultStandardScheme();
       }
@@ -222730,6 +231492,7 @@
 
     private static class isSSHSetupCompleteForUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isSSHSetupCompleteForUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isSSHSetupCompleteForUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -222795,6 +231558,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isSSHSetupCompleteForUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -222831,6 +231595,7 @@
     }
 
     private static class isSSHSetupCompleteForUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isSSHSetupCompleteForUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new isSSHSetupCompleteForUserComputeResourcePreference_resultTupleScheme();
       }
@@ -222911,6 +231676,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class setupUserComputeResourcePreferencesForSSH_args implements org.apache.thrift.TBase<setupUserComputeResourcePreferencesForSSH_args, setupUserComputeResourcePreferencesForSSH_args._Fields>, java.io.Serializable, Cloneable, Comparable<setupUserComputeResourcePreferencesForSSH_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setupUserComputeResourcePreferencesForSSH_args");
 
@@ -222922,10 +231688,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setupUserComputeResourcePreferencesForSSH_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setupUserComputeResourcePreferencesForSSH_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String userId; // required
-    public java.lang.String airavataCredStoreToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken; // 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 {
@@ -222945,6 +231711,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -222973,6 +231740,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -222985,10 +231753,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -223044,6 +231814,7 @@
       }
     }
 
+    @Override
     public setupUserComputeResourcePreferencesForSSH_args deepCopy() {
       return new setupUserComputeResourcePreferencesForSSH_args(this);
     }
@@ -223056,11 +231827,12 @@
       this.airavataCredStoreToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public setupUserComputeResourcePreferencesForSSH_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -223080,11 +231852,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_args setComputeResourceId(java.lang.String computeResourceId) {
+    public setupUserComputeResourcePreferencesForSSH_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -223104,11 +231877,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_args setUserId(java.lang.String userId) {
+    public setupUserComputeResourcePreferencesForSSH_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -223128,11 +231902,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataCredStoreToken() {
       return this.airavataCredStoreToken;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+    public setupUserComputeResourcePreferencesForSSH_args setAiravataCredStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken) {
       this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
@@ -223152,7 +231927,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -223189,6 +231965,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -223208,6 +231986,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -223228,8 +232007,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof setupUserComputeResourcePreferencesForSSH_args)
         return this.equals((setupUserComputeResourcePreferencesForSSH_args)that);
       return false;
@@ -223311,7 +232088,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -223321,7 +232098,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -223331,7 +232108,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -223341,7 +232118,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataCredStoreToken(), other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -223354,14 +232131,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -223443,6 +232224,7 @@
     }
 
     private static class setupUserComputeResourcePreferencesForSSH_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setupUserComputeResourcePreferencesForSSH_argsStandardScheme getScheme() {
         return new setupUserComputeResourcePreferencesForSSH_argsStandardScheme();
       }
@@ -223450,6 +232232,7 @@
 
     private static class setupUserComputeResourcePreferencesForSSH_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<setupUserComputeResourcePreferencesForSSH_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, setupUserComputeResourcePreferencesForSSH_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -223504,6 +232287,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, setupUserComputeResourcePreferencesForSSH_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -223535,6 +232319,7 @@
     }
 
     private static class setupUserComputeResourcePreferencesForSSH_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setupUserComputeResourcePreferencesForSSH_argsTupleScheme getScheme() {
         return new setupUserComputeResourcePreferencesForSSH_argsTupleScheme();
       }
@@ -223571,6 +232356,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class setupUserComputeResourcePreferencesForSSH_result implements org.apache.thrift.TBase<setupUserComputeResourcePreferencesForSSH_result, setupUserComputeResourcePreferencesForSSH_result._Fields>, java.io.Serializable, Cloneable, Comparable<setupUserComputeResourcePreferencesForSSH_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setupUserComputeResourcePreferencesForSSH_result");
 
@@ -223583,11 +232369,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setupUserComputeResourcePreferencesForSSH_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setupUserComputeResourcePreferencesForSSH_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -223608,6 +232394,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -223638,6 +232425,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -223650,10 +232438,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -223716,6 +232506,7 @@
       }
     }
 
+    @Override
     public setupUserComputeResourcePreferencesForSSH_result deepCopy() {
       return new setupUserComputeResourcePreferencesForSSH_result(this);
     }
@@ -223729,11 +232520,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success) {
+    public setupUserComputeResourcePreferencesForSSH_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -223753,11 +232545,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public setupUserComputeResourcePreferencesForSSH_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -223777,11 +232570,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public setupUserComputeResourcePreferencesForSSH_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -223801,11 +232595,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public setupUserComputeResourcePreferencesForSSH_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -223825,11 +232620,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public setupUserComputeResourcePreferencesForSSH_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public setupUserComputeResourcePreferencesForSSH_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -223849,7 +232645,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -223894,6 +232691,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -223916,6 +232715,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -223938,8 +232738,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof setupUserComputeResourcePreferencesForSSH_result)
         return this.equals((setupUserComputeResourcePreferencesForSSH_result)that);
       return false;
@@ -224034,7 +232832,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224044,7 +232842,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224054,7 +232852,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224064,7 +232862,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224074,7 +232872,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224087,10 +232885,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -224172,6 +232973,7 @@
     }
 
     private static class setupUserComputeResourcePreferencesForSSH_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setupUserComputeResourcePreferencesForSSH_resultStandardScheme getScheme() {
         return new setupUserComputeResourcePreferencesForSSH_resultStandardScheme();
       }
@@ -224179,6 +232981,7 @@
 
     private static class setupUserComputeResourcePreferencesForSSH_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<setupUserComputeResourcePreferencesForSSH_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, setupUserComputeResourcePreferencesForSSH_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -224245,6 +233048,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, setupUserComputeResourcePreferencesForSSH_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -224281,6 +233085,7 @@
     }
 
     private static class setupUserComputeResourcePreferencesForSSH_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setupUserComputeResourcePreferencesForSSH_resultTupleScheme getScheme() {
         return new setupUserComputeResourcePreferencesForSSH_resultTupleScheme();
       }
@@ -224362,6 +233167,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerUserResourceProfile_args implements org.apache.thrift.TBase<registerUserResourceProfile_args, registerUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerUserResourceProfile_args");
 
@@ -224371,8 +233177,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerUserResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // 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 {
@@ -224390,6 +233196,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -224414,6 +233221,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -224426,10 +233234,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -224471,6 +233281,7 @@
       }
     }
 
+    @Override
     public registerUserResourceProfile_args deepCopy() {
       return new registerUserResourceProfile_args(this);
     }
@@ -224481,11 +233292,12 @@
       this.userResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerUserResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerUserResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -224505,11 +233317,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile() {
       return this.userResourceProfile;
     }
 
-    public registerUserResourceProfile_args setUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
+    public registerUserResourceProfile_args setUserResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
       this.userResourceProfile = userResourceProfile;
       return this;
     }
@@ -224529,7 +233342,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -224550,6 +233364,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -224563,6 +233379,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -224579,8 +233396,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerUserResourceProfile_args)
         return this.equals((registerUserResourceProfile_args)that);
       return false;
@@ -224636,7 +233451,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224646,7 +233461,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserResourceProfile()).compareTo(other.isSetUserResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserResourceProfile(), other.isSetUserResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -224659,14 +233474,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -224729,6 +233548,7 @@
     }
 
     private static class registerUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_argsStandardScheme getScheme() {
         return new registerUserResourceProfile_argsStandardScheme();
       }
@@ -224736,6 +233556,7 @@
 
     private static class registerUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -224775,6 +233596,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -224796,6 +233618,7 @@
     }
 
     private static class registerUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_argsTupleScheme getScheme() {
         return new registerUserResourceProfile_argsTupleScheme();
       }
@@ -224827,6 +233650,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerUserResourceProfile_result implements org.apache.thrift.TBase<registerUserResourceProfile_result, registerUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerUserResourceProfile_result");
 
@@ -224839,11 +233663,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerUserResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerUserResourceProfile_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -224864,6 +233688,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -224894,6 +233719,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -224906,10 +233732,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -224972,6 +233800,7 @@
       }
     }
 
+    @Override
     public registerUserResourceProfile_result deepCopy() {
       return new registerUserResourceProfile_result(this);
     }
@@ -224985,11 +233814,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerUserResourceProfile_result setSuccess(java.lang.String success) {
+    public registerUserResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -225009,11 +233839,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerUserResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerUserResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -225033,11 +233864,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerUserResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerUserResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -225057,11 +233889,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerUserResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerUserResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -225081,11 +233914,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerUserResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerUserResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -225105,7 +233939,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -225150,6 +233985,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -225172,6 +234009,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -225194,8 +234032,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerUserResourceProfile_result)
         return this.equals((registerUserResourceProfile_result)that);
       return false;
@@ -225290,7 +234126,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225300,7 +234136,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225310,7 +234146,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225320,7 +234156,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225330,7 +234166,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225343,10 +234179,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -225425,6 +234264,7 @@
     }
 
     private static class registerUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_resultStandardScheme getScheme() {
         return new registerUserResourceProfile_resultStandardScheme();
       }
@@ -225432,6 +234272,7 @@
 
     private static class registerUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -225497,6 +234338,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -225533,6 +234375,7 @@
     }
 
     private static class registerUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_resultTupleScheme getScheme() {
         return new registerUserResourceProfile_resultTupleScheme();
       }
@@ -225613,6 +234456,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserResourceProfileExists_args implements org.apache.thrift.TBase<isUserResourceProfileExists_args, isUserResourceProfileExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserResourceProfileExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserResourceProfileExists_args");
 
@@ -225623,9 +234467,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserResourceProfileExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserResourceProfileExists_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -225644,6 +234488,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -225670,6 +234515,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -225682,10 +234528,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -225734,6 +234582,7 @@
       }
     }
 
+    @Override
     public isUserResourceProfileExists_args deepCopy() {
       return new isUserResourceProfileExists_args(this);
     }
@@ -225745,11 +234594,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isUserResourceProfileExists_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isUserResourceProfileExists_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -225769,11 +234619,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public isUserResourceProfileExists_args setUserId(java.lang.String userId) {
+    public isUserResourceProfileExists_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -225793,11 +234644,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public isUserResourceProfileExists_args setGatewayID(java.lang.String gatewayID) {
+    public isUserResourceProfileExists_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -225817,7 +234669,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -225846,6 +234699,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -225862,6 +234717,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -225880,8 +234736,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserResourceProfileExists_args)
         return this.equals((isUserResourceProfileExists_args)that);
       return false;
@@ -225950,7 +234804,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225960,7 +234814,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225970,7 +234824,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -225983,14 +234837,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -226061,6 +234919,7 @@
     }
 
     private static class isUserResourceProfileExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_argsStandardScheme getScheme() {
         return new isUserResourceProfileExists_argsStandardScheme();
       }
@@ -226068,6 +234927,7 @@
 
     private static class isUserResourceProfileExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserResourceProfileExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserResourceProfileExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -226114,6 +234974,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserResourceProfileExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -226140,6 +235001,7 @@
     }
 
     private static class isUserResourceProfileExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_argsTupleScheme getScheme() {
         return new isUserResourceProfileExists_argsTupleScheme();
       }
@@ -226173,6 +235035,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserResourceProfileExists_result implements org.apache.thrift.TBase<isUserResourceProfileExists_result, isUserResourceProfileExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserResourceProfileExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserResourceProfileExists_result");
 
@@ -226186,10 +235049,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserResourceProfileExists_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -226210,6 +235073,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -226240,6 +235104,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -226252,10 +235117,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -226320,6 +235187,7 @@
       }
     }
 
+    @Override
     public isUserResourceProfileExists_result deepCopy() {
       return new isUserResourceProfileExists_result(this);
     }
@@ -226357,11 +235225,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public isUserResourceProfileExists_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public isUserResourceProfileExists_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -226381,11 +235250,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public isUserResourceProfileExists_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public isUserResourceProfileExists_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -226405,11 +235275,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public isUserResourceProfileExists_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public isUserResourceProfileExists_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -226429,11 +235300,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isUserResourceProfileExists_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isUserResourceProfileExists_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -226453,7 +235325,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -226498,6 +235371,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -226520,6 +235395,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -226542,8 +235418,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserResourceProfileExists_result)
         return this.equals((isUserResourceProfileExists_result)that);
       return false;
@@ -226636,7 +235510,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -226646,7 +235520,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -226656,7 +235530,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -226666,7 +235540,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -226676,7 +235550,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -226689,10 +235563,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -226769,6 +235646,7 @@
     }
 
     private static class isUserResourceProfileExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_resultStandardScheme getScheme() {
         return new isUserResourceProfileExists_resultStandardScheme();
       }
@@ -226776,6 +235654,7 @@
 
     private static class isUserResourceProfileExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserResourceProfileExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserResourceProfileExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -226841,6 +235720,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserResourceProfileExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -226877,6 +235757,7 @@
     }
 
     private static class isUserResourceProfileExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_resultTupleScheme getScheme() {
         return new isUserResourceProfileExists_resultTupleScheme();
       }
@@ -226957,6 +235838,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserResourceProfile_args implements org.apache.thrift.TBase<getUserResourceProfile_args, getUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserResourceProfile_args");
 
@@ -226967,9 +235849,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -226988,6 +235870,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -227014,6 +235897,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -227026,10 +235910,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -227078,6 +235964,7 @@
       }
     }
 
+    @Override
     public getUserResourceProfile_args deepCopy() {
       return new getUserResourceProfile_args(this);
     }
@@ -227089,11 +235976,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUserResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUserResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -227113,11 +236001,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserResourceProfile_args setUserId(java.lang.String userId) {
+    public getUserResourceProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -227137,11 +236026,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getUserResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public getUserResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -227161,7 +236051,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -227190,6 +236081,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -227206,6 +236099,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -227224,8 +236118,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserResourceProfile_args)
         return this.equals((getUserResourceProfile_args)that);
       return false;
@@ -227294,7 +236186,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -227304,7 +236196,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -227314,7 +236206,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -227327,14 +236219,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -227405,6 +236301,7 @@
     }
 
     private static class getUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_argsStandardScheme getScheme() {
         return new getUserResourceProfile_argsStandardScheme();
       }
@@ -227412,6 +236309,7 @@
 
     private static class getUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -227458,6 +236356,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -227484,6 +236383,7 @@
     }
 
     private static class getUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_argsTupleScheme getScheme() {
         return new getUserResourceProfile_argsTupleScheme();
       }
@@ -227517,6 +236417,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserResourceProfile_result implements org.apache.thrift.TBase<getUserResourceProfile_result, getUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserResourceProfile_result");
 
@@ -227529,11 +236430,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -227554,6 +236455,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -227584,6 +236486,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -227596,10 +236499,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -227662,6 +236567,7 @@
       }
     }
 
+    @Override
     public getUserResourceProfile_result deepCopy() {
       return new getUserResourceProfile_result(this);
     }
@@ -227675,11 +236581,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getSuccess() {
       return this.success;
     }
 
-    public getUserResourceProfile_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success) {
+    public getUserResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success) {
       this.success = success;
       return this;
     }
@@ -227699,11 +236606,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUserResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUserResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -227723,11 +236631,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUserResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUserResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -227747,11 +236656,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUserResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUserResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -227771,11 +236681,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUserResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUserResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -227795,7 +236706,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -227840,6 +236752,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -227862,6 +236776,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -227884,8 +236799,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserResourceProfile_result)
         return this.equals((getUserResourceProfile_result)that);
       return false;
@@ -227980,7 +236893,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -227990,7 +236903,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228000,7 +236913,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228010,7 +236923,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228020,7 +236933,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228033,10 +236946,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -228118,6 +237034,7 @@
     }
 
     private static class getUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_resultStandardScheme getScheme() {
         return new getUserResourceProfile_resultStandardScheme();
       }
@@ -228125,6 +237042,7 @@
 
     private static class getUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -228191,6 +237109,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -228227,6 +237146,7 @@
     }
 
     private static class getUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_resultTupleScheme getScheme() {
         return new getUserResourceProfile_resultTupleScheme();
       }
@@ -228308,6 +237228,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserResourceProfile_args implements org.apache.thrift.TBase<updateUserResourceProfile_args, updateUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserResourceProfile_args");
 
@@ -228319,10 +237240,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // 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 {
@@ -228342,6 +237263,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -228370,6 +237292,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -228382,10 +237305,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -228441,6 +237366,7 @@
       }
     }
 
+    @Override
     public updateUserResourceProfile_args deepCopy() {
       return new updateUserResourceProfile_args(this);
     }
@@ -228453,11 +237379,12 @@
       this.userResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUserResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUserResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -228477,11 +237404,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public updateUserResourceProfile_args setUserId(java.lang.String userId) {
+    public updateUserResourceProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -228501,11 +237429,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateUserResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public updateUserResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -228525,11 +237454,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile() {
       return this.userResourceProfile;
     }
 
-    public updateUserResourceProfile_args setUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
+    public updateUserResourceProfile_args setUserResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
       this.userResourceProfile = userResourceProfile;
       return this;
     }
@@ -228549,7 +237479,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -228586,6 +237517,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -228605,6 +237538,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -228625,8 +237559,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserResourceProfile_args)
         return this.equals((updateUserResourceProfile_args)that);
       return false;
@@ -228708,7 +237640,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228718,7 +237650,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228728,7 +237660,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228738,7 +237670,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserResourceProfile()).compareTo(other.isSetUserResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserResourceProfile(), other.isSetUserResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -228751,14 +237683,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -228843,6 +237779,7 @@
     }
 
     private static class updateUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_argsStandardScheme getScheme() {
         return new updateUserResourceProfile_argsStandardScheme();
       }
@@ -228850,6 +237787,7 @@
 
     private static class updateUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -228905,6 +237843,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -228936,6 +237875,7 @@
     }
 
     private static class updateUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_argsTupleScheme getScheme() {
         return new updateUserResourceProfile_argsTupleScheme();
       }
@@ -228973,6 +237913,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserResourceProfile_result implements org.apache.thrift.TBase<updateUserResourceProfile_result, updateUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserResourceProfile_result");
 
@@ -228986,10 +237927,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserResourceProfile_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -229010,6 +237951,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -229040,6 +237982,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -229052,10 +237995,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -229120,6 +238065,7 @@
       }
     }
 
+    @Override
     public updateUserResourceProfile_result deepCopy() {
       return new updateUserResourceProfile_result(this);
     }
@@ -229157,11 +238103,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateUserResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateUserResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -229181,11 +238128,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateUserResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateUserResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -229205,11 +238153,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateUserResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateUserResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -229229,11 +238178,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUserResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUserResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -229253,7 +238203,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -229298,6 +238249,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -229320,6 +238273,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -229342,8 +238296,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserResourceProfile_result)
         return this.equals((updateUserResourceProfile_result)that);
       return false;
@@ -229436,7 +238388,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -229446,7 +238398,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -229456,7 +238408,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -229466,7 +238418,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -229476,7 +238428,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -229489,10 +238441,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -229569,6 +238524,7 @@
     }
 
     private static class updateUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_resultStandardScheme getScheme() {
         return new updateUserResourceProfile_resultStandardScheme();
       }
@@ -229576,6 +238532,7 @@
 
     private static class updateUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -229641,6 +238598,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -229677,6 +238635,7 @@
     }
 
     private static class updateUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_resultTupleScheme getScheme() {
         return new updateUserResourceProfile_resultTupleScheme();
       }
@@ -229757,6 +238716,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserResourceProfile_args implements org.apache.thrift.TBase<deleteUserResourceProfile_args, deleteUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserResourceProfile_args");
 
@@ -229767,9 +238727,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -229788,6 +238748,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -229814,6 +238775,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -229826,10 +238788,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -229878,6 +238842,7 @@
       }
     }
 
+    @Override
     public deleteUserResourceProfile_args deepCopy() {
       return new deleteUserResourceProfile_args(this);
     }
@@ -229889,11 +238854,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteUserResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteUserResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -229913,11 +238879,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserResourceProfile_args setUserId(java.lang.String userId) {
+    public deleteUserResourceProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -229937,11 +238904,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteUserResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public deleteUserResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -229961,7 +238929,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -229990,6 +238959,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -230006,6 +238977,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -230024,8 +238996,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserResourceProfile_args)
         return this.equals((deleteUserResourceProfile_args)that);
       return false;
@@ -230094,7 +239064,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230104,7 +239074,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230114,7 +239084,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230127,14 +239097,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -230205,6 +239179,7 @@
     }
 
     private static class deleteUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_argsStandardScheme getScheme() {
         return new deleteUserResourceProfile_argsStandardScheme();
       }
@@ -230212,6 +239187,7 @@
 
     private static class deleteUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -230258,6 +239234,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -230284,6 +239261,7 @@
     }
 
     private static class deleteUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_argsTupleScheme getScheme() {
         return new deleteUserResourceProfile_argsTupleScheme();
       }
@@ -230317,6 +239295,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserResourceProfile_result implements org.apache.thrift.TBase<deleteUserResourceProfile_result, deleteUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserResourceProfile_result");
 
@@ -230330,10 +239309,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserResourceProfile_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -230354,6 +239333,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -230384,6 +239364,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -230396,10 +239377,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -230464,6 +239447,7 @@
       }
     }
 
+    @Override
     public deleteUserResourceProfile_result deepCopy() {
       return new deleteUserResourceProfile_result(this);
     }
@@ -230501,11 +239485,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteUserResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteUserResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -230525,11 +239510,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteUserResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteUserResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -230549,11 +239535,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteUserResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteUserResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -230573,11 +239560,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteUserResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteUserResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -230597,7 +239585,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -230642,6 +239631,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -230664,6 +239655,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -230686,8 +239678,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserResourceProfile_result)
         return this.equals((deleteUserResourceProfile_result)that);
       return false;
@@ -230780,7 +239770,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230790,7 +239780,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230800,7 +239790,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230810,7 +239800,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230820,7 +239810,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -230833,10 +239823,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -230913,6 +239906,7 @@
     }
 
     private static class deleteUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_resultStandardScheme getScheme() {
         return new deleteUserResourceProfile_resultStandardScheme();
       }
@@ -230920,6 +239914,7 @@
 
     private static class deleteUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -230985,6 +239980,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -231021,6 +240017,7 @@
     }
 
     private static class deleteUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_resultTupleScheme getScheme() {
         return new deleteUserResourceProfile_resultTupleScheme();
       }
@@ -231101,6 +240098,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserComputeResourcePreference_args implements org.apache.thrift.TBase<addUserComputeResourcePreference_args, addUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserComputeResourcePreference_args");
 
@@ -231113,11 +240111,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // 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 {
@@ -231138,6 +240136,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -231168,6 +240167,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -231180,10 +240180,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -231246,6 +240248,7 @@
       }
     }
 
+    @Override
     public addUserComputeResourcePreference_args deepCopy() {
       return new addUserComputeResourcePreference_args(this);
     }
@@ -231259,11 +240262,12 @@
       this.userComputeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addUserComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addUserComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -231283,11 +240287,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public addUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public addUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -231307,11 +240312,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -231331,11 +240337,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public addUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public addUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -231355,11 +240362,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference() {
       return this.userComputeResourcePreference;
     }
 
-    public addUserComputeResourcePreference_args setUserComputeResourcePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
+    public addUserComputeResourcePreference_args setUserComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
       this.userComputeResourcePreference = userComputeResourcePreference;
       return this;
     }
@@ -231379,7 +240387,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -231424,6 +240433,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -231446,6 +240457,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -231468,8 +240480,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserComputeResourcePreference_args)
         return this.equals((addUserComputeResourcePreference_args)that);
       return false;
@@ -231564,7 +240574,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -231574,7 +240584,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -231584,7 +240594,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -231594,7 +240604,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -231604,7 +240614,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourcePreference()).compareTo(other.isSetUserComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourcePreference(), other.isSetUserComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -231617,14 +240627,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -231720,6 +240734,7 @@
     }
 
     private static class addUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new addUserComputeResourcePreference_argsStandardScheme();
       }
@@ -231727,6 +240742,7 @@
 
     private static class addUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -231790,6 +240806,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -231826,6 +240843,7 @@
     }
 
     private static class addUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new addUserComputeResourcePreference_argsTupleScheme();
       }
@@ -231866,6 +240884,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserComputeResourcePreference_result implements org.apache.thrift.TBase<addUserComputeResourcePreference_result, addUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserComputeResourcePreference_result");
 
@@ -231879,10 +240898,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -231903,6 +240922,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -231933,6 +240953,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -231945,10 +240966,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -232013,6 +241036,7 @@
       }
     }
 
+    @Override
     public addUserComputeResourcePreference_result deepCopy() {
       return new addUserComputeResourcePreference_result(this);
     }
@@ -232050,11 +241074,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addUserComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addUserComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -232074,11 +241099,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addUserComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addUserComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -232098,11 +241124,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addUserComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addUserComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -232122,11 +241149,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addUserComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addUserComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -232146,7 +241174,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -232191,6 +241220,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -232213,6 +241244,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -232235,8 +241267,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserComputeResourcePreference_result)
         return this.equals((addUserComputeResourcePreference_result)that);
       return false;
@@ -232329,7 +241359,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -232339,7 +241369,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -232349,7 +241379,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -232359,7 +241389,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -232369,7 +241399,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -232382,10 +241412,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -232462,6 +241495,7 @@
     }
 
     private static class addUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new addUserComputeResourcePreference_resultStandardScheme();
       }
@@ -232469,6 +241503,7 @@
 
     private static class addUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -232534,6 +241569,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -232570,6 +241606,7 @@
     }
 
     private static class addUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new addUserComputeResourcePreference_resultTupleScheme();
       }
@@ -232650,6 +241687,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserStoragePreference_args implements org.apache.thrift.TBase<addUserStoragePreference_args, addUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserStoragePreference_args");
 
@@ -232662,11 +241700,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageResourceId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // 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 {
@@ -232687,6 +241725,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -232717,6 +241756,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -232729,10 +241769,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -232795,6 +241837,7 @@
       }
     }
 
+    @Override
     public addUserStoragePreference_args deepCopy() {
       return new addUserStoragePreference_args(this);
     }
@@ -232808,11 +241851,12 @@
       this.userStoragePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addUserStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addUserStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -232832,11 +241876,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public addUserStoragePreference_args setUserId(java.lang.String userId) {
+    public addUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -232856,11 +241901,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -232880,11 +241926,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageResourceId() {
       return this.userStorageResourceId;
     }
 
-    public addUserStoragePreference_args setUserStorageResourceId(java.lang.String userStorageResourceId) {
+    public addUserStoragePreference_args setUserStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId) {
       this.userStorageResourceId = userStorageResourceId;
       return this;
     }
@@ -232904,11 +241951,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference() {
       return this.userStoragePreference;
     }
 
-    public addUserStoragePreference_args setUserStoragePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
+    public addUserStoragePreference_args setUserStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
       this.userStoragePreference = userStoragePreference;
       return this;
     }
@@ -232928,7 +241976,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -232973,6 +242022,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -232995,6 +242046,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -233017,8 +242069,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserStoragePreference_args)
         return this.equals((addUserStoragePreference_args)that);
       return false;
@@ -233113,7 +242163,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233123,7 +242173,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233133,7 +242183,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233143,7 +242193,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageResourceId()).compareTo(other.isSetUserStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageResourceId(), other.isSetUserStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233153,7 +242203,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStoragePreference()).compareTo(other.isSetUserStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserStoragePreference(), other.isSetUserStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233166,14 +242216,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -233269,6 +242323,7 @@
     }
 
     private static class addUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_argsStandardScheme getScheme() {
         return new addUserStoragePreference_argsStandardScheme();
       }
@@ -233276,6 +242331,7 @@
 
     private static class addUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -233339,6 +242395,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -233375,6 +242432,7 @@
     }
 
     private static class addUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_argsTupleScheme getScheme() {
         return new addUserStoragePreference_argsTupleScheme();
       }
@@ -233415,6 +242473,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserStoragePreference_result implements org.apache.thrift.TBase<addUserStoragePreference_result, addUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserStoragePreference_result");
 
@@ -233428,10 +242487,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserStoragePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -233452,6 +242511,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -233482,6 +242542,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -233494,10 +242555,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -233562,6 +242625,7 @@
       }
     }
 
+    @Override
     public addUserStoragePreference_result deepCopy() {
       return new addUserStoragePreference_result(this);
     }
@@ -233599,11 +242663,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public addUserStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public addUserStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -233623,11 +242688,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public addUserStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public addUserStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -233647,11 +242713,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public addUserStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public addUserStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -233671,11 +242738,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addUserStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addUserStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -233695,7 +242763,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -233740,6 +242809,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -233762,6 +242833,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -233784,8 +242856,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserStoragePreference_result)
         return this.equals((addUserStoragePreference_result)that);
       return false;
@@ -233878,7 +242948,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233888,7 +242958,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233898,7 +242968,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233908,7 +242978,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233918,7 +242988,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -233931,10 +243001,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -234011,6 +243084,7 @@
     }
 
     private static class addUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_resultStandardScheme getScheme() {
         return new addUserStoragePreference_resultStandardScheme();
       }
@@ -234018,6 +243092,7 @@
 
     private static class addUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -234083,6 +243158,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -234119,6 +243195,7 @@
     }
 
     private static class addUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_resultTupleScheme getScheme() {
         return new addUserStoragePreference_resultTupleScheme();
       }
@@ -234199,6 +243276,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserComputeResourcePreference_args implements org.apache.thrift.TBase<getUserComputeResourcePreference_args, getUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserComputeResourcePreference_args");
 
@@ -234210,10 +243288,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // 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 {
@@ -234233,6 +243311,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -234261,6 +243340,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -234273,10 +243353,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -234332,6 +243414,7 @@
       }
     }
 
+    @Override
     public getUserComputeResourcePreference_args deepCopy() {
       return new getUserComputeResourcePreference_args(this);
     }
@@ -234344,11 +243427,12 @@
       this.userComputeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUserComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUserComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -234368,11 +243452,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public getUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -234392,11 +243477,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -234416,11 +243502,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public getUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public getUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -234440,7 +243527,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -234477,6 +243565,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -234496,6 +243586,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -234516,8 +243607,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserComputeResourcePreference_args)
         return this.equals((getUserComputeResourcePreference_args)that);
       return false;
@@ -234599,7 +243688,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -234609,7 +243698,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -234619,7 +243708,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -234629,7 +243718,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -234642,14 +243731,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -234731,6 +243824,7 @@
     }
 
     private static class getUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new getUserComputeResourcePreference_argsStandardScheme();
       }
@@ -234738,6 +243832,7 @@
 
     private static class getUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -234792,6 +243887,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -234823,6 +243919,7 @@
     }
 
     private static class getUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new getUserComputeResourcePreference_argsTupleScheme();
       }
@@ -234859,6 +243956,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserComputeResourcePreference_result implements org.apache.thrift.TBase<getUserComputeResourcePreference_result, getUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserComputeResourcePreference_result");
 
@@ -234871,11 +243969,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserComputeResourcePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserComputeResourcePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -234896,6 +243994,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -234926,6 +244025,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -234938,10 +244038,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -235004,6 +244106,7 @@
       }
     }
 
+    @Override
     public getUserComputeResourcePreference_result deepCopy() {
       return new getUserComputeResourcePreference_result(this);
     }
@@ -235017,11 +244120,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public getUserComputeResourcePreference_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success) {
+    public getUserComputeResourcePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -235041,11 +244145,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUserComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUserComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -235065,11 +244170,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUserComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUserComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -235089,11 +244195,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUserComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUserComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -235113,11 +244220,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUserComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUserComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -235137,7 +244245,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -235182,6 +244291,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -235204,6 +244315,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -235226,8 +244338,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserComputeResourcePreference_result)
         return this.equals((getUserComputeResourcePreference_result)that);
       return false;
@@ -235322,7 +244432,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -235332,7 +244442,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -235342,7 +244452,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -235352,7 +244462,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -235362,7 +244472,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -235375,10 +244485,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -235460,6 +244573,7 @@
     }
 
     private static class getUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new getUserComputeResourcePreference_resultStandardScheme();
       }
@@ -235467,6 +244581,7 @@
 
     private static class getUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -235533,6 +244648,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -235569,6 +244685,7 @@
     }
 
     private static class getUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new getUserComputeResourcePreference_resultTupleScheme();
       }
@@ -235650,6 +244767,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserStoragePreference_args implements org.apache.thrift.TBase<getUserStoragePreference_args, getUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserStoragePreference_args");
 
@@ -235661,10 +244779,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId; // 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 {
@@ -235684,6 +244802,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -235712,6 +244831,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -235724,10 +244844,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -235783,6 +244905,7 @@
       }
     }
 
+    @Override
     public getUserStoragePreference_args deepCopy() {
       return new getUserStoragePreference_args(this);
     }
@@ -235795,11 +244918,12 @@
       this.userStorageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUserStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUserStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -235819,11 +244943,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserStoragePreference_args setUserId(java.lang.String userId) {
+    public getUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -235843,11 +244968,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -235867,11 +244993,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageResourceId() {
       return this.userStorageResourceId;
     }
 
-    public getUserStoragePreference_args setUserStorageResourceId(java.lang.String userStorageResourceId) {
+    public getUserStoragePreference_args setUserStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId) {
       this.userStorageResourceId = userStorageResourceId;
       return this;
     }
@@ -235891,7 +245018,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -235928,6 +245056,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -235947,6 +245077,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -235967,8 +245098,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserStoragePreference_args)
         return this.equals((getUserStoragePreference_args)that);
       return false;
@@ -236050,7 +245179,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236060,7 +245189,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236070,7 +245199,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236080,7 +245209,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageResourceId()).compareTo(other.isSetUserStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageResourceId(), other.isSetUserStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236093,14 +245222,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -236182,6 +245315,7 @@
     }
 
     private static class getUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_argsStandardScheme getScheme() {
         return new getUserStoragePreference_argsStandardScheme();
       }
@@ -236189,6 +245323,7 @@
 
     private static class getUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -236243,6 +245378,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -236274,6 +245410,7 @@
     }
 
     private static class getUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_argsTupleScheme getScheme() {
         return new getUserStoragePreference_argsTupleScheme();
       }
@@ -236310,6 +245447,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserStoragePreference_result implements org.apache.thrift.TBase<getUserStoragePreference_result, getUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserStoragePreference_result");
 
@@ -236322,11 +245460,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserStoragePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserStoragePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -236347,6 +245485,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -236377,6 +245516,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -236389,10 +245529,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -236455,6 +245597,7 @@
       }
     }
 
+    @Override
     public getUserStoragePreference_result deepCopy() {
       return new getUserStoragePreference_result(this);
     }
@@ -236468,11 +245611,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getSuccess() {
       return this.success;
     }
 
-    public getUserStoragePreference_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success) {
+    public getUserStoragePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success) {
       this.success = success;
       return this;
     }
@@ -236492,11 +245636,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getUserStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getUserStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -236516,11 +245661,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getUserStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getUserStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -236540,11 +245686,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getUserStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getUserStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -236564,11 +245711,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUserStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUserStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -236588,7 +245736,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -236633,6 +245782,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -236655,6 +245806,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -236677,8 +245829,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserStoragePreference_result)
         return this.equals((getUserStoragePreference_result)that);
       return false;
@@ -236773,7 +245923,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236783,7 +245933,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236793,7 +245943,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236803,7 +245953,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236813,7 +245963,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -236826,10 +245976,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -236911,6 +246064,7 @@
     }
 
     private static class getUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_resultStandardScheme getScheme() {
         return new getUserStoragePreference_resultStandardScheme();
       }
@@ -236918,6 +246072,7 @@
 
     private static class getUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -236984,6 +246139,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -237020,6 +246176,7 @@
     }
 
     private static class getUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_resultTupleScheme getScheme() {
         return new getUserStoragePreference_resultTupleScheme();
       }
@@ -237101,6 +246258,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserComputeResourcePreferences_args implements org.apache.thrift.TBase<getAllUserComputeResourcePreferences_args, getAllUserComputeResourcePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserComputeResourcePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserComputeResourcePreferences_args");
 
@@ -237111,9 +246269,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -237132,6 +246290,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -237158,6 +246317,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -237170,10 +246330,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -237222,6 +246384,7 @@
       }
     }
 
+    @Override
     public getAllUserComputeResourcePreferences_args deepCopy() {
       return new getAllUserComputeResourcePreferences_args(this);
     }
@@ -237233,11 +246396,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllUserComputeResourcePreferences_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllUserComputeResourcePreferences_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -237257,11 +246421,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getAllUserComputeResourcePreferences_args setUserId(java.lang.String userId) {
+    public getAllUserComputeResourcePreferences_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -237281,11 +246446,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllUserComputeResourcePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllUserComputeResourcePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -237305,7 +246471,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -237334,6 +246501,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -237350,6 +246519,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -237368,8 +246538,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserComputeResourcePreferences_args)
         return this.equals((getAllUserComputeResourcePreferences_args)that);
       return false;
@@ -237438,7 +246606,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -237448,7 +246616,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -237458,7 +246626,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -237471,14 +246639,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -237549,6 +246721,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_argsStandardScheme getScheme() {
         return new getAllUserComputeResourcePreferences_argsStandardScheme();
       }
@@ -237556,6 +246729,7 @@
 
     private static class getAllUserComputeResourcePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserComputeResourcePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -237602,6 +246776,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -237628,6 +246803,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_argsTupleScheme getScheme() {
         return new getAllUserComputeResourcePreferences_argsTupleScheme();
       }
@@ -237661,6 +246837,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserComputeResourcePreferences_result implements org.apache.thrift.TBase<getAllUserComputeResourcePreferences_result, getAllUserComputeResourcePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserComputeResourcePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserComputeResourcePreferences_result");
 
@@ -237673,11 +246850,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -237698,6 +246875,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -237728,6 +246906,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -237740,10 +246919,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -237811,6 +246992,7 @@
       }
     }
 
+    @Override
     public getAllUserComputeResourcePreferences_result deepCopy() {
       return new getAllUserComputeResourcePreferences_result(this);
     }
@@ -237828,6 +247010,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -237839,11 +247022,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllUserComputeResourcePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success) {
+    public getAllUserComputeResourcePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success) {
       this.success = success;
       return this;
     }
@@ -237863,11 +247047,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllUserComputeResourcePreferences_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllUserComputeResourcePreferences_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -237887,11 +247072,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllUserComputeResourcePreferences_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllUserComputeResourcePreferences_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -237911,11 +247097,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllUserComputeResourcePreferences_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllUserComputeResourcePreferences_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -237935,11 +247122,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllUserComputeResourcePreferences_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllUserComputeResourcePreferences_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -237959,7 +247147,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -238004,6 +247193,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -238026,6 +247217,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -238048,8 +247240,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserComputeResourcePreferences_result)
         return this.equals((getAllUserComputeResourcePreferences_result)that);
       return false;
@@ -238144,7 +247334,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238154,7 +247344,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238164,7 +247354,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238174,7 +247364,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238184,7 +247374,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238197,10 +247387,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -238279,6 +247472,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_resultStandardScheme getScheme() {
         return new getAllUserComputeResourcePreferences_resultStandardScheme();
       }
@@ -238286,6 +247480,7 @@
 
     private static class getAllUserComputeResourcePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserComputeResourcePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -238301,7 +247496,7 @@
                 {
                   org.apache.thrift.protocol.TList _list306 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>(_list306.size);
-                  org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem307;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem307;
                   for (int _i308 = 0; _i308 < _list306.size; ++_i308)
                   {
                     _elem307 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference();
@@ -238362,6 +247557,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -238405,6 +247601,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_resultTupleScheme getScheme() {
         return new getAllUserComputeResourcePreferences_resultTupleScheme();
       }
@@ -238461,9 +247658,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list311 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list311 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>(_list311.size);
-            org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem312;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem312;
             for (int _i313 = 0; _i313 < _list311.size; ++_i313)
             {
               _elem312 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference();
@@ -238501,6 +247698,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserStoragePreferences_args implements org.apache.thrift.TBase<getAllUserStoragePreferences_args, getAllUserStoragePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserStoragePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserStoragePreferences_args");
 
@@ -238511,9 +247709,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserStoragePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserStoragePreferences_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -238532,6 +247730,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -238558,6 +247757,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -238570,10 +247770,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -238622,6 +247824,7 @@
       }
     }
 
+    @Override
     public getAllUserStoragePreferences_args deepCopy() {
       return new getAllUserStoragePreferences_args(this);
     }
@@ -238633,11 +247836,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllUserStoragePreferences_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllUserStoragePreferences_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -238657,11 +247861,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getAllUserStoragePreferences_args setUserId(java.lang.String userId) {
+    public getAllUserStoragePreferences_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -238681,11 +247886,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllUserStoragePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllUserStoragePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -238705,7 +247911,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -238734,6 +247941,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -238750,6 +247959,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -238768,8 +247978,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserStoragePreferences_args)
         return this.equals((getAllUserStoragePreferences_args)that);
       return false;
@@ -238838,7 +248046,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238848,7 +248056,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238858,7 +248066,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -238871,14 +248079,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -238949,6 +248161,7 @@
     }
 
     private static class getAllUserStoragePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_argsStandardScheme getScheme() {
         return new getAllUserStoragePreferences_argsStandardScheme();
       }
@@ -238956,6 +248169,7 @@
 
     private static class getAllUserStoragePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserStoragePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserStoragePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -239002,6 +248216,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserStoragePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -239028,6 +248243,7 @@
     }
 
     private static class getAllUserStoragePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_argsTupleScheme getScheme() {
         return new getAllUserStoragePreferences_argsTupleScheme();
       }
@@ -239061,6 +248277,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserStoragePreferences_result implements org.apache.thrift.TBase<getAllUserStoragePreferences_result, getAllUserStoragePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserStoragePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserStoragePreferences_result");
 
@@ -239073,11 +248290,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserStoragePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserStoragePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -239098,6 +248315,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -239128,6 +248346,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -239140,10 +248359,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -239211,6 +248432,7 @@
       }
     }
 
+    @Override
     public getAllUserStoragePreferences_result deepCopy() {
       return new getAllUserStoragePreferences_result(this);
     }
@@ -239228,6 +248450,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -239239,11 +248462,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllUserStoragePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success) {
+    public getAllUserStoragePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success) {
       this.success = success;
       return this;
     }
@@ -239263,11 +248487,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllUserStoragePreferences_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllUserStoragePreferences_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -239287,11 +248512,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllUserStoragePreferences_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllUserStoragePreferences_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -239311,11 +248537,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllUserStoragePreferences_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllUserStoragePreferences_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -239335,11 +248562,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllUserStoragePreferences_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllUserStoragePreferences_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -239359,7 +248587,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -239404,6 +248633,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -239426,6 +248657,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -239448,8 +248680,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserStoragePreferences_result)
         return this.equals((getAllUserStoragePreferences_result)that);
       return false;
@@ -239544,7 +248774,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -239554,7 +248784,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -239564,7 +248794,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -239574,7 +248804,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -239584,7 +248814,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -239597,10 +248827,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -239679,6 +248912,7 @@
     }
 
     private static class getAllUserStoragePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_resultStandardScheme getScheme() {
         return new getAllUserStoragePreferences_resultStandardScheme();
       }
@@ -239686,6 +248920,7 @@
 
     private static class getAllUserStoragePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserStoragePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserStoragePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -239701,7 +248936,7 @@
                 {
                   org.apache.thrift.protocol.TList _list314 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>(_list314.size);
-                  org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem315;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem315;
                   for (int _i316 = 0; _i316 < _list314.size; ++_i316)
                   {
                     _elem315 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference();
@@ -239762,6 +248997,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserStoragePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -239805,6 +249041,7 @@
     }
 
     private static class getAllUserStoragePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_resultTupleScheme getScheme() {
         return new getAllUserStoragePreferences_resultTupleScheme();
       }
@@ -239861,9 +249098,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list319 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list319 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>(_list319.size);
-            org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem320;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem320;
             for (int _i321 = 0; _i321 < _list319.size; ++_i321)
             {
               _elem320 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference();
@@ -239901,6 +249138,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserResourceProfiles_args implements org.apache.thrift.TBase<getAllUserResourceProfiles_args, getAllUserResourceProfiles_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserResourceProfiles_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserResourceProfiles_args");
 
@@ -239909,7 +249147,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserResourceProfiles_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserResourceProfiles_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -239926,6 +249164,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -239948,6 +249187,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -239960,10 +249200,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -239998,6 +249240,7 @@
       }
     }
 
+    @Override
     public getAllUserResourceProfiles_args deepCopy() {
       return new getAllUserResourceProfiles_args(this);
     }
@@ -240007,11 +249250,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllUserResourceProfiles_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllUserResourceProfiles_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -240031,7 +249275,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -240044,6 +249289,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -240054,6 +249301,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -240068,8 +249316,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserResourceProfiles_args)
         return this.equals((getAllUserResourceProfiles_args)that);
       return false;
@@ -240112,7 +249358,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -240125,14 +249371,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -240181,6 +249431,7 @@
     }
 
     private static class getAllUserResourceProfiles_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_argsStandardScheme getScheme() {
         return new getAllUserResourceProfiles_argsStandardScheme();
       }
@@ -240188,6 +249439,7 @@
 
     private static class getAllUserResourceProfiles_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserResourceProfiles_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserResourceProfiles_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -240218,6 +249470,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserResourceProfiles_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -240234,6 +249487,7 @@
     }
 
     private static class getAllUserResourceProfiles_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_argsTupleScheme getScheme() {
         return new getAllUserResourceProfiles_argsTupleScheme();
       }
@@ -240261,6 +249515,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserResourceProfiles_result implements org.apache.thrift.TBase<getAllUserResourceProfiles_result, getAllUserResourceProfiles_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserResourceProfiles_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserResourceProfiles_result");
 
@@ -240273,11 +249528,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserResourceProfiles_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserResourceProfiles_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -240298,6 +249553,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -240328,6 +249584,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -240340,10 +249597,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -240411,6 +249670,7 @@
       }
     }
 
+    @Override
     public getAllUserResourceProfiles_result deepCopy() {
       return new getAllUserResourceProfiles_result(this);
     }
@@ -240428,6 +249688,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -240439,11 +249700,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getSuccess() {
       return this.success;
     }
 
-    public getAllUserResourceProfiles_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success) {
+    public getAllUserResourceProfiles_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success) {
       this.success = success;
       return this;
     }
@@ -240463,11 +249725,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllUserResourceProfiles_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllUserResourceProfiles_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -240487,11 +249750,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllUserResourceProfiles_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllUserResourceProfiles_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -240511,11 +249775,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllUserResourceProfiles_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllUserResourceProfiles_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -240535,11 +249800,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllUserResourceProfiles_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllUserResourceProfiles_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -240559,7 +249825,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -240604,6 +249871,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -240626,6 +249895,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -240648,8 +249918,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserResourceProfiles_result)
         return this.equals((getAllUserResourceProfiles_result)that);
       return false;
@@ -240744,7 +250012,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -240754,7 +250022,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -240764,7 +250032,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -240774,7 +250042,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -240784,7 +250052,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -240797,10 +250065,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -240879,6 +250150,7 @@
     }
 
     private static class getAllUserResourceProfiles_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_resultStandardScheme getScheme() {
         return new getAllUserResourceProfiles_resultStandardScheme();
       }
@@ -240886,6 +250158,7 @@
 
     private static class getAllUserResourceProfiles_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserResourceProfiles_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserResourceProfiles_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -240901,7 +250174,7 @@
                 {
                   org.apache.thrift.protocol.TList _list322 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>(_list322.size);
-                  org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem323;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem323;
                   for (int _i324 = 0; _i324 < _list322.size; ++_i324)
                   {
                     _elem323 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile();
@@ -240962,6 +250235,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserResourceProfiles_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -241005,6 +250279,7 @@
     }
 
     private static class getAllUserResourceProfiles_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_resultTupleScheme getScheme() {
         return new getAllUserResourceProfiles_resultTupleScheme();
       }
@@ -241061,9 +250336,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list327 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list327 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>(_list327.size);
-            org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem328;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem328;
             for (int _i329 = 0; _i329 < _list327.size; ++_i329)
             {
               _elem328 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile();
@@ -241101,6 +250376,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserComputeResourcePreference_args implements org.apache.thrift.TBase<updateUserComputeResourcePreference_args, updateUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserComputeResourcePreference_args");
 
@@ -241113,11 +250389,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // 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 {
@@ -241138,6 +250414,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -241168,6 +250445,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -241180,10 +250458,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -241246,6 +250526,7 @@
       }
     }
 
+    @Override
     public updateUserComputeResourcePreference_args deepCopy() {
       return new updateUserComputeResourcePreference_args(this);
     }
@@ -241259,11 +250540,12 @@
       this.userComputeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUserComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUserComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -241283,11 +250565,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public updateUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public updateUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -241307,11 +250590,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -241331,11 +250615,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public updateUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public updateUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -241355,11 +250640,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference() {
       return this.userComputeResourcePreference;
     }
 
-    public updateUserComputeResourcePreference_args setUserComputeResourcePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
+    public updateUserComputeResourcePreference_args setUserComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
       this.userComputeResourcePreference = userComputeResourcePreference;
       return this;
     }
@@ -241379,7 +250665,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -241424,6 +250711,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -241446,6 +250735,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -241468,8 +250758,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserComputeResourcePreference_args)
         return this.equals((updateUserComputeResourcePreference_args)that);
       return false;
@@ -241564,7 +250852,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -241574,7 +250862,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -241584,7 +250872,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -241594,7 +250882,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -241604,7 +250892,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourcePreference()).compareTo(other.isSetUserComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourcePreference(), other.isSetUserComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -241617,14 +250905,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -241720,6 +251012,7 @@
     }
 
     private static class updateUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new updateUserComputeResourcePreference_argsStandardScheme();
       }
@@ -241727,6 +251020,7 @@
 
     private static class updateUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -241790,6 +251084,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -241826,6 +251121,7 @@
     }
 
     private static class updateUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new updateUserComputeResourcePreference_argsTupleScheme();
       }
@@ -241866,6 +251162,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserComputeResourcePreference_result implements org.apache.thrift.TBase<updateUserComputeResourcePreference_result, updateUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserComputeResourcePreference_result");
 
@@ -241879,10 +251176,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -241903,6 +251200,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -241933,6 +251231,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -241945,10 +251244,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -242013,6 +251314,7 @@
       }
     }
 
+    @Override
     public updateUserComputeResourcePreference_result deepCopy() {
       return new updateUserComputeResourcePreference_result(this);
     }
@@ -242050,11 +251352,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateUserComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateUserComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -242074,11 +251377,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateUserComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateUserComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -242098,11 +251402,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateUserComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateUserComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -242122,11 +251427,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUserComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUserComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -242146,7 +251452,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -242191,6 +251498,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -242213,6 +251522,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -242235,8 +251545,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserComputeResourcePreference_result)
         return this.equals((updateUserComputeResourcePreference_result)that);
       return false;
@@ -242329,7 +251637,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -242339,7 +251647,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -242349,7 +251657,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -242359,7 +251667,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -242369,7 +251677,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -242382,10 +251690,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -242462,6 +251773,7 @@
     }
 
     private static class updateUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new updateUserComputeResourcePreference_resultStandardScheme();
       }
@@ -242469,6 +251781,7 @@
 
     private static class updateUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -242534,6 +251847,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -242570,6 +251884,7 @@
     }
 
     private static class updateUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new updateUserComputeResourcePreference_resultTupleScheme();
       }
@@ -242650,6 +251965,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserStoragePreference_args implements org.apache.thrift.TBase<updateUserStoragePreference_args, updateUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserStoragePreference_args");
 
@@ -242662,11 +251978,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // 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 {
@@ -242687,6 +252003,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -242717,6 +252034,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -242729,10 +252047,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -242795,6 +252115,7 @@
       }
     }
 
+    @Override
     public updateUserStoragePreference_args deepCopy() {
       return new updateUserStoragePreference_args(this);
     }
@@ -242808,11 +252129,12 @@
       this.userStoragePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUserStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUserStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -242832,11 +252154,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public updateUserStoragePreference_args setUserId(java.lang.String userId) {
+    public updateUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -242856,11 +252179,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -242880,11 +252204,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageId() {
       return this.userStorageId;
     }
 
-    public updateUserStoragePreference_args setUserStorageId(java.lang.String userStorageId) {
+    public updateUserStoragePreference_args setUserStorageId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageId) {
       this.userStorageId = userStorageId;
       return this;
     }
@@ -242904,11 +252229,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference() {
       return this.userStoragePreference;
     }
 
-    public updateUserStoragePreference_args setUserStoragePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
+    public updateUserStoragePreference_args setUserStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
       this.userStoragePreference = userStoragePreference;
       return this;
     }
@@ -242928,7 +252254,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -242973,6 +252300,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -242995,6 +252324,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -243017,8 +252347,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserStoragePreference_args)
         return this.equals((updateUserStoragePreference_args)that);
       return false;
@@ -243113,7 +252441,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243123,7 +252451,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243133,7 +252461,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243143,7 +252471,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageId()).compareTo(other.isSetUserStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageId(), other.isSetUserStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243153,7 +252481,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStoragePreference()).compareTo(other.isSetUserStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserStoragePreference(), other.isSetUserStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243166,14 +252494,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -243269,6 +252601,7 @@
     }
 
     private static class updateUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_argsStandardScheme getScheme() {
         return new updateUserStoragePreference_argsStandardScheme();
       }
@@ -243276,6 +252609,7 @@
 
     private static class updateUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -243339,6 +252673,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -243375,6 +252710,7 @@
     }
 
     private static class updateUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_argsTupleScheme getScheme() {
         return new updateUserStoragePreference_argsTupleScheme();
       }
@@ -243415,6 +252751,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserStoragePreference_result implements org.apache.thrift.TBase<updateUserStoragePreference_result, updateUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserStoragePreference_result");
 
@@ -243428,10 +252765,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserStoragePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -243452,6 +252789,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -243482,6 +252820,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -243494,10 +252833,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -243562,6 +252903,7 @@
       }
     }
 
+    @Override
     public updateUserStoragePreference_result deepCopy() {
       return new updateUserStoragePreference_result(this);
     }
@@ -243599,11 +252941,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateUserStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateUserStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -243623,11 +252966,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateUserStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateUserStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -243647,11 +252991,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateUserStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateUserStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -243671,11 +253016,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUserStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUserStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -243695,7 +253041,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -243740,6 +253087,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -243762,6 +253111,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -243784,8 +253134,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserStoragePreference_result)
         return this.equals((updateUserStoragePreference_result)that);
       return false;
@@ -243878,7 +253226,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243888,7 +253236,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243898,7 +253246,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243908,7 +253256,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243918,7 +253266,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -243931,10 +253279,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -244011,6 +253362,7 @@
     }
 
     private static class updateUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_resultStandardScheme getScheme() {
         return new updateUserStoragePreference_resultStandardScheme();
       }
@@ -244018,6 +253370,7 @@
 
     private static class updateUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -244083,6 +253436,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -244119,6 +253473,7 @@
     }
 
     private static class updateUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_resultTupleScheme getScheme() {
         return new updateUserStoragePreference_resultTupleScheme();
       }
@@ -244199,6 +253554,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserComputeResourcePreference_args implements org.apache.thrift.TBase<deleteUserComputeResourcePreference_args, deleteUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserComputeResourcePreference_args");
 
@@ -244210,10 +253566,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // 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 {
@@ -244233,6 +253589,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -244261,6 +253618,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -244273,10 +253631,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -244332,6 +253692,7 @@
       }
     }
 
+    @Override
     public deleteUserComputeResourcePreference_args deepCopy() {
       return new deleteUserComputeResourcePreference_args(this);
     }
@@ -244344,11 +253705,12 @@
       this.userComputeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteUserComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteUserComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -244368,11 +253730,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public deleteUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -244392,11 +253755,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -244416,11 +253780,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public deleteUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public deleteUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -244440,7 +253805,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -244477,6 +253843,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -244496,6 +253864,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -244516,8 +253885,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserComputeResourcePreference_args)
         return this.equals((deleteUserComputeResourcePreference_args)that);
       return false;
@@ -244599,7 +253966,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -244609,7 +253976,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -244619,7 +253986,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -244629,7 +253996,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -244642,14 +254009,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -244731,6 +254102,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new deleteUserComputeResourcePreference_argsStandardScheme();
       }
@@ -244738,6 +254110,7 @@
 
     private static class deleteUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -244792,6 +254165,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -244823,6 +254197,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new deleteUserComputeResourcePreference_argsTupleScheme();
       }
@@ -244859,6 +254234,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserComputeResourcePreference_result implements org.apache.thrift.TBase<deleteUserComputeResourcePreference_result, deleteUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserComputeResourcePreference_result");
 
@@ -244872,10 +254248,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -244896,6 +254272,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -244926,6 +254303,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -244938,10 +254316,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -245006,6 +254386,7 @@
       }
     }
 
+    @Override
     public deleteUserComputeResourcePreference_result deepCopy() {
       return new deleteUserComputeResourcePreference_result(this);
     }
@@ -245043,11 +254424,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteUserComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteUserComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -245067,11 +254449,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteUserComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteUserComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -245091,11 +254474,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteUserComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteUserComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -245115,11 +254499,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteUserComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteUserComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -245139,7 +254524,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -245184,6 +254570,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -245206,6 +254594,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -245228,8 +254617,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserComputeResourcePreference_result)
         return this.equals((deleteUserComputeResourcePreference_result)that);
       return false;
@@ -245322,7 +254709,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -245332,7 +254719,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -245342,7 +254729,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -245352,7 +254739,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -245362,7 +254749,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -245375,10 +254762,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -245455,6 +254845,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new deleteUserComputeResourcePreference_resultStandardScheme();
       }
@@ -245462,6 +254853,7 @@
 
     private static class deleteUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -245527,6 +254919,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -245563,6 +254956,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new deleteUserComputeResourcePreference_resultTupleScheme();
       }
@@ -245643,6 +255037,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserStoragePreference_args implements org.apache.thrift.TBase<deleteUserStoragePreference_args, deleteUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserStoragePreference_args");
 
@@ -245654,10 +255049,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserStoragePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageId; // 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 {
@@ -245677,6 +255072,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -245705,6 +255101,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -245717,10 +255114,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -245776,6 +255175,7 @@
       }
     }
 
+    @Override
     public deleteUserStoragePreference_args deepCopy() {
       return new deleteUserStoragePreference_args(this);
     }
@@ -245788,11 +255188,12 @@
       this.userStorageId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteUserStoragePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteUserStoragePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -245812,11 +255213,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserStoragePreference_args setUserId(java.lang.String userId) {
+    public deleteUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -245836,11 +255238,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -245860,11 +255263,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageId() {
       return this.userStorageId;
     }
 
-    public deleteUserStoragePreference_args setUserStorageId(java.lang.String userStorageId) {
+    public deleteUserStoragePreference_args setUserStorageId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageId) {
       this.userStorageId = userStorageId;
       return this;
     }
@@ -245884,7 +255288,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -245921,6 +255326,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -245940,6 +255347,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -245960,8 +255368,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserStoragePreference_args)
         return this.equals((deleteUserStoragePreference_args)that);
       return false;
@@ -246043,7 +255449,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246053,7 +255459,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246063,7 +255469,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246073,7 +255479,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageId()).compareTo(other.isSetUserStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageId(), other.isSetUserStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246086,14 +255492,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -246175,6 +255585,7 @@
     }
 
     private static class deleteUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_argsStandardScheme getScheme() {
         return new deleteUserStoragePreference_argsStandardScheme();
       }
@@ -246182,6 +255593,7 @@
 
     private static class deleteUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -246236,6 +255648,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -246267,6 +255680,7 @@
     }
 
     private static class deleteUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_argsTupleScheme getScheme() {
         return new deleteUserStoragePreference_argsTupleScheme();
       }
@@ -246303,6 +255717,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserStoragePreference_result implements org.apache.thrift.TBase<deleteUserStoragePreference_result, deleteUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserStoragePreference_result");
 
@@ -246316,10 +255731,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserStoragePreference_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -246340,6 +255755,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -246370,6 +255786,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -246382,10 +255799,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -246450,6 +255869,7 @@
       }
     }
 
+    @Override
     public deleteUserStoragePreference_result deepCopy() {
       return new deleteUserStoragePreference_result(this);
     }
@@ -246487,11 +255907,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public deleteUserStoragePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public deleteUserStoragePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -246511,11 +255932,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public deleteUserStoragePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public deleteUserStoragePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -246535,11 +255957,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public deleteUserStoragePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public deleteUserStoragePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -246559,11 +255982,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteUserStoragePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteUserStoragePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -246583,7 +256007,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -246628,6 +256053,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -246650,6 +256077,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -246672,8 +256100,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserStoragePreference_result)
         return this.equals((deleteUserStoragePreference_result)that);
       return false;
@@ -246766,7 +256192,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246776,7 +256202,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246786,7 +256212,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246796,7 +256222,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246806,7 +256232,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -246819,10 +256245,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -246899,6 +256328,7 @@
     }
 
     private static class deleteUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_resultStandardScheme getScheme() {
         return new deleteUserStoragePreference_resultStandardScheme();
       }
@@ -246906,6 +256336,7 @@
 
     private static class deleteUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -246971,6 +256402,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -247007,6 +256439,7 @@
     }
 
     private static class deleteUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_resultTupleScheme getScheme() {
         return new deleteUserStoragePreference_resultTupleScheme();
       }
@@ -247087,6 +256520,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLatestQueueStatuses_args implements org.apache.thrift.TBase<getLatestQueueStatuses_args, getLatestQueueStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLatestQueueStatuses_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLatestQueueStatuses_args");
 
@@ -247095,7 +256529,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLatestQueueStatuses_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLatestQueueStatuses_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -247112,6 +256546,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -247134,6 +256569,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -247146,10 +256582,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -247184,6 +256622,7 @@
       }
     }
 
+    @Override
     public getLatestQueueStatuses_args deepCopy() {
       return new getLatestQueueStatuses_args(this);
     }
@@ -247193,11 +256632,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getLatestQueueStatuses_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getLatestQueueStatuses_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -247217,7 +256657,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -247230,6 +256671,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -247240,6 +256683,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -247254,8 +256698,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLatestQueueStatuses_args)
         return this.equals((getLatestQueueStatuses_args)that);
       return false;
@@ -247298,7 +256740,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -247311,14 +256753,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -247367,6 +256813,7 @@
     }
 
     private static class getLatestQueueStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_argsStandardScheme getScheme() {
         return new getLatestQueueStatuses_argsStandardScheme();
       }
@@ -247374,6 +256821,7 @@
 
     private static class getLatestQueueStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLatestQueueStatuses_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLatestQueueStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -247404,6 +256852,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLatestQueueStatuses_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -247420,6 +256869,7 @@
     }
 
     private static class getLatestQueueStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_argsTupleScheme getScheme() {
         return new getLatestQueueStatuses_argsTupleScheme();
       }
@@ -247447,6 +256897,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLatestQueueStatuses_result implements org.apache.thrift.TBase<getLatestQueueStatuses_result, getLatestQueueStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLatestQueueStatuses_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLatestQueueStatuses_result");
 
@@ -247459,11 +256910,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLatestQueueStatuses_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLatestQueueStatuses_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.status.QueueStatusModel> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.QueueStatusModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -247484,6 +256935,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -247514,6 +256966,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -247526,10 +256979,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -247597,6 +257052,7 @@
       }
     }
 
+    @Override
     public getLatestQueueStatuses_result deepCopy() {
       return new getLatestQueueStatuses_result(this);
     }
@@ -247614,6 +257070,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.status.QueueStatusModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -247625,11 +257082,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.status.QueueStatusModel> getSuccess() {
       return this.success;
     }
 
-    public getLatestQueueStatuses_result setSuccess(java.util.List<org.apache.airavata.model.status.QueueStatusModel> success) {
+    public getLatestQueueStatuses_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.QueueStatusModel> success) {
       this.success = success;
       return this;
     }
@@ -247649,11 +257107,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getLatestQueueStatuses_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getLatestQueueStatuses_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -247673,11 +257132,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getLatestQueueStatuses_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getLatestQueueStatuses_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -247697,11 +257157,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getLatestQueueStatuses_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getLatestQueueStatuses_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -247721,11 +257182,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getLatestQueueStatuses_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getLatestQueueStatuses_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -247745,7 +257207,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -247790,6 +257253,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -247812,6 +257277,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -247834,8 +257300,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLatestQueueStatuses_result)
         return this.equals((getLatestQueueStatuses_result)that);
       return false;
@@ -247930,7 +257394,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -247940,7 +257404,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -247950,7 +257414,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -247960,7 +257424,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -247970,7 +257434,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -247983,10 +257447,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -248065,6 +257532,7 @@
     }
 
     private static class getLatestQueueStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_resultStandardScheme getScheme() {
         return new getLatestQueueStatuses_resultStandardScheme();
       }
@@ -248072,6 +257540,7 @@
 
     private static class getLatestQueueStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLatestQueueStatuses_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLatestQueueStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -248087,7 +257556,7 @@
                 {
                   org.apache.thrift.protocol.TList _list330 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list330.size);
-                  org.apache.airavata.model.status.QueueStatusModel _elem331;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel _elem331;
                   for (int _i332 = 0; _i332 < _list330.size; ++_i332)
                   {
                     _elem331 = new org.apache.airavata.model.status.QueueStatusModel();
@@ -248148,6 +257617,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLatestQueueStatuses_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -248191,6 +257661,7 @@
     }
 
     private static class getLatestQueueStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_resultTupleScheme getScheme() {
         return new getLatestQueueStatuses_resultTupleScheme();
       }
@@ -248247,9 +257718,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list335 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list335 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list335.size);
-            org.apache.airavata.model.status.QueueStatusModel _elem336;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel _elem336;
             for (int _i337 = 0; _i337 < _list335.size; ++_i337)
             {
               _elem336 = new org.apache.airavata.model.status.QueueStatusModel();
@@ -248287,6 +257758,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerDataProduct_args implements org.apache.thrift.TBase<registerDataProduct_args, registerDataProduct_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerDataProduct_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerDataProduct_args");
 
@@ -248296,8 +257768,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerDataProduct_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerDataProduct_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.data.replica.DataProductModel dataProductModel; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel dataProductModel; // 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 {
@@ -248315,6 +257787,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -248339,6 +257812,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -248351,10 +257825,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -248396,6 +257872,7 @@
       }
     }
 
+    @Override
     public registerDataProduct_args deepCopy() {
       return new registerDataProduct_args(this);
     }
@@ -248406,11 +257883,12 @@
       this.dataProductModel = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerDataProduct_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerDataProduct_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -248430,11 +257908,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataProductModel getDataProductModel() {
       return this.dataProductModel;
     }
 
-    public registerDataProduct_args setDataProductModel(org.apache.airavata.model.data.replica.DataProductModel dataProductModel) {
+    public registerDataProduct_args setDataProductModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel dataProductModel) {
       this.dataProductModel = dataProductModel;
       return this;
     }
@@ -248454,7 +257933,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -248475,6 +257955,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -248488,6 +257970,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -248504,8 +257987,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerDataProduct_args)
         return this.equals((registerDataProduct_args)that);
       return false;
@@ -248561,7 +258042,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -248571,7 +258052,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataProductModel()).compareTo(other.isSetDataProductModel());
+      lastComparison = java.lang.Boolean.compare(isSetDataProductModel(), other.isSetDataProductModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -248584,14 +258065,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -248654,6 +258139,7 @@
     }
 
     private static class registerDataProduct_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_argsStandardScheme getScheme() {
         return new registerDataProduct_argsStandardScheme();
       }
@@ -248661,6 +258147,7 @@
 
     private static class registerDataProduct_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerDataProduct_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerDataProduct_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -248700,6 +258187,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerDataProduct_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -248721,6 +258209,7 @@
     }
 
     private static class registerDataProduct_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_argsTupleScheme getScheme() {
         return new registerDataProduct_argsTupleScheme();
       }
@@ -248752,6 +258241,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerDataProduct_result implements org.apache.thrift.TBase<registerDataProduct_result, registerDataProduct_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerDataProduct_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerDataProduct_result");
 
@@ -248764,11 +258254,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerDataProduct_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerDataProduct_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -248789,6 +258279,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -248819,6 +258310,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -248831,10 +258323,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -248897,6 +258391,7 @@
       }
     }
 
+    @Override
     public registerDataProduct_result deepCopy() {
       return new registerDataProduct_result(this);
     }
@@ -248910,11 +258405,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerDataProduct_result setSuccess(java.lang.String success) {
+    public registerDataProduct_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -248934,11 +258430,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerDataProduct_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerDataProduct_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -248958,11 +258455,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerDataProduct_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerDataProduct_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -248982,11 +258480,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerDataProduct_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerDataProduct_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -249006,11 +258505,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerDataProduct_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerDataProduct_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -249030,7 +258530,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -249075,6 +258576,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -249097,6 +258600,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -249119,8 +258623,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerDataProduct_result)
         return this.equals((registerDataProduct_result)that);
       return false;
@@ -249215,7 +258717,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249225,7 +258727,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249235,7 +258737,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249245,7 +258747,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249255,7 +258757,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249268,10 +258770,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -249350,6 +258855,7 @@
     }
 
     private static class registerDataProduct_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_resultStandardScheme getScheme() {
         return new registerDataProduct_resultStandardScheme();
       }
@@ -249357,6 +258863,7 @@
 
     private static class registerDataProduct_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerDataProduct_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerDataProduct_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -249422,6 +258929,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerDataProduct_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -249458,6 +258966,7 @@
     }
 
     private static class registerDataProduct_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_resultTupleScheme getScheme() {
         return new registerDataProduct_resultTupleScheme();
       }
@@ -249538,6 +259047,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDataProduct_args implements org.apache.thrift.TBase<getDataProduct_args, getDataProduct_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDataProduct_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDataProduct_args");
 
@@ -249547,8 +259057,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDataProduct_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDataProduct_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String dataProductUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataProductUri; // 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 {
@@ -249566,6 +259076,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -249590,6 +259101,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -249602,10 +259114,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -249647,6 +259161,7 @@
       }
     }
 
+    @Override
     public getDataProduct_args deepCopy() {
       return new getDataProduct_args(this);
     }
@@ -249657,11 +259172,12 @@
       this.dataProductUri = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getDataProduct_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getDataProduct_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -249681,11 +259197,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataProductUri() {
       return this.dataProductUri;
     }
 
-    public getDataProduct_args setDataProductUri(java.lang.String dataProductUri) {
+    public getDataProduct_args setDataProductUri(@org.apache.thrift.annotation.Nullable java.lang.String dataProductUri) {
       this.dataProductUri = dataProductUri;
       return this;
     }
@@ -249705,7 +259222,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -249726,6 +259244,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -249739,6 +259259,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -249755,8 +259276,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDataProduct_args)
         return this.equals((getDataProduct_args)that);
       return false;
@@ -249812,7 +259331,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249822,7 +259341,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataProductUri()).compareTo(other.isSetDataProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetDataProductUri(), other.isSetDataProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -249835,14 +259354,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -249902,6 +259425,7 @@
     }
 
     private static class getDataProduct_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_argsStandardScheme getScheme() {
         return new getDataProduct_argsStandardScheme();
       }
@@ -249909,6 +259433,7 @@
 
     private static class getDataProduct_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDataProduct_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDataProduct_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -249947,6 +259472,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDataProduct_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -249968,6 +259494,7 @@
     }
 
     private static class getDataProduct_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_argsTupleScheme getScheme() {
         return new getDataProduct_argsTupleScheme();
       }
@@ -249998,6 +259525,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDataProduct_result implements org.apache.thrift.TBase<getDataProduct_result, getDataProduct_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDataProduct_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDataProduct_result");
 
@@ -250010,11 +259538,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDataProduct_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDataProduct_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.replica.DataProductModel 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -250035,6 +259563,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -250065,6 +259594,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -250077,10 +259607,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -250143,6 +259675,7 @@
       }
     }
 
+    @Override
     public getDataProduct_result deepCopy() {
       return new getDataProduct_result(this);
     }
@@ -250156,11 +259689,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataProductModel getSuccess() {
       return this.success;
     }
 
-    public getDataProduct_result setSuccess(org.apache.airavata.model.data.replica.DataProductModel success) {
+    public getDataProduct_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success) {
       this.success = success;
       return this;
     }
@@ -250180,11 +259714,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getDataProduct_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getDataProduct_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -250204,11 +259739,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getDataProduct_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getDataProduct_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -250228,11 +259764,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getDataProduct_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getDataProduct_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -250252,11 +259789,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getDataProduct_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getDataProduct_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -250276,7 +259814,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -250321,6 +259860,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -250343,6 +259884,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -250365,8 +259907,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDataProduct_result)
         return this.equals((getDataProduct_result)that);
       return false;
@@ -250461,7 +260001,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -250471,7 +260011,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -250481,7 +260021,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -250491,7 +260031,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -250501,7 +260041,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -250514,10 +260054,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -250599,6 +260142,7 @@
     }
 
     private static class getDataProduct_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_resultStandardScheme getScheme() {
         return new getDataProduct_resultStandardScheme();
       }
@@ -250606,6 +260150,7 @@
 
     private static class getDataProduct_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDataProduct_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDataProduct_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -250672,6 +260217,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDataProduct_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -250708,6 +260254,7 @@
     }
 
     private static class getDataProduct_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_resultTupleScheme getScheme() {
         return new getDataProduct_resultTupleScheme();
       }
@@ -250789,6 +260336,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerReplicaLocation_args implements org.apache.thrift.TBase<registerReplicaLocation_args, registerReplicaLocation_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerReplicaLocation_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerReplicaLocation_args");
 
@@ -250798,8 +260346,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerReplicaLocation_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerReplicaLocation_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel; // 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 {
@@ -250817,6 +260365,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -250841,6 +260390,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -250853,10 +260403,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -250898,6 +260450,7 @@
       }
     }
 
+    @Override
     public registerReplicaLocation_args deepCopy() {
       return new registerReplicaLocation_args(this);
     }
@@ -250908,11 +260461,12 @@
       this.replicaLocationModel = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerReplicaLocation_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerReplicaLocation_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -250932,11 +260486,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataReplicaLocationModel getReplicaLocationModel() {
       return this.replicaLocationModel;
     }
 
-    public registerReplicaLocation_args setReplicaLocationModel(org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) {
+    public registerReplicaLocation_args setReplicaLocationModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) {
       this.replicaLocationModel = replicaLocationModel;
       return this;
     }
@@ -250956,7 +260511,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -250977,6 +260533,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -250990,6 +260548,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -251006,8 +260565,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerReplicaLocation_args)
         return this.equals((registerReplicaLocation_args)that);
       return false;
@@ -251063,7 +260620,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251073,7 +260630,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetReplicaLocationModel()).compareTo(other.isSetReplicaLocationModel());
+      lastComparison = java.lang.Boolean.compare(isSetReplicaLocationModel(), other.isSetReplicaLocationModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251086,14 +260643,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -251156,6 +260717,7 @@
     }
 
     private static class registerReplicaLocation_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_argsStandardScheme getScheme() {
         return new registerReplicaLocation_argsStandardScheme();
       }
@@ -251163,6 +260725,7 @@
 
     private static class registerReplicaLocation_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerReplicaLocation_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerReplicaLocation_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -251202,6 +260765,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerReplicaLocation_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -251223,6 +260787,7 @@
     }
 
     private static class registerReplicaLocation_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_argsTupleScheme getScheme() {
         return new registerReplicaLocation_argsTupleScheme();
       }
@@ -251254,6 +260819,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerReplicaLocation_result implements org.apache.thrift.TBase<registerReplicaLocation_result, registerReplicaLocation_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerReplicaLocation_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerReplicaLocation_result");
 
@@ -251266,11 +260832,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerReplicaLocation_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerReplicaLocation_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -251291,6 +260857,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -251321,6 +260888,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -251333,10 +260901,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -251399,6 +260969,7 @@
       }
     }
 
+    @Override
     public registerReplicaLocation_result deepCopy() {
       return new registerReplicaLocation_result(this);
     }
@@ -251412,11 +260983,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerReplicaLocation_result setSuccess(java.lang.String success) {
+    public registerReplicaLocation_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -251436,11 +261008,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public registerReplicaLocation_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public registerReplicaLocation_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -251460,11 +261033,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public registerReplicaLocation_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public registerReplicaLocation_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -251484,11 +261058,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public registerReplicaLocation_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public registerReplicaLocation_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -251508,11 +261083,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerReplicaLocation_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerReplicaLocation_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -251532,7 +261108,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -251577,6 +261154,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -251599,6 +261178,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -251621,8 +261201,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerReplicaLocation_result)
         return this.equals((registerReplicaLocation_result)that);
       return false;
@@ -251717,7 +261295,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251727,7 +261305,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251737,7 +261315,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251747,7 +261325,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251757,7 +261335,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -251770,10 +261348,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -251852,6 +261433,7 @@
     }
 
     private static class registerReplicaLocation_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_resultStandardScheme getScheme() {
         return new registerReplicaLocation_resultStandardScheme();
       }
@@ -251859,6 +261441,7 @@
 
     private static class registerReplicaLocation_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerReplicaLocation_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerReplicaLocation_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -251924,6 +261507,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerReplicaLocation_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -251960,6 +261544,7 @@
     }
 
     private static class registerReplicaLocation_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_resultTupleScheme getScheme() {
         return new registerReplicaLocation_resultTupleScheme();
       }
@@ -252040,6 +261625,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParentDataProduct_args implements org.apache.thrift.TBase<getParentDataProduct_args, getParentDataProduct_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParentDataProduct_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParentDataProduct_args");
 
@@ -252049,8 +261635,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParentDataProduct_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParentDataProduct_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // 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 {
@@ -252068,6 +261654,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -252092,6 +261679,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -252104,10 +261692,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -252149,6 +261739,7 @@
       }
     }
 
+    @Override
     public getParentDataProduct_args deepCopy() {
       return new getParentDataProduct_args(this);
     }
@@ -252159,11 +261750,12 @@
       this.productUri = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getParentDataProduct_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getParentDataProduct_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -252183,11 +261775,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public getParentDataProduct_args setProductUri(java.lang.String productUri) {
+    public getParentDataProduct_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -252207,7 +261800,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -252228,6 +261822,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -252241,6 +261837,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -252257,8 +261854,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParentDataProduct_args)
         return this.equals((getParentDataProduct_args)that);
       return false;
@@ -252314,7 +261909,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -252324,7 +261919,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -252337,14 +261932,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -252404,6 +262003,7 @@
     }
 
     private static class getParentDataProduct_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_argsStandardScheme getScheme() {
         return new getParentDataProduct_argsStandardScheme();
       }
@@ -252411,6 +262011,7 @@
 
     private static class getParentDataProduct_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParentDataProduct_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParentDataProduct_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -252449,6 +262050,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParentDataProduct_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -252470,6 +262072,7 @@
     }
 
     private static class getParentDataProduct_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_argsTupleScheme getScheme() {
         return new getParentDataProduct_argsTupleScheme();
       }
@@ -252500,6 +262103,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParentDataProduct_result implements org.apache.thrift.TBase<getParentDataProduct_result, getParentDataProduct_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParentDataProduct_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParentDataProduct_result");
 
@@ -252512,11 +262116,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParentDataProduct_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParentDataProduct_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.replica.DataProductModel 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -252537,6 +262141,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -252567,6 +262172,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -252579,10 +262185,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -252645,6 +262253,7 @@
       }
     }
 
+    @Override
     public getParentDataProduct_result deepCopy() {
       return new getParentDataProduct_result(this);
     }
@@ -252658,11 +262267,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataProductModel getSuccess() {
       return this.success;
     }
 
-    public getParentDataProduct_result setSuccess(org.apache.airavata.model.data.replica.DataProductModel success) {
+    public getParentDataProduct_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success) {
       this.success = success;
       return this;
     }
@@ -252682,11 +262292,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getParentDataProduct_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getParentDataProduct_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -252706,11 +262317,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getParentDataProduct_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getParentDataProduct_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -252730,11 +262342,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getParentDataProduct_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getParentDataProduct_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -252754,11 +262367,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getParentDataProduct_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getParentDataProduct_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -252778,7 +262392,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -252823,6 +262438,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -252845,6 +262462,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -252867,8 +262485,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParentDataProduct_result)
         return this.equals((getParentDataProduct_result)that);
       return false;
@@ -252963,7 +262579,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -252973,7 +262589,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -252983,7 +262599,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -252993,7 +262609,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -253003,7 +262619,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -253016,10 +262632,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -253101,6 +262720,7 @@
     }
 
     private static class getParentDataProduct_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_resultStandardScheme getScheme() {
         return new getParentDataProduct_resultStandardScheme();
       }
@@ -253108,6 +262728,7 @@
 
     private static class getParentDataProduct_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParentDataProduct_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParentDataProduct_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -253174,6 +262795,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParentDataProduct_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -253210,6 +262832,7 @@
     }
 
     private static class getParentDataProduct_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_resultTupleScheme getScheme() {
         return new getParentDataProduct_resultTupleScheme();
       }
@@ -253291,6 +262914,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getChildDataProducts_args implements org.apache.thrift.TBase<getChildDataProducts_args, getChildDataProducts_args._Fields>, java.io.Serializable, Cloneable, Comparable<getChildDataProducts_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getChildDataProducts_args");
 
@@ -253300,8 +262924,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getChildDataProducts_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getChildDataProducts_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // 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 {
@@ -253319,6 +262943,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -253343,6 +262968,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -253355,10 +262981,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -253400,6 +263028,7 @@
       }
     }
 
+    @Override
     public getChildDataProducts_args deepCopy() {
       return new getChildDataProducts_args(this);
     }
@@ -253410,11 +263039,12 @@
       this.productUri = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getChildDataProducts_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getChildDataProducts_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -253434,11 +263064,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public getChildDataProducts_args setProductUri(java.lang.String productUri) {
+    public getChildDataProducts_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -253458,7 +263089,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -253479,6 +263111,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -253492,6 +263126,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -253508,8 +263143,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getChildDataProducts_args)
         return this.equals((getChildDataProducts_args)that);
       return false;
@@ -253565,7 +263198,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -253575,7 +263208,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -253588,14 +263221,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -253655,6 +263292,7 @@
     }
 
     private static class getChildDataProducts_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_argsStandardScheme getScheme() {
         return new getChildDataProducts_argsStandardScheme();
       }
@@ -253662,6 +263300,7 @@
 
     private static class getChildDataProducts_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getChildDataProducts_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getChildDataProducts_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -253700,6 +263339,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getChildDataProducts_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -253721,6 +263361,7 @@
     }
 
     private static class getChildDataProducts_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_argsTupleScheme getScheme() {
         return new getChildDataProducts_argsTupleScheme();
       }
@@ -253751,6 +263392,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getChildDataProducts_result implements org.apache.thrift.TBase<getChildDataProducts_result, getChildDataProducts_result._Fields>, java.io.Serializable, Cloneable, Comparable<getChildDataProducts_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getChildDataProducts_result");
 
@@ -253763,11 +263405,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getChildDataProducts_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getChildDataProducts_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -253788,6 +263430,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -253818,6 +263461,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -253830,10 +263474,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -253901,6 +263547,7 @@
       }
     }
 
+    @Override
     public getChildDataProducts_result deepCopy() {
       return new getChildDataProducts_result(this);
     }
@@ -253918,6 +263565,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.data.replica.DataProductModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -253929,11 +263577,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getSuccess() {
       return this.success;
     }
 
-    public getChildDataProducts_result setSuccess(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success) {
+    public getChildDataProducts_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success) {
       this.success = success;
       return this;
     }
@@ -253953,11 +263602,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getChildDataProducts_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getChildDataProducts_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -253977,11 +263627,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getChildDataProducts_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getChildDataProducts_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -254001,11 +263652,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getChildDataProducts_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getChildDataProducts_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -254025,11 +263677,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getChildDataProducts_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getChildDataProducts_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -254049,7 +263702,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -254094,6 +263748,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -254116,6 +263772,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -254138,8 +263795,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getChildDataProducts_result)
         return this.equals((getChildDataProducts_result)that);
       return false;
@@ -254234,7 +263889,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254244,7 +263899,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254254,7 +263909,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254264,7 +263919,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254274,7 +263929,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254287,10 +263942,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -254369,6 +264027,7 @@
     }
 
     private static class getChildDataProducts_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_resultStandardScheme getScheme() {
         return new getChildDataProducts_resultStandardScheme();
       }
@@ -254376,6 +264035,7 @@
 
     private static class getChildDataProducts_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getChildDataProducts_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getChildDataProducts_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -254391,7 +264051,7 @@
                 {
                   org.apache.thrift.protocol.TList _list338 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list338.size);
-                  org.apache.airavata.model.data.replica.DataProductModel _elem339;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel _elem339;
                   for (int _i340 = 0; _i340 < _list338.size; ++_i340)
                   {
                     _elem339 = new org.apache.airavata.model.data.replica.DataProductModel();
@@ -254452,6 +264112,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getChildDataProducts_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -254495,6 +264156,7 @@
     }
 
     private static class getChildDataProducts_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_resultTupleScheme getScheme() {
         return new getChildDataProducts_resultTupleScheme();
       }
@@ -254551,9 +264213,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list343 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list343 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list343.size);
-            org.apache.airavata.model.data.replica.DataProductModel _elem344;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel _elem344;
             for (int _i345 = 0; _i345 < _list343.size; ++_i345)
             {
               _elem344 = new org.apache.airavata.model.data.replica.DataProductModel();
@@ -254591,6 +264253,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareResourceWithUsers_args implements org.apache.thrift.TBase<shareResourceWithUsers_args, shareResourceWithUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<shareResourceWithUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareResourceWithUsers_args");
 
@@ -254601,9 +264264,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new shareResourceWithUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareResourceWithUsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
-    public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList; // 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 {
@@ -254622,6 +264285,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -254648,6 +264312,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -254660,10 +264325,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -254726,6 +264393,7 @@
       }
     }
 
+    @Override
     public shareResourceWithUsers_args deepCopy() {
       return new shareResourceWithUsers_args(this);
     }
@@ -254737,11 +264405,12 @@
       this.userPermissionList = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public shareResourceWithUsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public shareResourceWithUsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -254761,11 +264430,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public shareResourceWithUsers_args setResourceId(java.lang.String resourceId) {
+    public shareResourceWithUsers_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -254796,11 +264466,12 @@
       this.userPermissionList.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> getUserPermissionList() {
       return this.userPermissionList;
     }
 
-    public shareResourceWithUsers_args setUserPermissionList(java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList) {
+    public shareResourceWithUsers_args setUserPermissionList(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList) {
       this.userPermissionList = userPermissionList;
       return this;
     }
@@ -254820,7 +264491,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -254849,6 +264521,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -254865,6 +264539,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -254883,8 +264558,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareResourceWithUsers_args)
         return this.equals((shareResourceWithUsers_args)that);
       return false;
@@ -254953,7 +264626,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254963,7 +264636,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254973,7 +264646,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserPermissionList()).compareTo(other.isSetUserPermissionList());
+      lastComparison = java.lang.Boolean.compare(isSetUserPermissionList(), other.isSetUserPermissionList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -254986,14 +264659,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -255061,6 +264738,7 @@
     }
 
     private static class shareResourceWithUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithUsers_argsStandardScheme getScheme() {
         return new shareResourceWithUsers_argsStandardScheme();
       }
@@ -255068,6 +264746,7 @@
 
     private static class shareResourceWithUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareResourceWithUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareResourceWithUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -255100,8 +264779,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map346 = iprot.readMapBegin();
                   struct.userPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map346.size);
-                  java.lang.String _key347;
-                  org.apache.airavata.model.group.ResourcePermissionType _val348;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key347;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val348;
                   for (int _i349 = 0; _i349 < _map346.size; ++_i349)
                   {
                     _key347 = iprot.readString();
@@ -255126,6 +264805,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareResourceWithUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -255160,6 +264840,7 @@
     }
 
     private static class shareResourceWithUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithUsers_argsTupleScheme getScheme() {
         return new shareResourceWithUsers_argsTupleScheme();
       }
@@ -255200,10 +264881,10 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map352 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map352 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
             struct.userPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map352.size);
-            java.lang.String _key353;
-            org.apache.airavata.model.group.ResourcePermissionType _val354;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key353;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val354;
             for (int _i355 = 0; _i355 < _map352.size; ++_i355)
             {
               _key353 = iprot.readString();
@@ -255221,6 +264902,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareResourceWithUsers_result implements org.apache.thrift.TBase<shareResourceWithUsers_result, shareResourceWithUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<shareResourceWithUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareResourceWithUsers_result");
 
@@ -255234,10 +264916,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareResourceWithUsers_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -255258,6 +264940,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -255288,6 +264971,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -255300,10 +264984,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -255368,6 +265054,7 @@
       }
     }
 
+    @Override
     public shareResourceWithUsers_result deepCopy() {
       return new shareResourceWithUsers_result(this);
     }
@@ -255405,11 +265092,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public shareResourceWithUsers_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public shareResourceWithUsers_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -255429,11 +265117,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public shareResourceWithUsers_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public shareResourceWithUsers_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -255453,11 +265142,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public shareResourceWithUsers_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public shareResourceWithUsers_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -255477,11 +265167,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public shareResourceWithUsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public shareResourceWithUsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -255501,7 +265192,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -255546,6 +265238,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -255568,6 +265262,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -255590,8 +265285,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareResourceWithUsers_result)
         return this.equals((shareResourceWithUsers_result)that);
       return false;
@@ -255684,7 +265377,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -255694,7 +265387,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -255704,7 +265397,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -255714,7 +265407,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -255724,7 +265417,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -255737,10 +265430,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -255817,6 +265513,7 @@
     }
 
     private static class shareResourceWithUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithUsers_resultStandardScheme getScheme() {
         return new shareResourceWithUsers_resultStandardScheme();
       }
@@ -255824,6 +265521,7 @@
 
     private static class shareResourceWithUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareResourceWithUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareResourceWithUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -255889,6 +265587,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareResourceWithUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -255925,6 +265624,7 @@
     }
 
     private static class shareResourceWithUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithUsers_resultTupleScheme getScheme() {
         return new shareResourceWithUsers_resultTupleScheme();
       }
@@ -256005,6 +265705,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareResourceWithGroups_args implements org.apache.thrift.TBase<shareResourceWithGroups_args, shareResourceWithGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<shareResourceWithGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareResourceWithGroups_args");
 
@@ -256015,9 +265716,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new shareResourceWithGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareResourceWithGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
-    public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList; // 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 {
@@ -256036,6 +265737,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -256062,6 +265764,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -256074,10 +265777,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -256140,6 +265845,7 @@
       }
     }
 
+    @Override
     public shareResourceWithGroups_args deepCopy() {
       return new shareResourceWithGroups_args(this);
     }
@@ -256151,11 +265857,12 @@
       this.groupPermissionList = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public shareResourceWithGroups_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public shareResourceWithGroups_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -256175,11 +265882,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public shareResourceWithGroups_args setResourceId(java.lang.String resourceId) {
+    public shareResourceWithGroups_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -256210,11 +265918,12 @@
       this.groupPermissionList.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> getGroupPermissionList() {
       return this.groupPermissionList;
     }
 
-    public shareResourceWithGroups_args setGroupPermissionList(java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList) {
+    public shareResourceWithGroups_args setGroupPermissionList(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList) {
       this.groupPermissionList = groupPermissionList;
       return this;
     }
@@ -256234,7 +265943,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -256263,6 +265973,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -256279,6 +265991,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -256297,8 +266010,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareResourceWithGroups_args)
         return this.equals((shareResourceWithGroups_args)that);
       return false;
@@ -256367,7 +266078,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -256377,7 +266088,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -256387,7 +266098,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupPermissionList()).compareTo(other.isSetGroupPermissionList());
+      lastComparison = java.lang.Boolean.compare(isSetGroupPermissionList(), other.isSetGroupPermissionList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -256400,14 +266111,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -256475,6 +266190,7 @@
     }
 
     private static class shareResourceWithGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithGroups_argsStandardScheme getScheme() {
         return new shareResourceWithGroups_argsStandardScheme();
       }
@@ -256482,6 +266198,7 @@
 
     private static class shareResourceWithGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareResourceWithGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareResourceWithGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -256514,8 +266231,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map356 = iprot.readMapBegin();
                   struct.groupPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map356.size);
-                  java.lang.String _key357;
-                  org.apache.airavata.model.group.ResourcePermissionType _val358;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key357;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val358;
                   for (int _i359 = 0; _i359 < _map356.size; ++_i359)
                   {
                     _key357 = iprot.readString();
@@ -256540,6 +266257,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareResourceWithGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -256574,6 +266292,7 @@
     }
 
     private static class shareResourceWithGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithGroups_argsTupleScheme getScheme() {
         return new shareResourceWithGroups_argsTupleScheme();
       }
@@ -256614,10 +266333,10 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map362 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map362 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
             struct.groupPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map362.size);
-            java.lang.String _key363;
-            org.apache.airavata.model.group.ResourcePermissionType _val364;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key363;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val364;
             for (int _i365 = 0; _i365 < _map362.size; ++_i365)
             {
               _key363 = iprot.readString();
@@ -256635,6 +266354,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareResourceWithGroups_result implements org.apache.thrift.TBase<shareResourceWithGroups_result, shareResourceWithGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<shareResourceWithGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareResourceWithGroups_result");
 
@@ -256648,10 +266368,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareResourceWithGroups_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -256672,6 +266392,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -256702,6 +266423,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -256714,10 +266436,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -256782,6 +266506,7 @@
       }
     }
 
+    @Override
     public shareResourceWithGroups_result deepCopy() {
       return new shareResourceWithGroups_result(this);
     }
@@ -256819,11 +266544,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public shareResourceWithGroups_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public shareResourceWithGroups_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -256843,11 +266569,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public shareResourceWithGroups_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public shareResourceWithGroups_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -256867,11 +266594,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public shareResourceWithGroups_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public shareResourceWithGroups_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -256891,11 +266619,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public shareResourceWithGroups_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public shareResourceWithGroups_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -256915,7 +266644,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -256960,6 +266690,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -256982,6 +266714,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -257004,8 +266737,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareResourceWithGroups_result)
         return this.equals((shareResourceWithGroups_result)that);
       return false;
@@ -257098,7 +266829,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257108,7 +266839,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257118,7 +266849,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257128,7 +266859,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257138,7 +266869,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257151,10 +266882,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -257231,6 +266965,7 @@
     }
 
     private static class shareResourceWithGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithGroups_resultStandardScheme getScheme() {
         return new shareResourceWithGroups_resultStandardScheme();
       }
@@ -257238,6 +266973,7 @@
 
     private static class shareResourceWithGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareResourceWithGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareResourceWithGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -257303,6 +267039,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareResourceWithGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -257339,6 +267076,7 @@
     }
 
     private static class shareResourceWithGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareResourceWithGroups_resultTupleScheme getScheme() {
         return new shareResourceWithGroups_resultTupleScheme();
       }
@@ -257419,6 +267157,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeSharingOfResourceFromUsers_args implements org.apache.thrift.TBase<revokeSharingOfResourceFromUsers_args, revokeSharingOfResourceFromUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<revokeSharingOfResourceFromUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeSharingOfResourceFromUsers_args");
 
@@ -257429,9 +267168,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeSharingOfResourceFromUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeSharingOfResourceFromUsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
-    public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList; // 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 {
@@ -257450,6 +267189,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -257476,6 +267216,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -257488,10 +267229,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -257554,6 +267297,7 @@
       }
     }
 
+    @Override
     public revokeSharingOfResourceFromUsers_args deepCopy() {
       return new revokeSharingOfResourceFromUsers_args(this);
     }
@@ -257565,11 +267309,12 @@
       this.userPermissionList = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public revokeSharingOfResourceFromUsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public revokeSharingOfResourceFromUsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -257589,11 +267334,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public revokeSharingOfResourceFromUsers_args setResourceId(java.lang.String resourceId) {
+    public revokeSharingOfResourceFromUsers_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -257624,11 +267370,12 @@
       this.userPermissionList.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> getUserPermissionList() {
       return this.userPermissionList;
     }
 
-    public revokeSharingOfResourceFromUsers_args setUserPermissionList(java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList) {
+    public revokeSharingOfResourceFromUsers_args setUserPermissionList(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> userPermissionList) {
       this.userPermissionList = userPermissionList;
       return this;
     }
@@ -257648,7 +267395,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -257677,6 +267425,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -257693,6 +267443,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -257711,8 +267462,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeSharingOfResourceFromUsers_args)
         return this.equals((revokeSharingOfResourceFromUsers_args)that);
       return false;
@@ -257781,7 +267530,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257791,7 +267540,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257801,7 +267550,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserPermissionList()).compareTo(other.isSetUserPermissionList());
+      lastComparison = java.lang.Boolean.compare(isSetUserPermissionList(), other.isSetUserPermissionList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -257814,14 +267563,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -257889,6 +267642,7 @@
     }
 
     private static class revokeSharingOfResourceFromUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromUsers_argsStandardScheme getScheme() {
         return new revokeSharingOfResourceFromUsers_argsStandardScheme();
       }
@@ -257896,6 +267650,7 @@
 
     private static class revokeSharingOfResourceFromUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeSharingOfResourceFromUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeSharingOfResourceFromUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -257928,8 +267683,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map366 = iprot.readMapBegin();
                   struct.userPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map366.size);
-                  java.lang.String _key367;
-                  org.apache.airavata.model.group.ResourcePermissionType _val368;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key367;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val368;
                   for (int _i369 = 0; _i369 < _map366.size; ++_i369)
                   {
                     _key367 = iprot.readString();
@@ -257954,6 +267709,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeSharingOfResourceFromUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -257988,6 +267744,7 @@
     }
 
     private static class revokeSharingOfResourceFromUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromUsers_argsTupleScheme getScheme() {
         return new revokeSharingOfResourceFromUsers_argsTupleScheme();
       }
@@ -258028,10 +267785,10 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map372 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map372 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
             struct.userPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map372.size);
-            java.lang.String _key373;
-            org.apache.airavata.model.group.ResourcePermissionType _val374;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key373;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val374;
             for (int _i375 = 0; _i375 < _map372.size; ++_i375)
             {
               _key373 = iprot.readString();
@@ -258049,6 +267806,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeSharingOfResourceFromUsers_result implements org.apache.thrift.TBase<revokeSharingOfResourceFromUsers_result, revokeSharingOfResourceFromUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<revokeSharingOfResourceFromUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeSharingOfResourceFromUsers_result");
 
@@ -258062,10 +267820,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeSharingOfResourceFromUsers_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -258086,6 +267844,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -258116,6 +267875,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -258128,10 +267888,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -258196,6 +267958,7 @@
       }
     }
 
+    @Override
     public revokeSharingOfResourceFromUsers_result deepCopy() {
       return new revokeSharingOfResourceFromUsers_result(this);
     }
@@ -258233,11 +267996,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public revokeSharingOfResourceFromUsers_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public revokeSharingOfResourceFromUsers_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -258257,11 +268021,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public revokeSharingOfResourceFromUsers_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public revokeSharingOfResourceFromUsers_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -258281,11 +268046,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public revokeSharingOfResourceFromUsers_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public revokeSharingOfResourceFromUsers_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -258305,11 +268071,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public revokeSharingOfResourceFromUsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public revokeSharingOfResourceFromUsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -258329,7 +268096,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -258374,6 +268142,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -258396,6 +268166,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -258418,8 +268189,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeSharingOfResourceFromUsers_result)
         return this.equals((revokeSharingOfResourceFromUsers_result)that);
       return false;
@@ -258512,7 +268281,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -258522,7 +268291,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -258532,7 +268301,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -258542,7 +268311,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -258552,7 +268321,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -258565,10 +268334,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -258645,6 +268417,7 @@
     }
 
     private static class revokeSharingOfResourceFromUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromUsers_resultStandardScheme getScheme() {
         return new revokeSharingOfResourceFromUsers_resultStandardScheme();
       }
@@ -258652,6 +268425,7 @@
 
     private static class revokeSharingOfResourceFromUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeSharingOfResourceFromUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeSharingOfResourceFromUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -258717,6 +268491,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeSharingOfResourceFromUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -258753,6 +268528,7 @@
     }
 
     private static class revokeSharingOfResourceFromUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromUsers_resultTupleScheme getScheme() {
         return new revokeSharingOfResourceFromUsers_resultTupleScheme();
       }
@@ -258833,6 +268609,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeSharingOfResourceFromGroups_args implements org.apache.thrift.TBase<revokeSharingOfResourceFromGroups_args, revokeSharingOfResourceFromGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<revokeSharingOfResourceFromGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeSharingOfResourceFromGroups_args");
 
@@ -258843,9 +268620,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeSharingOfResourceFromGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeSharingOfResourceFromGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
-    public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList; // 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 {
@@ -258864,6 +268641,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -258890,6 +268668,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -258902,10 +268681,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -258968,6 +268749,7 @@
       }
     }
 
+    @Override
     public revokeSharingOfResourceFromGroups_args deepCopy() {
       return new revokeSharingOfResourceFromGroups_args(this);
     }
@@ -258979,11 +268761,12 @@
       this.groupPermissionList = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public revokeSharingOfResourceFromGroups_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public revokeSharingOfResourceFromGroups_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -259003,11 +268786,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public revokeSharingOfResourceFromGroups_args setResourceId(java.lang.String resourceId) {
+    public revokeSharingOfResourceFromGroups_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -259038,11 +268822,12 @@
       this.groupPermissionList.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> getGroupPermissionList() {
       return this.groupPermissionList;
     }
 
-    public revokeSharingOfResourceFromGroups_args setGroupPermissionList(java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList) {
+    public revokeSharingOfResourceFromGroups_args setGroupPermissionList(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType> groupPermissionList) {
       this.groupPermissionList = groupPermissionList;
       return this;
     }
@@ -259062,7 +268847,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -259091,6 +268877,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -259107,6 +268895,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -259125,8 +268914,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeSharingOfResourceFromGroups_args)
         return this.equals((revokeSharingOfResourceFromGroups_args)that);
       return false;
@@ -259195,7 +268982,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259205,7 +268992,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259215,7 +269002,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupPermissionList()).compareTo(other.isSetGroupPermissionList());
+      lastComparison = java.lang.Boolean.compare(isSetGroupPermissionList(), other.isSetGroupPermissionList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259228,14 +269015,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -259303,6 +269094,7 @@
     }
 
     private static class revokeSharingOfResourceFromGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromGroups_argsStandardScheme getScheme() {
         return new revokeSharingOfResourceFromGroups_argsStandardScheme();
       }
@@ -259310,6 +269102,7 @@
 
     private static class revokeSharingOfResourceFromGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeSharingOfResourceFromGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeSharingOfResourceFromGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -259342,8 +269135,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map376 = iprot.readMapBegin();
                   struct.groupPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map376.size);
-                  java.lang.String _key377;
-                  org.apache.airavata.model.group.ResourcePermissionType _val378;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key377;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val378;
                   for (int _i379 = 0; _i379 < _map376.size; ++_i379)
                   {
                     _key377 = iprot.readString();
@@ -259368,6 +269161,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeSharingOfResourceFromGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -259402,6 +269196,7 @@
     }
 
     private static class revokeSharingOfResourceFromGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromGroups_argsTupleScheme getScheme() {
         return new revokeSharingOfResourceFromGroups_argsTupleScheme();
       }
@@ -259442,10 +269237,10 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map382 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map382 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
             struct.groupPermissionList = new java.util.HashMap<java.lang.String,org.apache.airavata.model.group.ResourcePermissionType>(2*_map382.size);
-            java.lang.String _key383;
-            org.apache.airavata.model.group.ResourcePermissionType _val384;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key383;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType _val384;
             for (int _i385 = 0; _i385 < _map382.size; ++_i385)
             {
               _key383 = iprot.readString();
@@ -259463,6 +269258,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeSharingOfResourceFromGroups_result implements org.apache.thrift.TBase<revokeSharingOfResourceFromGroups_result, revokeSharingOfResourceFromGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<revokeSharingOfResourceFromGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeSharingOfResourceFromGroups_result");
 
@@ -259476,10 +269272,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeSharingOfResourceFromGroups_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -259500,6 +269296,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -259530,6 +269327,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -259542,10 +269340,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -259610,6 +269410,7 @@
       }
     }
 
+    @Override
     public revokeSharingOfResourceFromGroups_result deepCopy() {
       return new revokeSharingOfResourceFromGroups_result(this);
     }
@@ -259647,11 +269448,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public revokeSharingOfResourceFromGroups_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public revokeSharingOfResourceFromGroups_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -259671,11 +269473,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public revokeSharingOfResourceFromGroups_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public revokeSharingOfResourceFromGroups_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -259695,11 +269498,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public revokeSharingOfResourceFromGroups_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public revokeSharingOfResourceFromGroups_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -259719,11 +269523,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public revokeSharingOfResourceFromGroups_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public revokeSharingOfResourceFromGroups_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -259743,7 +269548,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -259788,6 +269594,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -259810,6 +269618,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -259832,8 +269641,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeSharingOfResourceFromGroups_result)
         return this.equals((revokeSharingOfResourceFromGroups_result)that);
       return false;
@@ -259926,7 +269733,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259936,7 +269743,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259946,7 +269753,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259956,7 +269763,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259966,7 +269773,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -259979,10 +269786,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -260059,6 +269869,7 @@
     }
 
     private static class revokeSharingOfResourceFromGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromGroups_resultStandardScheme getScheme() {
         return new revokeSharingOfResourceFromGroups_resultStandardScheme();
       }
@@ -260066,6 +269877,7 @@
 
     private static class revokeSharingOfResourceFromGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeSharingOfResourceFromGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeSharingOfResourceFromGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -260131,6 +269943,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeSharingOfResourceFromGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -260167,6 +269980,7 @@
     }
 
     private static class revokeSharingOfResourceFromGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeSharingOfResourceFromGroups_resultTupleScheme getScheme() {
         return new revokeSharingOfResourceFromGroups_resultTupleScheme();
       }
@@ -260247,6 +270061,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAccessibleUsers_args implements org.apache.thrift.TBase<getAllAccessibleUsers_args, getAllAccessibleUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAccessibleUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAccessibleUsers_args");
 
@@ -260257,13 +270072,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAccessibleUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAccessibleUsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
     /**
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public org.apache.airavata.model.group.ResourcePermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType; // 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 {
@@ -260286,6 +270101,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -260312,6 +270128,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -260324,10 +270141,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -260376,6 +270195,7 @@
       }
     }
 
+    @Override
     public getAllAccessibleUsers_args deepCopy() {
       return new getAllAccessibleUsers_args(this);
     }
@@ -260387,11 +270207,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllAccessibleUsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllAccessibleUsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -260411,11 +270232,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public getAllAccessibleUsers_args setResourceId(java.lang.String resourceId) {
+    public getAllAccessibleUsers_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -260439,6 +270261,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.ResourcePermissionType getPermissionType() {
       return this.permissionType;
     }
@@ -260447,7 +270270,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public getAllAccessibleUsers_args setPermissionType(org.apache.airavata.model.group.ResourcePermissionType permissionType) {
+    public getAllAccessibleUsers_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -260467,7 +270290,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -260496,6 +270320,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -260512,6 +270338,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -260530,8 +270357,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAccessibleUsers_args)
         return this.equals((getAllAccessibleUsers_args)that);
       return false;
@@ -260600,7 +270425,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -260610,7 +270435,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -260620,7 +270445,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -260633,14 +270458,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -260711,6 +270540,7 @@
     }
 
     private static class getAllAccessibleUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleUsers_argsStandardScheme getScheme() {
         return new getAllAccessibleUsers_argsStandardScheme();
       }
@@ -260718,6 +270548,7 @@
 
     private static class getAllAccessibleUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAccessibleUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAccessibleUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -260764,6 +270595,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAccessibleUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -260790,6 +270622,7 @@
     }
 
     private static class getAllAccessibleUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleUsers_argsTupleScheme getScheme() {
         return new getAllAccessibleUsers_argsTupleScheme();
       }
@@ -260823,6 +270656,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAccessibleUsers_result implements org.apache.thrift.TBase<getAllAccessibleUsers_result, getAllAccessibleUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAccessibleUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAccessibleUsers_result");
 
@@ -260835,11 +270669,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAccessibleUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAccessibleUsers_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -260860,6 +270694,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -260890,6 +270725,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -260902,10 +270738,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -260970,6 +270808,7 @@
       }
     }
 
+    @Override
     public getAllAccessibleUsers_result deepCopy() {
       return new getAllAccessibleUsers_result(this);
     }
@@ -260987,6 +270826,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -260998,11 +270838,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllAccessibleUsers_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAllAccessibleUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -261022,11 +270863,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllAccessibleUsers_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllAccessibleUsers_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -261046,11 +270888,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllAccessibleUsers_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllAccessibleUsers_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -261070,11 +270913,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllAccessibleUsers_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllAccessibleUsers_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -261094,11 +270938,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllAccessibleUsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllAccessibleUsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -261118,7 +270963,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -261163,6 +271009,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -261185,6 +271033,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -261207,8 +271056,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAccessibleUsers_result)
         return this.equals((getAllAccessibleUsers_result)that);
       return false;
@@ -261303,7 +271150,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -261313,7 +271160,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -261323,7 +271170,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -261333,7 +271180,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -261343,7 +271190,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -261356,10 +271203,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -261438,6 +271288,7 @@
     }
 
     private static class getAllAccessibleUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleUsers_resultStandardScheme getScheme() {
         return new getAllAccessibleUsers_resultStandardScheme();
       }
@@ -261445,6 +271296,7 @@
 
     private static class getAllAccessibleUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAccessibleUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAccessibleUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -261460,7 +271312,7 @@
                 {
                   org.apache.thrift.protocol.TList _list386 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list386.size);
-                  java.lang.String _elem387;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem387;
                   for (int _i388 = 0; _i388 < _list386.size; ++_i388)
                   {
                     _elem387 = iprot.readString();
@@ -261520,6 +271372,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAccessibleUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -261563,6 +271416,7 @@
     }
 
     private static class getAllAccessibleUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleUsers_resultTupleScheme getScheme() {
         return new getAllAccessibleUsers_resultTupleScheme();
       }
@@ -261619,9 +271473,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list391 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list391 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list391.size);
-            java.lang.String _elem392;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem392;
             for (int _i393 = 0; _i393 < _list391.size; ++_i393)
             {
               _elem392 = iprot.readString();
@@ -261658,6 +271512,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAccessibleGroups_args implements org.apache.thrift.TBase<getAllAccessibleGroups_args, getAllAccessibleGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAccessibleGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAccessibleGroups_args");
 
@@ -261668,13 +271523,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAccessibleGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAccessibleGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
     /**
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public org.apache.airavata.model.group.ResourcePermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType; // 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 {
@@ -261697,6 +271552,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -261723,6 +271579,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -261735,10 +271592,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -261787,6 +271646,7 @@
       }
     }
 
+    @Override
     public getAllAccessibleGroups_args deepCopy() {
       return new getAllAccessibleGroups_args(this);
     }
@@ -261798,11 +271658,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllAccessibleGroups_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllAccessibleGroups_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -261822,11 +271683,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public getAllAccessibleGroups_args setResourceId(java.lang.String resourceId) {
+    public getAllAccessibleGroups_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -261850,6 +271712,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.ResourcePermissionType getPermissionType() {
       return this.permissionType;
     }
@@ -261858,7 +271721,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public getAllAccessibleGroups_args setPermissionType(org.apache.airavata.model.group.ResourcePermissionType permissionType) {
+    public getAllAccessibleGroups_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -261878,7 +271741,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -261907,6 +271771,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -261923,6 +271789,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -261941,8 +271808,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAccessibleGroups_args)
         return this.equals((getAllAccessibleGroups_args)that);
       return false;
@@ -262011,7 +271876,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262021,7 +271886,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262031,7 +271896,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262044,14 +271909,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -262122,6 +271991,7 @@
     }
 
     private static class getAllAccessibleGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleGroups_argsStandardScheme getScheme() {
         return new getAllAccessibleGroups_argsStandardScheme();
       }
@@ -262129,6 +271999,7 @@
 
     private static class getAllAccessibleGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAccessibleGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAccessibleGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -262175,6 +272046,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAccessibleGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -262201,6 +272073,7 @@
     }
 
     private static class getAllAccessibleGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleGroups_argsTupleScheme getScheme() {
         return new getAllAccessibleGroups_argsTupleScheme();
       }
@@ -262234,6 +272107,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAccessibleGroups_result implements org.apache.thrift.TBase<getAllAccessibleGroups_result, getAllAccessibleGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAccessibleGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAccessibleGroups_result");
 
@@ -262246,11 +272120,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAccessibleGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAccessibleGroups_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -262271,6 +272145,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -262301,6 +272176,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -262313,10 +272189,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -262381,6 +272259,7 @@
       }
     }
 
+    @Override
     public getAllAccessibleGroups_result deepCopy() {
       return new getAllAccessibleGroups_result(this);
     }
@@ -262398,6 +272277,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -262409,11 +272289,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllAccessibleGroups_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAllAccessibleGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -262433,11 +272314,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllAccessibleGroups_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllAccessibleGroups_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -262457,11 +272339,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllAccessibleGroups_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllAccessibleGroups_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -262481,11 +272364,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllAccessibleGroups_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllAccessibleGroups_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -262505,11 +272389,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllAccessibleGroups_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllAccessibleGroups_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -262529,7 +272414,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -262574,6 +272460,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -262596,6 +272484,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -262618,8 +272507,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAccessibleGroups_result)
         return this.equals((getAllAccessibleGroups_result)that);
       return false;
@@ -262714,7 +272601,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262724,7 +272611,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262734,7 +272621,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262744,7 +272631,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262754,7 +272641,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -262767,10 +272654,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -262849,6 +272739,7 @@
     }
 
     private static class getAllAccessibleGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleGroups_resultStandardScheme getScheme() {
         return new getAllAccessibleGroups_resultStandardScheme();
       }
@@ -262856,6 +272747,7 @@
 
     private static class getAllAccessibleGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAccessibleGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAccessibleGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -262871,7 +272763,7 @@
                 {
                   org.apache.thrift.protocol.TList _list394 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list394.size);
-                  java.lang.String _elem395;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem395;
                   for (int _i396 = 0; _i396 < _list394.size; ++_i396)
                   {
                     _elem395 = iprot.readString();
@@ -262931,6 +272823,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAccessibleGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -262974,6 +272867,7 @@
     }
 
     private static class getAllAccessibleGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAccessibleGroups_resultTupleScheme getScheme() {
         return new getAllAccessibleGroups_resultTupleScheme();
       }
@@ -263030,9 +272924,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list399 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list399 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list399.size);
-            java.lang.String _elem400;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem400;
             for (int _i401 = 0; _i401 < _list399.size; ++_i401)
             {
               _elem400 = iprot.readString();
@@ -263069,6 +272963,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllDirectlyAccessibleUsers_args implements org.apache.thrift.TBase<getAllDirectlyAccessibleUsers_args, getAllDirectlyAccessibleUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllDirectlyAccessibleUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllDirectlyAccessibleUsers_args");
 
@@ -263079,13 +272974,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllDirectlyAccessibleUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllDirectlyAccessibleUsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
     /**
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public org.apache.airavata.model.group.ResourcePermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType; // 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 {
@@ -263108,6 +273003,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -263134,6 +273030,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -263146,10 +273043,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -263198,6 +273097,7 @@
       }
     }
 
+    @Override
     public getAllDirectlyAccessibleUsers_args deepCopy() {
       return new getAllDirectlyAccessibleUsers_args(this);
     }
@@ -263209,11 +273109,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllDirectlyAccessibleUsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllDirectlyAccessibleUsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -263233,11 +273134,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public getAllDirectlyAccessibleUsers_args setResourceId(java.lang.String resourceId) {
+    public getAllDirectlyAccessibleUsers_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -263261,6 +273163,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.ResourcePermissionType getPermissionType() {
       return this.permissionType;
     }
@@ -263269,7 +273172,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public getAllDirectlyAccessibleUsers_args setPermissionType(org.apache.airavata.model.group.ResourcePermissionType permissionType) {
+    public getAllDirectlyAccessibleUsers_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -263289,7 +273192,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -263318,6 +273222,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -263334,6 +273240,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -263352,8 +273259,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllDirectlyAccessibleUsers_args)
         return this.equals((getAllDirectlyAccessibleUsers_args)that);
       return false;
@@ -263422,7 +273327,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -263432,7 +273337,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -263442,7 +273347,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -263455,14 +273360,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -263533,6 +273442,7 @@
     }
 
     private static class getAllDirectlyAccessibleUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleUsers_argsStandardScheme getScheme() {
         return new getAllDirectlyAccessibleUsers_argsStandardScheme();
       }
@@ -263540,6 +273450,7 @@
 
     private static class getAllDirectlyAccessibleUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllDirectlyAccessibleUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllDirectlyAccessibleUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -263586,6 +273497,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllDirectlyAccessibleUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -263612,6 +273524,7 @@
     }
 
     private static class getAllDirectlyAccessibleUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleUsers_argsTupleScheme getScheme() {
         return new getAllDirectlyAccessibleUsers_argsTupleScheme();
       }
@@ -263645,6 +273558,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllDirectlyAccessibleUsers_result implements org.apache.thrift.TBase<getAllDirectlyAccessibleUsers_result, getAllDirectlyAccessibleUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllDirectlyAccessibleUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllDirectlyAccessibleUsers_result");
 
@@ -263657,11 +273571,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllDirectlyAccessibleUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllDirectlyAccessibleUsers_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -263682,6 +273596,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -263712,6 +273627,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -263724,10 +273640,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -263792,6 +273710,7 @@
       }
     }
 
+    @Override
     public getAllDirectlyAccessibleUsers_result deepCopy() {
       return new getAllDirectlyAccessibleUsers_result(this);
     }
@@ -263809,6 +273728,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -263820,11 +273740,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllDirectlyAccessibleUsers_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAllDirectlyAccessibleUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -263844,11 +273765,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllDirectlyAccessibleUsers_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllDirectlyAccessibleUsers_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -263868,11 +273790,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllDirectlyAccessibleUsers_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllDirectlyAccessibleUsers_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -263892,11 +273815,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllDirectlyAccessibleUsers_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllDirectlyAccessibleUsers_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -263916,11 +273840,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllDirectlyAccessibleUsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllDirectlyAccessibleUsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -263940,7 +273865,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -263985,6 +273911,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -264007,6 +273935,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -264029,8 +273958,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllDirectlyAccessibleUsers_result)
         return this.equals((getAllDirectlyAccessibleUsers_result)that);
       return false;
@@ -264125,7 +274052,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264135,7 +274062,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264145,7 +274072,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264155,7 +274082,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264165,7 +274092,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264178,10 +274105,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -264260,6 +274190,7 @@
     }
 
     private static class getAllDirectlyAccessibleUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleUsers_resultStandardScheme getScheme() {
         return new getAllDirectlyAccessibleUsers_resultStandardScheme();
       }
@@ -264267,6 +274198,7 @@
 
     private static class getAllDirectlyAccessibleUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllDirectlyAccessibleUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllDirectlyAccessibleUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -264282,7 +274214,7 @@
                 {
                   org.apache.thrift.protocol.TList _list402 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list402.size);
-                  java.lang.String _elem403;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem403;
                   for (int _i404 = 0; _i404 < _list402.size; ++_i404)
                   {
                     _elem403 = iprot.readString();
@@ -264342,6 +274274,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllDirectlyAccessibleUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -264385,6 +274318,7 @@
     }
 
     private static class getAllDirectlyAccessibleUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleUsers_resultTupleScheme getScheme() {
         return new getAllDirectlyAccessibleUsers_resultTupleScheme();
       }
@@ -264441,9 +274375,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list407 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list407 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list407.size);
-            java.lang.String _elem408;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem408;
             for (int _i409 = 0; _i409 < _list407.size; ++_i409)
             {
               _elem408 = iprot.readString();
@@ -264480,6 +274414,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllDirectlyAccessibleGroups_args implements org.apache.thrift.TBase<getAllDirectlyAccessibleGroups_args, getAllDirectlyAccessibleGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllDirectlyAccessibleGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllDirectlyAccessibleGroups_args");
 
@@ -264490,13 +274425,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllDirectlyAccessibleGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllDirectlyAccessibleGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
     /**
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public org.apache.airavata.model.group.ResourcePermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType; // 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 {
@@ -264519,6 +274454,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -264545,6 +274481,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -264557,10 +274494,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -264609,6 +274548,7 @@
       }
     }
 
+    @Override
     public getAllDirectlyAccessibleGroups_args deepCopy() {
       return new getAllDirectlyAccessibleGroups_args(this);
     }
@@ -264620,11 +274560,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllDirectlyAccessibleGroups_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllDirectlyAccessibleGroups_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -264644,11 +274585,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public getAllDirectlyAccessibleGroups_args setResourceId(java.lang.String resourceId) {
+    public getAllDirectlyAccessibleGroups_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -264672,6 +274614,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.ResourcePermissionType getPermissionType() {
       return this.permissionType;
     }
@@ -264680,7 +274623,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public getAllDirectlyAccessibleGroups_args setPermissionType(org.apache.airavata.model.group.ResourcePermissionType permissionType) {
+    public getAllDirectlyAccessibleGroups_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -264700,7 +274643,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -264729,6 +274673,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -264745,6 +274691,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -264763,8 +274710,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllDirectlyAccessibleGroups_args)
         return this.equals((getAllDirectlyAccessibleGroups_args)that);
       return false;
@@ -264833,7 +274778,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264843,7 +274788,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264853,7 +274798,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -264866,14 +274811,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -264944,6 +274893,7 @@
     }
 
     private static class getAllDirectlyAccessibleGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleGroups_argsStandardScheme getScheme() {
         return new getAllDirectlyAccessibleGroups_argsStandardScheme();
       }
@@ -264951,6 +274901,7 @@
 
     private static class getAllDirectlyAccessibleGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllDirectlyAccessibleGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllDirectlyAccessibleGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -264997,6 +274948,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllDirectlyAccessibleGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -265023,6 +274975,7 @@
     }
 
     private static class getAllDirectlyAccessibleGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleGroups_argsTupleScheme getScheme() {
         return new getAllDirectlyAccessibleGroups_argsTupleScheme();
       }
@@ -265056,6 +275009,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllDirectlyAccessibleGroups_result implements org.apache.thrift.TBase<getAllDirectlyAccessibleGroups_result, getAllDirectlyAccessibleGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllDirectlyAccessibleGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllDirectlyAccessibleGroups_result");
 
@@ -265068,11 +275022,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllDirectlyAccessibleGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllDirectlyAccessibleGroups_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -265093,6 +275047,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -265123,6 +275078,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -265135,10 +275091,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -265203,6 +275161,7 @@
       }
     }
 
+    @Override
     public getAllDirectlyAccessibleGroups_result deepCopy() {
       return new getAllDirectlyAccessibleGroups_result(this);
     }
@@ -265220,6 +275179,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -265231,11 +275191,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllDirectlyAccessibleGroups_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAllDirectlyAccessibleGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -265255,11 +275216,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getAllDirectlyAccessibleGroups_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getAllDirectlyAccessibleGroups_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -265279,11 +275241,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getAllDirectlyAccessibleGroups_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getAllDirectlyAccessibleGroups_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -265303,11 +275266,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getAllDirectlyAccessibleGroups_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getAllDirectlyAccessibleGroups_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -265327,11 +275291,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllDirectlyAccessibleGroups_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllDirectlyAccessibleGroups_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -265351,7 +275316,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -265396,6 +275362,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -265418,6 +275386,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -265440,8 +275409,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllDirectlyAccessibleGroups_result)
         return this.equals((getAllDirectlyAccessibleGroups_result)that);
       return false;
@@ -265536,7 +275503,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -265546,7 +275513,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -265556,7 +275523,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -265566,7 +275533,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -265576,7 +275543,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -265589,10 +275556,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -265671,6 +275641,7 @@
     }
 
     private static class getAllDirectlyAccessibleGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleGroups_resultStandardScheme getScheme() {
         return new getAllDirectlyAccessibleGroups_resultStandardScheme();
       }
@@ -265678,6 +275649,7 @@
 
     private static class getAllDirectlyAccessibleGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllDirectlyAccessibleGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllDirectlyAccessibleGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -265693,7 +275665,7 @@
                 {
                   org.apache.thrift.protocol.TList _list410 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list410.size);
-                  java.lang.String _elem411;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem411;
                   for (int _i412 = 0; _i412 < _list410.size; ++_i412)
                   {
                     _elem411 = iprot.readString();
@@ -265753,6 +275725,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllDirectlyAccessibleGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -265796,6 +275769,7 @@
     }
 
     private static class getAllDirectlyAccessibleGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllDirectlyAccessibleGroups_resultTupleScheme getScheme() {
         return new getAllDirectlyAccessibleGroups_resultTupleScheme();
       }
@@ -265852,9 +275826,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list415 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list415 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list415.size);
-            java.lang.String _elem416;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem416;
             for (int _i417 = 0; _i417 < _list415.size; ++_i417)
             {
               _elem416 = iprot.readString();
@@ -265891,6 +275865,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class userHasAccess_args implements org.apache.thrift.TBase<userHasAccess_args, userHasAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<userHasAccess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("userHasAccess_args");
 
@@ -265901,13 +275876,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new userHasAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new userHasAccess_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
     /**
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public org.apache.airavata.model.group.ResourcePermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType; // 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 {
@@ -265930,6 +275905,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -265956,6 +275932,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -265968,10 +275945,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -266020,6 +275999,7 @@
       }
     }
 
+    @Override
     public userHasAccess_args deepCopy() {
       return new userHasAccess_args(this);
     }
@@ -266031,11 +276011,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public userHasAccess_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public userHasAccess_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -266055,11 +276036,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceId() {
       return this.resourceId;
     }
 
-    public userHasAccess_args setResourceId(java.lang.String resourceId) {
+    public userHasAccess_args setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
       this.resourceId = resourceId;
       return this;
     }
@@ -266083,6 +276065,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.ResourcePermissionType getPermissionType() {
       return this.permissionType;
     }
@@ -266091,7 +276074,7 @@
      * 
      * @see org.apache.airavata.model.group.ResourcePermissionType
      */
-    public userHasAccess_args setPermissionType(org.apache.airavata.model.group.ResourcePermissionType permissionType) {
+    public userHasAccess_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.ResourcePermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -266111,7 +276094,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -266140,6 +276124,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -266156,6 +276142,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -266174,8 +276161,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof userHasAccess_args)
         return this.equals((userHasAccess_args)that);
       return false;
@@ -266244,7 +276229,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266254,7 +276239,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266264,7 +276249,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266277,14 +276262,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -266355,6 +276344,7 @@
     }
 
     private static class userHasAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_argsStandardScheme getScheme() {
         return new userHasAccess_argsStandardScheme();
       }
@@ -266362,6 +276352,7 @@
 
     private static class userHasAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<userHasAccess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, userHasAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -266408,6 +276399,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, userHasAccess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -266434,6 +276426,7 @@
     }
 
     private static class userHasAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_argsTupleScheme getScheme() {
         return new userHasAccess_argsTupleScheme();
       }
@@ -266467,6 +276460,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class userHasAccess_result implements org.apache.thrift.TBase<userHasAccess_result, userHasAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<userHasAccess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("userHasAccess_result");
 
@@ -266480,10 +276474,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new userHasAccess_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -266504,6 +276498,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -266534,6 +276529,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -266546,10 +276542,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -266614,6 +276612,7 @@
       }
     }
 
+    @Override
     public userHasAccess_result deepCopy() {
       return new userHasAccess_result(this);
     }
@@ -266651,11 +276650,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public userHasAccess_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public userHasAccess_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -266675,11 +276675,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public userHasAccess_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public userHasAccess_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -266699,11 +276700,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public userHasAccess_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public userHasAccess_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -266723,11 +276725,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public userHasAccess_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public userHasAccess_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -266747,7 +276750,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -266792,6 +276796,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -266814,6 +276820,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -266836,8 +276843,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof userHasAccess_result)
         return this.equals((userHasAccess_result)that);
       return false;
@@ -266930,7 +276935,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266940,7 +276945,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266950,7 +276955,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266960,7 +276965,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266970,7 +276975,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -266983,10 +276988,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -267063,6 +277071,7 @@
     }
 
     private static class userHasAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_resultStandardScheme getScheme() {
         return new userHasAccess_resultStandardScheme();
       }
@@ -267070,6 +277079,7 @@
 
     private static class userHasAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<userHasAccess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, userHasAccess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -267135,6 +277145,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, userHasAccess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -267171,6 +277182,7 @@
     }
 
     private static class userHasAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_resultTupleScheme getScheme() {
         return new userHasAccess_resultTupleScheme();
       }
@@ -267251,6 +277263,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroupResourceProfile_args implements org.apache.thrift.TBase<createGroupResourceProfile_args, createGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroupResourceProfile_args");
 
@@ -267260,8 +277273,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // 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 {
@@ -267279,6 +277292,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -267303,6 +277317,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -267315,10 +277330,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -267360,6 +277377,7 @@
       }
     }
 
+    @Override
     public createGroupResourceProfile_args deepCopy() {
       return new createGroupResourceProfile_args(this);
     }
@@ -267370,11 +277388,12 @@
       this.groupResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public createGroupResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public createGroupResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -267394,11 +277413,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getGroupResourceProfile() {
       return this.groupResourceProfile;
     }
 
-    public createGroupResourceProfile_args setGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
+    public createGroupResourceProfile_args setGroupResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
       this.groupResourceProfile = groupResourceProfile;
       return this;
     }
@@ -267418,7 +277438,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -267439,6 +277460,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -267452,6 +277475,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -267468,8 +277492,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroupResourceProfile_args)
         return this.equals((createGroupResourceProfile_args)that);
       return false;
@@ -267525,7 +277547,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -267535,7 +277557,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfile()).compareTo(other.isSetGroupResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfile(), other.isSetGroupResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -267548,14 +277570,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -267618,6 +277644,7 @@
     }
 
     private static class createGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_argsStandardScheme getScheme() {
         return new createGroupResourceProfile_argsStandardScheme();
       }
@@ -267625,6 +277652,7 @@
 
     private static class createGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -267664,6 +277692,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -267685,6 +277714,7 @@
     }
 
     private static class createGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_argsTupleScheme getScheme() {
         return new createGroupResourceProfile_argsTupleScheme();
       }
@@ -267716,6 +277746,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroupResourceProfile_result implements org.apache.thrift.TBase<createGroupResourceProfile_result, createGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroupResourceProfile_result");
 
@@ -267728,11 +277759,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroupResourceProfile_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -267753,6 +277784,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -267783,6 +277815,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -267795,10 +277828,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -267861,6 +277896,7 @@
       }
     }
 
+    @Override
     public createGroupResourceProfile_result deepCopy() {
       return new createGroupResourceProfile_result(this);
     }
@@ -267874,11 +277910,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createGroupResourceProfile_result setSuccess(java.lang.String success) {
+    public createGroupResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -267898,11 +277935,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public createGroupResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public createGroupResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -267922,11 +277960,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public createGroupResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public createGroupResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -267946,11 +277985,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public createGroupResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public createGroupResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -267970,11 +278010,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public createGroupResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public createGroupResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -267994,7 +278035,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -268039,6 +278081,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -268061,6 +278105,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -268083,8 +278128,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroupResourceProfile_result)
         return this.equals((createGroupResourceProfile_result)that);
       return false;
@@ -268179,7 +278222,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268189,7 +278232,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268199,7 +278242,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268209,7 +278252,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268219,7 +278262,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268232,10 +278275,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -268314,6 +278360,7 @@
     }
 
     private static class createGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_resultStandardScheme getScheme() {
         return new createGroupResourceProfile_resultStandardScheme();
       }
@@ -268321,6 +278368,7 @@
 
     private static class createGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -268386,6 +278434,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -268422,6 +278471,7 @@
     }
 
     private static class createGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_resultTupleScheme getScheme() {
         return new createGroupResourceProfile_resultTupleScheme();
       }
@@ -268502,6 +278552,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroupResourceProfile_args implements org.apache.thrift.TBase<updateGroupResourceProfile_args, updateGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroupResourceProfile_args");
 
@@ -268511,8 +278562,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // 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 {
@@ -268530,6 +278581,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -268554,6 +278606,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -268566,10 +278619,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -268611,6 +278666,7 @@
       }
     }
 
+    @Override
     public updateGroupResourceProfile_args deepCopy() {
       return new updateGroupResourceProfile_args(this);
     }
@@ -268621,11 +278677,12 @@
       this.groupResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGroupResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGroupResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -268645,11 +278702,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getGroupResourceProfile() {
       return this.groupResourceProfile;
     }
 
-    public updateGroupResourceProfile_args setGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
+    public updateGroupResourceProfile_args setGroupResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
       this.groupResourceProfile = groupResourceProfile;
       return this;
     }
@@ -268669,7 +278727,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -268690,6 +278749,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -268703,6 +278764,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -268719,8 +278781,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroupResourceProfile_args)
         return this.equals((updateGroupResourceProfile_args)that);
       return false;
@@ -268776,7 +278836,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268786,7 +278846,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfile()).compareTo(other.isSetGroupResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfile(), other.isSetGroupResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -268799,14 +278859,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -268869,6 +278933,7 @@
     }
 
     private static class updateGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_argsStandardScheme getScheme() {
         return new updateGroupResourceProfile_argsStandardScheme();
       }
@@ -268876,6 +278941,7 @@
 
     private static class updateGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -268915,6 +278981,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -268936,6 +279003,7 @@
     }
 
     private static class updateGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_argsTupleScheme getScheme() {
         return new updateGroupResourceProfile_argsTupleScheme();
       }
@@ -268967,6 +279035,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroupResourceProfile_result implements org.apache.thrift.TBase<updateGroupResourceProfile_result, updateGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroupResourceProfile_result");
 
@@ -268978,10 +279047,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroupResourceProfile_resultTupleSchemeFactory();
 
-    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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -269001,6 +279070,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IRE
@@ -269029,6 +279099,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -269041,10 +279112,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -269100,6 +279173,7 @@
       }
     }
 
+    @Override
     public updateGroupResourceProfile_result deepCopy() {
       return new updateGroupResourceProfile_result(this);
     }
@@ -269112,11 +279186,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public updateGroupResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public updateGroupResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -269136,11 +279211,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public updateGroupResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public updateGroupResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -269160,11 +279236,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public updateGroupResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public updateGroupResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -269184,11 +279261,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGroupResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGroupResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -269208,7 +279286,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IRE:
         if (value == null) {
@@ -269245,6 +279324,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IRE:
@@ -269264,6 +279345,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -269284,8 +279366,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroupResourceProfile_result)
         return this.equals((updateGroupResourceProfile_result)that);
       return false;
@@ -269367,7 +279447,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -269377,7 +279457,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -269387,7 +279467,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -269397,7 +279477,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -269410,10 +279490,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -269484,6 +279567,7 @@
     }
 
     private static class updateGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_resultStandardScheme getScheme() {
         return new updateGroupResourceProfile_resultStandardScheme();
       }
@@ -269491,6 +279575,7 @@
 
     private static class updateGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -269548,6 +279633,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -269579,6 +279665,7 @@
     }
 
     private static class updateGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_resultTupleScheme getScheme() {
         return new updateGroupResourceProfile_resultTupleScheme();
       }
@@ -269649,6 +279736,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceProfile_args implements org.apache.thrift.TBase<getGroupResourceProfile_args, getGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceProfile_args");
 
@@ -269658,8 +279746,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -269677,6 +279765,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -269701,6 +279790,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -269713,10 +279803,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -269758,6 +279850,7 @@
       }
     }
 
+    @Override
     public getGroupResourceProfile_args deepCopy() {
       return new getGroupResourceProfile_args(this);
     }
@@ -269768,11 +279861,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -269792,11 +279886,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupResourceProfile_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupResourceProfile_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -269816,7 +279911,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -269837,6 +279933,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -269850,6 +279948,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -269866,8 +279965,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceProfile_args)
         return this.equals((getGroupResourceProfile_args)that);
       return false;
@@ -269923,7 +280020,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -269933,7 +280030,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -269946,14 +280043,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -270013,6 +280114,7 @@
     }
 
     private static class getGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_argsStandardScheme getScheme() {
         return new getGroupResourceProfile_argsStandardScheme();
       }
@@ -270020,6 +280122,7 @@
 
     private static class getGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -270058,6 +280161,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -270079,6 +280183,7 @@
     }
 
     private static class getGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_argsTupleScheme getScheme() {
         return new getGroupResourceProfile_argsTupleScheme();
       }
@@ -270109,6 +280214,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceProfile_result implements org.apache.thrift.TBase<getGroupResourceProfile_result, getGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceProfile_result");
 
@@ -270121,11 +280227,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -270146,6 +280252,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -270176,6 +280283,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -270188,10 +280296,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -270254,6 +280364,7 @@
       }
     }
 
+    @Override
     public getGroupResourceProfile_result deepCopy() {
       return new getGroupResourceProfile_result(this);
     }
@@ -270267,11 +280378,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getSuccess() {
       return this.success;
     }
 
-    public getGroupResourceProfile_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success) {
+    public getGroupResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success) {
       this.success = success;
       return this;
     }
@@ -270291,11 +280403,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -270315,11 +280428,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -270339,11 +280453,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -270363,11 +280478,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -270387,7 +280503,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -270432,6 +280549,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -270454,6 +280573,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -270476,8 +280596,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceProfile_result)
         return this.equals((getGroupResourceProfile_result)that);
       return false;
@@ -270572,7 +280690,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -270582,7 +280700,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -270592,7 +280710,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -270602,7 +280720,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -270612,7 +280730,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -270625,10 +280743,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -270710,6 +280831,7 @@
     }
 
     private static class getGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_resultStandardScheme getScheme() {
         return new getGroupResourceProfile_resultStandardScheme();
       }
@@ -270717,6 +280839,7 @@
 
     private static class getGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -270783,6 +280906,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -270819,6 +280943,7 @@
     }
 
     private static class getGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_resultTupleScheme getScheme() {
         return new getGroupResourceProfile_resultTupleScheme();
       }
@@ -270900,6 +281025,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupResourceProfile_args implements org.apache.thrift.TBase<removeGroupResourceProfile_args, removeGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupResourceProfile_args");
 
@@ -270909,8 +281035,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -270928,6 +281054,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -270952,6 +281079,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -270964,10 +281092,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -271009,6 +281139,7 @@
       }
     }
 
+    @Override
     public removeGroupResourceProfile_args deepCopy() {
       return new removeGroupResourceProfile_args(this);
     }
@@ -271019,11 +281150,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeGroupResourceProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeGroupResourceProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -271043,11 +281175,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public removeGroupResourceProfile_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public removeGroupResourceProfile_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -271067,7 +281200,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -271088,6 +281222,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -271101,6 +281237,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -271117,8 +281254,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupResourceProfile_args)
         return this.equals((removeGroupResourceProfile_args)that);
       return false;
@@ -271174,7 +281309,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271184,7 +281319,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271197,14 +281332,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -271264,6 +281403,7 @@
     }
 
     private static class removeGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_argsStandardScheme getScheme() {
         return new removeGroupResourceProfile_argsStandardScheme();
       }
@@ -271271,6 +281411,7 @@
 
     private static class removeGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -271309,6 +281450,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -271330,6 +281472,7 @@
     }
 
     private static class removeGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_argsTupleScheme getScheme() {
         return new removeGroupResourceProfile_argsTupleScheme();
       }
@@ -271360,6 +281503,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupResourceProfile_result implements org.apache.thrift.TBase<removeGroupResourceProfile_result, removeGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupResourceProfile_result");
 
@@ -271373,10 +281517,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupResourceProfile_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -271397,6 +281541,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -271427,6 +281572,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -271439,10 +281585,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -271507,6 +281655,7 @@
       }
     }
 
+    @Override
     public removeGroupResourceProfile_result deepCopy() {
       return new removeGroupResourceProfile_result(this);
     }
@@ -271544,11 +281693,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public removeGroupResourceProfile_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public removeGroupResourceProfile_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -271568,11 +281718,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public removeGroupResourceProfile_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public removeGroupResourceProfile_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -271592,11 +281743,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public removeGroupResourceProfile_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public removeGroupResourceProfile_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -271616,11 +281768,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeGroupResourceProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeGroupResourceProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -271640,7 +281793,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -271685,6 +281839,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -271707,6 +281863,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -271729,8 +281886,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupResourceProfile_result)
         return this.equals((removeGroupResourceProfile_result)that);
       return false;
@@ -271823,7 +281978,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271833,7 +281988,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271843,7 +281998,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271853,7 +282008,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271863,7 +282018,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -271876,10 +282031,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -271956,6 +282114,7 @@
     }
 
     private static class removeGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_resultStandardScheme getScheme() {
         return new removeGroupResourceProfile_resultStandardScheme();
       }
@@ -271963,6 +282122,7 @@
 
     private static class removeGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -272028,6 +282188,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -272064,6 +282225,7 @@
     }
 
     private static class removeGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_resultTupleScheme getScheme() {
         return new removeGroupResourceProfile_resultTupleScheme();
       }
@@ -272144,6 +282306,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceList_args implements org.apache.thrift.TBase<getGroupResourceList_args, getGroupResourceList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceList_args");
 
@@ -272153,8 +282316,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceList_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -272172,6 +282335,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -272196,6 +282360,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -272208,10 +282373,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -272253,6 +282420,7 @@
       }
     }
 
+    @Override
     public getGroupResourceList_args deepCopy() {
       return new getGroupResourceList_args(this);
     }
@@ -272263,11 +282431,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupResourceList_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupResourceList_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -272287,11 +282456,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getGroupResourceList_args setGatewayId(java.lang.String gatewayId) {
+    public getGroupResourceList_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -272311,7 +282481,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -272332,6 +282503,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -272345,6 +282518,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -272361,8 +282535,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceList_args)
         return this.equals((getGroupResourceList_args)that);
       return false;
@@ -272418,7 +282590,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -272428,7 +282600,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -272441,14 +282613,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -272508,6 +282684,7 @@
     }
 
     private static class getGroupResourceList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_argsStandardScheme getScheme() {
         return new getGroupResourceList_argsStandardScheme();
       }
@@ -272515,6 +282692,7 @@
 
     private static class getGroupResourceList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -272553,6 +282731,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -272574,6 +282753,7 @@
     }
 
     private static class getGroupResourceList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_argsTupleScheme getScheme() {
         return new getGroupResourceList_argsTupleScheme();
       }
@@ -272604,6 +282784,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceList_result implements org.apache.thrift.TBase<getGroupResourceList_result, getGroupResourceList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceList_result");
 
@@ -272616,11 +282797,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -272641,6 +282822,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -272671,6 +282853,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -272683,10 +282866,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -272754,6 +282939,7 @@
       }
     }
 
+    @Override
     public getGroupResourceList_result deepCopy() {
       return new getGroupResourceList_result(this);
     }
@@ -272771,6 +282957,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -272782,11 +282969,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getSuccess() {
       return this.success;
     }
 
-    public getGroupResourceList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success) {
+    public getGroupResourceList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success) {
       this.success = success;
       return this;
     }
@@ -272806,11 +282994,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupResourceList_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupResourceList_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -272830,11 +283019,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupResourceList_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupResourceList_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -272854,11 +283044,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupResourceList_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupResourceList_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -272878,11 +283069,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupResourceList_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupResourceList_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -272902,7 +283094,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -272947,6 +283140,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -272969,6 +283164,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -272991,8 +283187,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceList_result)
         return this.equals((getGroupResourceList_result)that);
       return false;
@@ -273087,7 +283281,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273097,7 +283291,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273107,7 +283301,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273117,7 +283311,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273127,7 +283321,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273140,10 +283334,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -273222,6 +283419,7 @@
     }
 
     private static class getGroupResourceList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_resultStandardScheme getScheme() {
         return new getGroupResourceList_resultStandardScheme();
       }
@@ -273229,6 +283427,7 @@
 
     private static class getGroupResourceList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -273244,7 +283443,7 @@
                 {
                   org.apache.thrift.protocol.TList _list418 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>(_list418.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem419;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem419;
                   for (int _i420 = 0; _i420 < _list418.size; ++_i420)
                   {
                     _elem419 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile();
@@ -273305,6 +283504,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -273348,6 +283548,7 @@
     }
 
     private static class getGroupResourceList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_resultTupleScheme getScheme() {
         return new getGroupResourceList_resultTupleScheme();
       }
@@ -273404,9 +283605,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list423 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list423 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>(_list423.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem424;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem424;
             for (int _i425 = 0; _i425 < _list423.size; ++_i425)
             {
               _elem424 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile();
@@ -273444,6 +283645,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputePrefs_args implements org.apache.thrift.TBase<removeGroupComputePrefs_args, removeGroupComputePrefs_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputePrefs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputePrefs_args");
 
@@ -273454,9 +283656,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupComputePrefs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputePrefs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -273475,6 +283677,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -273501,6 +283704,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -273513,10 +283717,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -273565,6 +283771,7 @@
       }
     }
 
+    @Override
     public removeGroupComputePrefs_args deepCopy() {
       return new removeGroupComputePrefs_args(this);
     }
@@ -273576,11 +283783,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeGroupComputePrefs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeGroupComputePrefs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -273600,11 +283808,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public removeGroupComputePrefs_args setComputeResourceId(java.lang.String computeResourceId) {
+    public removeGroupComputePrefs_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -273624,11 +283833,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public removeGroupComputePrefs_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public removeGroupComputePrefs_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -273648,7 +283858,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -273677,6 +283888,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -273693,6 +283906,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -273711,8 +283925,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputePrefs_args)
         return this.equals((removeGroupComputePrefs_args)that);
       return false;
@@ -273781,7 +283993,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273791,7 +284003,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273801,7 +284013,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -273814,14 +284026,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -273892,6 +284108,7 @@
     }
 
     private static class removeGroupComputePrefs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_argsStandardScheme getScheme() {
         return new removeGroupComputePrefs_argsStandardScheme();
       }
@@ -273899,6 +284116,7 @@
 
     private static class removeGroupComputePrefs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputePrefs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputePrefs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -273945,6 +284163,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputePrefs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -273971,6 +284190,7 @@
     }
 
     private static class removeGroupComputePrefs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_argsTupleScheme getScheme() {
         return new removeGroupComputePrefs_argsTupleScheme();
       }
@@ -274004,6 +284224,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputePrefs_result implements org.apache.thrift.TBase<removeGroupComputePrefs_result, removeGroupComputePrefs_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputePrefs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputePrefs_result");
 
@@ -274017,10 +284238,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputePrefs_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -274041,6 +284262,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -274071,6 +284293,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -274083,10 +284306,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -274151,6 +284376,7 @@
       }
     }
 
+    @Override
     public removeGroupComputePrefs_result deepCopy() {
       return new removeGroupComputePrefs_result(this);
     }
@@ -274188,11 +284414,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public removeGroupComputePrefs_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public removeGroupComputePrefs_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -274212,11 +284439,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public removeGroupComputePrefs_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public removeGroupComputePrefs_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -274236,11 +284464,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public removeGroupComputePrefs_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public removeGroupComputePrefs_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -274260,11 +284489,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeGroupComputePrefs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeGroupComputePrefs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -274284,7 +284514,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -274329,6 +284560,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -274351,6 +284584,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -274373,8 +284607,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputePrefs_result)
         return this.equals((removeGroupComputePrefs_result)that);
       return false;
@@ -274467,7 +284699,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -274477,7 +284709,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -274487,7 +284719,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -274497,7 +284729,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -274507,7 +284739,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -274520,10 +284752,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -274600,6 +284835,7 @@
     }
 
     private static class removeGroupComputePrefs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_resultStandardScheme getScheme() {
         return new removeGroupComputePrefs_resultStandardScheme();
       }
@@ -274607,6 +284843,7 @@
 
     private static class removeGroupComputePrefs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputePrefs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputePrefs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -274672,6 +284909,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputePrefs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -274708,6 +284946,7 @@
     }
 
     private static class removeGroupComputePrefs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_resultTupleScheme getScheme() {
         return new removeGroupComputePrefs_resultTupleScheme();
       }
@@ -274788,6 +285027,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputeResourcePolicy_args implements org.apache.thrift.TBase<removeGroupComputeResourcePolicy_args, removeGroupComputeResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputeResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputeResourcePolicy_args");
 
@@ -274797,8 +285037,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupComputeResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputeResourcePolicy_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -274816,6 +285056,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -274840,6 +285081,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -274852,10 +285094,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -274897,6 +285141,7 @@
       }
     }
 
+    @Override
     public removeGroupComputeResourcePolicy_args deepCopy() {
       return new removeGroupComputeResourcePolicy_args(this);
     }
@@ -274907,11 +285152,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeGroupComputeResourcePolicy_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeGroupComputeResourcePolicy_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -274931,11 +285177,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public removeGroupComputeResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public removeGroupComputeResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -274955,7 +285202,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -274976,6 +285224,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -274989,6 +285239,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -275005,8 +285256,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputeResourcePolicy_args)
         return this.equals((removeGroupComputeResourcePolicy_args)that);
       return false;
@@ -275062,7 +285311,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275072,7 +285321,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275085,14 +285334,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -275152,6 +285405,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_argsStandardScheme getScheme() {
         return new removeGroupComputeResourcePolicy_argsStandardScheme();
       }
@@ -275159,6 +285413,7 @@
 
     private static class removeGroupComputeResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputeResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -275197,6 +285452,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -275218,6 +285474,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_argsTupleScheme getScheme() {
         return new removeGroupComputeResourcePolicy_argsTupleScheme();
       }
@@ -275248,6 +285505,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputeResourcePolicy_result implements org.apache.thrift.TBase<removeGroupComputeResourcePolicy_result, removeGroupComputeResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputeResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputeResourcePolicy_result");
 
@@ -275261,10 +285519,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputeResourcePolicy_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -275285,6 +285543,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -275315,6 +285574,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -275327,10 +285587,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -275395,6 +285657,7 @@
       }
     }
 
+    @Override
     public removeGroupComputeResourcePolicy_result deepCopy() {
       return new removeGroupComputeResourcePolicy_result(this);
     }
@@ -275432,11 +285695,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public removeGroupComputeResourcePolicy_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public removeGroupComputeResourcePolicy_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -275456,11 +285720,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public removeGroupComputeResourcePolicy_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public removeGroupComputeResourcePolicy_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -275480,11 +285745,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public removeGroupComputeResourcePolicy_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public removeGroupComputeResourcePolicy_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -275504,11 +285770,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeGroupComputeResourcePolicy_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeGroupComputeResourcePolicy_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -275528,7 +285795,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -275573,6 +285841,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -275595,6 +285865,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -275617,8 +285888,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputeResourcePolicy_result)
         return this.equals((removeGroupComputeResourcePolicy_result)that);
       return false;
@@ -275711,7 +285980,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275721,7 +285990,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275731,7 +286000,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275741,7 +286010,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275751,7 +286020,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -275764,10 +286033,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -275844,6 +286116,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_resultStandardScheme getScheme() {
         return new removeGroupComputeResourcePolicy_resultStandardScheme();
       }
@@ -275851,6 +286124,7 @@
 
     private static class removeGroupComputeResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputeResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -275916,6 +286190,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -275952,6 +286227,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_resultTupleScheme getScheme() {
         return new removeGroupComputeResourcePolicy_resultTupleScheme();
       }
@@ -276032,6 +286308,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupBatchQueueResourcePolicy_args implements org.apache.thrift.TBase<removeGroupBatchQueueResourcePolicy_args, removeGroupBatchQueueResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupBatchQueueResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupBatchQueueResourcePolicy_args");
 
@@ -276041,8 +286318,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupBatchQueueResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupBatchQueueResourcePolicy_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -276060,6 +286337,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -276084,6 +286362,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -276096,10 +286375,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -276141,6 +286422,7 @@
       }
     }
 
+    @Override
     public removeGroupBatchQueueResourcePolicy_args deepCopy() {
       return new removeGroupBatchQueueResourcePolicy_args(this);
     }
@@ -276151,11 +286433,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeGroupBatchQueueResourcePolicy_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeGroupBatchQueueResourcePolicy_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -276175,11 +286458,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public removeGroupBatchQueueResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public removeGroupBatchQueueResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -276199,7 +286483,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -276220,6 +286505,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -276233,6 +286520,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -276249,8 +286537,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupBatchQueueResourcePolicy_args)
         return this.equals((removeGroupBatchQueueResourcePolicy_args)that);
       return false;
@@ -276306,7 +286592,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -276316,7 +286602,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -276329,14 +286615,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -276396,6 +286686,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_argsStandardScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_argsStandardScheme();
       }
@@ -276403,6 +286694,7 @@
 
     private static class removeGroupBatchQueueResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupBatchQueueResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -276441,6 +286733,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -276462,6 +286755,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_argsTupleScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_argsTupleScheme();
       }
@@ -276492,6 +286786,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupBatchQueueResourcePolicy_result implements org.apache.thrift.TBase<removeGroupBatchQueueResourcePolicy_result, removeGroupBatchQueueResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupBatchQueueResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupBatchQueueResourcePolicy_result");
 
@@ -276505,10 +286800,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupBatchQueueResourcePolicy_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -276529,6 +286824,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -276559,6 +286855,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -276571,10 +286868,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -276639,6 +286938,7 @@
       }
     }
 
+    @Override
     public removeGroupBatchQueueResourcePolicy_result deepCopy() {
       return new removeGroupBatchQueueResourcePolicy_result(this);
     }
@@ -276676,11 +286976,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public removeGroupBatchQueueResourcePolicy_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public removeGroupBatchQueueResourcePolicy_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -276700,11 +287001,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public removeGroupBatchQueueResourcePolicy_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public removeGroupBatchQueueResourcePolicy_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -276724,11 +287026,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public removeGroupBatchQueueResourcePolicy_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public removeGroupBatchQueueResourcePolicy_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -276748,11 +287051,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeGroupBatchQueueResourcePolicy_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeGroupBatchQueueResourcePolicy_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -276772,7 +287076,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -276817,6 +287122,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -276839,6 +287146,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -276861,8 +287169,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupBatchQueueResourcePolicy_result)
         return this.equals((removeGroupBatchQueueResourcePolicy_result)that);
       return false;
@@ -276955,7 +287261,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -276965,7 +287271,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -276975,7 +287281,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -276985,7 +287291,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -276995,7 +287301,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -277008,10 +287314,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -277088,6 +287397,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_resultStandardScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_resultStandardScheme();
       }
@@ -277095,6 +287405,7 @@
 
     private static class removeGroupBatchQueueResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupBatchQueueResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -277160,6 +287471,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -277196,6 +287508,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_resultTupleScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_resultTupleScheme();
       }
@@ -277276,6 +287589,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePreference_args implements org.apache.thrift.TBase<getGroupComputeResourcePreference_args, getGroupComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePreference_args");
 
@@ -277286,9 +287600,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePreference_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String computeResourceId; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -277307,6 +287621,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -277333,6 +287648,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -277345,10 +287661,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -277397,6 +287715,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePreference_args deepCopy() {
       return new getGroupComputeResourcePreference_args(this);
     }
@@ -277408,11 +287727,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupComputeResourcePreference_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupComputeResourcePreference_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -277432,11 +287752,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getGroupComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getGroupComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -277456,11 +287777,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupComputeResourcePreference_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupComputeResourcePreference_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -277480,7 +287802,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -277509,6 +287832,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -277525,6 +287850,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -277543,8 +287869,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePreference_args)
         return this.equals((getGroupComputeResourcePreference_args)that);
       return false;
@@ -277613,7 +287937,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -277623,7 +287947,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -277633,7 +287957,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -277646,14 +287970,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -277724,6 +288052,7 @@
     }
 
     private static class getGroupComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePreference_argsStandardScheme();
       }
@@ -277731,6 +288060,7 @@
 
     private static class getGroupComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -277777,6 +288107,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -277803,6 +288134,7 @@
     }
 
     private static class getGroupComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePreference_argsTupleScheme();
       }
@@ -277836,6 +288168,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePreference_result implements org.apache.thrift.TBase<getGroupComputeResourcePreference_result, getGroupComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePreference_result");
 
@@ -277848,11 +288181,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -277873,6 +288206,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -277903,6 +288237,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -277915,10 +288250,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -277981,6 +288318,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePreference_result deepCopy() {
       return new getGroupComputeResourcePreference_result(this);
     }
@@ -277994,11 +288332,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePreference_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success) {
+    public getGroupComputeResourcePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -278018,11 +288357,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupComputeResourcePreference_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupComputeResourcePreference_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -278042,11 +288382,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupComputeResourcePreference_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupComputeResourcePreference_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -278066,11 +288407,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupComputeResourcePreference_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupComputeResourcePreference_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -278090,11 +288432,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupComputeResourcePreference_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupComputeResourcePreference_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -278114,7 +288457,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -278159,6 +288503,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -278181,6 +288527,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -278203,8 +288550,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePreference_result)
         return this.equals((getGroupComputeResourcePreference_result)that);
       return false;
@@ -278299,7 +288644,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278309,7 +288654,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278319,7 +288664,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278329,7 +288674,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278339,7 +288684,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278352,10 +288697,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -278437,6 +288785,7 @@
     }
 
     private static class getGroupComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePreference_resultStandardScheme();
       }
@@ -278444,6 +288793,7 @@
 
     private static class getGroupComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -278510,6 +288860,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -278546,6 +288897,7 @@
     }
 
     private static class getGroupComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePreference_resultTupleScheme();
       }
@@ -278627,6 +288979,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicy_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_args, getGroupComputeResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_args");
 
@@ -278636,8 +288989,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -278655,6 +289008,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -278679,6 +289033,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -278691,10 +289046,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -278736,6 +289093,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicy_args deepCopy() {
       return new getGroupComputeResourcePolicy_args(this);
     }
@@ -278746,11 +289104,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupComputeResourcePolicy_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupComputeResourcePolicy_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -278770,11 +289129,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public getGroupComputeResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public getGroupComputeResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -278794,7 +289154,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -278815,6 +289176,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -278828,6 +289191,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -278844,8 +289208,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicy_args)
         return this.equals((getGroupComputeResourcePolicy_args)that);
       return false;
@@ -278901,7 +289263,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278911,7 +289273,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -278924,14 +289286,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -278991,6 +289357,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePolicy_argsStandardScheme();
       }
@@ -278998,6 +289365,7 @@
 
     private static class getGroupComputeResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -279036,6 +289404,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -279057,6 +289426,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePolicy_argsTupleScheme();
       }
@@ -279087,6 +289457,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicy_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_result, getGroupComputeResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_result");
 
@@ -279099,11 +289470,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -279124,6 +289495,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -279154,6 +289526,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -279166,10 +289539,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -279232,6 +289607,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicy_result deepCopy() {
       return new getGroupComputeResourcePolicy_result(this);
     }
@@ -279245,11 +289621,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success) {
+    public getGroupComputeResourcePolicy_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success) {
       this.success = success;
       return this;
     }
@@ -279269,11 +289646,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupComputeResourcePolicy_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupComputeResourcePolicy_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -279293,11 +289671,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupComputeResourcePolicy_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupComputeResourcePolicy_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -279317,11 +289696,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupComputeResourcePolicy_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupComputeResourcePolicy_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -279341,11 +289721,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupComputeResourcePolicy_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupComputeResourcePolicy_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -279365,7 +289746,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -279410,6 +289792,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -279432,6 +289816,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -279454,8 +289839,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicy_result)
         return this.equals((getGroupComputeResourcePolicy_result)that);
       return false;
@@ -279550,7 +289933,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -279560,7 +289943,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -279570,7 +289953,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -279580,7 +289963,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -279590,7 +289973,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -279603,10 +289986,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -279688,6 +290074,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePolicy_resultStandardScheme();
       }
@@ -279695,6 +290082,7 @@
 
     private static class getGroupComputeResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -279761,6 +290149,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -279797,6 +290186,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePolicy_resultTupleScheme();
       }
@@ -279878,6 +290268,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getBatchQueueResourcePolicy_args implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_args, getBatchQueueResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_args");
 
@@ -279887,8 +290278,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -279906,6 +290297,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -279930,6 +290322,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -279942,10 +290335,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -279987,6 +290382,7 @@
       }
     }
 
+    @Override
     public getBatchQueueResourcePolicy_args deepCopy() {
       return new getBatchQueueResourcePolicy_args(this);
     }
@@ -279997,11 +290393,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getBatchQueueResourcePolicy_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getBatchQueueResourcePolicy_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -280021,11 +290418,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public getBatchQueueResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public getBatchQueueResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -280045,7 +290443,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -280066,6 +290465,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -280079,6 +290480,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -280095,8 +290497,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getBatchQueueResourcePolicy_args)
         return this.equals((getBatchQueueResourcePolicy_args)that);
       return false;
@@ -280152,7 +290552,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280162,7 +290562,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280175,14 +290575,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -280242,6 +290646,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_argsStandardScheme getScheme() {
         return new getBatchQueueResourcePolicy_argsStandardScheme();
       }
@@ -280249,6 +290654,7 @@
 
     private static class getBatchQueueResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -280287,6 +290693,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -280308,6 +290715,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_argsTupleScheme getScheme() {
         return new getBatchQueueResourcePolicy_argsTupleScheme();
       }
@@ -280338,6 +290746,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getBatchQueueResourcePolicy_result implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_result, getBatchQueueResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_result");
 
@@ -280350,11 +290759,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -280375,6 +290784,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -280405,6 +290815,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -280417,10 +290828,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -280483,6 +290896,7 @@
       }
     }
 
+    @Override
     public getBatchQueueResourcePolicy_result deepCopy() {
       return new getBatchQueueResourcePolicy_result(this);
     }
@@ -280496,11 +290910,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getSuccess() {
       return this.success;
     }
 
-    public getBatchQueueResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success) {
+    public getBatchQueueResourcePolicy_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success) {
       this.success = success;
       return this;
     }
@@ -280520,11 +290935,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getBatchQueueResourcePolicy_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getBatchQueueResourcePolicy_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -280544,11 +290960,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getBatchQueueResourcePolicy_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getBatchQueueResourcePolicy_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -280568,11 +290985,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getBatchQueueResourcePolicy_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getBatchQueueResourcePolicy_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -280592,11 +291010,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getBatchQueueResourcePolicy_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getBatchQueueResourcePolicy_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -280616,7 +291035,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -280661,6 +291081,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -280683,6 +291105,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -280705,8 +291128,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getBatchQueueResourcePolicy_result)
         return this.equals((getBatchQueueResourcePolicy_result)that);
       return false;
@@ -280801,7 +291222,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280811,7 +291232,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280821,7 +291242,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280831,7 +291252,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280841,7 +291262,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -280854,10 +291275,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -280939,6 +291363,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_resultStandardScheme getScheme() {
         return new getBatchQueueResourcePolicy_resultStandardScheme();
       }
@@ -280946,6 +291371,7 @@
 
     private static class getBatchQueueResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -281012,6 +291438,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -281048,6 +291475,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_resultTupleScheme getScheme() {
         return new getBatchQueueResourcePolicy_resultTupleScheme();
       }
@@ -281129,6 +291557,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePrefList_args implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_args, getGroupComputeResourcePrefList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_args");
 
@@ -281138,8 +291567,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -281157,6 +291586,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -281181,6 +291611,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -281193,10 +291624,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -281238,6 +291671,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePrefList_args deepCopy() {
       return new getGroupComputeResourcePrefList_args(this);
     }
@@ -281248,11 +291682,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupComputeResourcePrefList_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupComputeResourcePrefList_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -281272,11 +291707,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupComputeResourcePrefList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupComputeResourcePrefList_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -281296,7 +291732,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -281317,6 +291754,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -281330,6 +291769,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -281346,8 +291786,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePrefList_args)
         return this.equals((getGroupComputeResourcePrefList_args)that);
       return false;
@@ -281403,7 +291841,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -281413,7 +291851,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -281426,14 +291864,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -281493,6 +291935,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePrefList_argsStandardScheme();
       }
@@ -281500,6 +291943,7 @@
 
     private static class getGroupComputeResourcePrefList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -281538,6 +291982,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -281559,6 +292004,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePrefList_argsTupleScheme();
       }
@@ -281589,6 +292035,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePrefList_result implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_result, getGroupComputeResourcePrefList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_result");
 
@@ -281601,11 +292048,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -281626,6 +292073,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -281656,6 +292104,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -281668,10 +292117,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -281739,6 +292190,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePrefList_result deepCopy() {
       return new getGroupComputeResourcePrefList_result(this);
     }
@@ -281756,6 +292208,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -281767,11 +292220,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePrefList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success) {
+    public getGroupComputeResourcePrefList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success) {
       this.success = success;
       return this;
     }
@@ -281791,11 +292245,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupComputeResourcePrefList_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupComputeResourcePrefList_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -281815,11 +292270,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupComputeResourcePrefList_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupComputeResourcePrefList_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -281839,11 +292295,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupComputeResourcePrefList_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupComputeResourcePrefList_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -281863,11 +292320,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupComputeResourcePrefList_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupComputeResourcePrefList_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -281887,7 +292345,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -281932,6 +292391,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -281954,6 +292415,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -281976,8 +292438,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePrefList_result)
         return this.equals((getGroupComputeResourcePrefList_result)that);
       return false;
@@ -282072,7 +292532,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282082,7 +292542,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282092,7 +292552,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282102,7 +292562,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282112,7 +292572,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282125,10 +292585,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -282207,6 +292670,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePrefList_resultStandardScheme();
       }
@@ -282214,6 +292678,7 @@
 
     private static class getGroupComputeResourcePrefList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -282229,7 +292694,7 @@
                 {
                   org.apache.thrift.protocol.TList _list426 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list426.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem427;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem427;
                   for (int _i428 = 0; _i428 < _list426.size; ++_i428)
                   {
                     _elem427 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
@@ -282290,6 +292755,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -282333,6 +292799,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePrefList_resultTupleScheme();
       }
@@ -282389,9 +292856,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list431 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list431 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list431.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem432;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem432;
             for (int _i433 = 0; _i433 < _list431.size; ++_i433)
             {
               _elem432 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
@@ -282429,6 +292896,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupBatchQueueResourcePolicyList_args implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_args, getGroupBatchQueueResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_args");
 
@@ -282438,8 +292906,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -282457,6 +292925,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -282481,6 +292950,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -282493,10 +292963,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -282538,6 +293010,7 @@
       }
     }
 
+    @Override
     public getGroupBatchQueueResourcePolicyList_args deepCopy() {
       return new getGroupBatchQueueResourcePolicyList_args(this);
     }
@@ -282548,11 +293021,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupBatchQueueResourcePolicyList_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupBatchQueueResourcePolicyList_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -282572,11 +293046,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupBatchQueueResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupBatchQueueResourcePolicyList_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -282596,7 +293071,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -282617,6 +293093,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -282630,6 +293108,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -282646,8 +293125,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupBatchQueueResourcePolicyList_args)
         return this.equals((getGroupBatchQueueResourcePolicyList_args)that);
       return false;
@@ -282703,7 +293180,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282713,7 +293190,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -282726,14 +293203,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -282793,6 +293274,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_argsStandardScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_argsStandardScheme();
       }
@@ -282800,6 +293282,7 @@
 
     private static class getGroupBatchQueueResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -282838,6 +293321,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -282859,6 +293343,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_argsTupleScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_argsTupleScheme();
       }
@@ -282889,6 +293374,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupBatchQueueResourcePolicyList_result implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_result, getGroupBatchQueueResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_result");
 
@@ -282901,11 +293387,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -282926,6 +293412,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -282956,6 +293443,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -282968,10 +293456,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -283039,6 +293529,7 @@
       }
     }
 
+    @Override
     public getGroupBatchQueueResourcePolicyList_result deepCopy() {
       return new getGroupBatchQueueResourcePolicyList_result(this);
     }
@@ -283056,6 +293547,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -283067,11 +293559,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccess() {
       return this.success;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success) {
+    public getGroupBatchQueueResourcePolicyList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success) {
       this.success = success;
       return this;
     }
@@ -283091,11 +293584,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupBatchQueueResourcePolicyList_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -283115,11 +293609,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupBatchQueueResourcePolicyList_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -283139,11 +293634,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupBatchQueueResourcePolicyList_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -283163,11 +293659,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupBatchQueueResourcePolicyList_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -283187,7 +293684,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -283232,6 +293730,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -283254,6 +293754,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -283276,8 +293777,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupBatchQueueResourcePolicyList_result)
         return this.equals((getGroupBatchQueueResourcePolicyList_result)that);
       return false;
@@ -283372,7 +293871,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -283382,7 +293881,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -283392,7 +293891,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -283402,7 +293901,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -283412,7 +293911,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -283425,10 +293924,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -283507,6 +294009,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_resultStandardScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_resultStandardScheme();
       }
@@ -283514,6 +294017,7 @@
 
     private static class getGroupBatchQueueResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -283529,7 +294033,7 @@
                 {
                   org.apache.thrift.protocol.TList _list434 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list434.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem435;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem435;
                   for (int _i436 = 0; _i436 < _list434.size; ++_i436)
                   {
                     _elem435 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
@@ -283590,6 +294094,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -283633,6 +294138,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_resultTupleScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_resultTupleScheme();
       }
@@ -283689,9 +294195,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list439 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list439 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list439.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem440;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem440;
             for (int _i441 = 0; _i441 < _list439.size; ++_i441)
             {
               _elem440 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
@@ -283729,6 +294235,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicyList_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_args, getGroupComputeResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_args");
 
@@ -283738,8 +294245,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -283757,6 +294264,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -283781,6 +294289,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -283793,10 +294302,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -283838,6 +294349,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicyList_args deepCopy() {
       return new getGroupComputeResourcePolicyList_args(this);
     }
@@ -283848,11 +294360,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroupComputeResourcePolicyList_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroupComputeResourcePolicyList_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -283872,11 +294385,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupComputeResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupComputeResourcePolicyList_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -283896,7 +294410,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -283917,6 +294432,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -283930,6 +294447,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -283946,8 +294464,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicyList_args)
         return this.equals((getGroupComputeResourcePolicyList_args)that);
       return false;
@@ -284003,7 +294519,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284013,7 +294529,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284026,14 +294542,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -284093,6 +294613,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePolicyList_argsStandardScheme();
       }
@@ -284100,6 +294621,7 @@
 
     private static class getGroupComputeResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -284138,6 +294660,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -284159,6 +294682,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePolicyList_argsTupleScheme();
       }
@@ -284189,6 +294713,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicyList_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_result, getGroupComputeResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_result");
 
@@ -284201,11 +294726,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -284226,6 +294751,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -284256,6 +294782,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -284268,10 +294795,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -284339,6 +294868,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicyList_result deepCopy() {
       return new getGroupComputeResourcePolicyList_result(this);
     }
@@ -284356,6 +294886,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -284367,11 +294898,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success) {
+    public getGroupComputeResourcePolicyList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success) {
       this.success = success;
       return this;
     }
@@ -284391,11 +294923,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGroupComputeResourcePolicyList_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGroupComputeResourcePolicyList_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -284415,11 +294948,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGroupComputeResourcePolicyList_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGroupComputeResourcePolicyList_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -284439,11 +294973,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGroupComputeResourcePolicyList_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGroupComputeResourcePolicyList_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -284463,11 +294998,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroupComputeResourcePolicyList_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroupComputeResourcePolicyList_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -284487,7 +295023,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -284532,6 +295069,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -284554,6 +295093,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -284576,8 +295116,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicyList_result)
         return this.equals((getGroupComputeResourcePolicyList_result)that);
       return false;
@@ -284672,7 +295210,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284682,7 +295220,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284692,7 +295230,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284702,7 +295240,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284712,7 +295250,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -284725,10 +295263,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -284807,6 +295348,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePolicyList_resultStandardScheme();
       }
@@ -284814,6 +295356,7 @@
 
     private static class getGroupComputeResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -284829,7 +295372,7 @@
                 {
                   org.apache.thrift.protocol.TList _list442 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list442.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem443;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem443;
                   for (int _i444 = 0; _i444 < _list442.size; ++_i444)
                   {
                     _elem443 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
@@ -284890,6 +295433,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -284933,6 +295477,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePolicyList_resultTupleScheme();
       }
@@ -284989,9 +295534,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list447 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list447 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list447.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem448;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem448;
             for (int _i449 = 0; _i449 < _list447.size; ++_i449)
             {
               _elem448 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
@@ -285029,6 +295574,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayGroups_args implements org.apache.thrift.TBase<getGatewayGroups_args, getGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_args");
 
@@ -285037,7 +295583,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -285054,6 +295600,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -285076,6 +295623,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -285088,10 +295636,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -285126,6 +295676,7 @@
       }
     }
 
+    @Override
     public getGatewayGroups_args deepCopy() {
       return new getGatewayGroups_args(this);
     }
@@ -285135,11 +295686,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGatewayGroups_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGatewayGroups_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -285159,7 +295711,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -285172,6 +295725,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -285182,6 +295737,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -285196,8 +295752,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayGroups_args)
         return this.equals((getGatewayGroups_args)that);
       return false;
@@ -285240,7 +295794,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -285253,14 +295807,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -285309,6 +295867,7 @@
     }
 
     private static class getGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_argsStandardScheme getScheme() {
         return new getGatewayGroups_argsStandardScheme();
       }
@@ -285316,6 +295875,7 @@
 
     private static class getGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -285346,6 +295906,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -285362,6 +295923,7 @@
     }
 
     private static class getGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_argsTupleScheme getScheme() {
         return new getGatewayGroups_argsTupleScheme();
       }
@@ -285389,6 +295951,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayGroups_result implements org.apache.thrift.TBase<getGatewayGroups_result, getGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_result");
 
@@ -285401,11 +295964,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -285426,6 +295989,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -285456,6 +296020,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -285468,10 +296033,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -285534,6 +296101,7 @@
       }
     }
 
+    @Override
     public getGatewayGroups_result deepCopy() {
       return new getGatewayGroups_result(this);
     }
@@ -285547,11 +296115,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getSuccess() {
       return this.success;
     }
 
-    public getGatewayGroups_result setSuccess(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
+    public getGatewayGroups_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
       this.success = success;
       return this;
     }
@@ -285571,11 +296140,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getGatewayGroups_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getGatewayGroups_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -285595,11 +296165,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getGatewayGroups_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getGatewayGroups_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -285619,11 +296190,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getGatewayGroups_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getGatewayGroups_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -285643,11 +296215,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGatewayGroups_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGatewayGroups_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -285667,7 +296240,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -285712,6 +296286,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -285734,6 +296310,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -285756,8 +296333,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayGroups_result)
         return this.equals((getGatewayGroups_result)that);
       return false;
@@ -285852,7 +296427,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -285862,7 +296437,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -285872,7 +296447,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -285882,7 +296457,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -285892,7 +296467,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -285905,10 +296480,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -285990,6 +296568,7 @@
     }
 
     private static class getGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_resultStandardScheme getScheme() {
         return new getGatewayGroups_resultStandardScheme();
       }
@@ -285997,6 +296576,7 @@
 
     private static class getGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -286063,6 +296643,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -286099,6 +296680,7 @@
     }
 
     private static class getGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_resultTupleScheme getScheme() {
         return new getGatewayGroups_resultTupleScheme();
       }
@@ -286180,6 +296762,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParser_args implements org.apache.thrift.TBase<getParser_args, getParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_args");
 
@@ -286190,9 +296773,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String parserId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String parserId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -286211,6 +296794,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -286237,6 +296821,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -286249,10 +296834,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -286301,6 +296888,7 @@
       }
     }
 
+    @Override
     public getParser_args deepCopy() {
       return new getParser_args(this);
     }
@@ -286312,11 +296900,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getParser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getParser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -286336,11 +296925,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getParserId() {
       return this.parserId;
     }
 
-    public getParser_args setParserId(java.lang.String parserId) {
+    public getParser_args setParserId(@org.apache.thrift.annotation.Nullable java.lang.String parserId) {
       this.parserId = parserId;
       return this;
     }
@@ -286360,11 +296950,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParser_args setGatewayId(java.lang.String gatewayId) {
+    public getParser_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -286384,7 +296975,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -286413,6 +297005,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -286429,6 +297023,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -286447,8 +297042,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParser_args)
         return this.equals((getParser_args)that);
       return false;
@@ -286517,7 +297110,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -286527,7 +297120,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
+      lastComparison = java.lang.Boolean.compare(isSetParserId(), other.isSetParserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -286537,7 +297130,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -286550,14 +297143,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -286628,6 +297225,7 @@
     }
 
     private static class getParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_argsStandardScheme getScheme() {
         return new getParser_argsStandardScheme();
       }
@@ -286635,6 +297233,7 @@
 
     private static class getParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -286681,6 +297280,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -286707,6 +297307,7 @@
     }
 
     private static class getParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_argsTupleScheme getScheme() {
         return new getParser_argsTupleScheme();
       }
@@ -286740,6 +297341,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParser_result implements org.apache.thrift.TBase<getParser_result, getParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_result");
 
@@ -286752,11 +297354,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.Parser 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -286777,6 +297379,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -286807,6 +297410,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -286819,10 +297423,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -286885,6 +297491,7 @@
       }
     }
 
+    @Override
     public getParser_result deepCopy() {
       return new getParser_result(this);
     }
@@ -286898,11 +297505,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.Parser getSuccess() {
       return this.success;
     }
 
-    public getParser_result setSuccess(org.apache.airavata.model.appcatalog.parser.Parser success) {
+    public getParser_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser success) {
       this.success = success;
       return this;
     }
@@ -286922,11 +297530,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getParser_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getParser_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -286946,11 +297555,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getParser_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getParser_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -286970,11 +297580,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getParser_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getParser_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -286994,11 +297605,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getParser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getParser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -287018,7 +297630,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -287063,6 +297676,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -287085,6 +297700,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -287107,8 +297723,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParser_result)
         return this.equals((getParser_result)that);
       return false;
@@ -287203,7 +297817,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287213,7 +297827,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287223,7 +297837,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287233,7 +297847,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287243,7 +297857,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287256,10 +297870,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -287341,6 +297958,7 @@
     }
 
     private static class getParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_resultStandardScheme getScheme() {
         return new getParser_resultStandardScheme();
       }
@@ -287348,6 +297966,7 @@
 
     private static class getParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -287414,6 +298033,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -287450,6 +298070,7 @@
     }
 
     private static class getParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_resultTupleScheme getScheme() {
         return new getParser_resultTupleScheme();
       }
@@ -287531,6 +298152,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParser_args implements org.apache.thrift.TBase<saveParser_args, saveParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_args");
 
@@ -287540,8 +298162,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.parser.Parser parser; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser parser; // 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 {
@@ -287559,6 +298181,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -287583,6 +298206,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -287595,10 +298219,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -287640,6 +298266,7 @@
       }
     }
 
+    @Override
     public saveParser_args deepCopy() {
       return new saveParser_args(this);
     }
@@ -287650,11 +298277,12 @@
       this.parser = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public saveParser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public saveParser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -287674,11 +298302,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.Parser getParser() {
       return this.parser;
     }
 
-    public saveParser_args setParser(org.apache.airavata.model.appcatalog.parser.Parser parser) {
+    public saveParser_args setParser(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser parser) {
       this.parser = parser;
       return this;
     }
@@ -287698,7 +298327,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -287719,6 +298349,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -287732,6 +298364,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -287748,8 +298381,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParser_args)
         return this.equals((saveParser_args)that);
       return false;
@@ -287805,7 +298436,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287815,7 +298446,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetParser()).compareTo(other.isSetParser());
+      lastComparison = java.lang.Boolean.compare(isSetParser(), other.isSetParser());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -287828,14 +298459,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -287898,6 +298533,7 @@
     }
 
     private static class saveParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_argsStandardScheme getScheme() {
         return new saveParser_argsStandardScheme();
       }
@@ -287905,6 +298541,7 @@
 
     private static class saveParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -287944,6 +298581,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -287965,6 +298603,7 @@
     }
 
     private static class saveParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_argsTupleScheme getScheme() {
         return new saveParser_argsTupleScheme();
       }
@@ -287996,6 +298635,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParser_result implements org.apache.thrift.TBase<saveParser_result, saveParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_result");
 
@@ -288008,11 +298648,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -288033,6 +298673,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -288063,6 +298704,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -288075,10 +298717,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -288141,6 +298785,7 @@
       }
     }
 
+    @Override
     public saveParser_result deepCopy() {
       return new saveParser_result(this);
     }
@@ -288154,11 +298799,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public saveParser_result setSuccess(java.lang.String success) {
+    public saveParser_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -288178,11 +298824,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public saveParser_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public saveParser_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -288202,11 +298849,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public saveParser_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public saveParser_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -288226,11 +298874,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public saveParser_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public saveParser_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -288250,11 +298899,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public saveParser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public saveParser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -288274,7 +298924,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -288319,6 +298970,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -288341,6 +298994,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -288363,8 +299017,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParser_result)
         return this.equals((saveParser_result)that);
       return false;
@@ -288459,7 +299111,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -288469,7 +299121,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -288479,7 +299131,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -288489,7 +299141,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -288499,7 +299151,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -288512,10 +299164,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -288594,6 +299249,7 @@
     }
 
     private static class saveParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_resultStandardScheme getScheme() {
         return new saveParser_resultStandardScheme();
       }
@@ -288601,6 +299257,7 @@
 
     private static class saveParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -288666,6 +299323,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -288702,6 +299360,7 @@
     }
 
     private static class saveParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_resultTupleScheme getScheme() {
         return new saveParser_resultTupleScheme();
       }
@@ -288782,6 +299441,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsers_args implements org.apache.thrift.TBase<listAllParsers_args, listAllParsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_args");
 
@@ -288791,8 +299451,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -288810,6 +299470,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -288834,6 +299495,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -288846,10 +299508,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -288891,6 +299555,7 @@
       }
     }
 
+    @Override
     public listAllParsers_args deepCopy() {
       return new listAllParsers_args(this);
     }
@@ -288901,11 +299566,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public listAllParsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public listAllParsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -288925,11 +299591,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public listAllParsers_args setGatewayId(java.lang.String gatewayId) {
+    public listAllParsers_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -288949,7 +299616,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -288970,6 +299638,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -288983,6 +299653,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -288999,8 +299670,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsers_args)
         return this.equals((listAllParsers_args)that);
       return false;
@@ -289056,7 +299725,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289066,7 +299735,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289079,14 +299748,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -289146,6 +299819,7 @@
     }
 
     private static class listAllParsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_argsStandardScheme getScheme() {
         return new listAllParsers_argsStandardScheme();
       }
@@ -289153,6 +299827,7 @@
 
     private static class listAllParsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -289191,6 +299866,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -289212,6 +299888,7 @@
     }
 
     private static class listAllParsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_argsTupleScheme getScheme() {
         return new listAllParsers_argsTupleScheme();
       }
@@ -289242,6 +299919,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsers_result implements org.apache.thrift.TBase<listAllParsers_result, listAllParsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_result");
 
@@ -289254,11 +299932,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -289279,6 +299957,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -289309,6 +299988,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -289321,10 +300001,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -289392,6 +300074,7 @@
       }
     }
 
+    @Override
     public listAllParsers_result deepCopy() {
       return new listAllParsers_result(this);
     }
@@ -289409,6 +300092,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.Parser> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -289420,11 +300104,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> getSuccess() {
       return this.success;
     }
 
-    public listAllParsers_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success) {
+    public listAllParsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success) {
       this.success = success;
       return this;
     }
@@ -289444,11 +300129,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public listAllParsers_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public listAllParsers_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -289468,11 +300154,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public listAllParsers_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public listAllParsers_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -289492,11 +300179,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public listAllParsers_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public listAllParsers_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -289516,11 +300204,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public listAllParsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public listAllParsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -289540,7 +300229,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -289585,6 +300275,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -289607,6 +300299,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -289629,8 +300322,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsers_result)
         return this.equals((listAllParsers_result)that);
       return false;
@@ -289725,7 +300416,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289735,7 +300426,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289745,7 +300436,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289755,7 +300446,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289765,7 +300456,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -289778,10 +300469,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -289860,6 +300554,7 @@
     }
 
     private static class listAllParsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_resultStandardScheme getScheme() {
         return new listAllParsers_resultStandardScheme();
       }
@@ -289867,6 +300562,7 @@
 
     private static class listAllParsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -289882,7 +300578,7 @@
                 {
                   org.apache.thrift.protocol.TList _list450 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list450.size);
-                  org.apache.airavata.model.appcatalog.parser.Parser _elem451;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser _elem451;
                   for (int _i452 = 0; _i452 < _list450.size; ++_i452)
                   {
                     _elem451 = new org.apache.airavata.model.appcatalog.parser.Parser();
@@ -289943,6 +300639,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -289986,6 +300683,7 @@
     }
 
     private static class listAllParsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_resultTupleScheme getScheme() {
         return new listAllParsers_resultTupleScheme();
       }
@@ -290042,9 +300740,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list455 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list455 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list455.size);
-            org.apache.airavata.model.appcatalog.parser.Parser _elem456;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser _elem456;
             for (int _i457 = 0; _i457 < _list455.size; ++_i457)
             {
               _elem456 = new org.apache.airavata.model.appcatalog.parser.Parser();
@@ -290082,6 +300780,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParser_args implements org.apache.thrift.TBase<removeParser_args, removeParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_args");
 
@@ -290092,9 +300791,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String parserId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String parserId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -290113,6 +300812,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -290139,6 +300839,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -290151,10 +300852,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -290203,6 +300906,7 @@
       }
     }
 
+    @Override
     public removeParser_args deepCopy() {
       return new removeParser_args(this);
     }
@@ -290214,11 +300918,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeParser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeParser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -290238,11 +300943,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getParserId() {
       return this.parserId;
     }
 
-    public removeParser_args setParserId(java.lang.String parserId) {
+    public removeParser_args setParserId(@org.apache.thrift.annotation.Nullable java.lang.String parserId) {
       this.parserId = parserId;
       return this;
     }
@@ -290262,11 +300968,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public removeParser_args setGatewayId(java.lang.String gatewayId) {
+    public removeParser_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -290286,7 +300993,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -290315,6 +301023,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -290331,6 +301041,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -290349,8 +301060,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParser_args)
         return this.equals((removeParser_args)that);
       return false;
@@ -290419,7 +301128,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -290429,7 +301138,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
+      lastComparison = java.lang.Boolean.compare(isSetParserId(), other.isSetParserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -290439,7 +301148,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -290452,14 +301161,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -290530,6 +301243,7 @@
     }
 
     private static class removeParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_argsStandardScheme getScheme() {
         return new removeParser_argsStandardScheme();
       }
@@ -290537,6 +301251,7 @@
 
     private static class removeParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -290583,6 +301298,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -290609,6 +301325,7 @@
     }
 
     private static class removeParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_argsTupleScheme getScheme() {
         return new removeParser_argsTupleScheme();
       }
@@ -290642,6 +301359,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParser_result implements org.apache.thrift.TBase<removeParser_result, removeParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_result");
 
@@ -290655,10 +301373,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -290679,6 +301397,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -290709,6 +301428,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -290721,10 +301441,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -290789,6 +301511,7 @@
       }
     }
 
+    @Override
     public removeParser_result deepCopy() {
       return new removeParser_result(this);
     }
@@ -290826,11 +301549,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public removeParser_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public removeParser_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -290850,11 +301574,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public removeParser_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public removeParser_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -290874,11 +301599,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public removeParser_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public removeParser_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -290898,11 +301624,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeParser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeParser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -290922,7 +301649,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -290967,6 +301695,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -290989,6 +301719,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -291011,8 +301742,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParser_result)
         return this.equals((removeParser_result)that);
       return false;
@@ -291105,7 +301834,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291115,7 +301844,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291125,7 +301854,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291135,7 +301864,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291145,7 +301874,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291158,10 +301887,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -291238,6 +301970,7 @@
     }
 
     private static class removeParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_resultStandardScheme getScheme() {
         return new removeParser_resultStandardScheme();
       }
@@ -291245,6 +301978,7 @@
 
     private static class removeParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -291310,6 +302044,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -291346,6 +302081,7 @@
     }
 
     private static class removeParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_resultTupleScheme getScheme() {
         return new removeParser_resultTupleScheme();
       }
@@ -291426,6 +302162,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplate_args implements org.apache.thrift.TBase<getParsingTemplate_args, getParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplate_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplate_args");
 
@@ -291436,9 +302173,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplate_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplate_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String templateId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String templateId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -291457,6 +302194,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -291483,6 +302221,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -291495,10 +302234,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -291547,6 +302288,7 @@
       }
     }
 
+    @Override
     public getParsingTemplate_args deepCopy() {
       return new getParsingTemplate_args(this);
     }
@@ -291558,11 +302300,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getParsingTemplate_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getParsingTemplate_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -291582,11 +302325,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTemplateId() {
       return this.templateId;
     }
 
-    public getParsingTemplate_args setTemplateId(java.lang.String templateId) {
+    public getParsingTemplate_args setTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String templateId) {
       this.templateId = templateId;
       return this;
     }
@@ -291606,11 +302350,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParsingTemplate_args setGatewayId(java.lang.String gatewayId) {
+    public getParsingTemplate_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -291630,7 +302375,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -291659,6 +302405,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -291675,6 +302423,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -291693,8 +302442,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplate_args)
         return this.equals((getParsingTemplate_args)that);
       return false;
@@ -291763,7 +302510,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291773,7 +302520,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
+      lastComparison = java.lang.Boolean.compare(isSetTemplateId(), other.isSetTemplateId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291783,7 +302530,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -291796,14 +302543,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -291874,6 +302625,7 @@
     }
 
     private static class getParsingTemplate_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_argsStandardScheme getScheme() {
         return new getParsingTemplate_argsStandardScheme();
       }
@@ -291881,6 +302633,7 @@
 
     private static class getParsingTemplate_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplate_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -291927,6 +302680,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -291953,6 +302707,7 @@
     }
 
     private static class getParsingTemplate_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_argsTupleScheme getScheme() {
         return new getParsingTemplate_argsTupleScheme();
       }
@@ -291986,6 +302741,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplate_result implements org.apache.thrift.TBase<getParsingTemplate_result, getParsingTemplate_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplate_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplate_result");
 
@@ -291998,11 +302754,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplate_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplate_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.ParsingTemplate 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -292023,6 +302779,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -292053,6 +302810,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -292065,10 +302823,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -292131,6 +302891,7 @@
       }
     }
 
+    @Override
     public getParsingTemplate_result deepCopy() {
       return new getParsingTemplate_result(this);
     }
@@ -292144,11 +302905,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getSuccess() {
       return this.success;
     }
 
-    public getParsingTemplate_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParsingTemplate success) {
+    public getParsingTemplate_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate success) {
       this.success = success;
       return this;
     }
@@ -292168,11 +302930,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getParsingTemplate_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getParsingTemplate_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -292192,11 +302955,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getParsingTemplate_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getParsingTemplate_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -292216,11 +302980,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getParsingTemplate_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getParsingTemplate_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -292240,11 +303005,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getParsingTemplate_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getParsingTemplate_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -292264,7 +303030,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -292309,6 +303076,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -292331,6 +303100,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -292353,8 +303123,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplate_result)
         return this.equals((getParsingTemplate_result)that);
       return false;
@@ -292449,7 +303217,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -292459,7 +303227,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -292469,7 +303237,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -292479,7 +303247,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -292489,7 +303257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -292502,10 +303270,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -292587,6 +303358,7 @@
     }
 
     private static class getParsingTemplate_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_resultStandardScheme getScheme() {
         return new getParsingTemplate_resultStandardScheme();
       }
@@ -292594,6 +303366,7 @@
 
     private static class getParsingTemplate_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplate_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -292660,6 +303433,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -292696,6 +303470,7 @@
     }
 
     private static class getParsingTemplate_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_resultTupleScheme getScheme() {
         return new getParsingTemplate_resultTupleScheme();
       }
@@ -292777,6 +303552,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplatesForExperiment_args implements org.apache.thrift.TBase<getParsingTemplatesForExperiment_args, getParsingTemplatesForExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplatesForExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplatesForExperiment_args");
 
@@ -292787,9 +303563,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplatesForExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplatesForExperiment_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String experimentId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -292808,6 +303584,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -292834,6 +303611,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -292846,10 +303624,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -292898,6 +303678,7 @@
       }
     }
 
+    @Override
     public getParsingTemplatesForExperiment_args deepCopy() {
       return new getParsingTemplatesForExperiment_args(this);
     }
@@ -292909,11 +303690,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getParsingTemplatesForExperiment_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getParsingTemplatesForExperiment_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -292933,11 +303715,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public getParsingTemplatesForExperiment_args setExperimentId(java.lang.String experimentId) {
+    public getParsingTemplatesForExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -292957,11 +303740,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParsingTemplatesForExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public getParsingTemplatesForExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -292981,7 +303765,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -293010,6 +303795,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -293026,6 +303813,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -293044,8 +303832,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplatesForExperiment_args)
         return this.equals((getParsingTemplatesForExperiment_args)that);
       return false;
@@ -293114,7 +303900,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293124,7 +303910,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293134,7 +303920,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293147,14 +303933,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -293225,6 +304015,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_argsStandardScheme getScheme() {
         return new getParsingTemplatesForExperiment_argsStandardScheme();
       }
@@ -293232,6 +304023,7 @@
 
     private static class getParsingTemplatesForExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplatesForExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplatesForExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -293278,6 +304070,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplatesForExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -293304,6 +304097,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_argsTupleScheme getScheme() {
         return new getParsingTemplatesForExperiment_argsTupleScheme();
       }
@@ -293337,6 +304131,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplatesForExperiment_result implements org.apache.thrift.TBase<getParsingTemplatesForExperiment_result, getParsingTemplatesForExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplatesForExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplatesForExperiment_result");
 
@@ -293349,11 +304144,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplatesForExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplatesForExperiment_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -293374,6 +304169,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -293404,6 +304200,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -293416,10 +304213,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -293487,6 +304286,7 @@
       }
     }
 
+    @Override
     public getParsingTemplatesForExperiment_result deepCopy() {
       return new getParsingTemplatesForExperiment_result(this);
     }
@@ -293504,6 +304304,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -293515,11 +304316,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccess() {
       return this.success;
     }
 
-    public getParsingTemplatesForExperiment_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
+    public getParsingTemplatesForExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
       this.success = success;
       return this;
     }
@@ -293539,11 +304341,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public getParsingTemplatesForExperiment_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public getParsingTemplatesForExperiment_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -293563,11 +304366,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public getParsingTemplatesForExperiment_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public getParsingTemplatesForExperiment_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -293587,11 +304391,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public getParsingTemplatesForExperiment_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public getParsingTemplatesForExperiment_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -293611,11 +304416,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getParsingTemplatesForExperiment_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getParsingTemplatesForExperiment_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -293635,7 +304441,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -293680,6 +304487,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -293702,6 +304511,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -293724,8 +304534,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplatesForExperiment_result)
         return this.equals((getParsingTemplatesForExperiment_result)that);
       return false;
@@ -293820,7 +304628,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293830,7 +304638,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293840,7 +304648,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293850,7 +304658,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293860,7 +304668,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -293873,10 +304681,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -293955,6 +304766,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_resultStandardScheme getScheme() {
         return new getParsingTemplatesForExperiment_resultStandardScheme();
       }
@@ -293962,6 +304774,7 @@
 
     private static class getParsingTemplatesForExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplatesForExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplatesForExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -293977,7 +304790,7 @@
                 {
                   org.apache.thrift.protocol.TList _list458 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list458.size);
-                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem459;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem459;
                   for (int _i460 = 0; _i460 < _list458.size; ++_i460)
                   {
                     _elem459 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
@@ -294038,6 +304851,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplatesForExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -294081,6 +304895,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_resultTupleScheme getScheme() {
         return new getParsingTemplatesForExperiment_resultTupleScheme();
       }
@@ -294137,9 +304952,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list463 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list463 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list463.size);
-            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem464;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem464;
             for (int _i465 = 0; _i465 < _list463.size; ++_i465)
             {
               _elem464 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
@@ -294177,6 +304992,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParsingTemplate_args implements org.apache.thrift.TBase<saveParsingTemplate_args, saveParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParsingTemplate_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParsingTemplate_args");
 
@@ -294186,8 +305002,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParsingTemplate_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParsingTemplate_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate; // 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 {
@@ -294205,6 +305021,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -294229,6 +305046,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -294241,10 +305059,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -294286,6 +305106,7 @@
       }
     }
 
+    @Override
     public saveParsingTemplate_args deepCopy() {
       return new saveParsingTemplate_args(this);
     }
@@ -294296,11 +305117,12 @@
       this.parsingTemplate = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public saveParsingTemplate_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public saveParsingTemplate_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -294320,11 +305142,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getParsingTemplate() {
       return this.parsingTemplate;
     }
 
-    public saveParsingTemplate_args setParsingTemplate(org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate) {
+    public saveParsingTemplate_args setParsingTemplate(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate) {
       this.parsingTemplate = parsingTemplate;
       return this;
     }
@@ -294344,7 +305167,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -294365,6 +305189,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -294378,6 +305204,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -294394,8 +305221,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParsingTemplate_args)
         return this.equals((saveParsingTemplate_args)that);
       return false;
@@ -294451,7 +305276,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -294461,7 +305286,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetParsingTemplate()).compareTo(other.isSetParsingTemplate());
+      lastComparison = java.lang.Boolean.compare(isSetParsingTemplate(), other.isSetParsingTemplate());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -294474,14 +305299,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -294544,6 +305373,7 @@
     }
 
     private static class saveParsingTemplate_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_argsStandardScheme getScheme() {
         return new saveParsingTemplate_argsStandardScheme();
       }
@@ -294551,6 +305381,7 @@
 
     private static class saveParsingTemplate_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParsingTemplate_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParsingTemplate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -294590,6 +305421,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParsingTemplate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -294611,6 +305443,7 @@
     }
 
     private static class saveParsingTemplate_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_argsTupleScheme getScheme() {
         return new saveParsingTemplate_argsTupleScheme();
       }
@@ -294642,6 +305475,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParsingTemplate_result implements org.apache.thrift.TBase<saveParsingTemplate_result, saveParsingTemplate_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParsingTemplate_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParsingTemplate_result");
 
@@ -294654,11 +305488,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParsingTemplate_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParsingTemplate_resultTupleSchemeFactory();
 
-    public java.lang.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
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -294679,6 +305513,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -294709,6 +305544,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -294721,10 +305557,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -294787,6 +305625,7 @@
       }
     }
 
+    @Override
     public saveParsingTemplate_result deepCopy() {
       return new saveParsingTemplate_result(this);
     }
@@ -294800,11 +305639,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public saveParsingTemplate_result setSuccess(java.lang.String success) {
+    public saveParsingTemplate_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -294824,11 +305664,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public saveParsingTemplate_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public saveParsingTemplate_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -294848,11 +305689,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public saveParsingTemplate_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public saveParsingTemplate_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -294872,11 +305714,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public saveParsingTemplate_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public saveParsingTemplate_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -294896,11 +305739,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public saveParsingTemplate_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public saveParsingTemplate_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -294920,7 +305764,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -294965,6 +305810,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -294987,6 +305834,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -295009,8 +305857,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParsingTemplate_result)
         return this.equals((saveParsingTemplate_result)that);
       return false;
@@ -295105,7 +305951,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295115,7 +305961,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295125,7 +305971,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295135,7 +305981,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295145,7 +305991,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295158,10 +306004,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -295240,6 +306089,7 @@
     }
 
     private static class saveParsingTemplate_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_resultStandardScheme getScheme() {
         return new saveParsingTemplate_resultStandardScheme();
       }
@@ -295247,6 +306097,7 @@
 
     private static class saveParsingTemplate_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParsingTemplate_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParsingTemplate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -295312,6 +306163,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParsingTemplate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -295348,6 +306200,7 @@
     }
 
     private static class saveParsingTemplate_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_resultTupleScheme getScheme() {
         return new saveParsingTemplate_resultTupleScheme();
       }
@@ -295428,6 +306281,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParsingTemplate_args implements org.apache.thrift.TBase<removeParsingTemplate_args, removeParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeParsingTemplate_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParsingTemplate_args");
 
@@ -295438,9 +306292,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParsingTemplate_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParsingTemplate_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String templateId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String templateId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -295459,6 +306313,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -295485,6 +306340,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -295497,10 +306353,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -295549,6 +306407,7 @@
       }
     }
 
+    @Override
     public removeParsingTemplate_args deepCopy() {
       return new removeParsingTemplate_args(this);
     }
@@ -295560,11 +306419,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeParsingTemplate_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeParsingTemplate_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -295584,11 +306444,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTemplateId() {
       return this.templateId;
     }
 
-    public removeParsingTemplate_args setTemplateId(java.lang.String templateId) {
+    public removeParsingTemplate_args setTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String templateId) {
       this.templateId = templateId;
       return this;
     }
@@ -295608,11 +306469,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public removeParsingTemplate_args setGatewayId(java.lang.String gatewayId) {
+    public removeParsingTemplate_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -295632,7 +306494,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -295661,6 +306524,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -295677,6 +306542,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -295695,8 +306561,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParsingTemplate_args)
         return this.equals((removeParsingTemplate_args)that);
       return false;
@@ -295765,7 +306629,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295775,7 +306639,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
+      lastComparison = java.lang.Boolean.compare(isSetTemplateId(), other.isSetTemplateId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295785,7 +306649,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -295798,14 +306662,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -295876,6 +306744,7 @@
     }
 
     private static class removeParsingTemplate_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_argsStandardScheme getScheme() {
         return new removeParsingTemplate_argsStandardScheme();
       }
@@ -295883,6 +306752,7 @@
 
     private static class removeParsingTemplate_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParsingTemplate_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParsingTemplate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -295929,6 +306799,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParsingTemplate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -295955,6 +306826,7 @@
     }
 
     private static class removeParsingTemplate_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_argsTupleScheme getScheme() {
         return new removeParsingTemplate_argsTupleScheme();
       }
@@ -295988,6 +306860,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParsingTemplate_result implements org.apache.thrift.TBase<removeParsingTemplate_result, removeParsingTemplate_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeParsingTemplate_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParsingTemplate_result");
 
@@ -296001,10 +306874,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParsingTemplate_resultTupleSchemeFactory();
 
     public boolean 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
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -296025,6 +306898,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -296055,6 +306929,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -296067,10 +306942,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -296135,6 +307012,7 @@
       }
     }
 
+    @Override
     public removeParsingTemplate_result deepCopy() {
       return new removeParsingTemplate_result(this);
     }
@@ -296172,11 +307050,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public removeParsingTemplate_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public removeParsingTemplate_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -296196,11 +307075,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public removeParsingTemplate_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public removeParsingTemplate_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -296220,11 +307100,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public removeParsingTemplate_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public removeParsingTemplate_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -296244,11 +307125,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeParsingTemplate_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeParsingTemplate_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -296268,7 +307150,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -296313,6 +307196,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -296335,6 +307220,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -296357,8 +307243,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParsingTemplate_result)
         return this.equals((removeParsingTemplate_result)that);
       return false;
@@ -296451,7 +307335,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -296461,7 +307345,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -296471,7 +307355,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -296481,7 +307365,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -296491,7 +307375,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -296504,10 +307388,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -296584,6 +307471,7 @@
     }
 
     private static class removeParsingTemplate_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_resultStandardScheme getScheme() {
         return new removeParsingTemplate_resultStandardScheme();
       }
@@ -296591,6 +307479,7 @@
 
     private static class removeParsingTemplate_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParsingTemplate_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParsingTemplate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -296656,6 +307545,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParsingTemplate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -296692,6 +307582,7 @@
     }
 
     private static class removeParsingTemplate_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_resultTupleScheme getScheme() {
         return new removeParsingTemplate_resultTupleScheme();
       }
@@ -296772,6 +307663,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsingTemplates_args implements org.apache.thrift.TBase<listAllParsingTemplates_args, listAllParsingTemplates_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsingTemplates_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsingTemplates_args");
 
@@ -296781,8 +307673,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsingTemplates_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsingTemplates_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -296800,6 +307692,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -296824,6 +307717,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -296836,10 +307730,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -296881,6 +307777,7 @@
       }
     }
 
+    @Override
     public listAllParsingTemplates_args deepCopy() {
       return new listAllParsingTemplates_args(this);
     }
@@ -296891,11 +307788,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public listAllParsingTemplates_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public listAllParsingTemplates_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -296915,11 +307813,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public listAllParsingTemplates_args setGatewayId(java.lang.String gatewayId) {
+    public listAllParsingTemplates_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -296939,7 +307838,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -296960,6 +307860,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -296973,6 +307875,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -296989,8 +307892,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsingTemplates_args)
         return this.equals((listAllParsingTemplates_args)that);
       return false;
@@ -297046,7 +307947,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297056,7 +307957,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297069,14 +307970,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -297136,6 +308041,7 @@
     }
 
     private static class listAllParsingTemplates_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_argsStandardScheme getScheme() {
         return new listAllParsingTemplates_argsStandardScheme();
       }
@@ -297143,6 +308049,7 @@
 
     private static class listAllParsingTemplates_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsingTemplates_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsingTemplates_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -297181,6 +308088,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsingTemplates_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -297202,6 +308110,7 @@
     }
 
     private static class listAllParsingTemplates_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_argsTupleScheme getScheme() {
         return new listAllParsingTemplates_argsTupleScheme();
       }
@@ -297232,6 +308141,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsingTemplates_result implements org.apache.thrift.TBase<listAllParsingTemplates_result, listAllParsingTemplates_result._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsingTemplates_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsingTemplates_result");
 
@@ -297244,11 +308154,11 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsingTemplates_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsingTemplates_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> 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
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -297269,6 +308179,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -297299,6 +308210,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -297311,10 +308223,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -297382,6 +308296,7 @@
       }
     }
 
+    @Override
     public listAllParsingTemplates_result deepCopy() {
       return new listAllParsingTemplates_result(this);
     }
@@ -297399,6 +308314,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -297410,11 +308326,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccess() {
       return this.success;
     }
 
-    public listAllParsingTemplates_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
+    public listAllParsingTemplates_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
       this.success = success;
       return this;
     }
@@ -297434,11 +308351,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.InvalidRequestException getIre() {
       return this.ire;
     }
 
-    public listAllParsingTemplates_result setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
+    public listAllParsingTemplates_result setIre(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.InvalidRequestException ire) {
       this.ire = ire;
       return this;
     }
@@ -297458,11 +308376,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataClientException getAce() {
       return this.ace;
     }
 
-    public listAllParsingTemplates_result setAce(org.apache.airavata.model.error.AiravataClientException ace) {
+    public listAllParsingTemplates_result setAce(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataClientException ace) {
       this.ace = ace;
       return this;
     }
@@ -297482,11 +308401,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AiravataSystemException getAse() {
       return this.ase;
     }
 
-    public listAllParsingTemplates_result setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
+    public listAllParsingTemplates_result setAse(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AiravataSystemException ase) {
       this.ase = ase;
       return this;
     }
@@ -297506,11 +308426,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public listAllParsingTemplates_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public listAllParsingTemplates_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -297530,7 +308451,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -297575,6 +308497,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -297597,6 +308521,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -297619,8 +308544,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsingTemplates_result)
         return this.equals((listAllParsingTemplates_result)that);
       return false;
@@ -297715,7 +308638,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297725,7 +308648,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
+      lastComparison = java.lang.Boolean.compare(isSetIre(), other.isSetIre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297735,7 +308658,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
+      lastComparison = java.lang.Boolean.compare(isSetAce(), other.isSetAce());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297745,7 +308668,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
+      lastComparison = java.lang.Boolean.compare(isSetAse(), other.isSetAse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297755,7 +308678,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -297768,10 +308691,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -297850,6 +308776,7 @@
     }
 
     private static class listAllParsingTemplates_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_resultStandardScheme getScheme() {
         return new listAllParsingTemplates_resultStandardScheme();
       }
@@ -297857,6 +308784,7 @@
 
     private static class listAllParsingTemplates_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsingTemplates_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsingTemplates_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -297872,7 +308800,7 @@
                 {
                   org.apache.thrift.protocol.TList _list466 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list466.size);
-                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem467;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem467;
                   for (int _i468 = 0; _i468 < _list466.size; ++_i468)
                   {
                     _elem467 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
@@ -297933,6 +308861,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsingTemplates_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -297976,6 +308905,7 @@
     }
 
     private static class listAllParsingTemplates_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_resultTupleScheme getScheme() {
         return new listAllParsingTemplates_resultTupleScheme();
       }
@@ -298032,9 +308962,9 @@
         java.util.BitSet incoming = iprot.readBitSet(5);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list471 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list471 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list471.size);
-            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem472;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem472;
             for (int _i473 = 0; _i473 < _list471.size; ++_i473)
             {
               _elem472 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
index b34a28b..14d66d2 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/airavata_apiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-api/airavata-base-api/src/main/java/org/apache/airavata/base/api/BaseAPI.java b/airavata-api/airavata-base-api/src/main/java/org/apache/airavata/base/api/BaseAPI.java
index b15445b..67a3e23 100644
--- a/airavata-api/airavata-base-api/src/main/java/org/apache/airavata/base/api/BaseAPI.java
+++ b/airavata-api/airavata-base-api/src/main/java/org/apache/airavata/base/api/BaseAPI.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.base.api;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class BaseAPI {
 
   public interface Iface {
@@ -42,9 +42,11 @@
   public static class Client extends org.apache.thrift.TServiceClient implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -59,6 +61,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public java.lang.String getAPIVersion() throws org.apache.thrift.TException
     {
       send_getAPIVersion();
@@ -90,6 +93,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -99,6 +103,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void getAPIVersion(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAPIVersion_call method_call = new getAPIVersion_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -111,6 +116,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAPIVersion", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAPIVersion_args args = new getAPIVersion_args();
@@ -118,6 +124,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -150,14 +157,22 @@
         super("getAPIVersion");
       }
 
+      @Override
       public getAPIVersion_args getEmptyArgsInstance() {
         return new getAPIVersion_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAPIVersion_result getResult(I iface, getAPIVersion_args args) throws org.apache.thrift.TException {
         getAPIVersion_result result = new getAPIVersion_result();
         result.success = iface.getAPIVersion();
@@ -187,13 +202,16 @@
         super("getAPIVersion");
       }
 
+      @Override
       public getAPIVersion_args getEmptyArgsInstance() {
         return new getAPIVersion_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             getAPIVersion_result result = new getAPIVersion_result();
             result.success = o;
@@ -207,6 +225,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -234,10 +253,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAPIVersion_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.getAPIVersion(resultHandler);
       }
@@ -245,6 +266,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
 
@@ -268,6 +290,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -288,6 +311,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -300,10 +324,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -324,6 +350,7 @@
     public getAPIVersion_args(getAPIVersion_args other) {
     }
 
+    @Override
     public getAPIVersion_args deepCopy() {
       return new getAPIVersion_args(this);
     }
@@ -332,11 +359,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -344,6 +374,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -356,8 +387,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAPIVersion_args)
         return this.equals((getAPIVersion_args)that);
       return false;
@@ -390,14 +419,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -433,6 +466,7 @@
     }
 
     private static class getAPIVersion_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAPIVersion_argsStandardScheme getScheme() {
         return new getAPIVersion_argsStandardScheme();
       }
@@ -440,6 +474,7 @@
 
     private static class getAPIVersion_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAPIVersion_args> {
 
+      @Override
       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();
@@ -461,6 +496,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAPIVersion_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -472,6 +508,7 @@
     }
 
     private static class getAPIVersion_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAPIVersion_argsTupleScheme getScheme() {
         return new getAPIVersion_argsTupleScheme();
       }
@@ -495,6 +532,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   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");
 
@@ -503,7 +541,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // 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 {
@@ -520,6 +558,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -542,6 +581,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -554,10 +594,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -592,6 +634,7 @@
       }
     }
 
+    @Override
     public getAPIVersion_result deepCopy() {
       return new getAPIVersion_result(this);
     }
@@ -601,11 +644,12 @@
       this.success = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public getAPIVersion_result setSuccess(java.lang.String success) {
+    public getAPIVersion_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -625,7 +669,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -638,6 +683,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -648,6 +695,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -662,8 +710,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAPIVersion_result)
         return this.equals((getAPIVersion_result)that);
       return false;
@@ -706,7 +752,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -719,10 +765,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -769,6 +818,7 @@
     }
 
     private static class getAPIVersion_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAPIVersion_resultStandardScheme getScheme() {
         return new getAPIVersion_resultStandardScheme();
       }
@@ -776,6 +826,7 @@
 
     private static class getAPIVersion_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAPIVersion_result> {
 
+      @Override
       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();
@@ -805,6 +856,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAPIVersion_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -821,6 +873,7 @@
     }
 
     private static class getAPIVersion_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAPIVersion_resultTupleScheme getScheme() {
         return new getAPIVersion_resultTupleScheme();
       }
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
index e5b7ee6..b1372b0 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.cpp
@@ -8234,6 +8234,22 @@
           xfer += iprot->skip(ftype);
         }
         break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->limit);
+          this->__isset.limit = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->offset);
+          this->__isset.offset = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -8287,6 +8303,14 @@
   xfer += oprot->writeString(this->resourceHostName);
   xfer += oprot->writeFieldEnd();
 
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 8);
+  xfer += oprot->writeI32(this->limit);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 9);
+  xfer += oprot->writeI32(this->offset);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -8330,6 +8354,14 @@
   xfer += oprot->writeString((*(this->resourceHostName)));
   xfer += oprot->writeFieldEnd();
 
+  xfer += oprot->writeFieldBegin("limit", ::apache::thrift::protocol::T_I32, 8);
+  xfer += oprot->writeI32((*(this->limit)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("offset", ::apache::thrift::protocol::T_I32, 9);
+  xfer += oprot->writeI32((*(this->offset)));
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -13177,6 +13209,698 @@
 }
 
 
+Airavata_fetchIntermediateOutputs_args::~Airavata_fetchIntermediateOutputs_args() throw() {
+}
+
+
+uint32_t Airavata_fetchIntermediateOutputs_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_airavataExperimentId = false;
+  bool isset_outputNames = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->outputNames.clear();
+            uint32_t _size142;
+            ::apache::thrift::protocol::TType _etype145;
+            xfer += iprot->readListBegin(_etype145, _size142);
+            this->outputNames.resize(_size142);
+            uint32_t _i146;
+            for (_i146 = 0; _i146 < _size142; ++_i146)
+            {
+              xfer += iprot->readString(this->outputNames[_i146]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_outputNames = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_outputNames)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_fetchIntermediateOutputs_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_fetchIntermediateOutputs_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("outputNames", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->outputNames.size()));
+    std::vector<std::string> ::const_iterator _iter147;
+    for (_iter147 = this->outputNames.begin(); _iter147 != this->outputNames.end(); ++_iter147)
+    {
+      xfer += oprot->writeString((*_iter147));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_fetchIntermediateOutputs_pargs::~Airavata_fetchIntermediateOutputs_pargs() throw() {
+}
+
+
+uint32_t Airavata_fetchIntermediateOutputs_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_fetchIntermediateOutputs_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("outputNames", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->outputNames)).size()));
+    std::vector<std::string> ::const_iterator _iter148;
+    for (_iter148 = (*(this->outputNames)).begin(); _iter148 != (*(this->outputNames)).end(); ++_iter148)
+    {
+      xfer += oprot->writeString((*_iter148));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_fetchIntermediateOutputs_result::~Airavata_fetchIntermediateOutputs_result() throw() {
+}
+
+
+uint32_t Airavata_fetchIntermediateOutputs_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_fetchIntermediateOutputs_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_fetchIntermediateOutputs_result");
+
+  if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.enf) {
+    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->enf.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_fetchIntermediateOutputs_presult::~Airavata_fetchIntermediateOutputs_presult() throw() {
+}
+
+
+uint32_t Airavata_fetchIntermediateOutputs_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
+Airavata_getIntermediateOutputProcessStatus_args::~Airavata_getIntermediateOutputProcessStatus_args() throw() {
+}
+
+
+uint32_t Airavata_getIntermediateOutputProcessStatus_args::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_authzToken = false;
+  bool isset_airavataExperimentId = false;
+  bool isset_outputNames = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->authzToken.read(iprot);
+          isset_authzToken = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->airavataExperimentId);
+          isset_airavataExperimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->outputNames.clear();
+            uint32_t _size149;
+            ::apache::thrift::protocol::TType _etype152;
+            xfer += iprot->readListBegin(_etype152, _size149);
+            this->outputNames.resize(_size149);
+            uint32_t _i153;
+            for (_i153 = 0; _i153 < _size149; ++_i153)
+            {
+              xfer += iprot->readString(this->outputNames[_i153]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_outputNames = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_authzToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_airavataExperimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_outputNames)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t Airavata_getIntermediateOutputProcessStatus_args::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getIntermediateOutputProcessStatus_args");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += this->authzToken.write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->airavataExperimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("outputNames", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->outputNames.size()));
+    std::vector<std::string> ::const_iterator _iter154;
+    for (_iter154 = this->outputNames.begin(); _iter154 != this->outputNames.end(); ++_iter154)
+    {
+      xfer += oprot->writeString((*_iter154));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getIntermediateOutputProcessStatus_pargs::~Airavata_getIntermediateOutputProcessStatus_pargs() throw() {
+}
+
+
+uint32_t Airavata_getIntermediateOutputProcessStatus_pargs::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("Airavata_getIntermediateOutputProcessStatus_pargs");
+
+  xfer += oprot->writeFieldBegin("authzToken", ::apache::thrift::protocol::T_STRUCT, 1);
+  xfer += (*(this->authzToken)).write(oprot);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("airavataExperimentId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString((*(this->airavataExperimentId)));
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("outputNames", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>((*(this->outputNames)).size()));
+    std::vector<std::string> ::const_iterator _iter155;
+    for (_iter155 = (*(this->outputNames)).begin(); _iter155 != (*(this->outputNames)).end(); ++_iter155)
+    {
+      xfer += oprot->writeString((*_iter155));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getIntermediateOutputProcessStatus_result::~Airavata_getIntermediateOutputProcessStatus_result() throw() {
+}
+
+
+uint32_t Airavata_getIntermediateOutputProcessStatus_result::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->success.read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+uint32_t Airavata_getIntermediateOutputProcessStatus_result::write(::apache::thrift::protocol::TProtocol* oprot) const {
+
+  uint32_t xfer = 0;
+
+  xfer += oprot->writeStructBegin("Airavata_getIntermediateOutputProcessStatus_result");
+
+  if (this->__isset.success) {
+    xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_STRUCT, 0);
+    xfer += this->success.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ire) {
+    xfer += oprot->writeFieldBegin("ire", ::apache::thrift::protocol::T_STRUCT, 1);
+    xfer += this->ire.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.enf) {
+    xfer += oprot->writeFieldBegin("enf", ::apache::thrift::protocol::T_STRUCT, 2);
+    xfer += this->enf.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ace) {
+    xfer += oprot->writeFieldBegin("ace", ::apache::thrift::protocol::T_STRUCT, 3);
+    xfer += this->ace.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ase) {
+    xfer += oprot->writeFieldBegin("ase", ::apache::thrift::protocol::T_STRUCT, 4);
+    xfer += this->ase.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  } else if (this->__isset.ae) {
+    xfer += oprot->writeFieldBegin("ae", ::apache::thrift::protocol::T_STRUCT, 5);
+    xfer += this->ae.write(oprot);
+    xfer += oprot->writeFieldEnd();
+  }
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+
+Airavata_getIntermediateOutputProcessStatus_presult::~Airavata_getIntermediateOutputProcessStatus_presult() throw() {
+}
+
+
+uint32_t Airavata_getIntermediateOutputProcessStatus_presult::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += (*(this->success)).read(iprot);
+          this->__isset.success = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ire.read(iprot);
+          this->__isset.ire = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->enf.read(iprot);
+          this->__isset.enf = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ace.read(iprot);
+          this->__isset.ace = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ase.read(iprot);
+          this->__isset.ase = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
+          xfer += this->ae.read(iprot);
+          this->__isset.ae = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  return xfer;
+}
+
+
 Airavata_getJobStatuses_args::~Airavata_getJobStatuses_args() throw() {
 }
 
@@ -13307,17 +14031,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size142;
-            ::apache::thrift::protocol::TType _ktype143;
-            ::apache::thrift::protocol::TType _vtype144;
-            xfer += iprot->readMapBegin(_ktype143, _vtype144, _size142);
-            uint32_t _i146;
-            for (_i146 = 0; _i146 < _size142; ++_i146)
+            uint32_t _size156;
+            ::apache::thrift::protocol::TType _ktype157;
+            ::apache::thrift::protocol::TType _vtype158;
+            xfer += iprot->readMapBegin(_ktype157, _vtype158, _size156);
+            uint32_t _i160;
+            for (_i160 = 0; _i160 < _size156; ++_i160)
             {
-              std::string _key147;
-              xfer += iprot->readString(_key147);
-               ::apache::airavata::model::status::JobStatus& _val148 = this->success[_key147];
-              xfer += _val148.read(iprot);
+              std::string _key161;
+              xfer += iprot->readString(_key161);
+               ::apache::airavata::model::status::JobStatus& _val162 = this->success[_key161];
+              xfer += _val162.read(iprot);
             }
             xfer += iprot->readMapEnd();
           }
@@ -13388,11 +14112,11 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string,  ::apache::airavata::model::status::JobStatus> ::const_iterator _iter149;
-      for (_iter149 = this->success.begin(); _iter149 != this->success.end(); ++_iter149)
+      std::map<std::string,  ::apache::airavata::model::status::JobStatus> ::const_iterator _iter163;
+      for (_iter163 = this->success.begin(); _iter163 != this->success.end(); ++_iter163)
       {
-        xfer += oprot->writeString(_iter149->first);
-        xfer += _iter149->second.write(oprot);
+        xfer += oprot->writeString(_iter163->first);
+        xfer += _iter163->second.write(oprot);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -13453,17 +14177,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size150;
-            ::apache::thrift::protocol::TType _ktype151;
-            ::apache::thrift::protocol::TType _vtype152;
-            xfer += iprot->readMapBegin(_ktype151, _vtype152, _size150);
-            uint32_t _i154;
-            for (_i154 = 0; _i154 < _size150; ++_i154)
+            uint32_t _size164;
+            ::apache::thrift::protocol::TType _ktype165;
+            ::apache::thrift::protocol::TType _vtype166;
+            xfer += iprot->readMapBegin(_ktype165, _vtype166, _size164);
+            uint32_t _i168;
+            for (_i168 = 0; _i168 < _size164; ++_i168)
             {
-              std::string _key155;
-              xfer += iprot->readString(_key155);
-               ::apache::airavata::model::status::JobStatus& _val156 = (*(this->success))[_key155];
-              xfer += _val156.read(iprot);
+              std::string _key169;
+              xfer += iprot->readString(_key169);
+               ::apache::airavata::model::status::JobStatus& _val170 = (*(this->success))[_key169];
+              xfer += _val170.read(iprot);
             }
             xfer += iprot->readMapEnd();
           }
@@ -13655,14 +14379,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size157;
-            ::apache::thrift::protocol::TType _etype160;
-            xfer += iprot->readListBegin(_etype160, _size157);
-            this->success.resize(_size157);
-            uint32_t _i161;
-            for (_i161 = 0; _i161 < _size157; ++_i161)
+            uint32_t _size171;
+            ::apache::thrift::protocol::TType _etype174;
+            xfer += iprot->readListBegin(_etype174, _size171);
+            this->success.resize(_size171);
+            uint32_t _i175;
+            for (_i175 = 0; _i175 < _size171; ++_i175)
             {
-              xfer += this->success[_i161].read(iprot);
+              xfer += this->success[_i175].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -13733,10 +14457,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::job::JobModel> ::const_iterator _iter162;
-      for (_iter162 = this->success.begin(); _iter162 != this->success.end(); ++_iter162)
+      std::vector< ::apache::airavata::model::job::JobModel> ::const_iterator _iter176;
+      for (_iter176 = this->success.begin(); _iter176 != this->success.end(); ++_iter176)
       {
-        xfer += (*_iter162).write(oprot);
+        xfer += (*_iter176).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -13797,14 +14521,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size163;
-            ::apache::thrift::protocol::TType _etype166;
-            xfer += iprot->readListBegin(_etype166, _size163);
-            (*(this->success)).resize(_size163);
-            uint32_t _i167;
-            for (_i167 = 0; _i167 < _size163; ++_i167)
+            uint32_t _size177;
+            ::apache::thrift::protocol::TType _etype180;
+            xfer += iprot->readListBegin(_etype180, _size177);
+            (*(this->success)).resize(_size177);
+            uint32_t _i181;
+            for (_i181 = 0; _i181 < _size177; ++_i181)
             {
-              xfer += (*(this->success))[_i167].read(iprot);
+              xfer += (*(this->success))[_i181].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -15919,14 +16643,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size168;
-            ::apache::thrift::protocol::TType _etype171;
-            xfer += iprot->readListBegin(_etype171, _size168);
-            this->success.resize(_size168);
-            uint32_t _i172;
-            for (_i172 = 0; _i172 < _size168; ++_i172)
+            uint32_t _size182;
+            ::apache::thrift::protocol::TType _etype185;
+            xfer += iprot->readListBegin(_etype185, _size182);
+            this->success.resize(_size182);
+            uint32_t _i186;
+            for (_i186 = 0; _i186 < _size182; ++_i186)
             {
-              xfer += this->success[_i172].read(iprot);
+              xfer += this->success[_i186].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -15989,10 +16713,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> ::const_iterator _iter173;
-      for (_iter173 = this->success.begin(); _iter173 != this->success.end(); ++_iter173)
+      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> ::const_iterator _iter187;
+      for (_iter187 = this->success.begin(); _iter187 != this->success.end(); ++_iter187)
       {
-        xfer += (*_iter173).write(oprot);
+        xfer += (*_iter187).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -16049,14 +16773,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size174;
-            ::apache::thrift::protocol::TType _etype177;
-            xfer += iprot->readListBegin(_etype177, _size174);
-            (*(this->success)).resize(_size174);
-            uint32_t _i178;
-            for (_i178 = 0; _i178 < _size174; ++_i178)
+            uint32_t _size188;
+            ::apache::thrift::protocol::TType _etype191;
+            xfer += iprot->readListBegin(_etype191, _size188);
+            (*(this->success)).resize(_size188);
+            uint32_t _i192;
+            for (_i192 = 0; _i192 < _size188; ++_i192)
             {
-              xfer += (*(this->success))[_i178].read(iprot);
+              xfer += (*(this->success))[_i192].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -16240,14 +16964,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size179;
-            ::apache::thrift::protocol::TType _etype182;
-            xfer += iprot->readListBegin(_etype182, _size179);
-            this->success.resize(_size179);
-            uint32_t _i183;
-            for (_i183 = 0; _i183 < _size179; ++_i183)
+            uint32_t _size193;
+            ::apache::thrift::protocol::TType _etype196;
+            xfer += iprot->readListBegin(_etype196, _size193);
+            this->success.resize(_size193);
+            uint32_t _i197;
+            for (_i197 = 0; _i197 < _size193; ++_i197)
             {
-              xfer += this->success[_i183].read(iprot);
+              xfer += this->success[_i197].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -16310,10 +17034,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> ::const_iterator _iter184;
-      for (_iter184 = this->success.begin(); _iter184 != this->success.end(); ++_iter184)
+      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationModule> ::const_iterator _iter198;
+      for (_iter198 = this->success.begin(); _iter198 != this->success.end(); ++_iter198)
       {
-        xfer += (*_iter184).write(oprot);
+        xfer += (*_iter198).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -16370,14 +17094,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size185;
-            ::apache::thrift::protocol::TType _etype188;
-            xfer += iprot->readListBegin(_etype188, _size185);
-            (*(this->success)).resize(_size185);
-            uint32_t _i189;
-            for (_i189 = 0; _i189 < _size185; ++_i189)
+            uint32_t _size199;
+            ::apache::thrift::protocol::TType _etype202;
+            xfer += iprot->readListBegin(_etype202, _size199);
+            (*(this->success)).resize(_size199);
+            uint32_t _i203;
+            for (_i203 = 0; _i203 < _size199; ++_i203)
             {
-              xfer += (*(this->success))[_i189].read(iprot);
+              xfer += (*(this->success))[_i203].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -18044,14 +18768,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size190;
-            ::apache::thrift::protocol::TType _etype193;
-            xfer += iprot->readListBegin(_etype193, _size190);
-            this->success.resize(_size190);
-            uint32_t _i194;
-            for (_i194 = 0; _i194 < _size190; ++_i194)
+            uint32_t _size204;
+            ::apache::thrift::protocol::TType _etype207;
+            xfer += iprot->readListBegin(_etype207, _size204);
+            this->success.resize(_size204);
+            uint32_t _i208;
+            for (_i208 = 0; _i208 < _size204; ++_i208)
             {
-              xfer += this->success[_i194].read(iprot);
+              xfer += this->success[_i208].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -18114,10 +18838,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> ::const_iterator _iter195;
-      for (_iter195 = this->success.begin(); _iter195 != this->success.end(); ++_iter195)
+      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> ::const_iterator _iter209;
+      for (_iter209 = this->success.begin(); _iter209 != this->success.end(); ++_iter209)
       {
-        xfer += (*_iter195).write(oprot);
+        xfer += (*_iter209).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -18174,14 +18898,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size196;
-            ::apache::thrift::protocol::TType _etype199;
-            xfer += iprot->readListBegin(_etype199, _size196);
-            (*(this->success)).resize(_size196);
-            uint32_t _i200;
-            for (_i200 = 0; _i200 < _size196; ++_i200)
+            uint32_t _size210;
+            ::apache::thrift::protocol::TType _etype213;
+            xfer += iprot->readListBegin(_etype213, _size210);
+            (*(this->success)).resize(_size210);
+            uint32_t _i214;
+            for (_i214 = 0; _i214 < _size210; ++_i214)
             {
-              xfer += (*(this->success))[_i200].read(iprot);
+              xfer += (*(this->success))[_i214].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -18281,9 +19005,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast201;
-          xfer += iprot->readI32(ecast201);
-          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast201;
+          int32_t ecast215;
+          xfer += iprot->readI32(ecast215);
+          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast215;
           isset_permissionType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -18386,14 +19110,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size202;
-            ::apache::thrift::protocol::TType _etype205;
-            xfer += iprot->readListBegin(_etype205, _size202);
-            this->success.resize(_size202);
-            uint32_t _i206;
-            for (_i206 = 0; _i206 < _size202; ++_i206)
+            uint32_t _size216;
+            ::apache::thrift::protocol::TType _etype219;
+            xfer += iprot->readListBegin(_etype219, _size216);
+            this->success.resize(_size216);
+            uint32_t _i220;
+            for (_i220 = 0; _i220 < _size216; ++_i220)
             {
-              xfer += this->success[_i206].read(iprot);
+              xfer += this->success[_i220].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -18456,10 +19180,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> ::const_iterator _iter207;
-      for (_iter207 = this->success.begin(); _iter207 != this->success.end(); ++_iter207)
+      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> ::const_iterator _iter221;
+      for (_iter221 = this->success.begin(); _iter221 != this->success.end(); ++_iter221)
       {
-        xfer += (*_iter207).write(oprot);
+        xfer += (*_iter221).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -18516,14 +19240,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size208;
-            ::apache::thrift::protocol::TType _etype211;
-            xfer += iprot->readListBegin(_etype211, _size208);
-            (*(this->success)).resize(_size208);
-            uint32_t _i212;
-            for (_i212 = 0; _i212 < _size208; ++_i212)
+            uint32_t _size222;
+            ::apache::thrift::protocol::TType _etype225;
+            xfer += iprot->readListBegin(_etype225, _size222);
+            (*(this->success)).resize(_size222);
+            uint32_t _i226;
+            for (_i226 = 0; _i226 < _size222; ++_i226)
             {
-              xfer += (*(this->success))[_i212].read(iprot);
+              xfer += (*(this->success))[_i226].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -18707,14 +19431,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size213;
-            ::apache::thrift::protocol::TType _etype216;
-            xfer += iprot->readListBegin(_etype216, _size213);
-            this->success.resize(_size213);
-            uint32_t _i217;
-            for (_i217 = 0; _i217 < _size213; ++_i217)
+            uint32_t _size227;
+            ::apache::thrift::protocol::TType _etype230;
+            xfer += iprot->readListBegin(_etype230, _size227);
+            this->success.resize(_size227);
+            uint32_t _i231;
+            for (_i231 = 0; _i231 < _size227; ++_i231)
             {
-              xfer += iprot->readString(this->success[_i217]);
+              xfer += iprot->readString(this->success[_i231]);
             }
             xfer += iprot->readListEnd();
           }
@@ -18777,10 +19501,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter218;
-      for (_iter218 = this->success.begin(); _iter218 != this->success.end(); ++_iter218)
+      std::vector<std::string> ::const_iterator _iter232;
+      for (_iter232 = this->success.begin(); _iter232 != this->success.end(); ++_iter232)
       {
-        xfer += oprot->writeString((*_iter218));
+        xfer += oprot->writeString((*_iter232));
       }
       xfer += oprot->writeListEnd();
     }
@@ -18837,14 +19561,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size219;
-            ::apache::thrift::protocol::TType _etype222;
-            xfer += iprot->readListBegin(_etype222, _size219);
-            (*(this->success)).resize(_size219);
-            uint32_t _i223;
-            for (_i223 = 0; _i223 < _size219; ++_i223)
+            uint32_t _size233;
+            ::apache::thrift::protocol::TType _etype236;
+            xfer += iprot->readListBegin(_etype236, _size233);
+            (*(this->success)).resize(_size233);
+            uint32_t _i237;
+            for (_i237 = 0; _i237 < _size233; ++_i237)
             {
-              xfer += iprot->readString((*(this->success))[_i223]);
+              xfer += iprot->readString((*(this->success))[_i237]);
             }
             xfer += iprot->readListEnd();
           }
@@ -19047,14 +19771,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size224;
-            ::apache::thrift::protocol::TType _etype227;
-            xfer += iprot->readListBegin(_etype227, _size224);
-            this->success.resize(_size224);
-            uint32_t _i228;
-            for (_i228 = 0; _i228 < _size224; ++_i228)
+            uint32_t _size238;
+            ::apache::thrift::protocol::TType _etype241;
+            xfer += iprot->readListBegin(_etype241, _size238);
+            this->success.resize(_size238);
+            uint32_t _i242;
+            for (_i242 = 0; _i242 < _size238; ++_i242)
             {
-              xfer += this->success[_i228].read(iprot);
+              xfer += this->success[_i242].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -19117,10 +19841,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> ::const_iterator _iter229;
-      for (_iter229 = this->success.begin(); _iter229 != this->success.end(); ++_iter229)
+      std::vector< ::apache::airavata::model::appcatalog::appdeployment::ApplicationDeploymentDescription> ::const_iterator _iter243;
+      for (_iter243 = this->success.begin(); _iter243 != this->success.end(); ++_iter243)
       {
-        xfer += (*_iter229).write(oprot);
+        xfer += (*_iter243).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -19177,14 +19901,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size230;
-            ::apache::thrift::protocol::TType _etype233;
-            xfer += iprot->readListBegin(_etype233, _size230);
-            (*(this->success)).resize(_size230);
-            uint32_t _i234;
-            for (_i234 = 0; _i234 < _size230; ++_i234)
+            uint32_t _size244;
+            ::apache::thrift::protocol::TType _etype247;
+            xfer += iprot->readListBegin(_etype247, _size244);
+            (*(this->success)).resize(_size244);
+            uint32_t _i248;
+            for (_i248 = 0; _i248 < _size244; ++_i248)
             {
-              xfer += (*(this->success))[_i234].read(iprot);
+              xfer += (*(this->success))[_i248].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -20880,17 +21604,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size235;
-            ::apache::thrift::protocol::TType _ktype236;
-            ::apache::thrift::protocol::TType _vtype237;
-            xfer += iprot->readMapBegin(_ktype236, _vtype237, _size235);
-            uint32_t _i239;
-            for (_i239 = 0; _i239 < _size235; ++_i239)
+            uint32_t _size249;
+            ::apache::thrift::protocol::TType _ktype250;
+            ::apache::thrift::protocol::TType _vtype251;
+            xfer += iprot->readMapBegin(_ktype250, _vtype251, _size249);
+            uint32_t _i253;
+            for (_i253 = 0; _i253 < _size249; ++_i253)
             {
-              std::string _key240;
-              xfer += iprot->readString(_key240);
-              std::string& _val241 = this->success[_key240];
-              xfer += iprot->readString(_val241);
+              std::string _key254;
+              xfer += iprot->readString(_key254);
+              std::string& _val255 = this->success[_key254];
+              xfer += iprot->readString(_val255);
             }
             xfer += iprot->readMapEnd();
           }
@@ -20953,11 +21677,11 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, std::string> ::const_iterator _iter242;
-      for (_iter242 = this->success.begin(); _iter242 != this->success.end(); ++_iter242)
+      std::map<std::string, std::string> ::const_iterator _iter256;
+      for (_iter256 = this->success.begin(); _iter256 != this->success.end(); ++_iter256)
       {
-        xfer += oprot->writeString(_iter242->first);
-        xfer += oprot->writeString(_iter242->second);
+        xfer += oprot->writeString(_iter256->first);
+        xfer += oprot->writeString(_iter256->second);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -21014,17 +21738,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size243;
-            ::apache::thrift::protocol::TType _ktype244;
-            ::apache::thrift::protocol::TType _vtype245;
-            xfer += iprot->readMapBegin(_ktype244, _vtype245, _size243);
-            uint32_t _i247;
-            for (_i247 = 0; _i247 < _size243; ++_i247)
+            uint32_t _size257;
+            ::apache::thrift::protocol::TType _ktype258;
+            ::apache::thrift::protocol::TType _vtype259;
+            xfer += iprot->readMapBegin(_ktype258, _vtype259, _size257);
+            uint32_t _i261;
+            for (_i261 = 0; _i261 < _size257; ++_i261)
             {
-              std::string _key248;
-              xfer += iprot->readString(_key248);
-              std::string& _val249 = (*(this->success))[_key248];
-              xfer += iprot->readString(_val249);
+              std::string _key262;
+              xfer += iprot->readString(_key262);
+              std::string& _val263 = (*(this->success))[_key262];
+              xfer += iprot->readString(_val263);
             }
             xfer += iprot->readMapEnd();
           }
@@ -21208,14 +21932,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size250;
-            ::apache::thrift::protocol::TType _etype253;
-            xfer += iprot->readListBegin(_etype253, _size250);
-            this->success.resize(_size250);
-            uint32_t _i254;
-            for (_i254 = 0; _i254 < _size250; ++_i254)
+            uint32_t _size264;
+            ::apache::thrift::protocol::TType _etype267;
+            xfer += iprot->readListBegin(_etype267, _size264);
+            this->success.resize(_size264);
+            uint32_t _i268;
+            for (_i268 = 0; _i268 < _size264; ++_i268)
             {
-              xfer += this->success[_i254].read(iprot);
+              xfer += this->success[_i268].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -21278,10 +22002,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> ::const_iterator _iter255;
-      for (_iter255 = this->success.begin(); _iter255 != this->success.end(); ++_iter255)
+      std::vector< ::apache::airavata::model::appcatalog::appinterface::ApplicationInterfaceDescription> ::const_iterator _iter269;
+      for (_iter269 = this->success.begin(); _iter269 != this->success.end(); ++_iter269)
       {
-        xfer += (*_iter255).write(oprot);
+        xfer += (*_iter269).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -21338,14 +22062,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size256;
-            ::apache::thrift::protocol::TType _etype259;
-            xfer += iprot->readListBegin(_etype259, _size256);
-            (*(this->success)).resize(_size256);
-            uint32_t _i260;
-            for (_i260 = 0; _i260 < _size256; ++_i260)
+            uint32_t _size270;
+            ::apache::thrift::protocol::TType _etype273;
+            xfer += iprot->readListBegin(_etype273, _size270);
+            (*(this->success)).resize(_size270);
+            uint32_t _i274;
+            for (_i274 = 0; _i274 < _size270; ++_i274)
             {
-              xfer += (*(this->success))[_i260].read(iprot);
+              xfer += (*(this->success))[_i274].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -21529,14 +22253,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size261;
-            ::apache::thrift::protocol::TType _etype264;
-            xfer += iprot->readListBegin(_etype264, _size261);
-            this->success.resize(_size261);
-            uint32_t _i265;
-            for (_i265 = 0; _i265 < _size261; ++_i265)
+            uint32_t _size275;
+            ::apache::thrift::protocol::TType _etype278;
+            xfer += iprot->readListBegin(_etype278, _size275);
+            this->success.resize(_size275);
+            uint32_t _i279;
+            for (_i279 = 0; _i279 < _size275; ++_i279)
             {
-              xfer += this->success[_i265].read(iprot);
+              xfer += this->success[_i279].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -21599,10 +22323,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter266;
-      for (_iter266 = this->success.begin(); _iter266 != this->success.end(); ++_iter266)
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter280;
+      for (_iter280 = this->success.begin(); _iter280 != this->success.end(); ++_iter280)
       {
-        xfer += (*_iter266).write(oprot);
+        xfer += (*_iter280).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -21659,14 +22383,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size267;
-            ::apache::thrift::protocol::TType _etype270;
-            xfer += iprot->readListBegin(_etype270, _size267);
-            (*(this->success)).resize(_size267);
-            uint32_t _i271;
-            for (_i271 = 0; _i271 < _size267; ++_i271)
+            uint32_t _size281;
+            ::apache::thrift::protocol::TType _etype284;
+            xfer += iprot->readListBegin(_etype284, _size281);
+            (*(this->success)).resize(_size281);
+            uint32_t _i285;
+            for (_i285 = 0; _i285 < _size281; ++_i285)
             {
-              xfer += (*(this->success))[_i271].read(iprot);
+              xfer += (*(this->success))[_i285].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -21850,14 +22574,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size272;
-            ::apache::thrift::protocol::TType _etype275;
-            xfer += iprot->readListBegin(_etype275, _size272);
-            this->success.resize(_size272);
-            uint32_t _i276;
-            for (_i276 = 0; _i276 < _size272; ++_i276)
+            uint32_t _size286;
+            ::apache::thrift::protocol::TType _etype289;
+            xfer += iprot->readListBegin(_etype289, _size286);
+            this->success.resize(_size286);
+            uint32_t _i290;
+            for (_i290 = 0; _i290 < _size286; ++_i290)
             {
-              xfer += this->success[_i276].read(iprot);
+              xfer += this->success[_i290].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -21920,10 +22644,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter277;
-      for (_iter277 = this->success.begin(); _iter277 != this->success.end(); ++_iter277)
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter291;
+      for (_iter291 = this->success.begin(); _iter291 != this->success.end(); ++_iter291)
       {
-        xfer += (*_iter277).write(oprot);
+        xfer += (*_iter291).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -21980,14 +22704,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size278;
-            ::apache::thrift::protocol::TType _etype281;
-            xfer += iprot->readListBegin(_etype281, _size278);
-            (*(this->success)).resize(_size278);
-            uint32_t _i282;
-            for (_i282 = 0; _i282 < _size278; ++_i282)
+            uint32_t _size292;
+            ::apache::thrift::protocol::TType _etype295;
+            xfer += iprot->readListBegin(_etype295, _size292);
+            (*(this->success)).resize(_size292);
+            uint32_t _i296;
+            for (_i296 = 0; _i296 < _size292; ++_i296)
             {
-              xfer += (*(this->success))[_i282].read(iprot);
+              xfer += (*(this->success))[_i296].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -22171,17 +22895,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size283;
-            ::apache::thrift::protocol::TType _ktype284;
-            ::apache::thrift::protocol::TType _vtype285;
-            xfer += iprot->readMapBegin(_ktype284, _vtype285, _size283);
-            uint32_t _i287;
-            for (_i287 = 0; _i287 < _size283; ++_i287)
+            uint32_t _size297;
+            ::apache::thrift::protocol::TType _ktype298;
+            ::apache::thrift::protocol::TType _vtype299;
+            xfer += iprot->readMapBegin(_ktype298, _vtype299, _size297);
+            uint32_t _i301;
+            for (_i301 = 0; _i301 < _size297; ++_i301)
             {
-              std::string _key288;
-              xfer += iprot->readString(_key288);
-              std::string& _val289 = this->success[_key288];
-              xfer += iprot->readString(_val289);
+              std::string _key302;
+              xfer += iprot->readString(_key302);
+              std::string& _val303 = this->success[_key302];
+              xfer += iprot->readString(_val303);
             }
             xfer += iprot->readMapEnd();
           }
@@ -22244,11 +22968,11 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, std::string> ::const_iterator _iter290;
-      for (_iter290 = this->success.begin(); _iter290 != this->success.end(); ++_iter290)
+      std::map<std::string, std::string> ::const_iterator _iter304;
+      for (_iter304 = this->success.begin(); _iter304 != this->success.end(); ++_iter304)
       {
-        xfer += oprot->writeString(_iter290->first);
-        xfer += oprot->writeString(_iter290->second);
+        xfer += oprot->writeString(_iter304->first);
+        xfer += oprot->writeString(_iter304->second);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -22305,17 +23029,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size291;
-            ::apache::thrift::protocol::TType _ktype292;
-            ::apache::thrift::protocol::TType _vtype293;
-            xfer += iprot->readMapBegin(_ktype292, _vtype293, _size291);
-            uint32_t _i295;
-            for (_i295 = 0; _i295 < _size291; ++_i295)
+            uint32_t _size305;
+            ::apache::thrift::protocol::TType _ktype306;
+            ::apache::thrift::protocol::TType _vtype307;
+            xfer += iprot->readMapBegin(_ktype306, _vtype307, _size305);
+            uint32_t _i309;
+            for (_i309 = 0; _i309 < _size305; ++_i309)
             {
-              std::string _key296;
-              xfer += iprot->readString(_key296);
-              std::string& _val297 = (*(this->success))[_key296];
-              xfer += iprot->readString(_val297);
+              std::string _key310;
+              xfer += iprot->readString(_key310);
+              std::string& _val311 = (*(this->success))[_key310];
+              xfer += iprot->readString(_val311);
             }
             xfer += iprot->readMapEnd();
           }
@@ -23058,17 +23782,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size298;
-            ::apache::thrift::protocol::TType _ktype299;
-            ::apache::thrift::protocol::TType _vtype300;
-            xfer += iprot->readMapBegin(_ktype299, _vtype300, _size298);
-            uint32_t _i302;
-            for (_i302 = 0; _i302 < _size298; ++_i302)
+            uint32_t _size312;
+            ::apache::thrift::protocol::TType _ktype313;
+            ::apache::thrift::protocol::TType _vtype314;
+            xfer += iprot->readMapBegin(_ktype313, _vtype314, _size312);
+            uint32_t _i316;
+            for (_i316 = 0; _i316 < _size312; ++_i316)
             {
-              std::string _key303;
-              xfer += iprot->readString(_key303);
-              std::string& _val304 = this->success[_key303];
-              xfer += iprot->readString(_val304);
+              std::string _key317;
+              xfer += iprot->readString(_key317);
+              std::string& _val318 = this->success[_key317];
+              xfer += iprot->readString(_val318);
             }
             xfer += iprot->readMapEnd();
           }
@@ -23131,11 +23855,11 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, std::string> ::const_iterator _iter305;
-      for (_iter305 = this->success.begin(); _iter305 != this->success.end(); ++_iter305)
+      std::map<std::string, std::string> ::const_iterator _iter319;
+      for (_iter319 = this->success.begin(); _iter319 != this->success.end(); ++_iter319)
       {
-        xfer += oprot->writeString(_iter305->first);
-        xfer += oprot->writeString(_iter305->second);
+        xfer += oprot->writeString(_iter319->first);
+        xfer += oprot->writeString(_iter319->second);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -23192,17 +23916,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size306;
-            ::apache::thrift::protocol::TType _ktype307;
-            ::apache::thrift::protocol::TType _vtype308;
-            xfer += iprot->readMapBegin(_ktype307, _vtype308, _size306);
-            uint32_t _i310;
-            for (_i310 = 0; _i310 < _size306; ++_i310)
+            uint32_t _size320;
+            ::apache::thrift::protocol::TType _ktype321;
+            ::apache::thrift::protocol::TType _vtype322;
+            xfer += iprot->readMapBegin(_ktype321, _vtype322, _size320);
+            uint32_t _i324;
+            for (_i324 = 0; _i324 < _size320; ++_i324)
             {
-              std::string _key311;
-              xfer += iprot->readString(_key311);
-              std::string& _val312 = (*(this->success))[_key311];
-              xfer += iprot->readString(_val312);
+              std::string _key325;
+              xfer += iprot->readString(_key325);
+              std::string& _val326 = (*(this->success))[_key325];
+              xfer += iprot->readString(_val326);
             }
             xfer += iprot->readMapEnd();
           }
@@ -24542,17 +25266,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->success.clear();
-            uint32_t _size313;
-            ::apache::thrift::protocol::TType _ktype314;
-            ::apache::thrift::protocol::TType _vtype315;
-            xfer += iprot->readMapBegin(_ktype314, _vtype315, _size313);
-            uint32_t _i317;
-            for (_i317 = 0; _i317 < _size313; ++_i317)
+            uint32_t _size327;
+            ::apache::thrift::protocol::TType _ktype328;
+            ::apache::thrift::protocol::TType _vtype329;
+            xfer += iprot->readMapBegin(_ktype328, _vtype329, _size327);
+            uint32_t _i331;
+            for (_i331 = 0; _i331 < _size327; ++_i331)
             {
-              std::string _key318;
-              xfer += iprot->readString(_key318);
-              std::string& _val319 = this->success[_key318];
-              xfer += iprot->readString(_val319);
+              std::string _key332;
+              xfer += iprot->readString(_key332);
+              std::string& _val333 = this->success[_key332];
+              xfer += iprot->readString(_val333);
             }
             xfer += iprot->readMapEnd();
           }
@@ -24615,11 +25339,11 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_MAP, 0);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::map<std::string, std::string> ::const_iterator _iter320;
-      for (_iter320 = this->success.begin(); _iter320 != this->success.end(); ++_iter320)
+      std::map<std::string, std::string> ::const_iterator _iter334;
+      for (_iter334 = this->success.begin(); _iter334 != this->success.end(); ++_iter334)
       {
-        xfer += oprot->writeString(_iter320->first);
-        xfer += oprot->writeString(_iter320->second);
+        xfer += oprot->writeString(_iter334->first);
+        xfer += oprot->writeString(_iter334->second);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -24676,17 +25400,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             (*(this->success)).clear();
-            uint32_t _size321;
-            ::apache::thrift::protocol::TType _ktype322;
-            ::apache::thrift::protocol::TType _vtype323;
-            xfer += iprot->readMapBegin(_ktype322, _vtype323, _size321);
-            uint32_t _i325;
-            for (_i325 = 0; _i325 < _size321; ++_i325)
+            uint32_t _size335;
+            ::apache::thrift::protocol::TType _ktype336;
+            ::apache::thrift::protocol::TType _vtype337;
+            xfer += iprot->readMapBegin(_ktype336, _vtype337, _size335);
+            uint32_t _i339;
+            for (_i339 = 0; _i339 < _size335; ++_i339)
             {
-              std::string _key326;
-              xfer += iprot->readString(_key326);
-              std::string& _val327 = (*(this->success))[_key326];
-              xfer += iprot->readString(_val327);
+              std::string _key340;
+              xfer += iprot->readString(_key340);
+              std::string& _val341 = (*(this->success))[_key340];
+              xfer += iprot->readString(_val341);
             }
             xfer += iprot->readMapEnd();
           }
@@ -29408,9 +30132,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast328;
-          xfer += iprot->readI32(ecast328);
-          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast328;
+          int32_t ecast342;
+          xfer += iprot->readI32(ecast342);
+          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast342;
           isset_dataMoveType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -30353,9 +31077,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast329;
-          xfer += iprot->readI32(ecast329);
-          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast329;
+          int32_t ecast343;
+          xfer += iprot->readI32(ecast343);
+          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast343;
           isset_dataMoveType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -31298,9 +32022,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast330;
-          xfer += iprot->readI32(ecast330);
-          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast330;
+          int32_t ecast344;
+          xfer += iprot->readI32(ecast344);
+          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast344;
           isset_dataMoveType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -32243,9 +32967,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast331;
-          xfer += iprot->readI32(ecast331);
-          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast331;
+          int32_t ecast345;
+          xfer += iprot->readI32(ecast345);
+          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast345;
           isset_dataMoveType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -33795,17 +34519,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->jobSubmissionPriorityMap.clear();
-            uint32_t _size332;
-            ::apache::thrift::protocol::TType _ktype333;
-            ::apache::thrift::protocol::TType _vtype334;
-            xfer += iprot->readMapBegin(_ktype333, _vtype334, _size332);
-            uint32_t _i336;
-            for (_i336 = 0; _i336 < _size332; ++_i336)
+            uint32_t _size346;
+            ::apache::thrift::protocol::TType _ktype347;
+            ::apache::thrift::protocol::TType _vtype348;
+            xfer += iprot->readMapBegin(_ktype347, _vtype348, _size346);
+            uint32_t _i350;
+            for (_i350 = 0; _i350 < _size346; ++_i350)
             {
-              std::string _key337;
-              xfer += iprot->readString(_key337);
-              int32_t& _val338 = this->jobSubmissionPriorityMap[_key337];
-              xfer += iprot->readI32(_val338);
+              std::string _key351;
+              xfer += iprot->readString(_key351);
+              int32_t& _val352 = this->jobSubmissionPriorityMap[_key351];
+              xfer += iprot->readI32(_val352);
             }
             xfer += iprot->readMapEnd();
           }
@@ -33842,11 +34566,11 @@
   xfer += oprot->writeFieldBegin("jobSubmissionPriorityMap", ::apache::thrift::protocol::T_MAP, 2);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->jobSubmissionPriorityMap.size()));
-    std::map<std::string, int32_t> ::const_iterator _iter339;
-    for (_iter339 = this->jobSubmissionPriorityMap.begin(); _iter339 != this->jobSubmissionPriorityMap.end(); ++_iter339)
+    std::map<std::string, int32_t> ::const_iterator _iter353;
+    for (_iter353 = this->jobSubmissionPriorityMap.begin(); _iter353 != this->jobSubmissionPriorityMap.end(); ++_iter353)
     {
-      xfer += oprot->writeString(_iter339->first);
-      xfer += oprot->writeI32(_iter339->second);
+      xfer += oprot->writeString(_iter353->first);
+      xfer += oprot->writeI32(_iter353->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -33874,11 +34598,11 @@
   xfer += oprot->writeFieldBegin("jobSubmissionPriorityMap", ::apache::thrift::protocol::T_MAP, 2);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->jobSubmissionPriorityMap)).size()));
-    std::map<std::string, int32_t> ::const_iterator _iter340;
-    for (_iter340 = (*(this->jobSubmissionPriorityMap)).begin(); _iter340 != (*(this->jobSubmissionPriorityMap)).end(); ++_iter340)
+    std::map<std::string, int32_t> ::const_iterator _iter354;
+    for (_iter354 = (*(this->jobSubmissionPriorityMap)).begin(); _iter354 != (*(this->jobSubmissionPriorityMap)).end(); ++_iter354)
     {
-      xfer += oprot->writeString(_iter340->first);
-      xfer += oprot->writeI32(_iter340->second);
+      xfer += oprot->writeString(_iter354->first);
+      xfer += oprot->writeI32(_iter354->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -34117,17 +34841,17 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->dataMovementPriorityMap.clear();
-            uint32_t _size341;
-            ::apache::thrift::protocol::TType _ktype342;
-            ::apache::thrift::protocol::TType _vtype343;
-            xfer += iprot->readMapBegin(_ktype342, _vtype343, _size341);
-            uint32_t _i345;
-            for (_i345 = 0; _i345 < _size341; ++_i345)
+            uint32_t _size355;
+            ::apache::thrift::protocol::TType _ktype356;
+            ::apache::thrift::protocol::TType _vtype357;
+            xfer += iprot->readMapBegin(_ktype356, _vtype357, _size355);
+            uint32_t _i359;
+            for (_i359 = 0; _i359 < _size355; ++_i359)
             {
-              std::string _key346;
-              xfer += iprot->readString(_key346);
-              int32_t& _val347 = this->dataMovementPriorityMap[_key346];
-              xfer += iprot->readI32(_val347);
+              std::string _key360;
+              xfer += iprot->readString(_key360);
+              int32_t& _val361 = this->dataMovementPriorityMap[_key360];
+              xfer += iprot->readI32(_val361);
             }
             xfer += iprot->readMapEnd();
           }
@@ -34164,11 +34888,11 @@
   xfer += oprot->writeFieldBegin("dataMovementPriorityMap", ::apache::thrift::protocol::T_MAP, 2);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->dataMovementPriorityMap.size()));
-    std::map<std::string, int32_t> ::const_iterator _iter348;
-    for (_iter348 = this->dataMovementPriorityMap.begin(); _iter348 != this->dataMovementPriorityMap.end(); ++_iter348)
+    std::map<std::string, int32_t> ::const_iterator _iter362;
+    for (_iter362 = this->dataMovementPriorityMap.begin(); _iter362 != this->dataMovementPriorityMap.end(); ++_iter362)
     {
-      xfer += oprot->writeString(_iter348->first);
-      xfer += oprot->writeI32(_iter348->second);
+      xfer += oprot->writeString(_iter362->first);
+      xfer += oprot->writeI32(_iter362->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -34196,11 +34920,11 @@
   xfer += oprot->writeFieldBegin("dataMovementPriorityMap", ::apache::thrift::protocol::T_MAP, 2);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->dataMovementPriorityMap)).size()));
-    std::map<std::string, int32_t> ::const_iterator _iter349;
-    for (_iter349 = (*(this->dataMovementPriorityMap)).begin(); _iter349 != (*(this->dataMovementPriorityMap)).end(); ++_iter349)
+    std::map<std::string, int32_t> ::const_iterator _iter363;
+    for (_iter363 = (*(this->dataMovementPriorityMap)).begin(); _iter363 != (*(this->dataMovementPriorityMap)).end(); ++_iter363)
     {
-      xfer += oprot->writeString(_iter349->first);
-      xfer += oprot->writeI32(_iter349->second);
+      xfer += oprot->writeString(_iter363->first);
+      xfer += oprot->writeI32(_iter363->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -34763,9 +35487,9 @@
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast350;
-          xfer += iprot->readI32(ecast350);
-          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast350;
+          int32_t ecast364;
+          xfer += iprot->readI32(ecast364);
+          this->dataMoveType = ( ::apache::airavata::model::data::movement::DMType::type)ecast364;
           isset_dataMoveType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -39095,14 +39819,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size351;
-            ::apache::thrift::protocol::TType _etype354;
-            xfer += iprot->readListBegin(_etype354, _size351);
-            this->success.resize(_size351);
-            uint32_t _i355;
-            for (_i355 = 0; _i355 < _size351; ++_i355)
+            uint32_t _size365;
+            ::apache::thrift::protocol::TType _etype368;
+            xfer += iprot->readListBegin(_etype368, _size365);
+            this->success.resize(_size365);
+            uint32_t _i369;
+            for (_i369 = 0; _i369 < _size365; ++_i369)
             {
-              xfer += this->success[_i355].read(iprot);
+              xfer += this->success[_i369].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -39165,10 +39889,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> ::const_iterator _iter356;
-      for (_iter356 = this->success.begin(); _iter356 != this->success.end(); ++_iter356)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::ComputeResourcePreference> ::const_iterator _iter370;
+      for (_iter370 = this->success.begin(); _iter370 != this->success.end(); ++_iter370)
       {
-        xfer += (*_iter356).write(oprot);
+        xfer += (*_iter370).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -39225,14 +39949,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size357;
-            ::apache::thrift::protocol::TType _etype360;
-            xfer += iprot->readListBegin(_etype360, _size357);
-            (*(this->success)).resize(_size357);
-            uint32_t _i361;
-            for (_i361 = 0; _i361 < _size357; ++_i361)
+            uint32_t _size371;
+            ::apache::thrift::protocol::TType _etype374;
+            xfer += iprot->readListBegin(_etype374, _size371);
+            (*(this->success)).resize(_size371);
+            uint32_t _i375;
+            for (_i375 = 0; _i375 < _size371; ++_i375)
             {
-              xfer += (*(this->success))[_i361].read(iprot);
+              xfer += (*(this->success))[_i375].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -39416,14 +40140,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size362;
-            ::apache::thrift::protocol::TType _etype365;
-            xfer += iprot->readListBegin(_etype365, _size362);
-            this->success.resize(_size362);
-            uint32_t _i366;
-            for (_i366 = 0; _i366 < _size362; ++_i366)
+            uint32_t _size376;
+            ::apache::thrift::protocol::TType _etype379;
+            xfer += iprot->readListBegin(_etype379, _size376);
+            this->success.resize(_size376);
+            uint32_t _i380;
+            for (_i380 = 0; _i380 < _size376; ++_i380)
             {
-              xfer += this->success[_i366].read(iprot);
+              xfer += this->success[_i380].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -39486,10 +40210,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference> ::const_iterator _iter367;
-      for (_iter367 = this->success.begin(); _iter367 != this->success.end(); ++_iter367)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::StoragePreference> ::const_iterator _iter381;
+      for (_iter381 = this->success.begin(); _iter381 != this->success.end(); ++_iter381)
       {
-        xfer += (*_iter367).write(oprot);
+        xfer += (*_iter381).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -39546,14 +40270,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size368;
-            ::apache::thrift::protocol::TType _etype371;
-            xfer += iprot->readListBegin(_etype371, _size368);
-            (*(this->success)).resize(_size368);
-            uint32_t _i372;
-            for (_i372 = 0; _i372 < _size368; ++_i372)
+            uint32_t _size382;
+            ::apache::thrift::protocol::TType _etype385;
+            xfer += iprot->readListBegin(_etype385, _size382);
+            (*(this->success)).resize(_size382);
+            uint32_t _i386;
+            for (_i386 = 0; _i386 < _size382; ++_i386)
             {
-              xfer += (*(this->success))[_i372].read(iprot);
+              xfer += (*(this->success))[_i386].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -39718,14 +40442,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size373;
-            ::apache::thrift::protocol::TType _etype376;
-            xfer += iprot->readListBegin(_etype376, _size373);
-            this->success.resize(_size373);
-            uint32_t _i377;
-            for (_i377 = 0; _i377 < _size373; ++_i377)
+            uint32_t _size387;
+            ::apache::thrift::protocol::TType _etype390;
+            xfer += iprot->readListBegin(_etype390, _size387);
+            this->success.resize(_size387);
+            uint32_t _i391;
+            for (_i391 = 0; _i391 < _size387; ++_i391)
             {
-              xfer += this->success[_i377].read(iprot);
+              xfer += this->success[_i391].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -39788,10 +40512,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> ::const_iterator _iter378;
-      for (_iter378 = this->success.begin(); _iter378 != this->success.end(); ++_iter378)
+      std::vector< ::apache::airavata::model::appcatalog::gatewayprofile::GatewayResourceProfile> ::const_iterator _iter392;
+      for (_iter392 = this->success.begin(); _iter392 != this->success.end(); ++_iter392)
       {
-        xfer += (*_iter378).write(oprot);
+        xfer += (*_iter392).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -39848,14 +40572,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size379;
-            ::apache::thrift::protocol::TType _etype382;
-            xfer += iprot->readListBegin(_etype382, _size379);
-            (*(this->success)).resize(_size379);
-            uint32_t _i383;
-            for (_i383 = 0; _i383 < _size379; ++_i383)
+            uint32_t _size393;
+            ::apache::thrift::protocol::TType _etype396;
+            xfer += iprot->readListBegin(_etype396, _size393);
+            (*(this->success)).resize(_size393);
+            uint32_t _i397;
+            for (_i397 = 0; _i397 < _size393; ++_i397)
             {
-              xfer += (*(this->success))[_i383].read(iprot);
+              xfer += (*(this->success))[_i397].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -41290,14 +42014,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size384;
-            ::apache::thrift::protocol::TType _etype387;
-            xfer += iprot->readListBegin(_etype387, _size384);
-            this->success.resize(_size384);
-            uint32_t _i388;
-            for (_i388 = 0; _i388 < _size384; ++_i388)
+            uint32_t _size398;
+            ::apache::thrift::protocol::TType _etype401;
+            xfer += iprot->readListBegin(_etype401, _size398);
+            this->success.resize(_size398);
+            uint32_t _i402;
+            for (_i402 = 0; _i402 < _size398; ++_i402)
             {
-              xfer += this->success[_i388].read(iprot);
+              xfer += this->success[_i402].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -41360,10 +42084,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::accountprovisioning::SSHAccountProvisioner> ::const_iterator _iter389;
-      for (_iter389 = this->success.begin(); _iter389 != this->success.end(); ++_iter389)
+      std::vector< ::apache::airavata::model::appcatalog::accountprovisioning::SSHAccountProvisioner> ::const_iterator _iter403;
+      for (_iter403 = this->success.begin(); _iter403 != this->success.end(); ++_iter403)
       {
-        xfer += (*_iter389).write(oprot);
+        xfer += (*_iter403).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -41420,14 +42144,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size390;
-            ::apache::thrift::protocol::TType _etype393;
-            xfer += iprot->readListBegin(_etype393, _size390);
-            (*(this->success)).resize(_size390);
-            uint32_t _i394;
-            for (_i394 = 0; _i394 < _size390; ++_i394)
+            uint32_t _size404;
+            ::apache::thrift::protocol::TType _etype407;
+            xfer += iprot->readListBegin(_etype407, _size404);
+            (*(this->success)).resize(_size404);
+            uint32_t _i408;
+            for (_i408 = 0; _i408 < _size404; ++_i408)
             {
-              xfer += (*(this->success))[_i394].read(iprot);
+              xfer += (*(this->success))[_i408].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -45459,14 +46183,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size395;
-            ::apache::thrift::protocol::TType _etype398;
-            xfer += iprot->readListBegin(_etype398, _size395);
-            this->success.resize(_size395);
-            uint32_t _i399;
-            for (_i399 = 0; _i399 < _size395; ++_i399)
+            uint32_t _size409;
+            ::apache::thrift::protocol::TType _etype412;
+            xfer += iprot->readListBegin(_etype412, _size409);
+            this->success.resize(_size409);
+            uint32_t _i413;
+            for (_i413 = 0; _i413 < _size409; ++_i413)
             {
-              xfer += this->success[_i399].read(iprot);
+              xfer += this->success[_i413].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -45529,10 +46253,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserComputeResourcePreference> ::const_iterator _iter400;
-      for (_iter400 = this->success.begin(); _iter400 != this->success.end(); ++_iter400)
+      std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserComputeResourcePreference> ::const_iterator _iter414;
+      for (_iter414 = this->success.begin(); _iter414 != this->success.end(); ++_iter414)
       {
-        xfer += (*_iter400).write(oprot);
+        xfer += (*_iter414).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -45589,14 +46313,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size401;
-            ::apache::thrift::protocol::TType _etype404;
-            xfer += iprot->readListBegin(_etype404, _size401);
-            (*(this->success)).resize(_size401);
-            uint32_t _i405;
-            for (_i405 = 0; _i405 < _size401; ++_i405)
+            uint32_t _size415;
+            ::apache::thrift::protocol::TType _etype418;
+            xfer += iprot->readListBegin(_etype418, _size415);
+            (*(this->success)).resize(_size415);
+            uint32_t _i419;
+            for (_i419 = 0; _i419 < _size415; ++_i419)
             {
-              xfer += (*(this->success))[_i405].read(iprot);
+              xfer += (*(this->success))[_i419].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -45799,14 +46523,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size406;
-            ::apache::thrift::protocol::TType _etype409;
-            xfer += iprot->readListBegin(_etype409, _size406);
-            this->success.resize(_size406);
-            uint32_t _i410;
-            for (_i410 = 0; _i410 < _size406; ++_i410)
+            uint32_t _size420;
+            ::apache::thrift::protocol::TType _etype423;
+            xfer += iprot->readListBegin(_etype423, _size420);
+            this->success.resize(_size420);
+            uint32_t _i424;
+            for (_i424 = 0; _i424 < _size420; ++_i424)
             {
-              xfer += this->success[_i410].read(iprot);
+              xfer += this->success[_i424].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -45869,10 +46593,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserStoragePreference> ::const_iterator _iter411;
-      for (_iter411 = this->success.begin(); _iter411 != this->success.end(); ++_iter411)
+      std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserStoragePreference> ::const_iterator _iter425;
+      for (_iter425 = this->success.begin(); _iter425 != this->success.end(); ++_iter425)
       {
-        xfer += (*_iter411).write(oprot);
+        xfer += (*_iter425).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -45929,14 +46653,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size412;
-            ::apache::thrift::protocol::TType _etype415;
-            xfer += iprot->readListBegin(_etype415, _size412);
-            (*(this->success)).resize(_size412);
-            uint32_t _i416;
-            for (_i416 = 0; _i416 < _size412; ++_i416)
+            uint32_t _size426;
+            ::apache::thrift::protocol::TType _etype429;
+            xfer += iprot->readListBegin(_etype429, _size426);
+            (*(this->success)).resize(_size426);
+            uint32_t _i430;
+            for (_i430 = 0; _i430 < _size426; ++_i430)
             {
-              xfer += (*(this->success))[_i416].read(iprot);
+              xfer += (*(this->success))[_i430].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -46101,14 +46825,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size417;
-            ::apache::thrift::protocol::TType _etype420;
-            xfer += iprot->readListBegin(_etype420, _size417);
-            this->success.resize(_size417);
-            uint32_t _i421;
-            for (_i421 = 0; _i421 < _size417; ++_i421)
+            uint32_t _size431;
+            ::apache::thrift::protocol::TType _etype434;
+            xfer += iprot->readListBegin(_etype434, _size431);
+            this->success.resize(_size431);
+            uint32_t _i435;
+            for (_i435 = 0; _i435 < _size431; ++_i435)
             {
-              xfer += this->success[_i421].read(iprot);
+              xfer += this->success[_i435].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -46171,10 +46895,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserResourceProfile> ::const_iterator _iter422;
-      for (_iter422 = this->success.begin(); _iter422 != this->success.end(); ++_iter422)
+      std::vector< ::apache::airavata::model::appcatalog::userresourceprofile::UserResourceProfile> ::const_iterator _iter436;
+      for (_iter436 = this->success.begin(); _iter436 != this->success.end(); ++_iter436)
       {
-        xfer += (*_iter422).write(oprot);
+        xfer += (*_iter436).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -46231,14 +46955,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size423;
-            ::apache::thrift::protocol::TType _etype426;
-            xfer += iprot->readListBegin(_etype426, _size423);
-            (*(this->success)).resize(_size423);
-            uint32_t _i427;
-            for (_i427 = 0; _i427 < _size423; ++_i427)
+            uint32_t _size437;
+            ::apache::thrift::protocol::TType _etype440;
+            xfer += iprot->readListBegin(_etype440, _size437);
+            (*(this->success)).resize(_size437);
+            uint32_t _i441;
+            for (_i441 = 0; _i441 < _size437; ++_i441)
             {
-              xfer += (*(this->success))[_i427].read(iprot);
+              xfer += (*(this->success))[_i441].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -47749,14 +48473,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size428;
-            ::apache::thrift::protocol::TType _etype431;
-            xfer += iprot->readListBegin(_etype431, _size428);
-            this->success.resize(_size428);
-            uint32_t _i432;
-            for (_i432 = 0; _i432 < _size428; ++_i432)
+            uint32_t _size442;
+            ::apache::thrift::protocol::TType _etype445;
+            xfer += iprot->readListBegin(_etype445, _size442);
+            this->success.resize(_size442);
+            uint32_t _i446;
+            for (_i446 = 0; _i446 < _size442; ++_i446)
             {
-              xfer += this->success[_i432].read(iprot);
+              xfer += this->success[_i446].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -47819,10 +48543,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::status::QueueStatusModel> ::const_iterator _iter433;
-      for (_iter433 = this->success.begin(); _iter433 != this->success.end(); ++_iter433)
+      std::vector< ::apache::airavata::model::status::QueueStatusModel> ::const_iterator _iter447;
+      for (_iter447 = this->success.begin(); _iter447 != this->success.end(); ++_iter447)
       {
-        xfer += (*_iter433).write(oprot);
+        xfer += (*_iter447).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -47879,14 +48603,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size434;
-            ::apache::thrift::protocol::TType _etype437;
-            xfer += iprot->readListBegin(_etype437, _size434);
-            (*(this->success)).resize(_size434);
-            uint32_t _i438;
-            for (_i438 = 0; _i438 < _size434; ++_i438)
+            uint32_t _size448;
+            ::apache::thrift::protocol::TType _etype451;
+            xfer += iprot->readListBegin(_etype451, _size448);
+            (*(this->success)).resize(_size448);
+            uint32_t _i452;
+            for (_i452 = 0; _i452 < _size448; ++_i452)
             {
-              xfer += (*(this->success))[_i438].read(iprot);
+              xfer += (*(this->success))[_i452].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -49226,14 +49950,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size439;
-            ::apache::thrift::protocol::TType _etype442;
-            xfer += iprot->readListBegin(_etype442, _size439);
-            this->success.resize(_size439);
-            uint32_t _i443;
-            for (_i443 = 0; _i443 < _size439; ++_i443)
+            uint32_t _size453;
+            ::apache::thrift::protocol::TType _etype456;
+            xfer += iprot->readListBegin(_etype456, _size453);
+            this->success.resize(_size453);
+            uint32_t _i457;
+            for (_i457 = 0; _i457 < _size453; ++_i457)
             {
-              xfer += this->success[_i443].read(iprot);
+              xfer += this->success[_i457].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -49296,10 +50020,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::data::replica::DataProductModel> ::const_iterator _iter444;
-      for (_iter444 = this->success.begin(); _iter444 != this->success.end(); ++_iter444)
+      std::vector< ::apache::airavata::model::data::replica::DataProductModel> ::const_iterator _iter458;
+      for (_iter458 = this->success.begin(); _iter458 != this->success.end(); ++_iter458)
       {
-        xfer += (*_iter444).write(oprot);
+        xfer += (*_iter458).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -49356,14 +50080,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size445;
-            ::apache::thrift::protocol::TType _etype448;
-            xfer += iprot->readListBegin(_etype448, _size445);
-            (*(this->success)).resize(_size445);
-            uint32_t _i449;
-            for (_i449 = 0; _i449 < _size445; ++_i449)
+            uint32_t _size459;
+            ::apache::thrift::protocol::TType _etype462;
+            xfer += iprot->readListBegin(_etype462, _size459);
+            (*(this->success)).resize(_size459);
+            uint32_t _i463;
+            for (_i463 = 0; _i463 < _size459; ++_i463)
             {
-              xfer += (*(this->success))[_i449].read(iprot);
+              xfer += (*(this->success))[_i463].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -49464,19 +50188,19 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->userPermissionList.clear();
-            uint32_t _size450;
-            ::apache::thrift::protocol::TType _ktype451;
-            ::apache::thrift::protocol::TType _vtype452;
-            xfer += iprot->readMapBegin(_ktype451, _vtype452, _size450);
-            uint32_t _i454;
-            for (_i454 = 0; _i454 < _size450; ++_i454)
+            uint32_t _size464;
+            ::apache::thrift::protocol::TType _ktype465;
+            ::apache::thrift::protocol::TType _vtype466;
+            xfer += iprot->readMapBegin(_ktype465, _vtype466, _size464);
+            uint32_t _i468;
+            for (_i468 = 0; _i468 < _size464; ++_i468)
             {
-              std::string _key455;
-              xfer += iprot->readString(_key455);
-               ::apache::airavata::model::group::ResourcePermissionType::type& _val456 = this->userPermissionList[_key455];
-              int32_t ecast457;
-              xfer += iprot->readI32(ecast457);
-              _val456 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast457;
+              std::string _key469;
+              xfer += iprot->readString(_key469);
+               ::apache::airavata::model::group::ResourcePermissionType::type& _val470 = this->userPermissionList[_key469];
+              int32_t ecast471;
+              xfer += iprot->readI32(ecast471);
+              _val470 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast471;
             }
             xfer += iprot->readMapEnd();
           }
@@ -49517,11 +50241,11 @@
   xfer += oprot->writeFieldBegin("userPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->userPermissionList.size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter458;
-    for (_iter458 = this->userPermissionList.begin(); _iter458 != this->userPermissionList.end(); ++_iter458)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter472;
+    for (_iter472 = this->userPermissionList.begin(); _iter472 != this->userPermissionList.end(); ++_iter472)
     {
-      xfer += oprot->writeString(_iter458->first);
-      xfer += oprot->writeI32((int32_t)_iter458->second);
+      xfer += oprot->writeString(_iter472->first);
+      xfer += oprot->writeI32((int32_t)_iter472->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -49553,11 +50277,11 @@
   xfer += oprot->writeFieldBegin("userPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->userPermissionList)).size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter459;
-    for (_iter459 = (*(this->userPermissionList)).begin(); _iter459 != (*(this->userPermissionList)).end(); ++_iter459)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter473;
+    for (_iter473 = (*(this->userPermissionList)).begin(); _iter473 != (*(this->userPermissionList)).end(); ++_iter473)
     {
-      xfer += oprot->writeString(_iter459->first);
-      xfer += oprot->writeI32((int32_t)_iter459->second);
+      xfer += oprot->writeString(_iter473->first);
+      xfer += oprot->writeI32((int32_t)_iter473->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -49804,19 +50528,19 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->groupPermissionList.clear();
-            uint32_t _size460;
-            ::apache::thrift::protocol::TType _ktype461;
-            ::apache::thrift::protocol::TType _vtype462;
-            xfer += iprot->readMapBegin(_ktype461, _vtype462, _size460);
-            uint32_t _i464;
-            for (_i464 = 0; _i464 < _size460; ++_i464)
+            uint32_t _size474;
+            ::apache::thrift::protocol::TType _ktype475;
+            ::apache::thrift::protocol::TType _vtype476;
+            xfer += iprot->readMapBegin(_ktype475, _vtype476, _size474);
+            uint32_t _i478;
+            for (_i478 = 0; _i478 < _size474; ++_i478)
             {
-              std::string _key465;
-              xfer += iprot->readString(_key465);
-               ::apache::airavata::model::group::ResourcePermissionType::type& _val466 = this->groupPermissionList[_key465];
-              int32_t ecast467;
-              xfer += iprot->readI32(ecast467);
-              _val466 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast467;
+              std::string _key479;
+              xfer += iprot->readString(_key479);
+               ::apache::airavata::model::group::ResourcePermissionType::type& _val480 = this->groupPermissionList[_key479];
+              int32_t ecast481;
+              xfer += iprot->readI32(ecast481);
+              _val480 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast481;
             }
             xfer += iprot->readMapEnd();
           }
@@ -49857,11 +50581,11 @@
   xfer += oprot->writeFieldBegin("groupPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->groupPermissionList.size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter468;
-    for (_iter468 = this->groupPermissionList.begin(); _iter468 != this->groupPermissionList.end(); ++_iter468)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter482;
+    for (_iter482 = this->groupPermissionList.begin(); _iter482 != this->groupPermissionList.end(); ++_iter482)
     {
-      xfer += oprot->writeString(_iter468->first);
-      xfer += oprot->writeI32((int32_t)_iter468->second);
+      xfer += oprot->writeString(_iter482->first);
+      xfer += oprot->writeI32((int32_t)_iter482->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -49893,11 +50617,11 @@
   xfer += oprot->writeFieldBegin("groupPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->groupPermissionList)).size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter469;
-    for (_iter469 = (*(this->groupPermissionList)).begin(); _iter469 != (*(this->groupPermissionList)).end(); ++_iter469)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter483;
+    for (_iter483 = (*(this->groupPermissionList)).begin(); _iter483 != (*(this->groupPermissionList)).end(); ++_iter483)
     {
-      xfer += oprot->writeString(_iter469->first);
-      xfer += oprot->writeI32((int32_t)_iter469->second);
+      xfer += oprot->writeString(_iter483->first);
+      xfer += oprot->writeI32((int32_t)_iter483->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -50144,19 +50868,19 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->userPermissionList.clear();
-            uint32_t _size470;
-            ::apache::thrift::protocol::TType _ktype471;
-            ::apache::thrift::protocol::TType _vtype472;
-            xfer += iprot->readMapBegin(_ktype471, _vtype472, _size470);
-            uint32_t _i474;
-            for (_i474 = 0; _i474 < _size470; ++_i474)
+            uint32_t _size484;
+            ::apache::thrift::protocol::TType _ktype485;
+            ::apache::thrift::protocol::TType _vtype486;
+            xfer += iprot->readMapBegin(_ktype485, _vtype486, _size484);
+            uint32_t _i488;
+            for (_i488 = 0; _i488 < _size484; ++_i488)
             {
-              std::string _key475;
-              xfer += iprot->readString(_key475);
-               ::apache::airavata::model::group::ResourcePermissionType::type& _val476 = this->userPermissionList[_key475];
-              int32_t ecast477;
-              xfer += iprot->readI32(ecast477);
-              _val476 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast477;
+              std::string _key489;
+              xfer += iprot->readString(_key489);
+               ::apache::airavata::model::group::ResourcePermissionType::type& _val490 = this->userPermissionList[_key489];
+              int32_t ecast491;
+              xfer += iprot->readI32(ecast491);
+              _val490 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast491;
             }
             xfer += iprot->readMapEnd();
           }
@@ -50197,11 +50921,11 @@
   xfer += oprot->writeFieldBegin("userPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->userPermissionList.size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter478;
-    for (_iter478 = this->userPermissionList.begin(); _iter478 != this->userPermissionList.end(); ++_iter478)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter492;
+    for (_iter492 = this->userPermissionList.begin(); _iter492 != this->userPermissionList.end(); ++_iter492)
     {
-      xfer += oprot->writeString(_iter478->first);
-      xfer += oprot->writeI32((int32_t)_iter478->second);
+      xfer += oprot->writeString(_iter492->first);
+      xfer += oprot->writeI32((int32_t)_iter492->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -50233,11 +50957,11 @@
   xfer += oprot->writeFieldBegin("userPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->userPermissionList)).size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter479;
-    for (_iter479 = (*(this->userPermissionList)).begin(); _iter479 != (*(this->userPermissionList)).end(); ++_iter479)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter493;
+    for (_iter493 = (*(this->userPermissionList)).begin(); _iter493 != (*(this->userPermissionList)).end(); ++_iter493)
     {
-      xfer += oprot->writeString(_iter479->first);
-      xfer += oprot->writeI32((int32_t)_iter479->second);
+      xfer += oprot->writeString(_iter493->first);
+      xfer += oprot->writeI32((int32_t)_iter493->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -50484,19 +51208,19 @@
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->groupPermissionList.clear();
-            uint32_t _size480;
-            ::apache::thrift::protocol::TType _ktype481;
-            ::apache::thrift::protocol::TType _vtype482;
-            xfer += iprot->readMapBegin(_ktype481, _vtype482, _size480);
-            uint32_t _i484;
-            for (_i484 = 0; _i484 < _size480; ++_i484)
+            uint32_t _size494;
+            ::apache::thrift::protocol::TType _ktype495;
+            ::apache::thrift::protocol::TType _vtype496;
+            xfer += iprot->readMapBegin(_ktype495, _vtype496, _size494);
+            uint32_t _i498;
+            for (_i498 = 0; _i498 < _size494; ++_i498)
             {
-              std::string _key485;
-              xfer += iprot->readString(_key485);
-               ::apache::airavata::model::group::ResourcePermissionType::type& _val486 = this->groupPermissionList[_key485];
-              int32_t ecast487;
-              xfer += iprot->readI32(ecast487);
-              _val486 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast487;
+              std::string _key499;
+              xfer += iprot->readString(_key499);
+               ::apache::airavata::model::group::ResourcePermissionType::type& _val500 = this->groupPermissionList[_key499];
+              int32_t ecast501;
+              xfer += iprot->readI32(ecast501);
+              _val500 = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast501;
             }
             xfer += iprot->readMapEnd();
           }
@@ -50537,11 +51261,11 @@
   xfer += oprot->writeFieldBegin("groupPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>(this->groupPermissionList.size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter488;
-    for (_iter488 = this->groupPermissionList.begin(); _iter488 != this->groupPermissionList.end(); ++_iter488)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter502;
+    for (_iter502 = this->groupPermissionList.begin(); _iter502 != this->groupPermissionList.end(); ++_iter502)
     {
-      xfer += oprot->writeString(_iter488->first);
-      xfer += oprot->writeI32((int32_t)_iter488->second);
+      xfer += oprot->writeString(_iter502->first);
+      xfer += oprot->writeI32((int32_t)_iter502->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -50573,11 +51297,11 @@
   xfer += oprot->writeFieldBegin("groupPermissionList", ::apache::thrift::protocol::T_MAP, 4);
   {
     xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_I32, static_cast<uint32_t>((*(this->groupPermissionList)).size()));
-    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter489;
-    for (_iter489 = (*(this->groupPermissionList)).begin(); _iter489 != (*(this->groupPermissionList)).end(); ++_iter489)
+    std::map<std::string,  ::apache::airavata::model::group::ResourcePermissionType::type> ::const_iterator _iter503;
+    for (_iter503 = (*(this->groupPermissionList)).begin(); _iter503 != (*(this->groupPermissionList)).end(); ++_iter503)
     {
-      xfer += oprot->writeString(_iter489->first);
-      xfer += oprot->writeI32((int32_t)_iter489->second);
+      xfer += oprot->writeString(_iter503->first);
+      xfer += oprot->writeI32((int32_t)_iter503->second);
     }
     xfer += oprot->writeMapEnd();
   }
@@ -50823,9 +51547,9 @@
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast490;
-          xfer += iprot->readI32(ecast490);
-          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast490;
+          int32_t ecast504;
+          xfer += iprot->readI32(ecast504);
+          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast504;
           isset_permissionType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -50928,14 +51652,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size491;
-            ::apache::thrift::protocol::TType _etype494;
-            xfer += iprot->readListBegin(_etype494, _size491);
-            this->success.resize(_size491);
-            uint32_t _i495;
-            for (_i495 = 0; _i495 < _size491; ++_i495)
+            uint32_t _size505;
+            ::apache::thrift::protocol::TType _etype508;
+            xfer += iprot->readListBegin(_etype508, _size505);
+            this->success.resize(_size505);
+            uint32_t _i509;
+            for (_i509 = 0; _i509 < _size505; ++_i509)
             {
-              xfer += iprot->readString(this->success[_i495]);
+              xfer += iprot->readString(this->success[_i509]);
             }
             xfer += iprot->readListEnd();
           }
@@ -50998,10 +51722,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter496;
-      for (_iter496 = this->success.begin(); _iter496 != this->success.end(); ++_iter496)
+      std::vector<std::string> ::const_iterator _iter510;
+      for (_iter510 = this->success.begin(); _iter510 != this->success.end(); ++_iter510)
       {
-        xfer += oprot->writeString((*_iter496));
+        xfer += oprot->writeString((*_iter510));
       }
       xfer += oprot->writeListEnd();
     }
@@ -51058,14 +51782,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size497;
-            ::apache::thrift::protocol::TType _etype500;
-            xfer += iprot->readListBegin(_etype500, _size497);
-            (*(this->success)).resize(_size497);
-            uint32_t _i501;
-            for (_i501 = 0; _i501 < _size497; ++_i501)
+            uint32_t _size511;
+            ::apache::thrift::protocol::TType _etype514;
+            xfer += iprot->readListBegin(_etype514, _size511);
+            (*(this->success)).resize(_size511);
+            uint32_t _i515;
+            for (_i515 = 0; _i515 < _size511; ++_i515)
             {
-              xfer += iprot->readString((*(this->success))[_i501]);
+              xfer += iprot->readString((*(this->success))[_i515]);
             }
             xfer += iprot->readListEnd();
           }
@@ -51165,9 +51889,9 @@
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast502;
-          xfer += iprot->readI32(ecast502);
-          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast502;
+          int32_t ecast516;
+          xfer += iprot->readI32(ecast516);
+          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast516;
           isset_permissionType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -51270,14 +51994,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size503;
-            ::apache::thrift::protocol::TType _etype506;
-            xfer += iprot->readListBegin(_etype506, _size503);
-            this->success.resize(_size503);
-            uint32_t _i507;
-            for (_i507 = 0; _i507 < _size503; ++_i507)
+            uint32_t _size517;
+            ::apache::thrift::protocol::TType _etype520;
+            xfer += iprot->readListBegin(_etype520, _size517);
+            this->success.resize(_size517);
+            uint32_t _i521;
+            for (_i521 = 0; _i521 < _size517; ++_i521)
             {
-              xfer += iprot->readString(this->success[_i507]);
+              xfer += iprot->readString(this->success[_i521]);
             }
             xfer += iprot->readListEnd();
           }
@@ -51340,10 +52064,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter508;
-      for (_iter508 = this->success.begin(); _iter508 != this->success.end(); ++_iter508)
+      std::vector<std::string> ::const_iterator _iter522;
+      for (_iter522 = this->success.begin(); _iter522 != this->success.end(); ++_iter522)
       {
-        xfer += oprot->writeString((*_iter508));
+        xfer += oprot->writeString((*_iter522));
       }
       xfer += oprot->writeListEnd();
     }
@@ -51400,14 +52124,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size509;
-            ::apache::thrift::protocol::TType _etype512;
-            xfer += iprot->readListBegin(_etype512, _size509);
-            (*(this->success)).resize(_size509);
-            uint32_t _i513;
-            for (_i513 = 0; _i513 < _size509; ++_i513)
+            uint32_t _size523;
+            ::apache::thrift::protocol::TType _etype526;
+            xfer += iprot->readListBegin(_etype526, _size523);
+            (*(this->success)).resize(_size523);
+            uint32_t _i527;
+            for (_i527 = 0; _i527 < _size523; ++_i527)
             {
-              xfer += iprot->readString((*(this->success))[_i513]);
+              xfer += iprot->readString((*(this->success))[_i527]);
             }
             xfer += iprot->readListEnd();
           }
@@ -51507,9 +52231,9 @@
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast514;
-          xfer += iprot->readI32(ecast514);
-          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast514;
+          int32_t ecast528;
+          xfer += iprot->readI32(ecast528);
+          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast528;
           isset_permissionType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -51612,14 +52336,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size515;
-            ::apache::thrift::protocol::TType _etype518;
-            xfer += iprot->readListBegin(_etype518, _size515);
-            this->success.resize(_size515);
-            uint32_t _i519;
-            for (_i519 = 0; _i519 < _size515; ++_i519)
+            uint32_t _size529;
+            ::apache::thrift::protocol::TType _etype532;
+            xfer += iprot->readListBegin(_etype532, _size529);
+            this->success.resize(_size529);
+            uint32_t _i533;
+            for (_i533 = 0; _i533 < _size529; ++_i533)
             {
-              xfer += iprot->readString(this->success[_i519]);
+              xfer += iprot->readString(this->success[_i533]);
             }
             xfer += iprot->readListEnd();
           }
@@ -51682,10 +52406,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter520;
-      for (_iter520 = this->success.begin(); _iter520 != this->success.end(); ++_iter520)
+      std::vector<std::string> ::const_iterator _iter534;
+      for (_iter534 = this->success.begin(); _iter534 != this->success.end(); ++_iter534)
       {
-        xfer += oprot->writeString((*_iter520));
+        xfer += oprot->writeString((*_iter534));
       }
       xfer += oprot->writeListEnd();
     }
@@ -51742,14 +52466,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size521;
-            ::apache::thrift::protocol::TType _etype524;
-            xfer += iprot->readListBegin(_etype524, _size521);
-            (*(this->success)).resize(_size521);
-            uint32_t _i525;
-            for (_i525 = 0; _i525 < _size521; ++_i525)
+            uint32_t _size535;
+            ::apache::thrift::protocol::TType _etype538;
+            xfer += iprot->readListBegin(_etype538, _size535);
+            (*(this->success)).resize(_size535);
+            uint32_t _i539;
+            for (_i539 = 0; _i539 < _size535; ++_i539)
             {
-              xfer += iprot->readString((*(this->success))[_i525]);
+              xfer += iprot->readString((*(this->success))[_i539]);
             }
             xfer += iprot->readListEnd();
           }
@@ -51849,9 +52573,9 @@
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast526;
-          xfer += iprot->readI32(ecast526);
-          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast526;
+          int32_t ecast540;
+          xfer += iprot->readI32(ecast540);
+          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast540;
           isset_permissionType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -51954,14 +52678,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size527;
-            ::apache::thrift::protocol::TType _etype530;
-            xfer += iprot->readListBegin(_etype530, _size527);
-            this->success.resize(_size527);
-            uint32_t _i531;
-            for (_i531 = 0; _i531 < _size527; ++_i531)
+            uint32_t _size541;
+            ::apache::thrift::protocol::TType _etype544;
+            xfer += iprot->readListBegin(_etype544, _size541);
+            this->success.resize(_size541);
+            uint32_t _i545;
+            for (_i545 = 0; _i545 < _size541; ++_i545)
             {
-              xfer += iprot->readString(this->success[_i531]);
+              xfer += iprot->readString(this->success[_i545]);
             }
             xfer += iprot->readListEnd();
           }
@@ -52024,10 +52748,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->success.size()));
-      std::vector<std::string> ::const_iterator _iter532;
-      for (_iter532 = this->success.begin(); _iter532 != this->success.end(); ++_iter532)
+      std::vector<std::string> ::const_iterator _iter546;
+      for (_iter546 = this->success.begin(); _iter546 != this->success.end(); ++_iter546)
       {
-        xfer += oprot->writeString((*_iter532));
+        xfer += oprot->writeString((*_iter546));
       }
       xfer += oprot->writeListEnd();
     }
@@ -52084,14 +52808,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size533;
-            ::apache::thrift::protocol::TType _etype536;
-            xfer += iprot->readListBegin(_etype536, _size533);
-            (*(this->success)).resize(_size533);
-            uint32_t _i537;
-            for (_i537 = 0; _i537 < _size533; ++_i537)
+            uint32_t _size547;
+            ::apache::thrift::protocol::TType _etype550;
+            xfer += iprot->readListBegin(_etype550, _size547);
+            (*(this->success)).resize(_size547);
+            uint32_t _i551;
+            for (_i551 = 0; _i551 < _size547; ++_i551)
             {
-              xfer += iprot->readString((*(this->success))[_i537]);
+              xfer += iprot->readString((*(this->success))[_i551]);
             }
             xfer += iprot->readListEnd();
           }
@@ -52191,9 +52915,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast538;
-          xfer += iprot->readI32(ecast538);
-          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast538;
+          int32_t ecast552;
+          xfer += iprot->readI32(ecast552);
+          this->permissionType = ( ::apache::airavata::model::group::ResourcePermissionType::type)ecast552;
           isset_permissionType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -53721,14 +54445,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size539;
-            ::apache::thrift::protocol::TType _etype542;
-            xfer += iprot->readListBegin(_etype542, _size539);
-            this->success.resize(_size539);
-            uint32_t _i543;
-            for (_i543 = 0; _i543 < _size539; ++_i543)
+            uint32_t _size553;
+            ::apache::thrift::protocol::TType _etype556;
+            xfer += iprot->readListBegin(_etype556, _size553);
+            this->success.resize(_size553);
+            uint32_t _i557;
+            for (_i557 = 0; _i557 < _size553; ++_i557)
             {
-              xfer += this->success[_i543].read(iprot);
+              xfer += this->success[_i557].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -53791,10 +54515,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::GroupResourceProfile> ::const_iterator _iter544;
-      for (_iter544 = this->success.begin(); _iter544 != this->success.end(); ++_iter544)
+      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::GroupResourceProfile> ::const_iterator _iter558;
+      for (_iter558 = this->success.begin(); _iter558 != this->success.end(); ++_iter558)
       {
-        xfer += (*_iter544).write(oprot);
+        xfer += (*_iter558).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -53851,14 +54575,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size545;
-            ::apache::thrift::protocol::TType _etype548;
-            xfer += iprot->readListBegin(_etype548, _size545);
-            (*(this->success)).resize(_size545);
-            uint32_t _i549;
-            for (_i549 = 0; _i549 < _size545; ++_i549)
+            uint32_t _size559;
+            ::apache::thrift::protocol::TType _etype562;
+            xfer += iprot->readListBegin(_etype562, _size559);
+            (*(this->success)).resize(_size559);
+            uint32_t _i563;
+            for (_i563 = 0; _i563 < _size559; ++_i563)
             {
-              xfer += (*(this->success))[_i549].read(iprot);
+              xfer += (*(this->success))[_i563].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -55814,14 +56538,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size550;
-            ::apache::thrift::protocol::TType _etype553;
-            xfer += iprot->readListBegin(_etype553, _size550);
-            this->success.resize(_size550);
-            uint32_t _i554;
-            for (_i554 = 0; _i554 < _size550; ++_i554)
+            uint32_t _size564;
+            ::apache::thrift::protocol::TType _etype567;
+            xfer += iprot->readListBegin(_etype567, _size564);
+            this->success.resize(_size564);
+            uint32_t _i568;
+            for (_i568 = 0; _i568 < _size564; ++_i568)
             {
-              xfer += this->success[_i554].read(iprot);
+              xfer += this->success[_i568].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -55884,10 +56608,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::GroupComputeResourcePreference> ::const_iterator _iter555;
-      for (_iter555 = this->success.begin(); _iter555 != this->success.end(); ++_iter555)
+      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::GroupComputeResourcePreference> ::const_iterator _iter569;
+      for (_iter569 = this->success.begin(); _iter569 != this->success.end(); ++_iter569)
       {
-        xfer += (*_iter555).write(oprot);
+        xfer += (*_iter569).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -55944,14 +56668,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size556;
-            ::apache::thrift::protocol::TType _etype559;
-            xfer += iprot->readListBegin(_etype559, _size556);
-            (*(this->success)).resize(_size556);
-            uint32_t _i560;
-            for (_i560 = 0; _i560 < _size556; ++_i560)
+            uint32_t _size570;
+            ::apache::thrift::protocol::TType _etype573;
+            xfer += iprot->readListBegin(_etype573, _size570);
+            (*(this->success)).resize(_size570);
+            uint32_t _i574;
+            for (_i574 = 0; _i574 < _size570; ++_i574)
             {
-              xfer += (*(this->success))[_i560].read(iprot);
+              xfer += (*(this->success))[_i574].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -56135,14 +56859,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size561;
-            ::apache::thrift::protocol::TType _etype564;
-            xfer += iprot->readListBegin(_etype564, _size561);
-            this->success.resize(_size561);
-            uint32_t _i565;
-            for (_i565 = 0; _i565 < _size561; ++_i565)
+            uint32_t _size575;
+            ::apache::thrift::protocol::TType _etype578;
+            xfer += iprot->readListBegin(_etype578, _size575);
+            this->success.resize(_size575);
+            uint32_t _i579;
+            for (_i579 = 0; _i579 < _size575; ++_i579)
             {
-              xfer += this->success[_i565].read(iprot);
+              xfer += this->success[_i579].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -56205,10 +56929,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::BatchQueueResourcePolicy> ::const_iterator _iter566;
-      for (_iter566 = this->success.begin(); _iter566 != this->success.end(); ++_iter566)
+      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::BatchQueueResourcePolicy> ::const_iterator _iter580;
+      for (_iter580 = this->success.begin(); _iter580 != this->success.end(); ++_iter580)
       {
-        xfer += (*_iter566).write(oprot);
+        xfer += (*_iter580).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -56265,14 +56989,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size567;
-            ::apache::thrift::protocol::TType _etype570;
-            xfer += iprot->readListBegin(_etype570, _size567);
-            (*(this->success)).resize(_size567);
-            uint32_t _i571;
-            for (_i571 = 0; _i571 < _size567; ++_i571)
+            uint32_t _size581;
+            ::apache::thrift::protocol::TType _etype584;
+            xfer += iprot->readListBegin(_etype584, _size581);
+            (*(this->success)).resize(_size581);
+            uint32_t _i585;
+            for (_i585 = 0; _i585 < _size581; ++_i585)
             {
-              xfer += (*(this->success))[_i571].read(iprot);
+              xfer += (*(this->success))[_i585].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -56456,14 +57180,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size572;
-            ::apache::thrift::protocol::TType _etype575;
-            xfer += iprot->readListBegin(_etype575, _size572);
-            this->success.resize(_size572);
-            uint32_t _i576;
-            for (_i576 = 0; _i576 < _size572; ++_i576)
+            uint32_t _size586;
+            ::apache::thrift::protocol::TType _etype589;
+            xfer += iprot->readListBegin(_etype589, _size586);
+            this->success.resize(_size586);
+            uint32_t _i590;
+            for (_i590 = 0; _i590 < _size586; ++_i590)
             {
-              xfer += this->success[_i576].read(iprot);
+              xfer += this->success[_i590].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -56526,10 +57250,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::ComputeResourcePolicy> ::const_iterator _iter577;
-      for (_iter577 = this->success.begin(); _iter577 != this->success.end(); ++_iter577)
+      std::vector< ::apache::airavata::model::appcatalog::groupresourceprofile::ComputeResourcePolicy> ::const_iterator _iter591;
+      for (_iter591 = this->success.begin(); _iter591 != this->success.end(); ++_iter591)
       {
-        xfer += (*_iter577).write(oprot);
+        xfer += (*_iter591).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -56586,14 +57310,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size578;
-            ::apache::thrift::protocol::TType _etype581;
-            xfer += iprot->readListBegin(_etype581, _size578);
-            (*(this->success)).resize(_size578);
-            uint32_t _i582;
-            for (_i582 = 0; _i582 < _size578; ++_i582)
+            uint32_t _size592;
+            ::apache::thrift::protocol::TType _etype595;
+            xfer += iprot->readListBegin(_etype595, _size592);
+            (*(this->success)).resize(_size592);
+            uint32_t _i596;
+            for (_i596 = 0; _i596 < _size592; ++_i596)
             {
-              xfer += (*(this->success))[_i582].read(iprot);
+              xfer += (*(this->success))[_i596].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -57644,14 +58368,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size583;
-            ::apache::thrift::protocol::TType _etype586;
-            xfer += iprot->readListBegin(_etype586, _size583);
-            this->success.resize(_size583);
-            uint32_t _i587;
-            for (_i587 = 0; _i587 < _size583; ++_i587)
+            uint32_t _size597;
+            ::apache::thrift::protocol::TType _etype600;
+            xfer += iprot->readListBegin(_etype600, _size597);
+            this->success.resize(_size597);
+            uint32_t _i601;
+            for (_i601 = 0; _i601 < _size597; ++_i601)
             {
-              xfer += this->success[_i587].read(iprot);
+              xfer += this->success[_i601].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -57714,10 +58438,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::parser::Parser> ::const_iterator _iter588;
-      for (_iter588 = this->success.begin(); _iter588 != this->success.end(); ++_iter588)
+      std::vector< ::apache::airavata::model::appcatalog::parser::Parser> ::const_iterator _iter602;
+      for (_iter602 = this->success.begin(); _iter602 != this->success.end(); ++_iter602)
       {
-        xfer += (*_iter588).write(oprot);
+        xfer += (*_iter602).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -57774,14 +58498,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size589;
-            ::apache::thrift::protocol::TType _etype592;
-            xfer += iprot->readListBegin(_etype592, _size589);
-            (*(this->success)).resize(_size589);
-            uint32_t _i593;
-            for (_i593 = 0; _i593 < _size589; ++_i593)
+            uint32_t _size603;
+            ::apache::thrift::protocol::TType _etype606;
+            xfer += iprot->readListBegin(_etype606, _size603);
+            (*(this->success)).resize(_size603);
+            uint32_t _i607;
+            for (_i607 = 0; _i607 < _size603; ++_i607)
             {
-              xfer += (*(this->success))[_i593].read(iprot);
+              xfer += (*(this->success))[_i607].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -58600,14 +59324,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size594;
-            ::apache::thrift::protocol::TType _etype597;
-            xfer += iprot->readListBegin(_etype597, _size594);
-            this->success.resize(_size594);
-            uint32_t _i598;
-            for (_i598 = 0; _i598 < _size594; ++_i598)
+            uint32_t _size608;
+            ::apache::thrift::protocol::TType _etype611;
+            xfer += iprot->readListBegin(_etype611, _size608);
+            this->success.resize(_size608);
+            uint32_t _i612;
+            for (_i612 = 0; _i612 < _size608; ++_i612)
             {
-              xfer += this->success[_i598].read(iprot);
+              xfer += this->success[_i612].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -58670,10 +59394,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::parser::ParsingTemplate> ::const_iterator _iter599;
-      for (_iter599 = this->success.begin(); _iter599 != this->success.end(); ++_iter599)
+      std::vector< ::apache::airavata::model::appcatalog::parser::ParsingTemplate> ::const_iterator _iter613;
+      for (_iter613 = this->success.begin(); _iter613 != this->success.end(); ++_iter613)
       {
-        xfer += (*_iter599).write(oprot);
+        xfer += (*_iter613).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -58730,14 +59454,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size600;
-            ::apache::thrift::protocol::TType _etype603;
-            xfer += iprot->readListBegin(_etype603, _size600);
-            (*(this->success)).resize(_size600);
-            uint32_t _i604;
-            for (_i604 = 0; _i604 < _size600; ++_i604)
+            uint32_t _size614;
+            ::apache::thrift::protocol::TType _etype617;
+            xfer += iprot->readListBegin(_etype617, _size614);
+            (*(this->success)).resize(_size614);
+            uint32_t _i618;
+            for (_i618 = 0; _i618 < _size614; ++_i618)
             {
-              xfer += (*(this->success))[_i604].read(iprot);
+              xfer += (*(this->success))[_i618].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -59518,14 +60242,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->success.clear();
-            uint32_t _size605;
-            ::apache::thrift::protocol::TType _etype608;
-            xfer += iprot->readListBegin(_etype608, _size605);
-            this->success.resize(_size605);
-            uint32_t _i609;
-            for (_i609 = 0; _i609 < _size605; ++_i609)
+            uint32_t _size619;
+            ::apache::thrift::protocol::TType _etype622;
+            xfer += iprot->readListBegin(_etype622, _size619);
+            this->success.resize(_size619);
+            uint32_t _i623;
+            for (_i623 = 0; _i623 < _size619; ++_i623)
             {
-              xfer += this->success[_i609].read(iprot);
+              xfer += this->success[_i623].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -59588,10 +60312,10 @@
     xfer += oprot->writeFieldBegin("success", ::apache::thrift::protocol::T_LIST, 0);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->success.size()));
-      std::vector< ::apache::airavata::model::appcatalog::parser::ParsingTemplate> ::const_iterator _iter610;
-      for (_iter610 = this->success.begin(); _iter610 != this->success.end(); ++_iter610)
+      std::vector< ::apache::airavata::model::appcatalog::parser::ParsingTemplate> ::const_iterator _iter624;
+      for (_iter624 = this->success.begin(); _iter624 != this->success.end(); ++_iter624)
       {
-        xfer += (*_iter610).write(oprot);
+        xfer += (*_iter624).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -59648,14 +60372,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             (*(this->success)).clear();
-            uint32_t _size611;
-            ::apache::thrift::protocol::TType _etype614;
-            xfer += iprot->readListBegin(_etype614, _size611);
-            (*(this->success)).resize(_size611);
-            uint32_t _i615;
-            for (_i615 = 0; _i615 < _size611; ++_i615)
+            uint32_t _size625;
+            ::apache::thrift::protocol::TType _etype628;
+            xfer += iprot->readListBegin(_etype628, _size625);
+            (*(this->success)).resize(_size625);
+            uint32_t _i629;
+            for (_i629 = 0; _i629 < _size625; ++_i629)
             {
-              xfer += (*(this->success))[_i615].read(iprot);
+              xfer += (*(this->success))[_i629].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -61567,13 +62291,13 @@
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "searchExperiments failed: unknown result");
 }
 
-void AiravataClient::getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName)
+void AiravataClient::getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset)
 {
-  send_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName);
+  send_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset);
   recv_getExperimentStatistics(_return);
 }
 
-void AiravataClient::send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName)
+void AiravataClient::send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset)
 {
   int32_t cseqid = 0;
   oprot_->writeMessageBegin("getExperimentStatistics", ::apache::thrift::protocol::T_CALL, cseqid);
@@ -61586,6 +62310,8 @@
   args.userName = &userName;
   args.applicationName = &applicationName;
   args.resourceHostName = &resourceHostName;
+  args.limit = &limit;
+  args.offset = &offset;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -62710,6 +63436,151 @@
   throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getIntermediateOutputs failed: unknown result");
 }
 
+void AiravataClient::fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  send_fetchIntermediateOutputs(authzToken, airavataExperimentId, outputNames);
+  recv_fetchIntermediateOutputs();
+}
+
+void AiravataClient::send_fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("fetchIntermediateOutputs", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_fetchIntermediateOutputs_pargs args;
+  args.authzToken = &authzToken;
+  args.airavataExperimentId = &airavataExperimentId;
+  args.outputNames = &outputNames;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_fetchIntermediateOutputs()
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("fetchIntermediateOutputs") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_fetchIntermediateOutputs_presult result;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.enf) {
+    throw result.enf;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  return;
+}
+
+void AiravataClient::getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  send_getIntermediateOutputProcessStatus(authzToken, airavataExperimentId, outputNames);
+  recv_getIntermediateOutputProcessStatus(_return);
+}
+
+void AiravataClient::send_getIntermediateOutputProcessStatus(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  int32_t cseqid = 0;
+  oprot_->writeMessageBegin("getIntermediateOutputProcessStatus", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_getIntermediateOutputProcessStatus_pargs args;
+  args.authzToken = &authzToken;
+  args.airavataExperimentId = &airavataExperimentId;
+  args.outputNames = &outputNames;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+}
+
+void AiravataClient::recv_getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  iprot_->readMessageBegin(fname, mtype, rseqid);
+  if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+    ::apache::thrift::TApplicationException x;
+    x.read(iprot_);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+    throw x;
+  }
+  if (mtype != ::apache::thrift::protocol::T_REPLY) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  if (fname.compare("getIntermediateOutputProcessStatus") != 0) {
+    iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+    iprot_->readMessageEnd();
+    iprot_->getTransport()->readEnd();
+  }
+  Airavata_getIntermediateOutputProcessStatus_presult result;
+  result.success = &_return;
+  result.read(iprot_);
+  iprot_->readMessageEnd();
+  iprot_->getTransport()->readEnd();
+
+  if (result.__isset.success) {
+    // _return pointer has now been filled
+    return;
+  }
+  if (result.__isset.ire) {
+    throw result.ire;
+  }
+  if (result.__isset.enf) {
+    throw result.enf;
+  }
+  if (result.__isset.ace) {
+    throw result.ace;
+  }
+  if (result.__isset.ase) {
+    throw result.ase;
+  }
+  if (result.__isset.ae) {
+    throw result.ae;
+  }
+  throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getIntermediateOutputProcessStatus failed: unknown result");
+}
+
 void AiravataClient::getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId)
 {
   send_getJobStatuses(authzToken, airavataExperimentId);
@@ -75155,7 +76026,7 @@
 
   Airavata_getExperimentStatistics_result result;
   try {
-    iface_->getExperimentStatistics(result.success, args.authzToken, args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName);
+    iface_->getExperimentStatistics(result.success, args.authzToken, args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName, args.limit, args.offset);
     result.__isset.success = true;
   } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
     result.ire = ire;
@@ -76196,6 +77067,143 @@
   }
 }
 
+void AiravataProcessor::process_fetchIntermediateOutputs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+  void* ctx = NULL;
+  if (this->eventHandler_.get() != NULL) {
+    ctx = this->eventHandler_->getContext("Airavata.fetchIntermediateOutputs", callContext);
+  }
+  ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Airavata.fetchIntermediateOutputs");
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preRead(ctx, "Airavata.fetchIntermediateOutputs");
+  }
+
+  Airavata_fetchIntermediateOutputs_args args;
+  args.read(iprot);
+  iprot->readMessageEnd();
+  uint32_t bytes = iprot->getTransport()->readEnd();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postRead(ctx, "Airavata.fetchIntermediateOutputs", bytes);
+  }
+
+  Airavata_fetchIntermediateOutputs_result result;
+  try {
+    iface_->fetchIntermediateOutputs(args.authzToken, args.airavataExperimentId, args.outputNames);
+  } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+    result.ire = ire;
+    result.__isset.ire = true;
+  } catch ( ::apache::airavata::api::error::ExperimentNotFoundException &enf) {
+    result.enf = enf;
+    result.__isset.enf = true;
+  } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+    result.ace = ace;
+    result.__isset.ace = true;
+  } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+    result.ase = ase;
+    result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
+  } catch (const std::exception& e) {
+    if (this->eventHandler_.get() != NULL) {
+      this->eventHandler_->handlerError(ctx, "Airavata.fetchIntermediateOutputs");
+    }
+
+    ::apache::thrift::TApplicationException x(e.what());
+    oprot->writeMessageBegin("fetchIntermediateOutputs", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+    x.write(oprot);
+    oprot->writeMessageEnd();
+    oprot->getTransport()->writeEnd();
+    oprot->getTransport()->flush();
+    return;
+  }
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preWrite(ctx, "Airavata.fetchIntermediateOutputs");
+  }
+
+  oprot->writeMessageBegin("fetchIntermediateOutputs", ::apache::thrift::protocol::T_REPLY, seqid);
+  result.write(oprot);
+  oprot->writeMessageEnd();
+  bytes = oprot->getTransport()->writeEnd();
+  oprot->getTransport()->flush();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postWrite(ctx, "Airavata.fetchIntermediateOutputs", bytes);
+  }
+}
+
+void AiravataProcessor::process_getIntermediateOutputProcessStatus(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
+{
+  void* ctx = NULL;
+  if (this->eventHandler_.get() != NULL) {
+    ctx = this->eventHandler_->getContext("Airavata.getIntermediateOutputProcessStatus", callContext);
+  }
+  ::apache::thrift::TProcessorContextFreer freer(this->eventHandler_.get(), ctx, "Airavata.getIntermediateOutputProcessStatus");
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preRead(ctx, "Airavata.getIntermediateOutputProcessStatus");
+  }
+
+  Airavata_getIntermediateOutputProcessStatus_args args;
+  args.read(iprot);
+  iprot->readMessageEnd();
+  uint32_t bytes = iprot->getTransport()->readEnd();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postRead(ctx, "Airavata.getIntermediateOutputProcessStatus", bytes);
+  }
+
+  Airavata_getIntermediateOutputProcessStatus_result result;
+  try {
+    iface_->getIntermediateOutputProcessStatus(result.success, args.authzToken, args.airavataExperimentId, args.outputNames);
+    result.__isset.success = true;
+  } catch ( ::apache::airavata::api::error::InvalidRequestException &ire) {
+    result.ire = ire;
+    result.__isset.ire = true;
+  } catch ( ::apache::airavata::api::error::ExperimentNotFoundException &enf) {
+    result.enf = enf;
+    result.__isset.enf = true;
+  } catch ( ::apache::airavata::api::error::AiravataClientException &ace) {
+    result.ace = ace;
+    result.__isset.ace = true;
+  } catch ( ::apache::airavata::api::error::AiravataSystemException &ase) {
+    result.ase = ase;
+    result.__isset.ase = true;
+  } catch ( ::apache::airavata::api::error::AuthorizationException &ae) {
+    result.ae = ae;
+    result.__isset.ae = true;
+  } catch (const std::exception& e) {
+    if (this->eventHandler_.get() != NULL) {
+      this->eventHandler_->handlerError(ctx, "Airavata.getIntermediateOutputProcessStatus");
+    }
+
+    ::apache::thrift::TApplicationException x(e.what());
+    oprot->writeMessageBegin("getIntermediateOutputProcessStatus", ::apache::thrift::protocol::T_EXCEPTION, seqid);
+    x.write(oprot);
+    oprot->writeMessageEnd();
+    oprot->getTransport()->writeEnd();
+    oprot->getTransport()->flush();
+    return;
+  }
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->preWrite(ctx, "Airavata.getIntermediateOutputProcessStatus");
+  }
+
+  oprot->writeMessageBegin("getIntermediateOutputProcessStatus", ::apache::thrift::protocol::T_REPLY, seqid);
+  result.write(oprot);
+  oprot->writeMessageEnd();
+  bytes = oprot->getTransport()->writeEnd();
+  oprot->getTransport()->flush();
+
+  if (this->eventHandler_.get() != NULL) {
+    this->eventHandler_->postWrite(ctx, "Airavata.getIntermediateOutputProcessStatus", bytes);
+  }
+}
+
 void AiravataProcessor::process_getJobStatuses(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext)
 {
   void* ctx = NULL;
@@ -88694,13 +89702,13 @@
   } // end while(true)
 }
 
-void AiravataConcurrentClient::getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName)
+void AiravataConcurrentClient::getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset)
 {
-  int32_t seqid = send_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName);
+  int32_t seqid = send_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset);
   recv_getExperimentStatistics(_return, seqid);
 }
 
-int32_t AiravataConcurrentClient::send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName)
+int32_t AiravataConcurrentClient::send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset)
 {
   int32_t cseqid = this->sync_.generateSeqId();
   ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
@@ -88714,6 +89722,8 @@
   args.userName = &userName;
   args.applicationName = &applicationName;
   args.resourceHostName = &resourceHostName;
+  args.limit = &limit;
+  args.offset = &offset;
   args.write(oprot_);
 
   oprot_->writeMessageEnd();
@@ -90317,6 +91327,212 @@
   } // end while(true)
 }
 
+void AiravataConcurrentClient::fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  int32_t seqid = send_fetchIntermediateOutputs(authzToken, airavataExperimentId, outputNames);
+  recv_fetchIntermediateOutputs(seqid);
+}
+
+int32_t AiravataConcurrentClient::send_fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  int32_t cseqid = this->sync_.generateSeqId();
+  ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
+  oprot_->writeMessageBegin("fetchIntermediateOutputs", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_fetchIntermediateOutputs_pargs args;
+  args.authzToken = &authzToken;
+  args.airavataExperimentId = &airavataExperimentId;
+  args.outputNames = &outputNames;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+
+  sentry.commit();
+  return cseqid;
+}
+
+void AiravataConcurrentClient::recv_fetchIntermediateOutputs(const int32_t seqid)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  // the read mutex gets dropped and reacquired as part of waitForWork()
+  // The destructor of this sentry wakes up other clients
+  ::apache::thrift::async::TConcurrentRecvSentry sentry(&this->sync_, seqid);
+
+  while(true) {
+    if(!this->sync_.getPending(fname, mtype, rseqid)) {
+      iprot_->readMessageBegin(fname, mtype, rseqid);
+    }
+    if(seqid == rseqid) {
+      if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+        ::apache::thrift::TApplicationException x;
+        x.read(iprot_);
+        iprot_->readMessageEnd();
+        iprot_->getTransport()->readEnd();
+        sentry.commit();
+        throw x;
+      }
+      if (mtype != ::apache::thrift::protocol::T_REPLY) {
+        iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+        iprot_->readMessageEnd();
+        iprot_->getTransport()->readEnd();
+      }
+      if (fname.compare("fetchIntermediateOutputs") != 0) {
+        iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+        iprot_->readMessageEnd();
+        iprot_->getTransport()->readEnd();
+
+        // in a bad state, don't commit
+        using ::apache::thrift::protocol::TProtocolException;
+        throw TProtocolException(TProtocolException::INVALID_DATA);
+      }
+      Airavata_fetchIntermediateOutputs_presult result;
+      result.read(iprot_);
+      iprot_->readMessageEnd();
+      iprot_->getTransport()->readEnd();
+
+      if (result.__isset.ire) {
+        sentry.commit();
+        throw result.ire;
+      }
+      if (result.__isset.enf) {
+        sentry.commit();
+        throw result.enf;
+      }
+      if (result.__isset.ace) {
+        sentry.commit();
+        throw result.ace;
+      }
+      if (result.__isset.ase) {
+        sentry.commit();
+        throw result.ase;
+      }
+      if (result.__isset.ae) {
+        sentry.commit();
+        throw result.ae;
+      }
+      sentry.commit();
+      return;
+    }
+    // seqid != rseqid
+    this->sync_.updatePending(fname, mtype, rseqid);
+
+    // this will temporarily unlock the readMutex, and let other clients get work done
+    this->sync_.waitForWork(seqid);
+  } // end while(true)
+}
+
+void AiravataConcurrentClient::getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  int32_t seqid = send_getIntermediateOutputProcessStatus(authzToken, airavataExperimentId, outputNames);
+  recv_getIntermediateOutputProcessStatus(_return, seqid);
+}
+
+int32_t AiravataConcurrentClient::send_getIntermediateOutputProcessStatus(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames)
+{
+  int32_t cseqid = this->sync_.generateSeqId();
+  ::apache::thrift::async::TConcurrentSendSentry sentry(&this->sync_);
+  oprot_->writeMessageBegin("getIntermediateOutputProcessStatus", ::apache::thrift::protocol::T_CALL, cseqid);
+
+  Airavata_getIntermediateOutputProcessStatus_pargs args;
+  args.authzToken = &authzToken;
+  args.airavataExperimentId = &airavataExperimentId;
+  args.outputNames = &outputNames;
+  args.write(oprot_);
+
+  oprot_->writeMessageEnd();
+  oprot_->getTransport()->writeEnd();
+  oprot_->getTransport()->flush();
+
+  sentry.commit();
+  return cseqid;
+}
+
+void AiravataConcurrentClient::recv_getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const int32_t seqid)
+{
+
+  int32_t rseqid = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TMessageType mtype;
+
+  // the read mutex gets dropped and reacquired as part of waitForWork()
+  // The destructor of this sentry wakes up other clients
+  ::apache::thrift::async::TConcurrentRecvSentry sentry(&this->sync_, seqid);
+
+  while(true) {
+    if(!this->sync_.getPending(fname, mtype, rseqid)) {
+      iprot_->readMessageBegin(fname, mtype, rseqid);
+    }
+    if(seqid == rseqid) {
+      if (mtype == ::apache::thrift::protocol::T_EXCEPTION) {
+        ::apache::thrift::TApplicationException x;
+        x.read(iprot_);
+        iprot_->readMessageEnd();
+        iprot_->getTransport()->readEnd();
+        sentry.commit();
+        throw x;
+      }
+      if (mtype != ::apache::thrift::protocol::T_REPLY) {
+        iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+        iprot_->readMessageEnd();
+        iprot_->getTransport()->readEnd();
+      }
+      if (fname.compare("getIntermediateOutputProcessStatus") != 0) {
+        iprot_->skip(::apache::thrift::protocol::T_STRUCT);
+        iprot_->readMessageEnd();
+        iprot_->getTransport()->readEnd();
+
+        // in a bad state, don't commit
+        using ::apache::thrift::protocol::TProtocolException;
+        throw TProtocolException(TProtocolException::INVALID_DATA);
+      }
+      Airavata_getIntermediateOutputProcessStatus_presult result;
+      result.success = &_return;
+      result.read(iprot_);
+      iprot_->readMessageEnd();
+      iprot_->getTransport()->readEnd();
+
+      if (result.__isset.success) {
+        // _return pointer has now been filled
+        sentry.commit();
+        return;
+      }
+      if (result.__isset.ire) {
+        sentry.commit();
+        throw result.ire;
+      }
+      if (result.__isset.enf) {
+        sentry.commit();
+        throw result.enf;
+      }
+      if (result.__isset.ace) {
+        sentry.commit();
+        throw result.ace;
+      }
+      if (result.__isset.ase) {
+        sentry.commit();
+        throw result.ase;
+      }
+      if (result.__isset.ae) {
+        sentry.commit();
+        throw result.ae;
+      }
+      // in a bad state, don't commit
+      throw ::apache::thrift::TApplicationException(::apache::thrift::TApplicationException::MISSING_RESULT, "getIntermediateOutputProcessStatus failed: unknown result");
+    }
+    // seqid != rseqid
+    this->sync_.updatePending(fname, mtype, rseqid);
+
+    // this will temporarily unlock the readMutex, and let other clients get work done
+    this->sync_.waitForWork(seqid);
+  } // end while(true)
+}
+
 void AiravataConcurrentClient::getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId)
 {
   int32_t seqid = send_getJobStatuses(authzToken, airavataExperimentId);
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 cfb3f05..2a2f791 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
@@ -411,6 +411,12 @@
    * @param resourceHostName
    *       Hostname id substring with which to further filter statistics.
    * 
+   * @param limit
+   *       Amount of results to be fetched.
+   * 
+   * @param offset
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param authzToken
@@ -420,8 +426,10 @@
    * @param userName
    * @param applicationName
    * @param resourceHostName
+   * @param limit
+   * @param offset
    */
-  virtual void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName) = 0;
+  virtual void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset) = 0;
 
   /**
    * 
@@ -837,6 +845,44 @@
   virtual void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) = 0;
 
   /**
+   * Request fetching of output files for an experiment that is still executing.
+   * This method results in a new Process being created for the Experiment with
+   * tasks for fetching each output file.
+   * 
+   * @param authzToken
+   * 
+   * @param airavataExperimentId
+   *     Experiment ID of the experiment
+   * 
+   * @param outputNames
+   *     List of names of the experiment's outputs to fetch.
+   * 
+   * 
+   * @param authzToken
+   * @param airavataExperimentId
+   * @param outputNames
+   */
+  virtual void fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames) = 0;
+
+  /**
+   * Get the status of the most recent intermediate output fetching process for the given output names.
+   * 
+   * @param authzToken
+   * 
+   * @param airavataExperimentId
+   *     Experiment ID of the experiment
+   * 
+   * @param outputNames
+   *     List of names of the experiment's outputs to fetch.
+   * 
+   * 
+   * @param authzToken
+   * @param airavataExperimentId
+   * @param outputNames
+   */
+  virtual void getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames) = 0;
+
+  /**
    * 
    * Get Job Statuses for an Experiment
    * This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
@@ -3075,7 +3121,7 @@
   void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & /* filters */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const int64_t /* fromTime */, const int64_t /* toTime */, const std::string& /* userName */, const std::string& /* applicationName */, const std::string& /* resourceHostName */) {
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* gatewayId */, const int64_t /* fromTime */, const int64_t /* toTime */, const std::string& /* userName */, const std::string& /* applicationName */, const std::string& /* resourceHostName */, const int32_t /* limit */, const int32_t /* offset */) {
     return;
   }
   void getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* projectId */, const int32_t /* limit */, const int32_t /* offset */) {
@@ -3125,6 +3171,12 @@
   void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
+  void fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const std::vector<std::string> & /* outputNames */) {
+    return;
+  }
+  void getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */, const std::vector<std::string> & /* outputNames */) {
+    return;
+  }
   void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & /* _return */, const  ::apache::airavata::model::security::AuthzToken& /* authzToken */, const std::string& /* airavataExperimentId */) {
     return;
   }
@@ -7286,10 +7338,12 @@
 };
 
 typedef struct _Airavata_getExperimentStatistics_args__isset {
-  _Airavata_getExperimentStatistics_args__isset() : userName(false), applicationName(false), resourceHostName(false) {}
+  _Airavata_getExperimentStatistics_args__isset() : userName(false), applicationName(false), resourceHostName(false), limit(true), offset(true) {}
   bool userName :1;
   bool applicationName :1;
   bool resourceHostName :1;
+  bool limit :1;
+  bool offset :1;
 } _Airavata_getExperimentStatistics_args__isset;
 
 class Airavata_getExperimentStatistics_args {
@@ -7297,7 +7351,7 @@
 
   Airavata_getExperimentStatistics_args(const Airavata_getExperimentStatistics_args&);
   Airavata_getExperimentStatistics_args& operator=(const Airavata_getExperimentStatistics_args&);
-  Airavata_getExperimentStatistics_args() : gatewayId(), fromTime(0), toTime(0), userName(), applicationName(), resourceHostName() {
+  Airavata_getExperimentStatistics_args() : gatewayId(), fromTime(0), toTime(0), userName(), applicationName(), resourceHostName(), limit(50), offset(0) {
   }
 
   virtual ~Airavata_getExperimentStatistics_args() throw();
@@ -7308,6 +7362,8 @@
   std::string userName;
   std::string applicationName;
   std::string resourceHostName;
+  int32_t limit;
+  int32_t offset;
 
   _Airavata_getExperimentStatistics_args__isset __isset;
 
@@ -7325,6 +7381,10 @@
 
   void __set_resourceHostName(const std::string& val);
 
+  void __set_limit(const int32_t val);
+
+  void __set_offset(const int32_t val);
+
   bool operator == (const Airavata_getExperimentStatistics_args & rhs) const
   {
     if (!(authzToken == rhs.authzToken))
@@ -7341,6 +7401,10 @@
       return false;
     if (!(resourceHostName == rhs.resourceHostName))
       return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
+      return false;
     return true;
   }
   bool operator != (const Airavata_getExperimentStatistics_args &rhs) const {
@@ -7367,6 +7431,8 @@
   const std::string* userName;
   const std::string* applicationName;
   const std::string* resourceHostName;
+  const int32_t* limit;
+  const int32_t* offset;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
@@ -9560,6 +9626,298 @@
 };
 
 
+class Airavata_fetchIntermediateOutputs_args {
+ public:
+
+  Airavata_fetchIntermediateOutputs_args(const Airavata_fetchIntermediateOutputs_args&);
+  Airavata_fetchIntermediateOutputs_args& operator=(const Airavata_fetchIntermediateOutputs_args&);
+  Airavata_fetchIntermediateOutputs_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_fetchIntermediateOutputs_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string airavataExperimentId;
+  std::vector<std::string>  outputNames;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_airavataExperimentId(const std::string& val);
+
+  void __set_outputNames(const std::vector<std::string> & val);
+
+  bool operator == (const Airavata_fetchIntermediateOutputs_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    if (!(outputNames == rhs.outputNames))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_fetchIntermediateOutputs_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_fetchIntermediateOutputs_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_fetchIntermediateOutputs_pargs {
+ public:
+
+
+  virtual ~Airavata_fetchIntermediateOutputs_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* airavataExperimentId;
+  const std::vector<std::string> * outputNames;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_fetchIntermediateOutputs_result__isset {
+  _Airavata_fetchIntermediateOutputs_result__isset() : ire(false), enf(false), ace(false), ase(false), ae(false) {}
+  bool ire :1;
+  bool enf :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_fetchIntermediateOutputs_result__isset;
+
+class Airavata_fetchIntermediateOutputs_result {
+ public:
+
+  Airavata_fetchIntermediateOutputs_result(const Airavata_fetchIntermediateOutputs_result&);
+  Airavata_fetchIntermediateOutputs_result& operator=(const Airavata_fetchIntermediateOutputs_result&);
+  Airavata_fetchIntermediateOutputs_result() {
+  }
+
+  virtual ~Airavata_fetchIntermediateOutputs_result() throw();
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::ExperimentNotFoundException enf;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_fetchIntermediateOutputs_result__isset __isset;
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_enf(const  ::apache::airavata::api::error::ExperimentNotFoundException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_fetchIntermediateOutputs_result & rhs) const
+  {
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_fetchIntermediateOutputs_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_fetchIntermediateOutputs_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_fetchIntermediateOutputs_presult__isset {
+  _Airavata_fetchIntermediateOutputs_presult__isset() : ire(false), enf(false), ace(false), ase(false), ae(false) {}
+  bool ire :1;
+  bool enf :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_fetchIntermediateOutputs_presult__isset;
+
+class Airavata_fetchIntermediateOutputs_presult {
+ public:
+
+
+  virtual ~Airavata_fetchIntermediateOutputs_presult() throw();
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::ExperimentNotFoundException enf;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_fetchIntermediateOutputs_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_getIntermediateOutputProcessStatus_args {
+ public:
+
+  Airavata_getIntermediateOutputProcessStatus_args(const Airavata_getIntermediateOutputProcessStatus_args&);
+  Airavata_getIntermediateOutputProcessStatus_args& operator=(const Airavata_getIntermediateOutputProcessStatus_args&);
+  Airavata_getIntermediateOutputProcessStatus_args() : airavataExperimentId() {
+  }
+
+  virtual ~Airavata_getIntermediateOutputProcessStatus_args() throw();
+   ::apache::airavata::model::security::AuthzToken authzToken;
+  std::string airavataExperimentId;
+  std::vector<std::string>  outputNames;
+
+  void __set_authzToken(const  ::apache::airavata::model::security::AuthzToken& val);
+
+  void __set_airavataExperimentId(const std::string& val);
+
+  void __set_outputNames(const std::vector<std::string> & val);
+
+  bool operator == (const Airavata_getIntermediateOutputProcessStatus_args & rhs) const
+  {
+    if (!(authzToken == rhs.authzToken))
+      return false;
+    if (!(airavataExperimentId == rhs.airavataExperimentId))
+      return false;
+    if (!(outputNames == rhs.outputNames))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getIntermediateOutputProcessStatus_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getIntermediateOutputProcessStatus_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_getIntermediateOutputProcessStatus_pargs {
+ public:
+
+
+  virtual ~Airavata_getIntermediateOutputProcessStatus_pargs() throw();
+  const  ::apache::airavata::model::security::AuthzToken* authzToken;
+  const std::string* airavataExperimentId;
+  const std::vector<std::string> * outputNames;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getIntermediateOutputProcessStatus_result__isset {
+  _Airavata_getIntermediateOutputProcessStatus_result__isset() : success(false), ire(false), enf(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool enf :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getIntermediateOutputProcessStatus_result__isset;
+
+class Airavata_getIntermediateOutputProcessStatus_result {
+ public:
+
+  Airavata_getIntermediateOutputProcessStatus_result(const Airavata_getIntermediateOutputProcessStatus_result&);
+  Airavata_getIntermediateOutputProcessStatus_result& operator=(const Airavata_getIntermediateOutputProcessStatus_result&);
+  Airavata_getIntermediateOutputProcessStatus_result() {
+  }
+
+  virtual ~Airavata_getIntermediateOutputProcessStatus_result() throw();
+   ::apache::airavata::model::status::ProcessStatus success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::ExperimentNotFoundException enf;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getIntermediateOutputProcessStatus_result__isset __isset;
+
+  void __set_success(const  ::apache::airavata::model::status::ProcessStatus& val);
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val);
+
+  void __set_enf(const  ::apache::airavata::api::error::ExperimentNotFoundException& val);
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val);
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val);
+
+  void __set_ae(const  ::apache::airavata::api::error::AuthorizationException& val);
+
+  bool operator == (const Airavata_getIntermediateOutputProcessStatus_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(enf == rhs.enf))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    if (!(ae == rhs.ae))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_getIntermediateOutputProcessStatus_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_getIntermediateOutputProcessStatus_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_getIntermediateOutputProcessStatus_presult__isset {
+  _Airavata_getIntermediateOutputProcessStatus_presult__isset() : success(false), ire(false), enf(false), ace(false), ase(false), ae(false) {}
+  bool success :1;
+  bool ire :1;
+  bool enf :1;
+  bool ace :1;
+  bool ase :1;
+  bool ae :1;
+} _Airavata_getIntermediateOutputProcessStatus_presult__isset;
+
+class Airavata_getIntermediateOutputProcessStatus_presult {
+ public:
+
+
+  virtual ~Airavata_getIntermediateOutputProcessStatus_presult() throw();
+   ::apache::airavata::model::status::ProcessStatus* success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::ExperimentNotFoundException enf;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+   ::apache::airavata::api::error::AuthorizationException ae;
+
+  _Airavata_getIntermediateOutputProcessStatus_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
 class Airavata_getJobStatuses_args {
  public:
 
@@ -30649,8 +31007,8 @@
   void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
   void send_searchExperiments(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
   void recv_searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return);
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
-  void send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset);
+  void send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset);
   void recv_getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return);
   void getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
   void send_getExperimentsInProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
@@ -30697,6 +31055,12 @@
   void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void send_getIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void recv_getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return);
+  void fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  void send_fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  void recv_fetchIntermediateOutputs();
+  void getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  void send_getIntermediateOutputProcessStatus(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  void recv_getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return);
   void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void send_getJobStatuses(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void recv_getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return);
@@ -31196,6 +31560,8 @@
   void process_getExperimentStatus(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getExperimentOutputs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getIntermediateOutputs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_fetchIntermediateOutputs(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
+  void process_getIntermediateOutputProcessStatus(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getJobStatuses(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_getJobDetails(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
   void process_cloneExperiment(int32_t seqid, ::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, void* callContext);
@@ -31391,6 +31757,8 @@
     processMap_["getExperimentStatus"] = &AiravataProcessor::process_getExperimentStatus;
     processMap_["getExperimentOutputs"] = &AiravataProcessor::process_getExperimentOutputs;
     processMap_["getIntermediateOutputs"] = &AiravataProcessor::process_getIntermediateOutputs;
+    processMap_["fetchIntermediateOutputs"] = &AiravataProcessor::process_fetchIntermediateOutputs;
+    processMap_["getIntermediateOutputProcessStatus"] = &AiravataProcessor::process_getIntermediateOutputProcessStatus;
     processMap_["getJobStatuses"] = &AiravataProcessor::process_getJobStatuses;
     processMap_["getJobDetails"] = &AiravataProcessor::process_getJobDetails;
     processMap_["cloneExperiment"] = &AiravataProcessor::process_cloneExperiment;
@@ -31823,13 +32191,13 @@
     return;
   }
 
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName) {
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset) {
     size_t sz = ifaces_.size();
     size_t i = 0;
     for (; i < (sz - 1); ++i) {
-      ifaces_[i]->getExperimentStatistics(_return, authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName);
+      ifaces_[i]->getExperimentStatistics(_return, authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset);
     }
-    ifaces_[i]->getExperimentStatistics(_return, authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName);
+    ifaces_[i]->getExperimentStatistics(_return, authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset);
     return;
   }
 
@@ -31977,6 +32345,25 @@
     return;
   }
 
+  void fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->fetchIntermediateOutputs(authzToken, airavataExperimentId, outputNames);
+    }
+    ifaces_[i]->fetchIntermediateOutputs(authzToken, airavataExperimentId, outputNames);
+  }
+
+  void getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames) {
+    size_t sz = ifaces_.size();
+    size_t i = 0;
+    for (; i < (sz - 1); ++i) {
+      ifaces_[i]->getIntermediateOutputProcessStatus(_return, authzToken, airavataExperimentId, outputNames);
+    }
+    ifaces_[i]->getIntermediateOutputProcessStatus(_return, authzToken, airavataExperimentId, outputNames);
+    return;
+  }
+
   void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId) {
     size_t sz = ifaces_.size();
     size_t i = 0;
@@ -33502,8 +33889,8 @@
   void searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
   int32_t send_searchExperiments(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const std::string& userName, const std::map< ::apache::airavata::model::experiment::ExperimentSearchFields::type, std::string> & filters, const int32_t limit, const int32_t offset);
   void recv_searchExperiments(std::vector< ::apache::airavata::model::experiment::ExperimentSummaryModel> & _return, const int32_t seqid);
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
-  int32_t send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName);
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset);
+  int32_t send_getExperimentStatistics(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset);
   void recv_getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const int32_t seqid);
   void getExperimentsInProject(std::vector< ::apache::airavata::model::experiment::ExperimentModel> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
   int32_t send_getExperimentsInProject(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& projectId, const int32_t limit, const int32_t offset);
@@ -33550,6 +33937,12 @@
   void getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   int32_t send_getIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void recv_getIntermediateOutputs(std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> & _return, const int32_t seqid);
+  void fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  int32_t send_fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  void recv_fetchIntermediateOutputs(const int32_t seqid);
+  void getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  int32_t send_getIntermediateOutputProcessStatus(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames);
+  void recv_getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const int32_t seqid);
   void getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   int32_t send_getJobStatuses(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId);
   void recv_getJobStatuses(std::map<std::string,  ::apache::airavata::model::status::JobStatus> & _return, const int32_t seqid);
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
index f9f4831..c7002a6 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata_server.skeleton.cpp
@@ -496,6 +496,12 @@
    * @param resourceHostName
    *       Hostname id substring with which to further filter statistics.
    * 
+   * @param limit
+   *       Amount of results to be fetched.
+   * 
+   * @param offset
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param authzToken
@@ -505,8 +511,10 @@
    * @param userName
    * @param applicationName
    * @param resourceHostName
+   * @param limit
+   * @param offset
    */
-  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName) {
+  void getExperimentStatistics( ::apache::airavata::model::experiment::ExperimentStatistics& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& gatewayId, const int64_t fromTime, const int64_t toTime, const std::string& userName, const std::string& applicationName, const std::string& resourceHostName, const int32_t limit, const int32_t offset) {
     // Your implementation goes here
     printf("getExperimentStatistics\n");
   }
@@ -972,6 +980,50 @@
   }
 
   /**
+   * Request fetching of output files for an experiment that is still executing.
+   * This method results in a new Process being created for the Experiment with
+   * tasks for fetching each output file.
+   * 
+   * @param authzToken
+   * 
+   * @param airavataExperimentId
+   *     Experiment ID of the experiment
+   * 
+   * @param outputNames
+   *     List of names of the experiment's outputs to fetch.
+   * 
+   * 
+   * @param authzToken
+   * @param airavataExperimentId
+   * @param outputNames
+   */
+  void fetchIntermediateOutputs(const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames) {
+    // Your implementation goes here
+    printf("fetchIntermediateOutputs\n");
+  }
+
+  /**
+   * Get the status of the most recent intermediate output fetching process for the given output names.
+   * 
+   * @param authzToken
+   * 
+   * @param airavataExperimentId
+   *     Experiment ID of the experiment
+   * 
+   * @param outputNames
+   *     List of names of the experiment's outputs to fetch.
+   * 
+   * 
+   * @param authzToken
+   * @param airavataExperimentId
+   * @param outputNames
+   */
+  void getIntermediateOutputProcessStatus( ::apache::airavata::model::status::ProcessStatus& _return, const  ::apache::airavata::model::security::AuthzToken& authzToken, const std::string& airavataExperimentId, const std::vector<std::string> & outputNames) {
+    // Your implementation goes here
+    printf("getIntermediateOutputProcessStatus\n");
+  }
+
+  /**
    * 
    * Get Job Statuses for an Experiment
    * This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
index 98990fa..0b2fb8b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp
@@ -119,6 +119,11 @@
 __isset.isReadOnly = true;
 }
 
+void InputDataObjectType::__set_overrideFilename(const std::string& val) {
+  this->overrideFilename = val;
+__isset.overrideFilename = true;
+}
+
 uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -247,6 +252,14 @@
           xfer += iprot->skip(ftype);
         }
         break;
+      case 14:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->overrideFilename);
+          this->__isset.overrideFilename = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -330,6 +343,11 @@
     xfer += oprot->writeBool(this->isReadOnly);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.overrideFilename) {
+    xfer += oprot->writeFieldBegin("overrideFilename", ::apache::thrift::protocol::T_STRING, 14);
+    xfer += oprot->writeString(this->overrideFilename);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -350,6 +368,7 @@
   swap(a.dataStaged, b.dataStaged);
   swap(a.storageResourceId, b.storageResourceId);
   swap(a.isReadOnly, b.isReadOnly);
+  swap(a.overrideFilename, b.overrideFilename);
   swap(a.__isset, b.__isset);
 }
 
@@ -367,6 +386,7 @@
   dataStaged = other1.dataStaged;
   storageResourceId = other1.storageResourceId;
   isReadOnly = other1.isReadOnly;
+  overrideFilename = other1.overrideFilename;
   __isset = other1.__isset;
 }
 InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& other2) {
@@ -383,6 +403,7 @@
   dataStaged = other2.dataStaged;
   storageResourceId = other2.storageResourceId;
   isReadOnly = other2.isReadOnly;
+  overrideFilename = other2.overrideFilename;
   __isset = other2.__isset;
   return *this;
 }
@@ -402,6 +423,7 @@
   out << ", " << "dataStaged="; (__isset.dataStaged ? (out << to_string(dataStaged)) : (out << "<null>"));
   out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
   out << ", " << "isReadOnly="; (__isset.isReadOnly ? (out << to_string(isReadOnly)) : (out << "<null>"));
+  out << ", " << "overrideFilename="; (__isset.overrideFilename ? (out << to_string(overrideFilename)) : (out << "<null>"));
   out << ")";
 }
 
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
index fa91377..a7f8f9c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h
@@ -57,7 +57,7 @@
 class OutputDataObjectType;
 
 typedef struct _InputDataObjectType__isset {
-  _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false), storageResourceId(false), isReadOnly(false) {}
+  _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false), storageResourceId(false), isReadOnly(false), overrideFilename(false) {}
   bool value :1;
   bool type :1;
   bool applicationArgument :1;
@@ -70,6 +70,7 @@
   bool dataStaged :1;
   bool storageResourceId :1;
   bool isReadOnly :1;
+  bool overrideFilename :1;
 } _InputDataObjectType__isset;
 
 class InputDataObjectType : public virtual ::apache::thrift::TBase {
@@ -77,7 +78,7 @@
 
   InputDataObjectType(const InputDataObjectType&);
   InputDataObjectType& operator=(const InputDataObjectType&);
-  InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0), storageResourceId(), isReadOnly(0) {
+  InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0), storageResourceId(), isReadOnly(0), overrideFilename() {
   }
 
   virtual ~InputDataObjectType() throw();
@@ -94,6 +95,7 @@
   bool dataStaged;
   std::string storageResourceId;
   bool isReadOnly;
+  std::string overrideFilename;
 
   _InputDataObjectType__isset __isset;
 
@@ -123,6 +125,8 @@
 
   void __set_isReadOnly(const bool val);
 
+  void __set_overrideFilename(const std::string& val);
+
   bool operator == (const InputDataObjectType & rhs) const
   {
     if (!(name == rhs.name))
@@ -175,6 +179,10 @@
       return false;
     else if (__isset.isReadOnly && !(isReadOnly == rhs.isReadOnly))
       return false;
+    if (__isset.overrideFilename != rhs.__isset.overrideFilename)
+      return false;
+    else if (__isset.overrideFilename && !(overrideFilename == rhs.overrideFilename))
+      return false;
     return true;
   }
   bool operator != (const InputDataObjectType &rhs) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
index 6a35b71..960c71b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.cpp
@@ -37,7 +37,8 @@
   ResourceJobManagerType::LSF,
   ResourceJobManagerType::UGE,
   ResourceJobManagerType::CLOUD,
-  ResourceJobManagerType::AIRAVATA_CUSTOM
+  ResourceJobManagerType::AIRAVATA_CUSTOM,
+  ResourceJobManagerType::HTCONDOR
 };
 const char* _kResourceJobManagerTypeNames[] = {
   "FORK",
@@ -46,9 +47,10 @@
   "LSF",
   "UGE",
   "CLOUD",
-  "AIRAVATA_CUSTOM"
+  "AIRAVATA_CUSTOM",
+  "HTCONDOR"
 };
-const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _ResourceJobManagerType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(8, _kResourceJobManagerTypeValues, _kResourceJobManagerTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 int _kJobManagerCommandValues[] = {
   JobManagerCommand::SUBMISSION,
@@ -57,7 +59,10 @@
   JobManagerCommand::CHECK_JOB,
   JobManagerCommand::SHOW_QUEUE,
   JobManagerCommand::SHOW_RESERVATION,
-  JobManagerCommand::SHOW_START
+  JobManagerCommand::SHOW_START,
+  JobManagerCommand::SHOW_CLUSTER_INFO,
+  JobManagerCommand::SHOW_NO_OF_RUNNING_JOBS,
+  JobManagerCommand::SHOW_NO_OF_PENDING_JOBS
 };
 const char* _kJobManagerCommandNames[] = {
   "SUBMISSION",
@@ -66,9 +71,12 @@
   "CHECK_JOB",
   "SHOW_QUEUE",
   "SHOW_RESERVATION",
-  "SHOW_START"
+  "SHOW_START",
+  "SHOW_CLUSTER_INFO",
+  "SHOW_NO_OF_RUNNING_JOBS",
+  "SHOW_NO_OF_PENDING_JOBS"
 };
-const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(7, _kJobManagerCommandValues, _kJobManagerCommandNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _JobManagerCommand_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(10, _kJobManagerCommandValues, _kJobManagerCommandNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 int _kFileSystemsValues[] = {
   FileSystems::HOME,
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
index 2aecce1..b39c35e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/compute_resource_model_types.h
@@ -48,7 +48,8 @@
     LSF = 3,
     UGE = 4,
     CLOUD = 5,
-    AIRAVATA_CUSTOM = 6
+    AIRAVATA_CUSTOM = 6,
+    HTCONDOR = 7
   };
 };
 
@@ -62,7 +63,10 @@
     CHECK_JOB = 3,
     SHOW_QUEUE = 4,
     SHOW_RESERVATION = 5,
-    SHOW_START = 6
+    SHOW_START = 6,
+    SHOW_CLUSTER_INFO = 7,
+    SHOW_NO_OF_RUNNING_JOBS = 8,
+    SHOW_NO_OF_PENDING_JOBS = 9
   };
 };
 
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
index 4dd858a..1c317f5 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.cpp
@@ -132,6 +132,11 @@
 __isset.groupResourceProfileId = true;
 }
 
+void UserConfigurationDataModel::__set_autoScheduledCompResourceSchedulingList(const std::vector< ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel> & val) {
+  this->autoScheduledCompResourceSchedulingList = val;
+__isset.autoScheduledCompResourceSchedulingList = true;
+}
+
 uint32_t UserConfigurationDataModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -243,6 +248,26 @@
           xfer += iprot->skip(ftype);
         }
         break;
+      case 12:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->autoScheduledCompResourceSchedulingList.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _etype3;
+            xfer += iprot->readListBegin(_etype3, _size0);
+            this->autoScheduledCompResourceSchedulingList.resize(_size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              xfer += this->autoScheduledCompResourceSchedulingList[_i4].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.autoScheduledCompResourceSchedulingList = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -317,6 +342,19 @@
     xfer += oprot->writeString(this->groupResourceProfileId);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.autoScheduledCompResourceSchedulingList) {
+    xfer += oprot->writeFieldBegin("autoScheduledCompResourceSchedulingList", ::apache::thrift::protocol::T_LIST, 12);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->autoScheduledCompResourceSchedulingList.size()));
+      std::vector< ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel> ::const_iterator _iter5;
+      for (_iter5 = this->autoScheduledCompResourceSchedulingList.begin(); _iter5 != this->autoScheduledCompResourceSchedulingList.end(); ++_iter5)
+      {
+        xfer += (*_iter5).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -335,36 +373,39 @@
   swap(a.experimentDataDir, b.experimentDataDir);
   swap(a.useUserCRPref, b.useUserCRPref);
   swap(a.groupResourceProfileId, b.groupResourceProfileId);
+  swap(a.autoScheduledCompResourceSchedulingList, b.autoScheduledCompResourceSchedulingList);
   swap(a.__isset, b.__isset);
 }
 
-UserConfigurationDataModel::UserConfigurationDataModel(const UserConfigurationDataModel& other0) {
-  airavataAutoSchedule = other0.airavataAutoSchedule;
-  overrideManualScheduledParams = other0.overrideManualScheduledParams;
-  shareExperimentPublicly = other0.shareExperimentPublicly;
-  computationalResourceScheduling = other0.computationalResourceScheduling;
-  throttleResources = other0.throttleResources;
-  userDN = other0.userDN;
-  generateCert = other0.generateCert;
-  storageId = other0.storageId;
-  experimentDataDir = other0.experimentDataDir;
-  useUserCRPref = other0.useUserCRPref;
-  groupResourceProfileId = other0.groupResourceProfileId;
-  __isset = other0.__isset;
+UserConfigurationDataModel::UserConfigurationDataModel(const UserConfigurationDataModel& other6) {
+  airavataAutoSchedule = other6.airavataAutoSchedule;
+  overrideManualScheduledParams = other6.overrideManualScheduledParams;
+  shareExperimentPublicly = other6.shareExperimentPublicly;
+  computationalResourceScheduling = other6.computationalResourceScheduling;
+  throttleResources = other6.throttleResources;
+  userDN = other6.userDN;
+  generateCert = other6.generateCert;
+  storageId = other6.storageId;
+  experimentDataDir = other6.experimentDataDir;
+  useUserCRPref = other6.useUserCRPref;
+  groupResourceProfileId = other6.groupResourceProfileId;
+  autoScheduledCompResourceSchedulingList = other6.autoScheduledCompResourceSchedulingList;
+  __isset = other6.__isset;
 }
-UserConfigurationDataModel& UserConfigurationDataModel::operator=(const UserConfigurationDataModel& other1) {
-  airavataAutoSchedule = other1.airavataAutoSchedule;
-  overrideManualScheduledParams = other1.overrideManualScheduledParams;
-  shareExperimentPublicly = other1.shareExperimentPublicly;
-  computationalResourceScheduling = other1.computationalResourceScheduling;
-  throttleResources = other1.throttleResources;
-  userDN = other1.userDN;
-  generateCert = other1.generateCert;
-  storageId = other1.storageId;
-  experimentDataDir = other1.experimentDataDir;
-  useUserCRPref = other1.useUserCRPref;
-  groupResourceProfileId = other1.groupResourceProfileId;
-  __isset = other1.__isset;
+UserConfigurationDataModel& UserConfigurationDataModel::operator=(const UserConfigurationDataModel& other7) {
+  airavataAutoSchedule = other7.airavataAutoSchedule;
+  overrideManualScheduledParams = other7.overrideManualScheduledParams;
+  shareExperimentPublicly = other7.shareExperimentPublicly;
+  computationalResourceScheduling = other7.computationalResourceScheduling;
+  throttleResources = other7.throttleResources;
+  userDN = other7.userDN;
+  generateCert = other7.generateCert;
+  storageId = other7.storageId;
+  experimentDataDir = other7.experimentDataDir;
+  useUserCRPref = other7.useUserCRPref;
+  groupResourceProfileId = other7.groupResourceProfileId;
+  autoScheduledCompResourceSchedulingList = other7.autoScheduledCompResourceSchedulingList;
+  __isset = other7.__isset;
   return *this;
 }
 void UserConfigurationDataModel::printTo(std::ostream& out) const {
@@ -381,6 +422,7 @@
   out << ", " << "experimentDataDir="; (__isset.experimentDataDir ? (out << to_string(experimentDataDir)) : (out << "<null>"));
   out << ", " << "useUserCRPref="; (__isset.useUserCRPref ? (out << to_string(useUserCRPref)) : (out << "<null>"));
   out << ", " << "groupResourceProfileId="; (__isset.groupResourceProfileId ? (out << to_string(groupResourceProfileId)) : (out << "<null>"));
+  out << ", " << "autoScheduledCompResourceSchedulingList="; (__isset.autoScheduledCompResourceSchedulingList ? (out << to_string(autoScheduledCompResourceSchedulingList)) : (out << "<null>"));
   out << ")";
 }
 
@@ -536,9 +578,9 @@
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast2;
-          xfer += iprot->readI32(ecast2);
-          this->experimentType = (ExperimentType::type)ecast2;
+          int32_t ecast8;
+          xfer += iprot->readI32(ecast8);
+          this->experimentType = (ExperimentType::type)ecast8;
           isset_experimentType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -612,14 +654,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->emailAddresses.clear();
-            uint32_t _size3;
-            ::apache::thrift::protocol::TType _etype6;
-            xfer += iprot->readListBegin(_etype6, _size3);
-            this->emailAddresses.resize(_size3);
-            uint32_t _i7;
-            for (_i7 = 0; _i7 < _size3; ++_i7)
+            uint32_t _size9;
+            ::apache::thrift::protocol::TType _etype12;
+            xfer += iprot->readListBegin(_etype12, _size9);
+            this->emailAddresses.resize(_size9);
+            uint32_t _i13;
+            for (_i13 = 0; _i13 < _size9; ++_i13)
             {
-              xfer += iprot->readString(this->emailAddresses[_i7]);
+              xfer += iprot->readString(this->emailAddresses[_i13]);
             }
             xfer += iprot->readListEnd();
           }
@@ -640,14 +682,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->experimentInputs.clear();
-            uint32_t _size8;
-            ::apache::thrift::protocol::TType _etype11;
-            xfer += iprot->readListBegin(_etype11, _size8);
-            this->experimentInputs.resize(_size8);
-            uint32_t _i12;
-            for (_i12 = 0; _i12 < _size8; ++_i12)
+            uint32_t _size14;
+            ::apache::thrift::protocol::TType _etype17;
+            xfer += iprot->readListBegin(_etype17, _size14);
+            this->experimentInputs.resize(_size14);
+            uint32_t _i18;
+            for (_i18 = 0; _i18 < _size14; ++_i18)
             {
-              xfer += this->experimentInputs[_i12].read(iprot);
+              xfer += this->experimentInputs[_i18].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -660,14 +702,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->experimentOutputs.clear();
-            uint32_t _size13;
-            ::apache::thrift::protocol::TType _etype16;
-            xfer += iprot->readListBegin(_etype16, _size13);
-            this->experimentOutputs.resize(_size13);
-            uint32_t _i17;
-            for (_i17 = 0; _i17 < _size13; ++_i17)
+            uint32_t _size19;
+            ::apache::thrift::protocol::TType _etype22;
+            xfer += iprot->readListBegin(_etype22, _size19);
+            this->experimentOutputs.resize(_size19);
+            uint32_t _i23;
+            for (_i23 = 0; _i23 < _size19; ++_i23)
             {
-              xfer += this->experimentOutputs[_i17].read(iprot);
+              xfer += this->experimentOutputs[_i23].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -680,14 +722,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->experimentStatus.clear();
-            uint32_t _size18;
-            ::apache::thrift::protocol::TType _etype21;
-            xfer += iprot->readListBegin(_etype21, _size18);
-            this->experimentStatus.resize(_size18);
-            uint32_t _i22;
-            for (_i22 = 0; _i22 < _size18; ++_i22)
+            uint32_t _size24;
+            ::apache::thrift::protocol::TType _etype27;
+            xfer += iprot->readListBegin(_etype27, _size24);
+            this->experimentStatus.resize(_size24);
+            uint32_t _i28;
+            for (_i28 = 0; _i28 < _size24; ++_i28)
             {
-              xfer += this->experimentStatus[_i22].read(iprot);
+              xfer += this->experimentStatus[_i28].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -700,14 +742,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->errors.clear();
-            uint32_t _size23;
-            ::apache::thrift::protocol::TType _etype26;
-            xfer += iprot->readListBegin(_etype26, _size23);
-            this->errors.resize(_size23);
-            uint32_t _i27;
-            for (_i27 = 0; _i27 < _size23; ++_i27)
+            uint32_t _size29;
+            ::apache::thrift::protocol::TType _etype32;
+            xfer += iprot->readListBegin(_etype32, _size29);
+            this->errors.resize(_size29);
+            uint32_t _i33;
+            for (_i33 = 0; _i33 < _size29; ++_i33)
             {
-              xfer += this->errors[_i27].read(iprot);
+              xfer += this->errors[_i33].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -720,14 +762,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->processes.clear();
-            uint32_t _size28;
-            ::apache::thrift::protocol::TType _etype31;
-            xfer += iprot->readListBegin(_etype31, _size28);
-            this->processes.resize(_size28);
-            uint32_t _i32;
-            for (_i32 = 0; _i32 < _size28; ++_i32)
+            uint32_t _size34;
+            ::apache::thrift::protocol::TType _etype37;
+            xfer += iprot->readListBegin(_etype37, _size34);
+            this->processes.resize(_size34);
+            uint32_t _i38;
+            for (_i38 = 0; _i38 < _size34; ++_i38)
             {
-              xfer += this->processes[_i32].read(iprot);
+              xfer += this->processes[_i38].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -831,10 +873,10 @@
     xfer += oprot->writeFieldBegin("emailAddresses", ::apache::thrift::protocol::T_LIST, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->emailAddresses.size()));
-      std::vector<std::string> ::const_iterator _iter33;
-      for (_iter33 = this->emailAddresses.begin(); _iter33 != this->emailAddresses.end(); ++_iter33)
+      std::vector<std::string> ::const_iterator _iter39;
+      for (_iter39 = this->emailAddresses.begin(); _iter39 != this->emailAddresses.end(); ++_iter39)
       {
-        xfer += oprot->writeString((*_iter33));
+        xfer += oprot->writeString((*_iter39));
       }
       xfer += oprot->writeListEnd();
     }
@@ -849,10 +891,10 @@
     xfer += oprot->writeFieldBegin("experimentInputs", ::apache::thrift::protocol::T_LIST, 15);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentInputs.size()));
-      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter34;
-      for (_iter34 = this->experimentInputs.begin(); _iter34 != this->experimentInputs.end(); ++_iter34)
+      std::vector< ::apache::airavata::model::application::io::InputDataObjectType> ::const_iterator _iter40;
+      for (_iter40 = this->experimentInputs.begin(); _iter40 != this->experimentInputs.end(); ++_iter40)
       {
-        xfer += (*_iter34).write(oprot);
+        xfer += (*_iter40).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -862,10 +904,10 @@
     xfer += oprot->writeFieldBegin("experimentOutputs", ::apache::thrift::protocol::T_LIST, 16);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentOutputs.size()));
-      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter35;
-      for (_iter35 = this->experimentOutputs.begin(); _iter35 != this->experimentOutputs.end(); ++_iter35)
+      std::vector< ::apache::airavata::model::application::io::OutputDataObjectType> ::const_iterator _iter41;
+      for (_iter41 = this->experimentOutputs.begin(); _iter41 != this->experimentOutputs.end(); ++_iter41)
       {
-        xfer += (*_iter35).write(oprot);
+        xfer += (*_iter41).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -875,10 +917,10 @@
     xfer += oprot->writeFieldBegin("experimentStatus", ::apache::thrift::protocol::T_LIST, 17);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->experimentStatus.size()));
-      std::vector< ::apache::airavata::model::status::ExperimentStatus> ::const_iterator _iter36;
-      for (_iter36 = this->experimentStatus.begin(); _iter36 != this->experimentStatus.end(); ++_iter36)
+      std::vector< ::apache::airavata::model::status::ExperimentStatus> ::const_iterator _iter42;
+      for (_iter42 = this->experimentStatus.begin(); _iter42 != this->experimentStatus.end(); ++_iter42)
       {
-        xfer += (*_iter36).write(oprot);
+        xfer += (*_iter42).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -888,10 +930,10 @@
     xfer += oprot->writeFieldBegin("errors", ::apache::thrift::protocol::T_LIST, 18);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->errors.size()));
-      std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter37;
-      for (_iter37 = this->errors.begin(); _iter37 != this->errors.end(); ++_iter37)
+      std::vector< ::apache::airavata::model::commons::ErrorModel> ::const_iterator _iter43;
+      for (_iter43 = this->errors.begin(); _iter43 != this->errors.end(); ++_iter43)
       {
-        xfer += (*_iter37).write(oprot);
+        xfer += (*_iter43).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -901,10 +943,10 @@
     xfer += oprot->writeFieldBegin("processes", ::apache::thrift::protocol::T_LIST, 19);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->processes.size()));
-      std::vector< ::apache::airavata::model::process::ProcessModel> ::const_iterator _iter38;
-      for (_iter38 = this->processes.begin(); _iter38 != this->processes.end(); ++_iter38)
+      std::vector< ::apache::airavata::model::process::ProcessModel> ::const_iterator _iter44;
+      for (_iter44 = this->processes.begin(); _iter44 != this->processes.end(); ++_iter44)
       {
-        xfer += (*_iter38).write(oprot);
+        xfer += (*_iter44).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -945,51 +987,51 @@
   swap(a.__isset, b.__isset);
 }
 
-ExperimentModel::ExperimentModel(const ExperimentModel& other39) {
-  experimentId = other39.experimentId;
-  projectId = other39.projectId;
-  gatewayId = other39.gatewayId;
-  experimentType = other39.experimentType;
-  userName = other39.userName;
-  experimentName = other39.experimentName;
-  creationTime = other39.creationTime;
-  description = other39.description;
-  executionId = other39.executionId;
-  gatewayExecutionId = other39.gatewayExecutionId;
-  gatewayInstanceId = other39.gatewayInstanceId;
-  enableEmailNotification = other39.enableEmailNotification;
-  emailAddresses = other39.emailAddresses;
-  userConfigurationData = other39.userConfigurationData;
-  experimentInputs = other39.experimentInputs;
-  experimentOutputs = other39.experimentOutputs;
-  experimentStatus = other39.experimentStatus;
-  errors = other39.errors;
-  processes = other39.processes;
-  workflow = other39.workflow;
-  __isset = other39.__isset;
+ExperimentModel::ExperimentModel(const ExperimentModel& other45) {
+  experimentId = other45.experimentId;
+  projectId = other45.projectId;
+  gatewayId = other45.gatewayId;
+  experimentType = other45.experimentType;
+  userName = other45.userName;
+  experimentName = other45.experimentName;
+  creationTime = other45.creationTime;
+  description = other45.description;
+  executionId = other45.executionId;
+  gatewayExecutionId = other45.gatewayExecutionId;
+  gatewayInstanceId = other45.gatewayInstanceId;
+  enableEmailNotification = other45.enableEmailNotification;
+  emailAddresses = other45.emailAddresses;
+  userConfigurationData = other45.userConfigurationData;
+  experimentInputs = other45.experimentInputs;
+  experimentOutputs = other45.experimentOutputs;
+  experimentStatus = other45.experimentStatus;
+  errors = other45.errors;
+  processes = other45.processes;
+  workflow = other45.workflow;
+  __isset = other45.__isset;
 }
-ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other40) {
-  experimentId = other40.experimentId;
-  projectId = other40.projectId;
-  gatewayId = other40.gatewayId;
-  experimentType = other40.experimentType;
-  userName = other40.userName;
-  experimentName = other40.experimentName;
-  creationTime = other40.creationTime;
-  description = other40.description;
-  executionId = other40.executionId;
-  gatewayExecutionId = other40.gatewayExecutionId;
-  gatewayInstanceId = other40.gatewayInstanceId;
-  enableEmailNotification = other40.enableEmailNotification;
-  emailAddresses = other40.emailAddresses;
-  userConfigurationData = other40.userConfigurationData;
-  experimentInputs = other40.experimentInputs;
-  experimentOutputs = other40.experimentOutputs;
-  experimentStatus = other40.experimentStatus;
-  errors = other40.errors;
-  processes = other40.processes;
-  workflow = other40.workflow;
-  __isset = other40.__isset;
+ExperimentModel& ExperimentModel::operator=(const ExperimentModel& other46) {
+  experimentId = other46.experimentId;
+  projectId = other46.projectId;
+  gatewayId = other46.gatewayId;
+  experimentType = other46.experimentType;
+  userName = other46.userName;
+  experimentName = other46.experimentName;
+  creationTime = other46.creationTime;
+  description = other46.description;
+  executionId = other46.executionId;
+  gatewayExecutionId = other46.gatewayExecutionId;
+  gatewayInstanceId = other46.gatewayInstanceId;
+  enableEmailNotification = other46.enableEmailNotification;
+  emailAddresses = other46.emailAddresses;
+  userConfigurationData = other46.userConfigurationData;
+  experimentInputs = other46.experimentInputs;
+  experimentOutputs = other46.experimentOutputs;
+  experimentStatus = other46.experimentStatus;
+  errors = other46.errors;
+  processes = other46.processes;
+  workflow = other46.workflow;
+  __isset = other46.__isset;
   return *this;
 }
 void ExperimentModel::printTo(std::ostream& out) const {
@@ -1285,33 +1327,33 @@
   swap(a.__isset, b.__isset);
 }
 
-ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other41) {
-  experimentId = other41.experimentId;
-  projectId = other41.projectId;
-  gatewayId = other41.gatewayId;
-  creationTime = other41.creationTime;
-  userName = other41.userName;
-  name = other41.name;
-  description = other41.description;
-  executionId = other41.executionId;
-  resourceHostId = other41.resourceHostId;
-  experimentStatus = other41.experimentStatus;
-  statusUpdateTime = other41.statusUpdateTime;
-  __isset = other41.__isset;
+ExperimentSummaryModel::ExperimentSummaryModel(const ExperimentSummaryModel& other47) {
+  experimentId = other47.experimentId;
+  projectId = other47.projectId;
+  gatewayId = other47.gatewayId;
+  creationTime = other47.creationTime;
+  userName = other47.userName;
+  name = other47.name;
+  description = other47.description;
+  executionId = other47.executionId;
+  resourceHostId = other47.resourceHostId;
+  experimentStatus = other47.experimentStatus;
+  statusUpdateTime = other47.statusUpdateTime;
+  __isset = other47.__isset;
 }
-ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other42) {
-  experimentId = other42.experimentId;
-  projectId = other42.projectId;
-  gatewayId = other42.gatewayId;
-  creationTime = other42.creationTime;
-  userName = other42.userName;
-  name = other42.name;
-  description = other42.description;
-  executionId = other42.executionId;
-  resourceHostId = other42.resourceHostId;
-  experimentStatus = other42.experimentStatus;
-  statusUpdateTime = other42.statusUpdateTime;
-  __isset = other42.__isset;
+ExperimentSummaryModel& ExperimentSummaryModel::operator=(const ExperimentSummaryModel& other48) {
+  experimentId = other48.experimentId;
+  projectId = other48.projectId;
+  gatewayId = other48.gatewayId;
+  creationTime = other48.creationTime;
+  userName = other48.userName;
+  name = other48.name;
+  description = other48.description;
+  executionId = other48.executionId;
+  resourceHostId = other48.resourceHostId;
+  experimentStatus = other48.experimentStatus;
+  statusUpdateTime = other48.statusUpdateTime;
+  __isset = other48.__isset;
   return *this;
 }
 void ExperimentSummaryModel::printTo(std::ostream& out) const {
@@ -1469,14 +1511,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->allExperiments.clear();
-            uint32_t _size43;
-            ::apache::thrift::protocol::TType _etype46;
-            xfer += iprot->readListBegin(_etype46, _size43);
-            this->allExperiments.resize(_size43);
-            uint32_t _i47;
-            for (_i47 = 0; _i47 < _size43; ++_i47)
+            uint32_t _size49;
+            ::apache::thrift::protocol::TType _etype52;
+            xfer += iprot->readListBegin(_etype52, _size49);
+            this->allExperiments.resize(_size49);
+            uint32_t _i53;
+            for (_i53 = 0; _i53 < _size49; ++_i53)
             {
-              xfer += this->allExperiments[_i47].read(iprot);
+              xfer += this->allExperiments[_i53].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1489,14 +1531,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->completedExperiments.clear();
-            uint32_t _size48;
-            ::apache::thrift::protocol::TType _etype51;
-            xfer += iprot->readListBegin(_etype51, _size48);
-            this->completedExperiments.resize(_size48);
-            uint32_t _i52;
-            for (_i52 = 0; _i52 < _size48; ++_i52)
+            uint32_t _size54;
+            ::apache::thrift::protocol::TType _etype57;
+            xfer += iprot->readListBegin(_etype57, _size54);
+            this->completedExperiments.resize(_size54);
+            uint32_t _i58;
+            for (_i58 = 0; _i58 < _size54; ++_i58)
             {
-              xfer += this->completedExperiments[_i52].read(iprot);
+              xfer += this->completedExperiments[_i58].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1509,14 +1551,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->failedExperiments.clear();
-            uint32_t _size53;
-            ::apache::thrift::protocol::TType _etype56;
-            xfer += iprot->readListBegin(_etype56, _size53);
-            this->failedExperiments.resize(_size53);
-            uint32_t _i57;
-            for (_i57 = 0; _i57 < _size53; ++_i57)
+            uint32_t _size59;
+            ::apache::thrift::protocol::TType _etype62;
+            xfer += iprot->readListBegin(_etype62, _size59);
+            this->failedExperiments.resize(_size59);
+            uint32_t _i63;
+            for (_i63 = 0; _i63 < _size59; ++_i63)
             {
-              xfer += this->failedExperiments[_i57].read(iprot);
+              xfer += this->failedExperiments[_i63].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1529,14 +1571,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->cancelledExperiments.clear();
-            uint32_t _size58;
-            ::apache::thrift::protocol::TType _etype61;
-            xfer += iprot->readListBegin(_etype61, _size58);
-            this->cancelledExperiments.resize(_size58);
-            uint32_t _i62;
-            for (_i62 = 0; _i62 < _size58; ++_i62)
+            uint32_t _size64;
+            ::apache::thrift::protocol::TType _etype67;
+            xfer += iprot->readListBegin(_etype67, _size64);
+            this->cancelledExperiments.resize(_size64);
+            uint32_t _i68;
+            for (_i68 = 0; _i68 < _size64; ++_i68)
             {
-              xfer += this->cancelledExperiments[_i62].read(iprot);
+              xfer += this->cancelledExperiments[_i68].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1549,14 +1591,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->createdExperiments.clear();
-            uint32_t _size63;
-            ::apache::thrift::protocol::TType _etype66;
-            xfer += iprot->readListBegin(_etype66, _size63);
-            this->createdExperiments.resize(_size63);
-            uint32_t _i67;
-            for (_i67 = 0; _i67 < _size63; ++_i67)
+            uint32_t _size69;
+            ::apache::thrift::protocol::TType _etype72;
+            xfer += iprot->readListBegin(_etype72, _size69);
+            this->createdExperiments.resize(_size69);
+            uint32_t _i73;
+            for (_i73 = 0; _i73 < _size69; ++_i73)
             {
-              xfer += this->createdExperiments[_i67].read(iprot);
+              xfer += this->createdExperiments[_i73].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1569,14 +1611,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->runningExperiments.clear();
-            uint32_t _size68;
-            ::apache::thrift::protocol::TType _etype71;
-            xfer += iprot->readListBegin(_etype71, _size68);
-            this->runningExperiments.resize(_size68);
-            uint32_t _i72;
-            for (_i72 = 0; _i72 < _size68; ++_i72)
+            uint32_t _size74;
+            ::apache::thrift::protocol::TType _etype77;
+            xfer += iprot->readListBegin(_etype77, _size74);
+            this->runningExperiments.resize(_size74);
+            uint32_t _i78;
+            for (_i78 = 0; _i78 < _size74; ++_i78)
             {
-              xfer += this->runningExperiments[_i72].read(iprot);
+              xfer += this->runningExperiments[_i78].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1642,10 +1684,10 @@
   xfer += oprot->writeFieldBegin("allExperiments", ::apache::thrift::protocol::T_LIST, 7);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->allExperiments.size()));
-    std::vector<ExperimentSummaryModel> ::const_iterator _iter73;
-    for (_iter73 = this->allExperiments.begin(); _iter73 != this->allExperiments.end(); ++_iter73)
+    std::vector<ExperimentSummaryModel> ::const_iterator _iter79;
+    for (_iter79 = this->allExperiments.begin(); _iter79 != this->allExperiments.end(); ++_iter79)
     {
-      xfer += (*_iter73).write(oprot);
+      xfer += (*_iter79).write(oprot);
     }
     xfer += oprot->writeListEnd();
   }
@@ -1655,10 +1697,10 @@
     xfer += oprot->writeFieldBegin("completedExperiments", ::apache::thrift::protocol::T_LIST, 8);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->completedExperiments.size()));
-      std::vector<ExperimentSummaryModel> ::const_iterator _iter74;
-      for (_iter74 = this->completedExperiments.begin(); _iter74 != this->completedExperiments.end(); ++_iter74)
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter80;
+      for (_iter80 = this->completedExperiments.begin(); _iter80 != this->completedExperiments.end(); ++_iter80)
       {
-        xfer += (*_iter74).write(oprot);
+        xfer += (*_iter80).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1668,10 +1710,10 @@
     xfer += oprot->writeFieldBegin("failedExperiments", ::apache::thrift::protocol::T_LIST, 9);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->failedExperiments.size()));
-      std::vector<ExperimentSummaryModel> ::const_iterator _iter75;
-      for (_iter75 = this->failedExperiments.begin(); _iter75 != this->failedExperiments.end(); ++_iter75)
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter81;
+      for (_iter81 = this->failedExperiments.begin(); _iter81 != this->failedExperiments.end(); ++_iter81)
       {
-        xfer += (*_iter75).write(oprot);
+        xfer += (*_iter81).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1681,10 +1723,10 @@
     xfer += oprot->writeFieldBegin("cancelledExperiments", ::apache::thrift::protocol::T_LIST, 10);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->cancelledExperiments.size()));
-      std::vector<ExperimentSummaryModel> ::const_iterator _iter76;
-      for (_iter76 = this->cancelledExperiments.begin(); _iter76 != this->cancelledExperiments.end(); ++_iter76)
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter82;
+      for (_iter82 = this->cancelledExperiments.begin(); _iter82 != this->cancelledExperiments.end(); ++_iter82)
       {
-        xfer += (*_iter76).write(oprot);
+        xfer += (*_iter82).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1694,10 +1736,10 @@
     xfer += oprot->writeFieldBegin("createdExperiments", ::apache::thrift::protocol::T_LIST, 11);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->createdExperiments.size()));
-      std::vector<ExperimentSummaryModel> ::const_iterator _iter77;
-      for (_iter77 = this->createdExperiments.begin(); _iter77 != this->createdExperiments.end(); ++_iter77)
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter83;
+      for (_iter83 = this->createdExperiments.begin(); _iter83 != this->createdExperiments.end(); ++_iter83)
       {
-        xfer += (*_iter77).write(oprot);
+        xfer += (*_iter83).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1707,10 +1749,10 @@
     xfer += oprot->writeFieldBegin("runningExperiments", ::apache::thrift::protocol::T_LIST, 12);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->runningExperiments.size()));
-      std::vector<ExperimentSummaryModel> ::const_iterator _iter78;
-      for (_iter78 = this->runningExperiments.begin(); _iter78 != this->runningExperiments.end(); ++_iter78)
+      std::vector<ExperimentSummaryModel> ::const_iterator _iter84;
+      for (_iter84 = this->runningExperiments.begin(); _iter84 != this->runningExperiments.end(); ++_iter84)
       {
-        xfer += (*_iter78).write(oprot);
+        xfer += (*_iter84).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1738,35 +1780,35 @@
   swap(a.__isset, b.__isset);
 }
 
-ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other79) {
-  allExperimentCount = other79.allExperimentCount;
-  completedExperimentCount = other79.completedExperimentCount;
-  cancelledExperimentCount = other79.cancelledExperimentCount;
-  failedExperimentCount = other79.failedExperimentCount;
-  createdExperimentCount = other79.createdExperimentCount;
-  runningExperimentCount = other79.runningExperimentCount;
-  allExperiments = other79.allExperiments;
-  completedExperiments = other79.completedExperiments;
-  failedExperiments = other79.failedExperiments;
-  cancelledExperiments = other79.cancelledExperiments;
-  createdExperiments = other79.createdExperiments;
-  runningExperiments = other79.runningExperiments;
-  __isset = other79.__isset;
+ExperimentStatistics::ExperimentStatistics(const ExperimentStatistics& other85) {
+  allExperimentCount = other85.allExperimentCount;
+  completedExperimentCount = other85.completedExperimentCount;
+  cancelledExperimentCount = other85.cancelledExperimentCount;
+  failedExperimentCount = other85.failedExperimentCount;
+  createdExperimentCount = other85.createdExperimentCount;
+  runningExperimentCount = other85.runningExperimentCount;
+  allExperiments = other85.allExperiments;
+  completedExperiments = other85.completedExperiments;
+  failedExperiments = other85.failedExperiments;
+  cancelledExperiments = other85.cancelledExperiments;
+  createdExperiments = other85.createdExperiments;
+  runningExperiments = other85.runningExperiments;
+  __isset = other85.__isset;
 }
-ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other80) {
-  allExperimentCount = other80.allExperimentCount;
-  completedExperimentCount = other80.completedExperimentCount;
-  cancelledExperimentCount = other80.cancelledExperimentCount;
-  failedExperimentCount = other80.failedExperimentCount;
-  createdExperimentCount = other80.createdExperimentCount;
-  runningExperimentCount = other80.runningExperimentCount;
-  allExperiments = other80.allExperiments;
-  completedExperiments = other80.completedExperiments;
-  failedExperiments = other80.failedExperiments;
-  cancelledExperiments = other80.cancelledExperiments;
-  createdExperiments = other80.createdExperiments;
-  runningExperiments = other80.runningExperiments;
-  __isset = other80.__isset;
+ExperimentStatistics& ExperimentStatistics::operator=(const ExperimentStatistics& other86) {
+  allExperimentCount = other86.allExperimentCount;
+  completedExperimentCount = other86.completedExperimentCount;
+  cancelledExperimentCount = other86.cancelledExperimentCount;
+  failedExperimentCount = other86.failedExperimentCount;
+  createdExperimentCount = other86.createdExperimentCount;
+  runningExperimentCount = other86.runningExperimentCount;
+  allExperiments = other86.allExperiments;
+  completedExperiments = other86.completedExperiments;
+  failedExperiments = other86.failedExperiments;
+  cancelledExperiments = other86.cancelledExperiments;
+  createdExperiments = other86.createdExperiments;
+  runningExperiments = other86.runningExperiments;
+  __isset = other86.__isset;
   return *this;
 }
 void ExperimentStatistics::printTo(std::ostream& out) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
index 6d8609a..5b0a67c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/experiment_model_types.h
@@ -86,7 +86,7 @@
 class ExperimentStatistics;
 
 typedef struct _UserConfigurationDataModel__isset {
-  _UserConfigurationDataModel__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), throttleResources(true), userDN(false), generateCert(true), storageId(false), experimentDataDir(false), useUserCRPref(false), groupResourceProfileId(false) {}
+  _UserConfigurationDataModel__isset() : shareExperimentPublicly(true), computationalResourceScheduling(false), throttleResources(true), userDN(false), generateCert(true), storageId(false), experimentDataDir(false), useUserCRPref(false), groupResourceProfileId(false), autoScheduledCompResourceSchedulingList(false) {}
   bool shareExperimentPublicly :1;
   bool computationalResourceScheduling :1;
   bool throttleResources :1;
@@ -96,6 +96,7 @@
   bool experimentDataDir :1;
   bool useUserCRPref :1;
   bool groupResourceProfileId :1;
+  bool autoScheduledCompResourceSchedulingList :1;
 } _UserConfigurationDataModel__isset;
 
 class UserConfigurationDataModel : public virtual ::apache::thrift::TBase {
@@ -118,6 +119,7 @@
   std::string experimentDataDir;
   bool useUserCRPref;
   std::string groupResourceProfileId;
+  std::vector< ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel>  autoScheduledCompResourceSchedulingList;
 
   _UserConfigurationDataModel__isset __isset;
 
@@ -143,6 +145,8 @@
 
   void __set_groupResourceProfileId(const std::string& val);
 
+  void __set_autoScheduledCompResourceSchedulingList(const std::vector< ::apache::airavata::model::scheduling::ComputationalResourceSchedulingModel> & val);
+
   bool operator == (const UserConfigurationDataModel & rhs) const
   {
     if (!(airavataAutoSchedule == rhs.airavataAutoSchedule))
@@ -185,6 +189,10 @@
       return false;
     else if (__isset.groupResourceProfileId && !(groupResourceProfileId == rhs.groupResourceProfileId))
       return false;
+    if (__isset.autoScheduledCompResourceSchedulingList != rhs.__isset.autoScheduledCompResourceSchedulingList)
+      return false;
+    else if (__isset.autoScheduledCompResourceSchedulingList && !(autoScheduledCompResourceSchedulingList == rhs.autoScheduledCompResourceSchedulingList))
+      return false;
     return true;
   }
   bool operator != (const UserConfigurationDataModel &rhs) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.cpp
index 3f6fdf3..9c551ac 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.cpp
@@ -53,14 +53,16 @@
 int _kResourcePermissionTypeValues[] = {
   ResourcePermissionType::WRITE,
   ResourcePermissionType::READ,
-  ResourcePermissionType::OWNER
+  ResourcePermissionType::OWNER,
+  ResourcePermissionType::MANAGE_SHARING
 };
 const char* _kResourcePermissionTypeNames[] = {
   "WRITE",
   "READ",
-  "OWNER"
+  "OWNER",
+  "MANAGE_SHARING"
 };
-const std::map<int, const char*> _ResourcePermissionType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kResourcePermissionTypeValues, _kResourcePermissionTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _ResourcePermissionType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kResourcePermissionTypeValues, _kResourcePermissionTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 
 GroupModel::~GroupModel() throw() {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.h
index 45e468d..f74b698 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_manager_model_types.h
@@ -56,7 +56,8 @@
   enum type {
     WRITE = 0,
     READ = 1,
-    OWNER = 2
+    OWNER = 2,
+    MANAGE_SHARING = 3
   };
 };
 
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.cpp
index fd54eed..3004af8 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.cpp
@@ -188,6 +188,204 @@
 }
 
 
+ComputeResourceReservation::~ComputeResourceReservation() throw() {
+}
+
+
+void ComputeResourceReservation::__set_reservationId(const std::string& val) {
+  this->reservationId = val;
+}
+
+void ComputeResourceReservation::__set_reservationName(const std::string& val) {
+  this->reservationName = val;
+}
+
+void ComputeResourceReservation::__set_queueNames(const std::vector<std::string> & val) {
+  this->queueNames = val;
+}
+
+void ComputeResourceReservation::__set_startTime(const int64_t val) {
+  this->startTime = val;
+}
+
+void ComputeResourceReservation::__set_endTime(const int64_t val) {
+  this->endTime = val;
+}
+
+uint32_t ComputeResourceReservation::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_reservationId = false;
+  bool isset_reservationName = false;
+  bool isset_queueNames = false;
+  bool isset_startTime = false;
+  bool isset_endTime = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reservationId);
+          isset_reservationId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->reservationName);
+          isset_reservationName = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->queueNames.clear();
+            uint32_t _size2;
+            ::apache::thrift::protocol::TType _etype5;
+            xfer += iprot->readListBegin(_etype5, _size2);
+            this->queueNames.resize(_size2);
+            uint32_t _i6;
+            for (_i6 = 0; _i6 < _size2; ++_i6)
+            {
+              xfer += iprot->readString(this->queueNames[_i6]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_queueNames = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 4:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->startTime);
+          isset_startTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_I64) {
+          xfer += iprot->readI64(this->endTime);
+          isset_endTime = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_reservationId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_reservationName)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_queueNames)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_startTime)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_endTime)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ComputeResourceReservation::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("ComputeResourceReservation");
+
+  xfer += oprot->writeFieldBegin("reservationId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->reservationId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("reservationName", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->reservationName);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("queueNames", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->queueNames.size()));
+    std::vector<std::string> ::const_iterator _iter7;
+    for (_iter7 = this->queueNames.begin(); _iter7 != this->queueNames.end(); ++_iter7)
+    {
+      xfer += oprot->writeString((*_iter7));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("startTime", ::apache::thrift::protocol::T_I64, 4);
+  xfer += oprot->writeI64(this->startTime);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("endTime", ::apache::thrift::protocol::T_I64, 5);
+  xfer += oprot->writeI64(this->endTime);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ComputeResourceReservation &a, ComputeResourceReservation &b) {
+  using ::std::swap;
+  swap(a.reservationId, b.reservationId);
+  swap(a.reservationName, b.reservationName);
+  swap(a.queueNames, b.queueNames);
+  swap(a.startTime, b.startTime);
+  swap(a.endTime, b.endTime);
+}
+
+ComputeResourceReservation::ComputeResourceReservation(const ComputeResourceReservation& other8) {
+  reservationId = other8.reservationId;
+  reservationName = other8.reservationName;
+  queueNames = other8.queueNames;
+  startTime = other8.startTime;
+  endTime = other8.endTime;
+}
+ComputeResourceReservation& ComputeResourceReservation::operator=(const ComputeResourceReservation& other9) {
+  reservationId = other9.reservationId;
+  reservationName = other9.reservationName;
+  queueNames = other9.queueNames;
+  startTime = other9.startTime;
+  endTime = other9.endTime;
+  return *this;
+}
+void ComputeResourceReservation::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "ComputeResourceReservation(";
+  out << "reservationId=" << to_string(reservationId);
+  out << ", " << "reservationName=" << to_string(reservationName);
+  out << ", " << "queueNames=" << to_string(queueNames);
+  out << ", " << "startTime=" << to_string(startTime);
+  out << ", " << "endTime=" << to_string(endTime);
+  out << ")";
+}
+
+
 GroupComputeResourcePreference::~GroupComputeResourcePreference() throw() {
 }
 
@@ -249,21 +447,6 @@
 __isset.qualityOfService = true;
 }
 
-void GroupComputeResourcePreference::__set_reservation(const std::string& val) {
-  this->reservation = val;
-__isset.reservation = true;
-}
-
-void GroupComputeResourcePreference::__set_reservationStartTime(const int64_t val) {
-  this->reservationStartTime = val;
-__isset.reservationStartTime = true;
-}
-
-void GroupComputeResourcePreference::__set_reservationEndTime(const int64_t val) {
-  this->reservationEndTime = val;
-__isset.reservationEndTime = true;
-}
-
 void GroupComputeResourcePreference::__set_sshAccountProvisioner(const std::string& val) {
   this->sshAccountProvisioner = val;
 __isset.sshAccountProvisioner = true;
@@ -279,6 +462,11 @@
 __isset.sshAccountProvisionerAdditionalInfo = true;
 }
 
+void GroupComputeResourcePreference::__set_reservations(const std::vector<ComputeResourceReservation> & val) {
+  this->reservations = val;
+__isset.reservations = true;
+}
+
 uint32_t GroupComputeResourcePreference::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -337,9 +525,9 @@
         break;
       case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast2;
-          xfer += iprot->readI32(ecast2);
-          this->preferredJobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast2;
+          int32_t ecast10;
+          xfer += iprot->readI32(ecast10);
+          this->preferredJobSubmissionProtocol = ( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)ecast10;
           this->__isset.preferredJobSubmissionProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -347,9 +535,9 @@
         break;
       case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast3;
-          xfer += iprot->readI32(ecast3);
-          this->preferredDataMovementProtocol = ( ::apache::airavata::model::data::movement::DataMovementProtocol::type)ecast3;
+          int32_t ecast11;
+          xfer += iprot->readI32(ecast11);
+          this->preferredDataMovementProtocol = ( ::apache::airavata::model::data::movement::DataMovementProtocol::type)ecast11;
           this->__isset.preferredDataMovementProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -403,30 +591,6 @@
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->reservation);
-          this->__isset.reservation = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 14:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->reservationStartTime);
-          this->__isset.reservationStartTime = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 15:
-        if (ftype == ::apache::thrift::protocol::T_I64) {
-          xfer += iprot->readI64(this->reservationEndTime);
-          this->__isset.reservationEndTime = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       case 16:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->sshAccountProvisioner);
@@ -439,14 +603,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->groupSSHAccountProvisionerConfigs.clear();
-            uint32_t _size4;
-            ::apache::thrift::protocol::TType _etype7;
-            xfer += iprot->readListBegin(_etype7, _size4);
-            this->groupSSHAccountProvisionerConfigs.resize(_size4);
-            uint32_t _i8;
-            for (_i8 = 0; _i8 < _size4; ++_i8)
+            uint32_t _size12;
+            ::apache::thrift::protocol::TType _etype15;
+            xfer += iprot->readListBegin(_etype15, _size12);
+            this->groupSSHAccountProvisionerConfigs.resize(_size12);
+            uint32_t _i16;
+            for (_i16 = 0; _i16 < _size12; ++_i16)
             {
-              xfer += this->groupSSHAccountProvisionerConfigs[_i8].read(iprot);
+              xfer += this->groupSSHAccountProvisionerConfigs[_i16].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -463,6 +627,26 @@
           xfer += iprot->skip(ftype);
         }
         break;
+      case 19:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->reservations.clear();
+            uint32_t _size17;
+            ::apache::thrift::protocol::TType _etype20;
+            xfer += iprot->readListBegin(_etype20, _size17);
+            this->reservations.resize(_size17);
+            uint32_t _i21;
+            for (_i21 = 0; _i21 < _size17; ++_i21)
+            {
+              xfer += this->reservations[_i21].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.reservations = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -543,21 +727,6 @@
     xfer += oprot->writeString(this->qualityOfService);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.reservation) {
-    xfer += oprot->writeFieldBegin("reservation", ::apache::thrift::protocol::T_STRING, 13);
-    xfer += oprot->writeString(this->reservation);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.reservationStartTime) {
-    xfer += oprot->writeFieldBegin("reservationStartTime", ::apache::thrift::protocol::T_I64, 14);
-    xfer += oprot->writeI64(this->reservationStartTime);
-    xfer += oprot->writeFieldEnd();
-  }
-  if (this->__isset.reservationEndTime) {
-    xfer += oprot->writeFieldBegin("reservationEndTime", ::apache::thrift::protocol::T_I64, 15);
-    xfer += oprot->writeI64(this->reservationEndTime);
-    xfer += oprot->writeFieldEnd();
-  }
   if (this->__isset.sshAccountProvisioner) {
     xfer += oprot->writeFieldBegin("sshAccountProvisioner", ::apache::thrift::protocol::T_STRING, 16);
     xfer += oprot->writeString(this->sshAccountProvisioner);
@@ -567,10 +736,10 @@
     xfer += oprot->writeFieldBegin("groupSSHAccountProvisionerConfigs", ::apache::thrift::protocol::T_LIST, 17);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->groupSSHAccountProvisionerConfigs.size()));
-      std::vector<GroupAccountSSHProvisionerConfig> ::const_iterator _iter9;
-      for (_iter9 = this->groupSSHAccountProvisionerConfigs.begin(); _iter9 != this->groupSSHAccountProvisionerConfigs.end(); ++_iter9)
+      std::vector<GroupAccountSSHProvisionerConfig> ::const_iterator _iter22;
+      for (_iter22 = this->groupSSHAccountProvisionerConfigs.begin(); _iter22 != this->groupSSHAccountProvisionerConfigs.end(); ++_iter22)
       {
-        xfer += (*_iter9).write(oprot);
+        xfer += (*_iter22).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -581,6 +750,19 @@
     xfer += oprot->writeString(this->sshAccountProvisionerAdditionalInfo);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.reservations) {
+    xfer += oprot->writeFieldBegin("reservations", ::apache::thrift::protocol::T_LIST, 19);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->reservations.size()));
+      std::vector<ComputeResourceReservation> ::const_iterator _iter23;
+      for (_iter23 = this->reservations.begin(); _iter23 != this->reservations.end(); ++_iter23)
+      {
+        xfer += (*_iter23).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -600,56 +782,50 @@
   swap(a.resourceSpecificCredentialStoreToken, b.resourceSpecificCredentialStoreToken);
   swap(a.usageReportingGatewayId, b.usageReportingGatewayId);
   swap(a.qualityOfService, b.qualityOfService);
-  swap(a.reservation, b.reservation);
-  swap(a.reservationStartTime, b.reservationStartTime);
-  swap(a.reservationEndTime, b.reservationEndTime);
   swap(a.sshAccountProvisioner, b.sshAccountProvisioner);
   swap(a.groupSSHAccountProvisionerConfigs, b.groupSSHAccountProvisionerConfigs);
   swap(a.sshAccountProvisionerAdditionalInfo, b.sshAccountProvisionerAdditionalInfo);
+  swap(a.reservations, b.reservations);
   swap(a.__isset, b.__isset);
 }
 
-GroupComputeResourcePreference::GroupComputeResourcePreference(const GroupComputeResourcePreference& other10) {
-  computeResourceId = other10.computeResourceId;
-  groupResourceProfileId = other10.groupResourceProfileId;
-  overridebyAiravata = other10.overridebyAiravata;
-  loginUserName = other10.loginUserName;
-  preferredJobSubmissionProtocol = other10.preferredJobSubmissionProtocol;
-  preferredDataMovementProtocol = other10.preferredDataMovementProtocol;
-  preferredBatchQueue = other10.preferredBatchQueue;
-  scratchLocation = other10.scratchLocation;
-  allocationProjectNumber = other10.allocationProjectNumber;
-  resourceSpecificCredentialStoreToken = other10.resourceSpecificCredentialStoreToken;
-  usageReportingGatewayId = other10.usageReportingGatewayId;
-  qualityOfService = other10.qualityOfService;
-  reservation = other10.reservation;
-  reservationStartTime = other10.reservationStartTime;
-  reservationEndTime = other10.reservationEndTime;
-  sshAccountProvisioner = other10.sshAccountProvisioner;
-  groupSSHAccountProvisionerConfigs = other10.groupSSHAccountProvisionerConfigs;
-  sshAccountProvisionerAdditionalInfo = other10.sshAccountProvisionerAdditionalInfo;
-  __isset = other10.__isset;
+GroupComputeResourcePreference::GroupComputeResourcePreference(const GroupComputeResourcePreference& other24) {
+  computeResourceId = other24.computeResourceId;
+  groupResourceProfileId = other24.groupResourceProfileId;
+  overridebyAiravata = other24.overridebyAiravata;
+  loginUserName = other24.loginUserName;
+  preferredJobSubmissionProtocol = other24.preferredJobSubmissionProtocol;
+  preferredDataMovementProtocol = other24.preferredDataMovementProtocol;
+  preferredBatchQueue = other24.preferredBatchQueue;
+  scratchLocation = other24.scratchLocation;
+  allocationProjectNumber = other24.allocationProjectNumber;
+  resourceSpecificCredentialStoreToken = other24.resourceSpecificCredentialStoreToken;
+  usageReportingGatewayId = other24.usageReportingGatewayId;
+  qualityOfService = other24.qualityOfService;
+  sshAccountProvisioner = other24.sshAccountProvisioner;
+  groupSSHAccountProvisionerConfigs = other24.groupSSHAccountProvisionerConfigs;
+  sshAccountProvisionerAdditionalInfo = other24.sshAccountProvisionerAdditionalInfo;
+  reservations = other24.reservations;
+  __isset = other24.__isset;
 }
-GroupComputeResourcePreference& GroupComputeResourcePreference::operator=(const GroupComputeResourcePreference& other11) {
-  computeResourceId = other11.computeResourceId;
-  groupResourceProfileId = other11.groupResourceProfileId;
-  overridebyAiravata = other11.overridebyAiravata;
-  loginUserName = other11.loginUserName;
-  preferredJobSubmissionProtocol = other11.preferredJobSubmissionProtocol;
-  preferredDataMovementProtocol = other11.preferredDataMovementProtocol;
-  preferredBatchQueue = other11.preferredBatchQueue;
-  scratchLocation = other11.scratchLocation;
-  allocationProjectNumber = other11.allocationProjectNumber;
-  resourceSpecificCredentialStoreToken = other11.resourceSpecificCredentialStoreToken;
-  usageReportingGatewayId = other11.usageReportingGatewayId;
-  qualityOfService = other11.qualityOfService;
-  reservation = other11.reservation;
-  reservationStartTime = other11.reservationStartTime;
-  reservationEndTime = other11.reservationEndTime;
-  sshAccountProvisioner = other11.sshAccountProvisioner;
-  groupSSHAccountProvisionerConfigs = other11.groupSSHAccountProvisionerConfigs;
-  sshAccountProvisionerAdditionalInfo = other11.sshAccountProvisionerAdditionalInfo;
-  __isset = other11.__isset;
+GroupComputeResourcePreference& GroupComputeResourcePreference::operator=(const GroupComputeResourcePreference& other25) {
+  computeResourceId = other25.computeResourceId;
+  groupResourceProfileId = other25.groupResourceProfileId;
+  overridebyAiravata = other25.overridebyAiravata;
+  loginUserName = other25.loginUserName;
+  preferredJobSubmissionProtocol = other25.preferredJobSubmissionProtocol;
+  preferredDataMovementProtocol = other25.preferredDataMovementProtocol;
+  preferredBatchQueue = other25.preferredBatchQueue;
+  scratchLocation = other25.scratchLocation;
+  allocationProjectNumber = other25.allocationProjectNumber;
+  resourceSpecificCredentialStoreToken = other25.resourceSpecificCredentialStoreToken;
+  usageReportingGatewayId = other25.usageReportingGatewayId;
+  qualityOfService = other25.qualityOfService;
+  sshAccountProvisioner = other25.sshAccountProvisioner;
+  groupSSHAccountProvisionerConfigs = other25.groupSSHAccountProvisionerConfigs;
+  sshAccountProvisionerAdditionalInfo = other25.sshAccountProvisionerAdditionalInfo;
+  reservations = other25.reservations;
+  __isset = other25.__isset;
   return *this;
 }
 void GroupComputeResourcePreference::printTo(std::ostream& out) const {
@@ -667,12 +843,10 @@
   out << ", " << "resourceSpecificCredentialStoreToken="; (__isset.resourceSpecificCredentialStoreToken ? (out << to_string(resourceSpecificCredentialStoreToken)) : (out << "<null>"));
   out << ", " << "usageReportingGatewayId="; (__isset.usageReportingGatewayId ? (out << to_string(usageReportingGatewayId)) : (out << "<null>"));
   out << ", " << "qualityOfService="; (__isset.qualityOfService ? (out << to_string(qualityOfService)) : (out << "<null>"));
-  out << ", " << "reservation="; (__isset.reservation ? (out << to_string(reservation)) : (out << "<null>"));
-  out << ", " << "reservationStartTime="; (__isset.reservationStartTime ? (out << to_string(reservationStartTime)) : (out << "<null>"));
-  out << ", " << "reservationEndTime="; (__isset.reservationEndTime ? (out << to_string(reservationEndTime)) : (out << "<null>"));
   out << ", " << "sshAccountProvisioner="; (__isset.sshAccountProvisioner ? (out << to_string(sshAccountProvisioner)) : (out << "<null>"));
   out << ", " << "groupSSHAccountProvisionerConfigs="; (__isset.groupSSHAccountProvisionerConfigs ? (out << to_string(groupSSHAccountProvisionerConfigs)) : (out << "<null>"));
   out << ", " << "sshAccountProvisionerAdditionalInfo="; (__isset.sshAccountProvisionerAdditionalInfo ? (out << to_string(sshAccountProvisionerAdditionalInfo)) : (out << "<null>"));
+  out << ", " << "reservations="; (__isset.reservations ? (out << to_string(reservations)) : (out << "<null>"));
   out << ")";
 }
 
@@ -750,14 +924,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->allowedBatchQueues.clear();
-            uint32_t _size12;
-            ::apache::thrift::protocol::TType _etype15;
-            xfer += iprot->readListBegin(_etype15, _size12);
-            this->allowedBatchQueues.resize(_size12);
-            uint32_t _i16;
-            for (_i16 = 0; _i16 < _size12; ++_i16)
+            uint32_t _size26;
+            ::apache::thrift::protocol::TType _etype29;
+            xfer += iprot->readListBegin(_etype29, _size26);
+            this->allowedBatchQueues.resize(_size26);
+            uint32_t _i30;
+            for (_i30 = 0; _i30 < _size26; ++_i30)
             {
-              xfer += iprot->readString(this->allowedBatchQueues[_i16]);
+              xfer += iprot->readString(this->allowedBatchQueues[_i30]);
             }
             xfer += iprot->readListEnd();
           }
@@ -805,10 +979,10 @@
     xfer += oprot->writeFieldBegin("allowedBatchQueues", ::apache::thrift::protocol::T_LIST, 4);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->allowedBatchQueues.size()));
-      std::vector<std::string> ::const_iterator _iter17;
-      for (_iter17 = this->allowedBatchQueues.begin(); _iter17 != this->allowedBatchQueues.end(); ++_iter17)
+      std::vector<std::string> ::const_iterator _iter31;
+      for (_iter31 = this->allowedBatchQueues.begin(); _iter31 != this->allowedBatchQueues.end(); ++_iter31)
       {
-        xfer += oprot->writeString((*_iter17));
+        xfer += oprot->writeString((*_iter31));
       }
       xfer += oprot->writeListEnd();
     }
@@ -828,19 +1002,19 @@
   swap(a.__isset, b.__isset);
 }
 
-ComputeResourcePolicy::ComputeResourcePolicy(const ComputeResourcePolicy& other18) {
-  resourcePolicyId = other18.resourcePolicyId;
-  computeResourceId = other18.computeResourceId;
-  groupResourceProfileId = other18.groupResourceProfileId;
-  allowedBatchQueues = other18.allowedBatchQueues;
-  __isset = other18.__isset;
+ComputeResourcePolicy::ComputeResourcePolicy(const ComputeResourcePolicy& other32) {
+  resourcePolicyId = other32.resourcePolicyId;
+  computeResourceId = other32.computeResourceId;
+  groupResourceProfileId = other32.groupResourceProfileId;
+  allowedBatchQueues = other32.allowedBatchQueues;
+  __isset = other32.__isset;
 }
-ComputeResourcePolicy& ComputeResourcePolicy::operator=(const ComputeResourcePolicy& other19) {
-  resourcePolicyId = other19.resourcePolicyId;
-  computeResourceId = other19.computeResourceId;
-  groupResourceProfileId = other19.groupResourceProfileId;
-  allowedBatchQueues = other19.allowedBatchQueues;
-  __isset = other19.__isset;
+ComputeResourcePolicy& ComputeResourcePolicy::operator=(const ComputeResourcePolicy& other33) {
+  resourcePolicyId = other33.resourcePolicyId;
+  computeResourceId = other33.computeResourceId;
+  groupResourceProfileId = other33.groupResourceProfileId;
+  allowedBatchQueues = other33.allowedBatchQueues;
+  __isset = other33.__isset;
   return *this;
 }
 void ComputeResourcePolicy::printTo(std::ostream& out) const {
@@ -1042,25 +1216,25 @@
   swap(a.__isset, b.__isset);
 }
 
-BatchQueueResourcePolicy::BatchQueueResourcePolicy(const BatchQueueResourcePolicy& other20) {
-  resourcePolicyId = other20.resourcePolicyId;
-  computeResourceId = other20.computeResourceId;
-  groupResourceProfileId = other20.groupResourceProfileId;
-  queuename = other20.queuename;
-  maxAllowedNodes = other20.maxAllowedNodes;
-  maxAllowedCores = other20.maxAllowedCores;
-  maxAllowedWalltime = other20.maxAllowedWalltime;
-  __isset = other20.__isset;
+BatchQueueResourcePolicy::BatchQueueResourcePolicy(const BatchQueueResourcePolicy& other34) {
+  resourcePolicyId = other34.resourcePolicyId;
+  computeResourceId = other34.computeResourceId;
+  groupResourceProfileId = other34.groupResourceProfileId;
+  queuename = other34.queuename;
+  maxAllowedNodes = other34.maxAllowedNodes;
+  maxAllowedCores = other34.maxAllowedCores;
+  maxAllowedWalltime = other34.maxAllowedWalltime;
+  __isset = other34.__isset;
 }
-BatchQueueResourcePolicy& BatchQueueResourcePolicy::operator=(const BatchQueueResourcePolicy& other21) {
-  resourcePolicyId = other21.resourcePolicyId;
-  computeResourceId = other21.computeResourceId;
-  groupResourceProfileId = other21.groupResourceProfileId;
-  queuename = other21.queuename;
-  maxAllowedNodes = other21.maxAllowedNodes;
-  maxAllowedCores = other21.maxAllowedCores;
-  maxAllowedWalltime = other21.maxAllowedWalltime;
-  __isset = other21.__isset;
+BatchQueueResourcePolicy& BatchQueueResourcePolicy::operator=(const BatchQueueResourcePolicy& other35) {
+  resourcePolicyId = other35.resourcePolicyId;
+  computeResourceId = other35.computeResourceId;
+  groupResourceProfileId = other35.groupResourceProfileId;
+  queuename = other35.queuename;
+  maxAllowedNodes = other35.maxAllowedNodes;
+  maxAllowedCores = other35.maxAllowedCores;
+  maxAllowedWalltime = other35.maxAllowedWalltime;
+  __isset = other35.__isset;
   return *this;
 }
 void BatchQueueResourcePolicy::printTo(std::ostream& out) const {
@@ -1175,14 +1349,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->computePreferences.clear();
-            uint32_t _size22;
-            ::apache::thrift::protocol::TType _etype25;
-            xfer += iprot->readListBegin(_etype25, _size22);
-            this->computePreferences.resize(_size22);
-            uint32_t _i26;
-            for (_i26 = 0; _i26 < _size22; ++_i26)
+            uint32_t _size36;
+            ::apache::thrift::protocol::TType _etype39;
+            xfer += iprot->readListBegin(_etype39, _size36);
+            this->computePreferences.resize(_size36);
+            uint32_t _i40;
+            for (_i40 = 0; _i40 < _size36; ++_i40)
             {
-              xfer += this->computePreferences[_i26].read(iprot);
+              xfer += this->computePreferences[_i40].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1195,14 +1369,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->computeResourcePolicies.clear();
-            uint32_t _size27;
-            ::apache::thrift::protocol::TType _etype30;
-            xfer += iprot->readListBegin(_etype30, _size27);
-            this->computeResourcePolicies.resize(_size27);
-            uint32_t _i31;
-            for (_i31 = 0; _i31 < _size27; ++_i31)
+            uint32_t _size41;
+            ::apache::thrift::protocol::TType _etype44;
+            xfer += iprot->readListBegin(_etype44, _size41);
+            this->computeResourcePolicies.resize(_size41);
+            uint32_t _i45;
+            for (_i45 = 0; _i45 < _size41; ++_i45)
             {
-              xfer += this->computeResourcePolicies[_i31].read(iprot);
+              xfer += this->computeResourcePolicies[_i45].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1215,14 +1389,14 @@
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->batchQueueResourcePolicies.clear();
-            uint32_t _size32;
-            ::apache::thrift::protocol::TType _etype35;
-            xfer += iprot->readListBegin(_etype35, _size32);
-            this->batchQueueResourcePolicies.resize(_size32);
-            uint32_t _i36;
-            for (_i36 = 0; _i36 < _size32; ++_i36)
+            uint32_t _size46;
+            ::apache::thrift::protocol::TType _etype49;
+            xfer += iprot->readListBegin(_etype49, _size46);
+            this->batchQueueResourcePolicies.resize(_size46);
+            uint32_t _i50;
+            for (_i50 = 0; _i50 < _size46; ++_i50)
             {
-              xfer += this->batchQueueResourcePolicies[_i36].read(iprot);
+              xfer += this->batchQueueResourcePolicies[_i50].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1293,10 +1467,10 @@
     xfer += oprot->writeFieldBegin("computePreferences", ::apache::thrift::protocol::T_LIST, 4);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computePreferences.size()));
-      std::vector<GroupComputeResourcePreference> ::const_iterator _iter37;
-      for (_iter37 = this->computePreferences.begin(); _iter37 != this->computePreferences.end(); ++_iter37)
+      std::vector<GroupComputeResourcePreference> ::const_iterator _iter51;
+      for (_iter51 = this->computePreferences.begin(); _iter51 != this->computePreferences.end(); ++_iter51)
       {
-        xfer += (*_iter37).write(oprot);
+        xfer += (*_iter51).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1306,10 +1480,10 @@
     xfer += oprot->writeFieldBegin("computeResourcePolicies", ::apache::thrift::protocol::T_LIST, 5);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->computeResourcePolicies.size()));
-      std::vector<ComputeResourcePolicy> ::const_iterator _iter38;
-      for (_iter38 = this->computeResourcePolicies.begin(); _iter38 != this->computeResourcePolicies.end(); ++_iter38)
+      std::vector<ComputeResourcePolicy> ::const_iterator _iter52;
+      for (_iter52 = this->computeResourcePolicies.begin(); _iter52 != this->computeResourcePolicies.end(); ++_iter52)
       {
-        xfer += (*_iter38).write(oprot);
+        xfer += (*_iter52).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1319,10 +1493,10 @@
     xfer += oprot->writeFieldBegin("batchQueueResourcePolicies", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueueResourcePolicies.size()));
-      std::vector<BatchQueueResourcePolicy> ::const_iterator _iter39;
-      for (_iter39 = this->batchQueueResourcePolicies.begin(); _iter39 != this->batchQueueResourcePolicies.end(); ++_iter39)
+      std::vector<BatchQueueResourcePolicy> ::const_iterator _iter53;
+      for (_iter53 = this->batchQueueResourcePolicies.begin(); _iter53 != this->batchQueueResourcePolicies.end(); ++_iter53)
       {
-        xfer += (*_iter39).write(oprot);
+        xfer += (*_iter53).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -1362,29 +1536,29 @@
   swap(a.__isset, b.__isset);
 }
 
-GroupResourceProfile::GroupResourceProfile(const GroupResourceProfile& other40) {
-  gatewayId = other40.gatewayId;
-  groupResourceProfileId = other40.groupResourceProfileId;
-  groupResourceProfileName = other40.groupResourceProfileName;
-  computePreferences = other40.computePreferences;
-  computeResourcePolicies = other40.computeResourcePolicies;
-  batchQueueResourcePolicies = other40.batchQueueResourcePolicies;
-  creationTime = other40.creationTime;
-  updatedTime = other40.updatedTime;
-  defaultCredentialStoreToken = other40.defaultCredentialStoreToken;
-  __isset = other40.__isset;
+GroupResourceProfile::GroupResourceProfile(const GroupResourceProfile& other54) {
+  gatewayId = other54.gatewayId;
+  groupResourceProfileId = other54.groupResourceProfileId;
+  groupResourceProfileName = other54.groupResourceProfileName;
+  computePreferences = other54.computePreferences;
+  computeResourcePolicies = other54.computeResourcePolicies;
+  batchQueueResourcePolicies = other54.batchQueueResourcePolicies;
+  creationTime = other54.creationTime;
+  updatedTime = other54.updatedTime;
+  defaultCredentialStoreToken = other54.defaultCredentialStoreToken;
+  __isset = other54.__isset;
 }
-GroupResourceProfile& GroupResourceProfile::operator=(const GroupResourceProfile& other41) {
-  gatewayId = other41.gatewayId;
-  groupResourceProfileId = other41.groupResourceProfileId;
-  groupResourceProfileName = other41.groupResourceProfileName;
-  computePreferences = other41.computePreferences;
-  computeResourcePolicies = other41.computeResourcePolicies;
-  batchQueueResourcePolicies = other41.batchQueueResourcePolicies;
-  creationTime = other41.creationTime;
-  updatedTime = other41.updatedTime;
-  defaultCredentialStoreToken = other41.defaultCredentialStoreToken;
-  __isset = other41.__isset;
+GroupResourceProfile& GroupResourceProfile::operator=(const GroupResourceProfile& other55) {
+  gatewayId = other55.gatewayId;
+  groupResourceProfileId = other55.groupResourceProfileId;
+  groupResourceProfileName = other55.groupResourceProfileName;
+  computePreferences = other55.computePreferences;
+  computeResourcePolicies = other55.computeResourcePolicies;
+  batchQueueResourcePolicies = other55.batchQueueResourcePolicies;
+  creationTime = other55.creationTime;
+  updatedTime = other55.updatedTime;
+  defaultCredentialStoreToken = other55.defaultCredentialStoreToken;
+  __isset = other55.__isset;
   return *this;
 }
 void GroupResourceProfile::printTo(std::ostream& out) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.h
index 732a1ed..0dc95e7 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/group_resource_profile_model_types.h
@@ -42,6 +42,8 @@
 
 class GroupAccountSSHProvisionerConfig;
 
+class ComputeResourceReservation;
+
 class GroupComputeResourcePreference;
 
 class ComputeResourcePolicy;
@@ -113,8 +115,68 @@
   return out;
 }
 
+
+class ComputeResourceReservation : public virtual ::apache::thrift::TBase {
+ public:
+
+  ComputeResourceReservation(const ComputeResourceReservation&);
+  ComputeResourceReservation& operator=(const ComputeResourceReservation&);
+  ComputeResourceReservation() : reservationId("DO_NOT_SET_AT_CLIENTS"), reservationName(), startTime(0), endTime(0) {
+  }
+
+  virtual ~ComputeResourceReservation() throw();
+  std::string reservationId;
+  std::string reservationName;
+  std::vector<std::string>  queueNames;
+  int64_t startTime;
+  int64_t endTime;
+
+  void __set_reservationId(const std::string& val);
+
+  void __set_reservationName(const std::string& val);
+
+  void __set_queueNames(const std::vector<std::string> & val);
+
+  void __set_startTime(const int64_t val);
+
+  void __set_endTime(const int64_t val);
+
+  bool operator == (const ComputeResourceReservation & rhs) const
+  {
+    if (!(reservationId == rhs.reservationId))
+      return false;
+    if (!(reservationName == rhs.reservationName))
+      return false;
+    if (!(queueNames == rhs.queueNames))
+      return false;
+    if (!(startTime == rhs.startTime))
+      return false;
+    if (!(endTime == rhs.endTime))
+      return false;
+    return true;
+  }
+  bool operator != (const ComputeResourceReservation &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ComputeResourceReservation & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(ComputeResourceReservation &a, ComputeResourceReservation &b);
+
+inline std::ostream& operator<<(std::ostream& out, const ComputeResourceReservation& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _GroupComputeResourcePreference__isset {
-  _GroupComputeResourcePreference__isset() : loginUserName(false), preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false), resourceSpecificCredentialStoreToken(false), usageReportingGatewayId(false), qualityOfService(false), reservation(false), reservationStartTime(false), reservationEndTime(false), sshAccountProvisioner(false), groupSSHAccountProvisionerConfigs(false), sshAccountProvisionerAdditionalInfo(false) {}
+  _GroupComputeResourcePreference__isset() : loginUserName(false), preferredJobSubmissionProtocol(false), preferredDataMovementProtocol(false), preferredBatchQueue(false), scratchLocation(false), allocationProjectNumber(false), resourceSpecificCredentialStoreToken(false), usageReportingGatewayId(false), qualityOfService(false), sshAccountProvisioner(false), groupSSHAccountProvisionerConfigs(false), sshAccountProvisionerAdditionalInfo(false), reservations(false) {}
   bool loginUserName :1;
   bool preferredJobSubmissionProtocol :1;
   bool preferredDataMovementProtocol :1;
@@ -124,12 +186,10 @@
   bool resourceSpecificCredentialStoreToken :1;
   bool usageReportingGatewayId :1;
   bool qualityOfService :1;
-  bool reservation :1;
-  bool reservationStartTime :1;
-  bool reservationEndTime :1;
   bool sshAccountProvisioner :1;
   bool groupSSHAccountProvisionerConfigs :1;
   bool sshAccountProvisionerAdditionalInfo :1;
+  bool reservations :1;
 } _GroupComputeResourcePreference__isset;
 
 class GroupComputeResourcePreference : public virtual ::apache::thrift::TBase {
@@ -137,7 +197,7 @@
 
   GroupComputeResourcePreference(const GroupComputeResourcePreference&);
   GroupComputeResourcePreference& operator=(const GroupComputeResourcePreference&);
-  GroupComputeResourcePreference() : computeResourceId(), groupResourceProfileId("DO_NOT_SET_AT_CLIENTS"), overridebyAiravata(true), loginUserName(), preferredJobSubmissionProtocol(( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)0), preferredDataMovementProtocol(( ::apache::airavata::model::data::movement::DataMovementProtocol::type)0), preferredBatchQueue(), scratchLocation(), allocationProjectNumber(), resourceSpecificCredentialStoreToken(), usageReportingGatewayId(), qualityOfService(), reservation(), reservationStartTime(0), reservationEndTime(0), sshAccountProvisioner(), sshAccountProvisionerAdditionalInfo() {
+  GroupComputeResourcePreference() : computeResourceId(), groupResourceProfileId("DO_NOT_SET_AT_CLIENTS"), overridebyAiravata(true), loginUserName(), preferredJobSubmissionProtocol(( ::apache::airavata::model::appcatalog::computeresource::JobSubmissionProtocol::type)0), preferredDataMovementProtocol(( ::apache::airavata::model::data::movement::DataMovementProtocol::type)0), preferredBatchQueue(), scratchLocation(), allocationProjectNumber(), resourceSpecificCredentialStoreToken(), usageReportingGatewayId(), qualityOfService(), sshAccountProvisioner(), sshAccountProvisionerAdditionalInfo() {
   }
 
   virtual ~GroupComputeResourcePreference() throw();
@@ -153,12 +213,10 @@
   std::string resourceSpecificCredentialStoreToken;
   std::string usageReportingGatewayId;
   std::string qualityOfService;
-  std::string reservation;
-  int64_t reservationStartTime;
-  int64_t reservationEndTime;
   std::string sshAccountProvisioner;
   std::vector<GroupAccountSSHProvisionerConfig>  groupSSHAccountProvisionerConfigs;
   std::string sshAccountProvisionerAdditionalInfo;
+  std::vector<ComputeResourceReservation>  reservations;
 
   _GroupComputeResourcePreference__isset __isset;
 
@@ -186,18 +244,14 @@
 
   void __set_qualityOfService(const std::string& val);
 
-  void __set_reservation(const std::string& val);
-
-  void __set_reservationStartTime(const int64_t val);
-
-  void __set_reservationEndTime(const int64_t val);
-
   void __set_sshAccountProvisioner(const std::string& val);
 
   void __set_groupSSHAccountProvisionerConfigs(const std::vector<GroupAccountSSHProvisionerConfig> & val);
 
   void __set_sshAccountProvisionerAdditionalInfo(const std::string& val);
 
+  void __set_reservations(const std::vector<ComputeResourceReservation> & val);
+
   bool operator == (const GroupComputeResourcePreference & rhs) const
   {
     if (!(computeResourceId == rhs.computeResourceId))
@@ -242,18 +296,6 @@
       return false;
     else if (__isset.qualityOfService && !(qualityOfService == rhs.qualityOfService))
       return false;
-    if (__isset.reservation != rhs.__isset.reservation)
-      return false;
-    else if (__isset.reservation && !(reservation == rhs.reservation))
-      return false;
-    if (__isset.reservationStartTime != rhs.__isset.reservationStartTime)
-      return false;
-    else if (__isset.reservationStartTime && !(reservationStartTime == rhs.reservationStartTime))
-      return false;
-    if (__isset.reservationEndTime != rhs.__isset.reservationEndTime)
-      return false;
-    else if (__isset.reservationEndTime && !(reservationEndTime == rhs.reservationEndTime))
-      return false;
     if (__isset.sshAccountProvisioner != rhs.__isset.sshAccountProvisioner)
       return false;
     else if (__isset.sshAccountProvisioner && !(sshAccountProvisioner == rhs.sshAccountProvisioner))
@@ -266,6 +308,10 @@
       return false;
     else if (__isset.sshAccountProvisionerAdditionalInfo && !(sshAccountProvisionerAdditionalInfo == rhs.sshAccountProvisionerAdditionalInfo))
       return false;
+    if (__isset.reservations != rhs.__isset.reservations)
+      return false;
+    else if (__isset.reservations && !(reservations == rhs.reservations))
+      return false;
     return true;
   }
   bool operator != (const GroupComputeResourcePreference &rhs) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
index e4eafc9..3a9eac5 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.cpp
@@ -53,7 +53,8 @@
   MessageType::LAUNCHPROCESS,
   MessageType::TERMINATEPROCESS,
   MessageType::PROCESSOUTPUT,
-  MessageType::DB_EVENT
+  MessageType::DB_EVENT,
+  MessageType::INTERMEDIATE_OUTPUTS
 };
 const char* _kMessageTypeNames[] = {
   "EXPERIMENT",
@@ -64,9 +65,10 @@
   "LAUNCHPROCESS",
   "TERMINATEPROCESS",
   "PROCESSOUTPUT",
-  "DB_EVENT"
+  "DB_EVENT",
+  "INTERMEDIATE_OUTPUTS"
 };
-const std::map<int, const char*> _MessageType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(9, _kMessageTypeValues, _kMessageTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _MessageType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(10, _kMessageTypeValues, _kMessageTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 
 ExperimentStatusChangeEvent::~ExperimentStatusChangeEvent() throw() {
@@ -1859,6 +1861,158 @@
 }
 
 
+ExperimentIntermediateOutputsEvent::~ExperimentIntermediateOutputsEvent() throw() {
+}
+
+
+void ExperimentIntermediateOutputsEvent::__set_experimentId(const std::string& val) {
+  this->experimentId = val;
+}
+
+void ExperimentIntermediateOutputsEvent::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void ExperimentIntermediateOutputsEvent::__set_outputNames(const std::vector<std::string> & val) {
+  this->outputNames = val;
+}
+
+uint32_t ExperimentIntermediateOutputsEvent::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_experimentId = false;
+  bool isset_gatewayId = false;
+  bool isset_outputNames = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->experimentId);
+          isset_experimentId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->outputNames.clear();
+            uint32_t _size41;
+            ::apache::thrift::protocol::TType _etype44;
+            xfer += iprot->readListBegin(_etype44, _size41);
+            this->outputNames.resize(_size41);
+            uint32_t _i45;
+            for (_i45 = 0; _i45 < _size41; ++_i45)
+            {
+              xfer += iprot->readString(this->outputNames[_i45]);
+            }
+            xfer += iprot->readListEnd();
+          }
+          isset_outputNames = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_experimentId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_outputNames)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t ExperimentIntermediateOutputsEvent::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("ExperimentIntermediateOutputsEvent");
+
+  xfer += oprot->writeFieldBegin("experimentId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->experimentId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("outputNames", ::apache::thrift::protocol::T_LIST, 3);
+  {
+    xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->outputNames.size()));
+    std::vector<std::string> ::const_iterator _iter46;
+    for (_iter46 = this->outputNames.begin(); _iter46 != this->outputNames.end(); ++_iter46)
+    {
+      xfer += oprot->writeString((*_iter46));
+    }
+    xfer += oprot->writeListEnd();
+  }
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(ExperimentIntermediateOutputsEvent &a, ExperimentIntermediateOutputsEvent &b) {
+  using ::std::swap;
+  swap(a.experimentId, b.experimentId);
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.outputNames, b.outputNames);
+}
+
+ExperimentIntermediateOutputsEvent::ExperimentIntermediateOutputsEvent(const ExperimentIntermediateOutputsEvent& other47) {
+  experimentId = other47.experimentId;
+  gatewayId = other47.gatewayId;
+  outputNames = other47.outputNames;
+}
+ExperimentIntermediateOutputsEvent& ExperimentIntermediateOutputsEvent::operator=(const ExperimentIntermediateOutputsEvent& other48) {
+  experimentId = other48.experimentId;
+  gatewayId = other48.gatewayId;
+  outputNames = other48.outputNames;
+  return *this;
+}
+void ExperimentIntermediateOutputsEvent::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "ExperimentIntermediateOutputsEvent(";
+  out << "experimentId=" << to_string(experimentId);
+  out << ", " << "gatewayId=" << to_string(gatewayId);
+  out << ", " << "outputNames=" << to_string(outputNames);
+  out << ")";
+}
+
+
 Message::~Message() throw() {
 }
 
@@ -1927,9 +2081,9 @@
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast41;
-          xfer += iprot->readI32(ecast41);
-          this->messageType = (MessageType::type)ecast41;
+          int32_t ecast49;
+          xfer += iprot->readI32(ecast49);
+          this->messageType = (MessageType::type)ecast49;
           isset_messageType = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1945,9 +2099,9 @@
         break;
       case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast42;
-          xfer += iprot->readI32(ecast42);
-          this->messageLevel = (MessageLevel::type)ecast42;
+          int32_t ecast50;
+          xfer += iprot->readI32(ecast50);
+          this->messageLevel = (MessageLevel::type)ecast50;
           this->__isset.messageLevel = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -2013,21 +2167,21 @@
   swap(a.__isset, b.__isset);
 }
 
-Message::Message(const Message& other43) {
-  event = other43.event;
-  messageId = other43.messageId;
-  messageType = other43.messageType;
-  updatedTime = other43.updatedTime;
-  messageLevel = other43.messageLevel;
-  __isset = other43.__isset;
+Message::Message(const Message& other51) {
+  event = other51.event;
+  messageId = other51.messageId;
+  messageType = other51.messageType;
+  updatedTime = other51.updatedTime;
+  messageLevel = other51.messageLevel;
+  __isset = other51.__isset;
 }
-Message& Message::operator=(const Message& other44) {
-  event = other44.event;
-  messageId = other44.messageId;
-  messageType = other44.messageType;
-  updatedTime = other44.updatedTime;
-  messageLevel = other44.messageLevel;
-  __isset = other44.__isset;
+Message& Message::operator=(const Message& other52) {
+  event = other52.event;
+  messageId = other52.messageId;
+  messageType = other52.messageType;
+  updatedTime = other52.updatedTime;
+  messageLevel = other52.messageLevel;
+  __isset = other52.__isset;
   return *this;
 }
 void Message::printTo(std::ostream& out) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
index 9619d11..a3f16ac 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/messaging_events_types.h
@@ -61,7 +61,8 @@
     LAUNCHPROCESS = 5,
     TERMINATEPROCESS = 6,
     PROCESSOUTPUT = 7,
-    DB_EVENT = 8
+    DB_EVENT = 8,
+    INTERMEDIATE_OUTPUTS = 9
   };
 };
 
@@ -95,6 +96,8 @@
 
 class JobStatusChangeRequestEvent;
 
+class ExperimentIntermediateOutputsEvent;
+
 class Message;
 
 
@@ -777,6 +780,56 @@
   return out;
 }
 
+
+class ExperimentIntermediateOutputsEvent : public virtual ::apache::thrift::TBase {
+ public:
+
+  ExperimentIntermediateOutputsEvent(const ExperimentIntermediateOutputsEvent&);
+  ExperimentIntermediateOutputsEvent& operator=(const ExperimentIntermediateOutputsEvent&);
+  ExperimentIntermediateOutputsEvent() : experimentId(), gatewayId() {
+  }
+
+  virtual ~ExperimentIntermediateOutputsEvent() throw();
+  std::string experimentId;
+  std::string gatewayId;
+  std::vector<std::string>  outputNames;
+
+  void __set_experimentId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_outputNames(const std::vector<std::string> & val);
+
+  bool operator == (const ExperimentIntermediateOutputsEvent & rhs) const
+  {
+    if (!(experimentId == rhs.experimentId))
+      return false;
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(outputNames == rhs.outputNames))
+      return false;
+    return true;
+  }
+  bool operator != (const ExperimentIntermediateOutputsEvent &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const ExperimentIntermediateOutputsEvent & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(ExperimentIntermediateOutputsEvent &a, ExperimentIntermediateOutputsEvent &b);
+
+inline std::ostream& operator<<(std::ostream& out, const ExperimentIntermediateOutputsEvent& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Message__isset {
   _Message__isset() : updatedTime(false), messageLevel(false) {}
   bool updatedTime :1;
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp
index 507dfcd..4f4e023 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.cpp
@@ -95,6 +95,11 @@
 __isset.overrideAllocationProjectNumber = true;
 }
 
+void ComputationalResourceSchedulingModel::__set_mGroupCount(const int32_t val) {
+  this->mGroupCount = val;
+__isset.mGroupCount = true;
+}
+
 uint32_t ComputationalResourceSchedulingModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -212,6 +217,14 @@
           xfer += iprot->skip(ftype);
         }
         break;
+      case 13:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          xfer += iprot->readI32(this->mGroupCount);
+          this->__isset.mGroupCount = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -289,6 +302,11 @@
     xfer += oprot->writeString(this->overrideAllocationProjectNumber);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.mGroupCount) {
+    xfer += oprot->writeFieldBegin("mGroupCount", ::apache::thrift::protocol::T_I32, 13);
+    xfer += oprot->writeI32(this->mGroupCount);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -308,6 +326,7 @@
   swap(a.overrideLoginUserName, b.overrideLoginUserName);
   swap(a.overrideScratchLocation, b.overrideScratchLocation);
   swap(a.overrideAllocationProjectNumber, b.overrideAllocationProjectNumber);
+  swap(a.mGroupCount, b.mGroupCount);
   swap(a.__isset, b.__isset);
 }
 
@@ -324,6 +343,7 @@
   overrideLoginUserName = other0.overrideLoginUserName;
   overrideScratchLocation = other0.overrideScratchLocation;
   overrideAllocationProjectNumber = other0.overrideAllocationProjectNumber;
+  mGroupCount = other0.mGroupCount;
   __isset = other0.__isset;
 }
 ComputationalResourceSchedulingModel& ComputationalResourceSchedulingModel::operator=(const ComputationalResourceSchedulingModel& other1) {
@@ -339,6 +359,7 @@
   overrideLoginUserName = other1.overrideLoginUserName;
   overrideScratchLocation = other1.overrideScratchLocation;
   overrideAllocationProjectNumber = other1.overrideAllocationProjectNumber;
+  mGroupCount = other1.mGroupCount;
   __isset = other1.__isset;
   return *this;
 }
@@ -357,6 +378,7 @@
   out << ", " << "overrideLoginUserName="; (__isset.overrideLoginUserName ? (out << to_string(overrideLoginUserName)) : (out << "<null>"));
   out << ", " << "overrideScratchLocation="; (__isset.overrideScratchLocation ? (out << to_string(overrideScratchLocation)) : (out << "<null>"));
   out << ", " << "overrideAllocationProjectNumber="; (__isset.overrideAllocationProjectNumber ? (out << to_string(overrideAllocationProjectNumber)) : (out << "<null>"));
+  out << ", " << "mGroupCount="; (__isset.mGroupCount ? (out << to_string(mGroupCount)) : (out << "<null>"));
   out << ")";
 }
 
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h
index eaaf6c0..9586d79 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/scheduling_model_types.h
@@ -40,7 +40,7 @@
 class ComputationalResourceSchedulingModel;
 
 typedef struct _ComputationalResourceSchedulingModel__isset {
-  _ComputationalResourceSchedulingModel__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), totalPhysicalMemory(false), chessisNumber(false), staticWorkingDir(false), overrideLoginUserName(false), overrideScratchLocation(false), overrideAllocationProjectNumber(false) {}
+  _ComputationalResourceSchedulingModel__isset() : resourceHostId(false), totalCPUCount(false), nodeCount(false), numberOfThreads(false), queueName(false), wallTimeLimit(false), totalPhysicalMemory(false), chessisNumber(false), staticWorkingDir(false), overrideLoginUserName(false), overrideScratchLocation(false), overrideAllocationProjectNumber(false), mGroupCount(false) {}
   bool resourceHostId :1;
   bool totalCPUCount :1;
   bool nodeCount :1;
@@ -53,6 +53,7 @@
   bool overrideLoginUserName :1;
   bool overrideScratchLocation :1;
   bool overrideAllocationProjectNumber :1;
+  bool mGroupCount :1;
 } _ComputationalResourceSchedulingModel__isset;
 
 class ComputationalResourceSchedulingModel : public virtual ::apache::thrift::TBase {
@@ -60,7 +61,7 @@
 
   ComputationalResourceSchedulingModel(const ComputationalResourceSchedulingModel&);
   ComputationalResourceSchedulingModel& operator=(const ComputationalResourceSchedulingModel&);
-  ComputationalResourceSchedulingModel() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), totalPhysicalMemory(0), chessisNumber(), staticWorkingDir(), overrideLoginUserName(), overrideScratchLocation(), overrideAllocationProjectNumber() {
+  ComputationalResourceSchedulingModel() : resourceHostId(), totalCPUCount(0), nodeCount(0), numberOfThreads(0), queueName(), wallTimeLimit(0), totalPhysicalMemory(0), chessisNumber(), staticWorkingDir(), overrideLoginUserName(), overrideScratchLocation(), overrideAllocationProjectNumber(), mGroupCount(0) {
   }
 
   virtual ~ComputationalResourceSchedulingModel() throw();
@@ -76,6 +77,7 @@
   std::string overrideLoginUserName;
   std::string overrideScratchLocation;
   std::string overrideAllocationProjectNumber;
+  int32_t mGroupCount;
 
   _ComputationalResourceSchedulingModel__isset __isset;
 
@@ -103,6 +105,8 @@
 
   void __set_overrideAllocationProjectNumber(const std::string& val);
 
+  void __set_mGroupCount(const int32_t val);
+
   bool operator == (const ComputationalResourceSchedulingModel & rhs) const
   {
     if (__isset.resourceHostId != rhs.__isset.resourceHostId)
@@ -153,6 +157,10 @@
       return false;
     else if (__isset.overrideAllocationProjectNumber && !(overrideAllocationProjectNumber == rhs.overrideAllocationProjectNumber))
       return false;
+    if (__isset.mGroupCount != rhs.__isset.mGroupCount)
+      return false;
+    else if (__isset.mGroupCount && !(mGroupCount == rhs.mGroupCount))
+      return false;
     return true;
   }
   bool operator != (const ComputationalResourceSchedulingModel &rhs) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
index c160309..869ae99 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.cpp
@@ -84,7 +84,10 @@
   ProcessState::COMPLETED,
   ProcessState::FAILED,
   ProcessState::CANCELLING,
-  ProcessState::CANCELED
+  ProcessState::CANCELED,
+  ProcessState::QUEUED,
+  ProcessState::DEQUEUING,
+  ProcessState::REQUEUED
 };
 const char* _kProcessStateNames[] = {
   "CREATED",
@@ -100,9 +103,12 @@
   "COMPLETED",
   "FAILED",
   "CANCELLING",
-  "CANCELED"
+  "CANCELED",
+  "QUEUED",
+  "DEQUEUING",
+  "REQUEUED"
 };
-const std::map<int, const char*> _ProcessState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(14, _kProcessStateValues, _kProcessStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _ProcessState_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(17, _kProcessStateValues, _kProcessStateNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 int _kJobStateValues[] = {
   JobState::SUBMITTED,
@@ -309,6 +315,11 @@
 __isset.statusId = true;
 }
 
+void ProcessStatus::__set_processId(const std::string& val) {
+  this->processId = val;
+__isset.processId = true;
+}
+
 uint32_t ProcessStatus::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
@@ -365,6 +376,14 @@
           xfer += iprot->skip(ftype);
         }
         break;
+      case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->processId);
+          this->__isset.processId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -403,6 +422,11 @@
     xfer += oprot->writeString(this->statusId);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.processId) {
+    xfer += oprot->writeFieldBegin("processId", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->processId);
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -414,6 +438,7 @@
   swap(a.timeOfStateChange, b.timeOfStateChange);
   swap(a.reason, b.reason);
   swap(a.statusId, b.statusId);
+  swap(a.processId, b.processId);
   swap(a.__isset, b.__isset);
 }
 
@@ -422,6 +447,7 @@
   timeOfStateChange = other4.timeOfStateChange;
   reason = other4.reason;
   statusId = other4.statusId;
+  processId = other4.processId;
   __isset = other4.__isset;
 }
 ProcessStatus& ProcessStatus::operator=(const ProcessStatus& other5) {
@@ -429,6 +455,7 @@
   timeOfStateChange = other5.timeOfStateChange;
   reason = other5.reason;
   statusId = other5.statusId;
+  processId = other5.processId;
   __isset = other5.__isset;
   return *this;
 }
@@ -439,6 +466,7 @@
   out << ", " << "timeOfStateChange="; (__isset.timeOfStateChange ? (out << to_string(timeOfStateChange)) : (out << "<null>"));
   out << ", " << "reason="; (__isset.reason ? (out << to_string(reason)) : (out << "<null>"));
   out << ", " << "statusId="; (__isset.statusId ? (out << to_string(statusId)) : (out << "<null>"));
+  out << ", " << "processId="; (__isset.processId ? (out << to_string(processId)) : (out << "<null>"));
   out << ")";
 }
 
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
index c1354ec..c194d8a 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/status_models_types.h
@@ -80,7 +80,10 @@
     COMPLETED = 10,
     FAILED = 11,
     CANCELLING = 12,
-    CANCELED = 13
+    CANCELED = 13,
+    QUEUED = 14,
+    DEQUEUING = 15,
+    REQUEUED = 16
   };
 };
 
@@ -182,10 +185,11 @@
 }
 
 typedef struct _ProcessStatus__isset {
-  _ProcessStatus__isset() : timeOfStateChange(false), reason(false), statusId(false) {}
+  _ProcessStatus__isset() : timeOfStateChange(false), reason(false), statusId(false), processId(false) {}
   bool timeOfStateChange :1;
   bool reason :1;
   bool statusId :1;
+  bool processId :1;
 } _ProcessStatus__isset;
 
 class ProcessStatus : public virtual ::apache::thrift::TBase {
@@ -193,7 +197,7 @@
 
   ProcessStatus(const ProcessStatus&);
   ProcessStatus& operator=(const ProcessStatus&);
-  ProcessStatus() : state((ProcessState::type)0), timeOfStateChange(0), reason(), statusId() {
+  ProcessStatus() : state((ProcessState::type)0), timeOfStateChange(0), reason(), statusId(), processId() {
   }
 
   virtual ~ProcessStatus() throw();
@@ -201,6 +205,7 @@
   int64_t timeOfStateChange;
   std::string reason;
   std::string statusId;
+  std::string processId;
 
   _ProcessStatus__isset __isset;
 
@@ -212,6 +217,8 @@
 
   void __set_statusId(const std::string& val);
 
+  void __set_processId(const std::string& val);
+
   bool operator == (const ProcessStatus & rhs) const
   {
     if (!(state == rhs.state))
@@ -228,6 +235,10 @@
       return false;
     else if (__isset.statusId && !(statusId == rhs.statusId))
       return false;
+    if (__isset.processId != rhs.__isset.processId)
+      return false;
+    else if (__isset.processId && !(processId == rhs.processId))
+      return false;
     return true;
   }
   bool operator != (const ProcessStatus &rhs) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
index 7e87193..402afad 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.cpp
@@ -1172,6 +1172,138 @@
 }
 
 
+GatewayUsageReportingCommand::~GatewayUsageReportingCommand() throw() {
+}
+
+
+void GatewayUsageReportingCommand::__set_gatewayId(const std::string& val) {
+  this->gatewayId = val;
+}
+
+void GatewayUsageReportingCommand::__set_computeResourceId(const std::string& val) {
+  this->computeResourceId = val;
+}
+
+void GatewayUsageReportingCommand::__set_command(const std::string& val) {
+  this->command = val;
+}
+
+uint32_t GatewayUsageReportingCommand::read(::apache::thrift::protocol::TProtocol* iprot) {
+
+  apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
+  uint32_t xfer = 0;
+  std::string fname;
+  ::apache::thrift::protocol::TType ftype;
+  int16_t fid;
+
+  xfer += iprot->readStructBegin(fname);
+
+  using ::apache::thrift::protocol::TProtocolException;
+
+  bool isset_gatewayId = false;
+  bool isset_computeResourceId = false;
+  bool isset_command = false;
+
+  while (true)
+  {
+    xfer += iprot->readFieldBegin(fname, ftype, fid);
+    if (ftype == ::apache::thrift::protocol::T_STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->gatewayId);
+          isset_gatewayId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 2:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->computeResourceId);
+          isset_computeResourceId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 3:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->command);
+          isset_command = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      default:
+        xfer += iprot->skip(ftype);
+        break;
+    }
+    xfer += iprot->readFieldEnd();
+  }
+
+  xfer += iprot->readStructEnd();
+
+  if (!isset_gatewayId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_computeResourceId)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_command)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
+  return xfer;
+}
+
+uint32_t GatewayUsageReportingCommand::write(::apache::thrift::protocol::TProtocol* oprot) const {
+  uint32_t xfer = 0;
+  apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
+  xfer += oprot->writeStructBegin("GatewayUsageReportingCommand");
+
+  xfer += oprot->writeFieldBegin("gatewayId", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->gatewayId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("computeResourceId", ::apache::thrift::protocol::T_STRING, 2);
+  xfer += oprot->writeString(this->computeResourceId);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldBegin("command", ::apache::thrift::protocol::T_STRING, 3);
+  xfer += oprot->writeString(this->command);
+  xfer += oprot->writeFieldEnd();
+
+  xfer += oprot->writeFieldStop();
+  xfer += oprot->writeStructEnd();
+  return xfer;
+}
+
+void swap(GatewayUsageReportingCommand &a, GatewayUsageReportingCommand &b) {
+  using ::std::swap;
+  swap(a.gatewayId, b.gatewayId);
+  swap(a.computeResourceId, b.computeResourceId);
+  swap(a.command, b.command);
+}
+
+GatewayUsageReportingCommand::GatewayUsageReportingCommand(const GatewayUsageReportingCommand& other21) {
+  gatewayId = other21.gatewayId;
+  computeResourceId = other21.computeResourceId;
+  command = other21.command;
+}
+GatewayUsageReportingCommand& GatewayUsageReportingCommand::operator=(const GatewayUsageReportingCommand& other22) {
+  gatewayId = other22.gatewayId;
+  computeResourceId = other22.computeResourceId;
+  command = other22.command;
+  return *this;
+}
+void GatewayUsageReportingCommand::printTo(std::ostream& out) const {
+  using ::apache::thrift::to_string;
+  out << "GatewayUsageReportingCommand(";
+  out << "gatewayId=" << to_string(gatewayId);
+  out << ", " << "computeResourceId=" << to_string(computeResourceId);
+  out << ", " << "command=" << to_string(command);
+  out << ")";
+}
+
+
 Notification::~Notification() throw() {
 }
 
@@ -1295,9 +1427,9 @@
         break;
       case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast21;
-          xfer += iprot->readI32(ecast21);
-          this->priority = (NotificationPriority::type)ecast21;
+          int32_t ecast23;
+          xfer += iprot->readI32(ecast23);
+          this->priority = (NotificationPriority::type)ecast23;
           this->__isset.priority = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1381,27 +1513,27 @@
   swap(a.__isset, b.__isset);
 }
 
-Notification::Notification(const Notification& other22) {
-  notificationId = other22.notificationId;
-  gatewayId = other22.gatewayId;
-  title = other22.title;
-  notificationMessage = other22.notificationMessage;
-  creationTime = other22.creationTime;
-  publishedTime = other22.publishedTime;
-  expirationTime = other22.expirationTime;
-  priority = other22.priority;
-  __isset = other22.__isset;
+Notification::Notification(const Notification& other24) {
+  notificationId = other24.notificationId;
+  gatewayId = other24.gatewayId;
+  title = other24.title;
+  notificationMessage = other24.notificationMessage;
+  creationTime = other24.creationTime;
+  publishedTime = other24.publishedTime;
+  expirationTime = other24.expirationTime;
+  priority = other24.priority;
+  __isset = other24.__isset;
 }
-Notification& Notification::operator=(const Notification& other23) {
-  notificationId = other23.notificationId;
-  gatewayId = other23.gatewayId;
-  title = other23.title;
-  notificationMessage = other23.notificationMessage;
-  creationTime = other23.creationTime;
-  publishedTime = other23.publishedTime;
-  expirationTime = other23.expirationTime;
-  priority = other23.priority;
-  __isset = other23.__isset;
+Notification& Notification::operator=(const Notification& other25) {
+  notificationId = other25.notificationId;
+  gatewayId = other25.gatewayId;
+  title = other25.title;
+  notificationMessage = other25.notificationMessage;
+  creationTime = other25.creationTime;
+  publishedTime = other25.publishedTime;
+  expirationTime = other25.expirationTime;
+  priority = other25.priority;
+  __isset = other25.__isset;
   return *this;
 }
 void Notification::printTo(std::ostream& out) const {
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
index 5a4cefb..141257c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/workspace_model_types.h
@@ -71,6 +71,8 @@
 
 class Gateway;
 
+class GatewayUsageReportingCommand;
+
 class Notification;
 
 typedef struct _Group__isset {
@@ -494,6 +496,56 @@
   return out;
 }
 
+
+class GatewayUsageReportingCommand : public virtual ::apache::thrift::TBase {
+ public:
+
+  GatewayUsageReportingCommand(const GatewayUsageReportingCommand&);
+  GatewayUsageReportingCommand& operator=(const GatewayUsageReportingCommand&);
+  GatewayUsageReportingCommand() : gatewayId(), computeResourceId(), command() {
+  }
+
+  virtual ~GatewayUsageReportingCommand() throw();
+  std::string gatewayId;
+  std::string computeResourceId;
+  std::string command;
+
+  void __set_gatewayId(const std::string& val);
+
+  void __set_computeResourceId(const std::string& val);
+
+  void __set_command(const std::string& val);
+
+  bool operator == (const GatewayUsageReportingCommand & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(computeResourceId == rhs.computeResourceId))
+      return false;
+    if (!(command == rhs.command))
+      return false;
+    return true;
+  }
+  bool operator != (const GatewayUsageReportingCommand &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const GatewayUsageReportingCommand & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
+
+void swap(GatewayUsageReportingCommand &a, GatewayUsageReportingCommand &b);
+
+inline std::ostream& operator<<(std::ostream& out, const GatewayUsageReportingCommand& obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
 typedef struct _Notification__isset {
   _Notification__isset() : notificationId(false), creationTime(false), publishedTime(false), expirationTime(false), priority(false) {}
   bool notificationId :1;
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index a296cec..c522dd1 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -533,6 +533,12 @@
    * @param resourceHostName
    *       Hostname id substring with which to further filter statistics.
    * 
+   * @param limit
+   *       Amount of results to be fetched.
+   * 
+   * @param offset
+   *       The starting point of the results to be fetched.
+   * 
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
@@ -542,13 +548,15 @@
    * @param string $userName
    * @param string $applicationName
    * @param string $resourceHostName
+   * @param int $limit
+   * @param int $offset
    * @return \Airavata\Model\Experiment\ExperimentStatistics
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName);
+  public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName, $limit, $offset);
   /**
    * 
    * Get All Experiments of the Project
@@ -1088,6 +1096,53 @@
    */
   public function getIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId);
   /**
+   * Request fetching of output files for an experiment that is still executing.
+   * This method results in a new Process being created for the Experiment with
+   * tasks for fetching each output file.
+   * 
+   * @param authzToken
+   * 
+   * @param airavataExperimentId
+   *     Experiment ID of the experiment
+   * 
+   * @param outputNames
+   *     List of names of the experiment's outputs to fetch.
+   * 
+   * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
+   * @param string $airavataExperimentId
+   * @param string[] $outputNames
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
+   */
+  public function fetchIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, array $outputNames);
+  /**
+   * Get the status of the most recent intermediate output fetching process for the given output names.
+   * 
+   * @param authzToken
+   * 
+   * @param airavataExperimentId
+   *     Experiment ID of the experiment
+   * 
+   * @param outputNames
+   *     List of names of the experiment's outputs to fetch.
+   * 
+   * 
+   * @param \Airavata\Model\Security\AuthzToken $authzToken
+   * @param string $airavataExperimentId
+   * @param string[] $outputNames
+   * @return \Airavata\Model\Status\ProcessStatus
+   * @throws \Airavata\API\Error\InvalidRequestException
+   * @throws \Airavata\API\Error\ExperimentNotFoundException
+   * @throws \Airavata\API\Error\AiravataClientException
+   * @throws \Airavata\API\Error\AiravataSystemException
+   * @throws \Airavata\API\Error\AuthorizationException
+   */
+  public function getIntermediateOutputProcessStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, array $outputNames);
+  /**
    * 
    * Get Job Statuses for an Experiment
    * This method to be used when need to get the job status of an Experiment. An experiment may have one or many jobs; there for one or many job statuses may turnup
@@ -6022,13 +6077,13 @@
     throw new \Exception("searchExperiments failed: unknown result");
   }
 
-  public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName)
+  public function getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName, $limit, $offset)
   {
-    $this->send_getExperimentStatistics($authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName);
+    $this->send_getExperimentStatistics($authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName, $limit, $offset);
     return $this->recv_getExperimentStatistics();
   }
 
-  public function send_getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName)
+  public function send_getExperimentStatistics(\Airavata\Model\Security\AuthzToken $authzToken, $gatewayId, $fromTime, $toTime, $userName, $applicationName, $resourceHostName, $limit, $offset)
   {
     $args = new \Airavata\API\Airavata_getExperimentStatistics_args();
     $args->authzToken = $authzToken;
@@ -6038,6 +6093,8 @@
     $args->userName = $userName;
     $args->applicationName = $applicationName;
     $args->resourceHostName = $resourceHostName;
+    $args->limit = $limit;
+    $args->offset = $offset;
     $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
     if ($bin_accel)
     {
@@ -7061,6 +7118,139 @@
     throw new \Exception("getIntermediateOutputs failed: unknown result");
   }
 
+  public function fetchIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, array $outputNames)
+  {
+    $this->send_fetchIntermediateOutputs($authzToken, $airavataExperimentId, $outputNames);
+    $this->recv_fetchIntermediateOutputs();
+  }
+
+  public function send_fetchIntermediateOutputs(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, array $outputNames)
+  {
+    $args = new \Airavata\API\Airavata_fetchIntermediateOutputs_args();
+    $args->authzToken = $authzToken;
+    $args->airavataExperimentId = $airavataExperimentId;
+    $args->outputNames = $outputNames;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'fetchIntermediateOutputs', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('fetchIntermediateOutputs', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_fetchIntermediateOutputs()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_fetchIntermediateOutputs_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_fetchIntermediateOutputs_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
+    return;
+  }
+
+  public function getIntermediateOutputProcessStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, array $outputNames)
+  {
+    $this->send_getIntermediateOutputProcessStatus($authzToken, $airavataExperimentId, $outputNames);
+    return $this->recv_getIntermediateOutputProcessStatus();
+  }
+
+  public function send_getIntermediateOutputProcessStatus(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId, array $outputNames)
+  {
+    $args = new \Airavata\API\Airavata_getIntermediateOutputProcessStatus_args();
+    $args->authzToken = $authzToken;
+    $args->airavataExperimentId = $airavataExperimentId;
+    $args->outputNames = $outputNames;
+    $bin_accel = ($this->output_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_write_binary');
+    if ($bin_accel)
+    {
+      thrift_protocol_write_binary($this->output_, 'getIntermediateOutputProcessStatus', TMessageType::CALL, $args, $this->seqid_, $this->output_->isStrictWrite());
+    }
+    else
+    {
+      $this->output_->writeMessageBegin('getIntermediateOutputProcessStatus', TMessageType::CALL, $this->seqid_);
+      $args->write($this->output_);
+      $this->output_->writeMessageEnd();
+      $this->output_->getTransport()->flush();
+    }
+  }
+
+  public function recv_getIntermediateOutputProcessStatus()
+  {
+    $bin_accel = ($this->input_ instanceof TBinaryProtocolAccelerated) && function_exists('thrift_protocol_read_binary');
+    if ($bin_accel) $result = thrift_protocol_read_binary($this->input_, '\Airavata\API\Airavata_getIntermediateOutputProcessStatus_result', $this->input_->isStrictRead());
+    else
+    {
+      $rseqid = 0;
+      $fname = null;
+      $mtype = 0;
+
+      $this->input_->readMessageBegin($fname, $mtype, $rseqid);
+      if ($mtype == TMessageType::EXCEPTION) {
+        $x = new TApplicationException();
+        $x->read($this->input_);
+        $this->input_->readMessageEnd();
+        throw $x;
+      }
+      $result = new \Airavata\API\Airavata_getIntermediateOutputProcessStatus_result();
+      $result->read($this->input_);
+      $this->input_->readMessageEnd();
+    }
+    if ($result->success !== null) {
+      return $result->success;
+    }
+    if ($result->ire !== null) {
+      throw $result->ire;
+    }
+    if ($result->enf !== null) {
+      throw $result->enf;
+    }
+    if ($result->ace !== null) {
+      throw $result->ace;
+    }
+    if ($result->ase !== null) {
+      throw $result->ase;
+    }
+    if ($result->ae !== null) {
+      throw $result->ae;
+    }
+    throw new \Exception("getIntermediateOutputProcessStatus failed: unknown result");
+  }
+
   public function getJobStatuses(\Airavata\Model\Security\AuthzToken $authzToken, $airavataExperimentId)
   {
     $this->send_getJobStatuses($authzToken, $airavataExperimentId);
@@ -24686,6 +24876,14 @@
    * @var string
    */
   public $resourceHostName = null;
+  /**
+   * @var int
+   */
+  public $limit = 50;
+  /**
+   * @var int
+   */
+  public $offset = 0;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -24719,6 +24917,14 @@
           'var' => 'resourceHostName',
           'type' => TType::STRING,
           ),
+        8 => array(
+          'var' => 'limit',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'offset',
+          'type' => TType::I32,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -24743,6 +24949,12 @@
       if (isset($vals['resourceHostName'])) {
         $this->resourceHostName = $vals['resourceHostName'];
       }
+      if (isset($vals['limit'])) {
+        $this->limit = $vals['limit'];
+      }
+      if (isset($vals['offset'])) {
+        $this->offset = $vals['offset'];
+      }
     }
   }
 
@@ -24815,6 +25027,20 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->limit);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->offset);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -24866,6 +25092,16 @@
       $xfer += $output->writeString($this->resourceHostName);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->limit !== null) {
+      $xfer += $output->writeFieldBegin('limit', TType::I32, 8);
+      $xfer += $output->writeI32($this->limit);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->offset !== null) {
+      $xfer += $output->writeFieldBegin('offset', TType::I32, 9);
+      $xfer += $output->writeI32($this->offset);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -29613,6 +29849,692 @@
 
 }
 
+class Airavata_fetchIntermediateOutputs_args {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
+   * @var string
+   */
+  public $airavataExperimentId = null;
+  /**
+   * @var string[]
+   */
+  public $outputNames = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
+          'var' => 'airavataExperimentId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'outputNames',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
+      if (isset($vals['airavataExperimentId'])) {
+        $this->airavataExperimentId = $vals['airavataExperimentId'];
+      }
+      if (isset($vals['outputNames'])) {
+        $this->outputNames = $vals['outputNames'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_fetchIntermediateOutputs_args';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->airavataExperimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->outputNames = array();
+            $_size95 = 0;
+            $_etype98 = 0;
+            $xfer += $input->readListBegin($_etype98, $_size95);
+            for ($_i99 = 0; $_i99 < $_size95; ++$_i99)
+            {
+              $elem100 = null;
+              $xfer += $input->readString($elem100);
+              $this->outputNames []= $elem100;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_fetchIntermediateOutputs_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->airavataExperimentId !== null) {
+      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
+      $xfer += $output->writeString($this->airavataExperimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->outputNames !== null) {
+      if (!is_array($this->outputNames)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('outputNames', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->outputNames));
+        {
+          foreach ($this->outputNames as $iter101)
+          {
+            $xfer += $output->writeString($iter101);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_fetchIntermediateOutputs_result {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\API\Error\InvalidRequestException
+   */
+  public $ire = null;
+  /**
+   * @var \Airavata\API\Error\ExperimentNotFoundException
+   */
+  public $enf = null;
+  /**
+   * @var \Airavata\API\Error\AiravataClientException
+   */
+  public $ace = null;
+  /**
+   * @var \Airavata\API\Error\AiravataSystemException
+   */
+  public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'enf',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
+          ),
+        3 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        4 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        5 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['enf'])) {
+        $this->enf = $vals['enf'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_fetchIntermediateOutputs_result';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->enf = new \Airavata\API\Error\ExperimentNotFoundException();
+            $xfer += $this->enf->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_fetchIntermediateOutputs_result');
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enf !== null) {
+      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
+      $xfer += $this->enf->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 4);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getIntermediateOutputProcessStatus_args {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\Model\Security\AuthzToken
+   */
+  public $authzToken = null;
+  /**
+   * @var string
+   */
+  public $airavataExperimentId = null;
+  /**
+   * @var string[]
+   */
+  public $outputNames = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'authzToken',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Security\AuthzToken',
+          ),
+        2 => array(
+          'var' => 'airavataExperimentId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'outputNames',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['authzToken'])) {
+        $this->authzToken = $vals['authzToken'];
+      }
+      if (isset($vals['airavataExperimentId'])) {
+        $this->airavataExperimentId = $vals['airavataExperimentId'];
+      }
+      if (isset($vals['outputNames'])) {
+        $this->outputNames = $vals['outputNames'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getIntermediateOutputProcessStatus_args';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->authzToken = new \Airavata\Model\Security\AuthzToken();
+            $xfer += $this->authzToken->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->airavataExperimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->outputNames = array();
+            $_size102 = 0;
+            $_etype105 = 0;
+            $xfer += $input->readListBegin($_etype105, $_size102);
+            for ($_i106 = 0; $_i106 < $_size102; ++$_i106)
+            {
+              $elem107 = null;
+              $xfer += $input->readString($elem107);
+              $this->outputNames []= $elem107;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_getIntermediateOutputProcessStatus_args');
+    if ($this->authzToken !== null) {
+      if (!is_object($this->authzToken)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('authzToken', TType::STRUCT, 1);
+      $xfer += $this->authzToken->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->airavataExperimentId !== null) {
+      $xfer += $output->writeFieldBegin('airavataExperimentId', TType::STRING, 2);
+      $xfer += $output->writeString($this->airavataExperimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->outputNames !== null) {
+      if (!is_array($this->outputNames)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('outputNames', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->outputNames));
+        {
+          foreach ($this->outputNames as $iter108)
+          {
+            $xfer += $output->writeString($iter108);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class Airavata_getIntermediateOutputProcessStatus_result {
+  static $_TSPEC;
+
+  /**
+   * @var \Airavata\Model\Status\ProcessStatus
+   */
+  public $success = null;
+  /**
+   * @var \Airavata\API\Error\InvalidRequestException
+   */
+  public $ire = null;
+  /**
+   * @var \Airavata\API\Error\ExperimentNotFoundException
+   */
+  public $enf = null;
+  /**
+   * @var \Airavata\API\Error\AiravataClientException
+   */
+  public $ace = null;
+  /**
+   * @var \Airavata\API\Error\AiravataSystemException
+   */
+  public $ase = null;
+  /**
+   * @var \Airavata\API\Error\AuthorizationException
+   */
+  public $ae = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        0 => array(
+          'var' => 'success',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\Model\Status\ProcessStatus',
+          ),
+        1 => array(
+          'var' => 'ire',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\InvalidRequestException',
+          ),
+        2 => array(
+          'var' => 'enf',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\ExperimentNotFoundException',
+          ),
+        3 => array(
+          'var' => 'ace',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataClientException',
+          ),
+        4 => array(
+          'var' => 'ase',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AiravataSystemException',
+          ),
+        5 => array(
+          'var' => 'ae',
+          'type' => TType::STRUCT,
+          'class' => '\Airavata\API\Error\AuthorizationException',
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['success'])) {
+        $this->success = $vals['success'];
+      }
+      if (isset($vals['ire'])) {
+        $this->ire = $vals['ire'];
+      }
+      if (isset($vals['enf'])) {
+        $this->enf = $vals['enf'];
+      }
+      if (isset($vals['ace'])) {
+        $this->ace = $vals['ace'];
+      }
+      if (isset($vals['ase'])) {
+        $this->ase = $vals['ase'];
+      }
+      if (isset($vals['ae'])) {
+        $this->ae = $vals['ae'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'Airavata_getIntermediateOutputProcessStatus_result';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 0:
+          if ($ftype == TType::STRUCT) {
+            $this->success = new \Airavata\Model\Status\ProcessStatus();
+            $xfer += $this->success->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 1:
+          if ($ftype == TType::STRUCT) {
+            $this->ire = new \Airavata\API\Error\InvalidRequestException();
+            $xfer += $this->ire->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRUCT) {
+            $this->enf = new \Airavata\API\Error\ExperimentNotFoundException();
+            $xfer += $this->enf->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRUCT) {
+            $this->ace = new \Airavata\API\Error\AiravataClientException();
+            $xfer += $this->ace->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRUCT) {
+            $this->ase = new \Airavata\API\Error\AiravataSystemException();
+            $xfer += $this->ase->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRUCT) {
+            $this->ae = new \Airavata\API\Error\AuthorizationException();
+            $xfer += $this->ae->read($input);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('Airavata_getIntermediateOutputProcessStatus_result');
+    if ($this->success !== null) {
+      if (!is_object($this->success)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $this->success->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ire !== null) {
+      $xfer += $output->writeFieldBegin('ire', TType::STRUCT, 1);
+      $xfer += $this->ire->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->enf !== null) {
+      $xfer += $output->writeFieldBegin('enf', TType::STRUCT, 2);
+      $xfer += $this->enf->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ace !== null) {
+      $xfer += $output->writeFieldBegin('ace', TType::STRUCT, 3);
+      $xfer += $this->ace->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ase !== null) {
+      $xfer += $output->writeFieldBegin('ase', TType::STRUCT, 4);
+      $xfer += $this->ase->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->ae !== null) {
+      $xfer += $output->writeFieldBegin('ae', TType::STRUCT, 5);
+      $xfer += $this->ae->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class Airavata_getJobStatuses_args {
   static $_TSPEC;
 
@@ -29831,18 +30753,18 @@
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size95 = 0;
-            $_ktype96 = 0;
-            $_vtype97 = 0;
-            $xfer += $input->readMapBegin($_ktype96, $_vtype97, $_size95);
-            for ($_i99 = 0; $_i99 < $_size95; ++$_i99)
+            $_size109 = 0;
+            $_ktype110 = 0;
+            $_vtype111 = 0;
+            $xfer += $input->readMapBegin($_ktype110, $_vtype111, $_size109);
+            for ($_i113 = 0; $_i113 < $_size109; ++$_i113)
             {
-              $key100 = '';
-              $val101 = new \Airavata\Model\Status\JobStatus();
-              $xfer += $input->readString($key100);
-              $val101 = new \Airavata\Model\Status\JobStatus();
-              $xfer += $val101->read($input);
-              $this->success[$key100] = $val101;
+              $key114 = '';
+              $val115 = new \Airavata\Model\Status\JobStatus();
+              $xfer += $input->readString($key114);
+              $val115 = new \Airavata\Model\Status\JobStatus();
+              $xfer += $val115->read($input);
+              $this->success[$key114] = $val115;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -29910,10 +30832,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $kiter102 => $viter103)
+          foreach ($this->success as $kiter116 => $viter117)
           {
-            $xfer += $output->writeString($kiter102);
-            $xfer += $viter103->write($output);
+            $xfer += $output->writeString($kiter116);
+            $xfer += $viter117->write($output);
           }
         }
         $output->writeMapEnd();
@@ -30166,15 +31088,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size104 = 0;
-            $_etype107 = 0;
-            $xfer += $input->readListBegin($_etype107, $_size104);
-            for ($_i108 = 0; $_i108 < $_size104; ++$_i108)
+            $_size118 = 0;
+            $_etype121 = 0;
+            $xfer += $input->readListBegin($_etype121, $_size118);
+            for ($_i122 = 0; $_i122 < $_size118; ++$_i122)
             {
-              $elem109 = null;
-              $elem109 = new \Airavata\Model\Job\JobModel();
-              $xfer += $elem109->read($input);
-              $this->success []= $elem109;
+              $elem123 = null;
+              $elem123 = new \Airavata\Model\Job\JobModel();
+              $xfer += $elem123->read($input);
+              $this->success []= $elem123;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -30242,9 +31164,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter110)
+          foreach ($this->success as $iter124)
           {
-            $xfer += $iter110->write($output);
+            $xfer += $iter124->write($output);
           }
         }
         $output->writeListEnd();
@@ -32431,15 +33353,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size111 = 0;
-            $_etype114 = 0;
-            $xfer += $input->readListBegin($_etype114, $_size111);
-            for ($_i115 = 0; $_i115 < $_size111; ++$_i115)
+            $_size125 = 0;
+            $_etype128 = 0;
+            $xfer += $input->readListBegin($_etype128, $_size125);
+            for ($_i129 = 0; $_i129 < $_size125; ++$_i129)
             {
-              $elem116 = null;
-              $elem116 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule();
-              $xfer += $elem116->read($input);
-              $this->success []= $elem116;
+              $elem130 = null;
+              $elem130 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule();
+              $xfer += $elem130->read($input);
+              $this->success []= $elem130;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -32499,9 +33421,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter117)
+          foreach ($this->success as $iter131)
           {
-            $xfer += $iter117->write($output);
+            $xfer += $iter131->write($output);
           }
         }
         $output->writeListEnd();
@@ -32737,15 +33659,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size118 = 0;
-            $_etype121 = 0;
-            $xfer += $input->readListBegin($_etype121, $_size118);
-            for ($_i122 = 0; $_i122 < $_size118; ++$_i122)
+            $_size132 = 0;
+            $_etype135 = 0;
+            $xfer += $input->readListBegin($_etype135, $_size132);
+            for ($_i136 = 0; $_i136 < $_size132; ++$_i136)
             {
-              $elem123 = null;
-              $elem123 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule();
-              $xfer += $elem123->read($input);
-              $this->success []= $elem123;
+              $elem137 = null;
+              $elem137 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationModule();
+              $xfer += $elem137->read($input);
+              $this->success []= $elem137;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -32805,9 +33727,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter124)
+          foreach ($this->success as $iter138)
           {
-            $xfer += $iter124->write($output);
+            $xfer += $iter138->write($output);
           }
         }
         $output->writeListEnd();
@@ -34494,15 +35416,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size125 = 0;
-            $_etype128 = 0;
-            $xfer += $input->readListBegin($_etype128, $_size125);
-            for ($_i129 = 0; $_i129 < $_size125; ++$_i129)
+            $_size139 = 0;
+            $_etype142 = 0;
+            $xfer += $input->readListBegin($_etype142, $_size139);
+            for ($_i143 = 0; $_i143 < $_size139; ++$_i143)
             {
-              $elem130 = null;
-              $elem130 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
-              $xfer += $elem130->read($input);
-              $this->success []= $elem130;
+              $elem144 = null;
+              $elem144 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
+              $xfer += $elem144->read($input);
+              $this->success []= $elem144;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -34562,9 +35484,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter131)
+          foreach ($this->success as $iter145)
           {
-            $xfer += $iter131->write($output);
+            $xfer += $iter145->write($output);
           }
         }
         $output->writeListEnd();
@@ -34823,15 +35745,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size132 = 0;
-            $_etype135 = 0;
-            $xfer += $input->readListBegin($_etype135, $_size132);
-            for ($_i136 = 0; $_i136 < $_size132; ++$_i136)
+            $_size146 = 0;
+            $_etype149 = 0;
+            $xfer += $input->readListBegin($_etype149, $_size146);
+            for ($_i150 = 0; $_i150 < $_size146; ++$_i150)
             {
-              $elem137 = null;
-              $elem137 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
-              $xfer += $elem137->read($input);
-              $this->success []= $elem137;
+              $elem151 = null;
+              $elem151 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
+              $xfer += $elem151->read($input);
+              $this->success []= $elem151;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -34891,9 +35813,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter138)
+          foreach ($this->success as $iter152)
           {
-            $xfer += $iter138->write($output);
+            $xfer += $iter152->write($output);
           }
         }
         $output->writeListEnd();
@@ -35128,14 +36050,14 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size139 = 0;
-            $_etype142 = 0;
-            $xfer += $input->readListBegin($_etype142, $_size139);
-            for ($_i143 = 0; $_i143 < $_size139; ++$_i143)
+            $_size153 = 0;
+            $_etype156 = 0;
+            $xfer += $input->readListBegin($_etype156, $_size153);
+            for ($_i157 = 0; $_i157 < $_size153; ++$_i157)
             {
-              $elem144 = null;
-              $xfer += $input->readString($elem144);
-              $this->success []= $elem144;
+              $elem158 = null;
+              $xfer += $input->readString($elem158);
+              $this->success []= $elem158;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -35195,9 +36117,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter145)
+          foreach ($this->success as $iter159)
           {
-            $xfer += $output->writeString($iter145);
+            $xfer += $output->writeString($iter159);
           }
         }
         $output->writeListEnd();
@@ -35456,15 +36378,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size146 = 0;
-            $_etype149 = 0;
-            $xfer += $input->readListBegin($_etype149, $_size146);
-            for ($_i150 = 0; $_i150 < $_size146; ++$_i150)
+            $_size160 = 0;
+            $_etype163 = 0;
+            $xfer += $input->readListBegin($_etype163, $_size160);
+            for ($_i164 = 0; $_i164 < $_size160; ++$_i164)
             {
-              $elem151 = null;
-              $elem151 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
-              $xfer += $elem151->read($input);
-              $this->success []= $elem151;
+              $elem165 = null;
+              $elem165 = new \Airavata\Model\AppCatalog\AppDeployment\ApplicationDeploymentDescription();
+              $xfer += $elem165->read($input);
+              $this->success []= $elem165;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -35524,9 +36446,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter152)
+          foreach ($this->success as $iter166)
           {
-            $xfer += $iter152->write($output);
+            $xfer += $iter166->write($output);
           }
         }
         $output->writeListEnd();
@@ -37262,17 +38184,17 @@
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size153 = 0;
-            $_ktype154 = 0;
-            $_vtype155 = 0;
-            $xfer += $input->readMapBegin($_ktype154, $_vtype155, $_size153);
-            for ($_i157 = 0; $_i157 < $_size153; ++$_i157)
+            $_size167 = 0;
+            $_ktype168 = 0;
+            $_vtype169 = 0;
+            $xfer += $input->readMapBegin($_ktype168, $_vtype169, $_size167);
+            for ($_i171 = 0; $_i171 < $_size167; ++$_i171)
             {
-              $key158 = '';
-              $val159 = '';
-              $xfer += $input->readString($key158);
-              $xfer += $input->readString($val159);
-              $this->success[$key158] = $val159;
+              $key172 = '';
+              $val173 = '';
+              $xfer += $input->readString($key172);
+              $xfer += $input->readString($val173);
+              $this->success[$key172] = $val173;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -37332,10 +38254,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
         {
-          foreach ($this->success as $kiter160 => $viter161)
+          foreach ($this->success as $kiter174 => $viter175)
           {
-            $xfer += $output->writeString($kiter160);
-            $xfer += $output->writeString($viter161);
+            $xfer += $output->writeString($kiter174);
+            $xfer += $output->writeString($viter175);
           }
         }
         $output->writeMapEnd();
@@ -37571,15 +38493,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size162 = 0;
-            $_etype165 = 0;
-            $xfer += $input->readListBegin($_etype165, $_size162);
-            for ($_i166 = 0; $_i166 < $_size162; ++$_i166)
+            $_size176 = 0;
+            $_etype179 = 0;
+            $xfer += $input->readListBegin($_etype179, $_size176);
+            for ($_i180 = 0; $_i180 < $_size176; ++$_i180)
             {
-              $elem167 = null;
-              $elem167 = new \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription();
-              $xfer += $elem167->read($input);
-              $this->success []= $elem167;
+              $elem181 = null;
+              $elem181 = new \Airavata\Model\AppCatalog\AppInterface\ApplicationInterfaceDescription();
+              $xfer += $elem181->read($input);
+              $this->success []= $elem181;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -37639,9 +38561,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter168)
+          foreach ($this->success as $iter182)
           {
-            $xfer += $iter168->write($output);
+            $xfer += $iter182->write($output);
           }
         }
         $output->writeListEnd();
@@ -37877,15 +38799,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size169 = 0;
-            $_etype172 = 0;
-            $xfer += $input->readListBegin($_etype172, $_size169);
-            for ($_i173 = 0; $_i173 < $_size169; ++$_i173)
+            $_size183 = 0;
+            $_etype186 = 0;
+            $xfer += $input->readListBegin($_etype186, $_size183);
+            for ($_i187 = 0; $_i187 < $_size183; ++$_i187)
             {
-              $elem174 = null;
-              $elem174 = new \Airavata\Model\Application\Io\InputDataObjectType();
-              $xfer += $elem174->read($input);
-              $this->success []= $elem174;
+              $elem188 = null;
+              $elem188 = new \Airavata\Model\Application\Io\InputDataObjectType();
+              $xfer += $elem188->read($input);
+              $this->success []= $elem188;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -37945,9 +38867,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter175)
+          foreach ($this->success as $iter189)
           {
-            $xfer += $iter175->write($output);
+            $xfer += $iter189->write($output);
           }
         }
         $output->writeListEnd();
@@ -38183,15 +39105,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size176 = 0;
-            $_etype179 = 0;
-            $xfer += $input->readListBegin($_etype179, $_size176);
-            for ($_i180 = 0; $_i180 < $_size176; ++$_i180)
+            $_size190 = 0;
+            $_etype193 = 0;
+            $xfer += $input->readListBegin($_etype193, $_size190);
+            for ($_i194 = 0; $_i194 < $_size190; ++$_i194)
             {
-              $elem181 = null;
-              $elem181 = new \Airavata\Model\Application\Io\OutputDataObjectType();
-              $xfer += $elem181->read($input);
-              $this->success []= $elem181;
+              $elem195 = null;
+              $elem195 = new \Airavata\Model\Application\Io\OutputDataObjectType();
+              $xfer += $elem195->read($input);
+              $this->success []= $elem195;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -38251,9 +39173,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter182)
+          foreach ($this->success as $iter196)
           {
-            $xfer += $iter182->write($output);
+            $xfer += $iter196->write($output);
           }
         }
         $output->writeListEnd();
@@ -38492,17 +39414,17 @@
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size183 = 0;
-            $_ktype184 = 0;
-            $_vtype185 = 0;
-            $xfer += $input->readMapBegin($_ktype184, $_vtype185, $_size183);
-            for ($_i187 = 0; $_i187 < $_size183; ++$_i187)
+            $_size197 = 0;
+            $_ktype198 = 0;
+            $_vtype199 = 0;
+            $xfer += $input->readMapBegin($_ktype198, $_vtype199, $_size197);
+            for ($_i201 = 0; $_i201 < $_size197; ++$_i201)
             {
-              $key188 = '';
-              $val189 = '';
-              $xfer += $input->readString($key188);
-              $xfer += $input->readString($val189);
-              $this->success[$key188] = $val189;
+              $key202 = '';
+              $val203 = '';
+              $xfer += $input->readString($key202);
+              $xfer += $input->readString($val203);
+              $this->success[$key202] = $val203;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -38562,10 +39484,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
         {
-          foreach ($this->success as $kiter190 => $viter191)
+          foreach ($this->success as $kiter204 => $viter205)
           {
-            $xfer += $output->writeString($kiter190);
-            $xfer += $output->writeString($viter191);
+            $xfer += $output->writeString($kiter204);
+            $xfer += $output->writeString($viter205);
           }
         }
         $output->writeMapEnd();
@@ -39347,17 +40269,17 @@
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size192 = 0;
-            $_ktype193 = 0;
-            $_vtype194 = 0;
-            $xfer += $input->readMapBegin($_ktype193, $_vtype194, $_size192);
-            for ($_i196 = 0; $_i196 < $_size192; ++$_i196)
+            $_size206 = 0;
+            $_ktype207 = 0;
+            $_vtype208 = 0;
+            $xfer += $input->readMapBegin($_ktype207, $_vtype208, $_size206);
+            for ($_i210 = 0; $_i210 < $_size206; ++$_i210)
             {
-              $key197 = '';
-              $val198 = '';
-              $xfer += $input->readString($key197);
-              $xfer += $input->readString($val198);
-              $this->success[$key197] = $val198;
+              $key211 = '';
+              $val212 = '';
+              $xfer += $input->readString($key211);
+              $xfer += $input->readString($val212);
+              $this->success[$key211] = $val212;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -39417,10 +40339,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
         {
-          foreach ($this->success as $kiter199 => $viter200)
+          foreach ($this->success as $kiter213 => $viter214)
           {
-            $xfer += $output->writeString($kiter199);
-            $xfer += $output->writeString($viter200);
+            $xfer += $output->writeString($kiter213);
+            $xfer += $output->writeString($viter214);
           }
         }
         $output->writeMapEnd();
@@ -40786,17 +41708,17 @@
         case 0:
           if ($ftype == TType::MAP) {
             $this->success = array();
-            $_size201 = 0;
-            $_ktype202 = 0;
-            $_vtype203 = 0;
-            $xfer += $input->readMapBegin($_ktype202, $_vtype203, $_size201);
-            for ($_i205 = 0; $_i205 < $_size201; ++$_i205)
+            $_size215 = 0;
+            $_ktype216 = 0;
+            $_vtype217 = 0;
+            $xfer += $input->readMapBegin($_ktype216, $_vtype217, $_size215);
+            for ($_i219 = 0; $_i219 < $_size215; ++$_i219)
             {
-              $key206 = '';
-              $val207 = '';
-              $xfer += $input->readString($key206);
-              $xfer += $input->readString($val207);
-              $this->success[$key206] = $val207;
+              $key220 = '';
+              $val221 = '';
+              $xfer += $input->readString($key220);
+              $xfer += $input->readString($val221);
+              $this->success[$key220] = $val221;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -40856,10 +41778,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->success));
         {
-          foreach ($this->success as $kiter208 => $viter209)
+          foreach ($this->success as $kiter222 => $viter223)
           {
-            $xfer += $output->writeString($kiter208);
-            $xfer += $output->writeString($viter209);
+            $xfer += $output->writeString($kiter222);
+            $xfer += $output->writeString($viter223);
           }
         }
         $output->writeMapEnd();
@@ -49918,17 +50840,17 @@
         case 2:
           if ($ftype == TType::MAP) {
             $this->jobSubmissionPriorityMap = array();
-            $_size210 = 0;
-            $_ktype211 = 0;
-            $_vtype212 = 0;
-            $xfer += $input->readMapBegin($_ktype211, $_vtype212, $_size210);
-            for ($_i214 = 0; $_i214 < $_size210; ++$_i214)
+            $_size224 = 0;
+            $_ktype225 = 0;
+            $_vtype226 = 0;
+            $xfer += $input->readMapBegin($_ktype225, $_vtype226, $_size224);
+            for ($_i228 = 0; $_i228 < $_size224; ++$_i228)
             {
-              $key215 = '';
-              $val216 = 0;
-              $xfer += $input->readString($key215);
-              $xfer += $input->readI32($val216);
-              $this->jobSubmissionPriorityMap[$key215] = $val216;
+              $key229 = '';
+              $val230 = 0;
+              $xfer += $input->readString($key229);
+              $xfer += $input->readI32($val230);
+              $this->jobSubmissionPriorityMap[$key229] = $val230;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -49964,10 +50886,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->jobSubmissionPriorityMap));
         {
-          foreach ($this->jobSubmissionPriorityMap as $kiter217 => $viter218)
+          foreach ($this->jobSubmissionPriorityMap as $kiter231 => $viter232)
           {
-            $xfer += $output->writeString($kiter217);
-            $xfer += $output->writeI32($viter218);
+            $xfer += $output->writeString($kiter231);
+            $xfer += $output->writeI32($viter232);
           }
         }
         $output->writeMapEnd();
@@ -50230,17 +51152,17 @@
         case 2:
           if ($ftype == TType::MAP) {
             $this->dataMovementPriorityMap = array();
-            $_size219 = 0;
-            $_ktype220 = 0;
-            $_vtype221 = 0;
-            $xfer += $input->readMapBegin($_ktype220, $_vtype221, $_size219);
-            for ($_i223 = 0; $_i223 < $_size219; ++$_i223)
+            $_size233 = 0;
+            $_ktype234 = 0;
+            $_vtype235 = 0;
+            $xfer += $input->readMapBegin($_ktype234, $_vtype235, $_size233);
+            for ($_i237 = 0; $_i237 < $_size233; ++$_i237)
             {
-              $key224 = '';
-              $val225 = 0;
-              $xfer += $input->readString($key224);
-              $xfer += $input->readI32($val225);
-              $this->dataMovementPriorityMap[$key224] = $val225;
+              $key238 = '';
+              $val239 = 0;
+              $xfer += $input->readString($key238);
+              $xfer += $input->readI32($val239);
+              $this->dataMovementPriorityMap[$key238] = $val239;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -50276,10 +51198,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->dataMovementPriorityMap));
         {
-          foreach ($this->dataMovementPriorityMap as $kiter226 => $viter227)
+          foreach ($this->dataMovementPriorityMap as $kiter240 => $viter241)
           {
-            $xfer += $output->writeString($kiter226);
-            $xfer += $output->writeI32($viter227);
+            $xfer += $output->writeString($kiter240);
+            $xfer += $output->writeI32($viter241);
           }
         }
         $output->writeMapEnd();
@@ -55166,15 +56088,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size228 = 0;
-            $_etype231 = 0;
-            $xfer += $input->readListBegin($_etype231, $_size228);
-            for ($_i232 = 0; $_i232 < $_size228; ++$_i232)
+            $_size242 = 0;
+            $_etype245 = 0;
+            $xfer += $input->readListBegin($_etype245, $_size242);
+            for ($_i246 = 0; $_i246 < $_size242; ++$_i246)
             {
-              $elem233 = null;
-              $elem233 = new \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference();
-              $xfer += $elem233->read($input);
-              $this->success []= $elem233;
+              $elem247 = null;
+              $elem247 = new \Airavata\Model\AppCatalog\GatewayProfile\ComputeResourcePreference();
+              $xfer += $elem247->read($input);
+              $this->success []= $elem247;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -55234,9 +56156,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter234)
+          foreach ($this->success as $iter248)
           {
-            $xfer += $iter234->write($output);
+            $xfer += $iter248->write($output);
           }
         }
         $output->writeListEnd();
@@ -55472,15 +56394,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size235 = 0;
-            $_etype238 = 0;
-            $xfer += $input->readListBegin($_etype238, $_size235);
-            for ($_i239 = 0; $_i239 < $_size235; ++$_i239)
+            $_size249 = 0;
+            $_etype252 = 0;
+            $xfer += $input->readListBegin($_etype252, $_size249);
+            for ($_i253 = 0; $_i253 < $_size249; ++$_i253)
             {
-              $elem240 = null;
-              $elem240 = new \Airavata\Model\AppCatalog\GatewayProfile\StoragePreference();
-              $xfer += $elem240->read($input);
-              $this->success []= $elem240;
+              $elem254 = null;
+              $elem254 = new \Airavata\Model\AppCatalog\GatewayProfile\StoragePreference();
+              $xfer += $elem254->read($input);
+              $this->success []= $elem254;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -55540,9 +56462,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter241)
+          foreach ($this->success as $iter255)
           {
-            $xfer += $iter241->write($output);
+            $xfer += $iter255->write($output);
           }
         }
         $output->writeListEnd();
@@ -55755,15 +56677,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size242 = 0;
-            $_etype245 = 0;
-            $xfer += $input->readListBegin($_etype245, $_size242);
-            for ($_i246 = 0; $_i246 < $_size242; ++$_i246)
+            $_size256 = 0;
+            $_etype259 = 0;
+            $xfer += $input->readListBegin($_etype259, $_size256);
+            for ($_i260 = 0; $_i260 < $_size256; ++$_i260)
             {
-              $elem247 = null;
-              $elem247 = new \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile();
-              $xfer += $elem247->read($input);
-              $this->success []= $elem247;
+              $elem261 = null;
+              $elem261 = new \Airavata\Model\AppCatalog\GatewayProfile\GatewayResourceProfile();
+              $xfer += $elem261->read($input);
+              $this->success []= $elem261;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -55823,9 +56745,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter248)
+          foreach ($this->success as $iter262)
           {
-            $xfer += $iter248->write($output);
+            $xfer += $iter262->write($output);
           }
         }
         $output->writeListEnd();
@@ -57298,15 +58220,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size249 = 0;
-            $_etype252 = 0;
-            $xfer += $input->readListBegin($_etype252, $_size249);
-            for ($_i253 = 0; $_i253 < $_size249; ++$_i253)
+            $_size263 = 0;
+            $_etype266 = 0;
+            $xfer += $input->readListBegin($_etype266, $_size263);
+            for ($_i267 = 0; $_i267 < $_size263; ++$_i267)
             {
-              $elem254 = null;
-              $elem254 = new \Airavata\Model\AppCatalog\AccountProvisioning\SSHAccountProvisioner();
-              $xfer += $elem254->read($input);
-              $this->success []= $elem254;
+              $elem268 = null;
+              $elem268 = new \Airavata\Model\AppCatalog\AccountProvisioning\SSHAccountProvisioner();
+              $xfer += $elem268->read($input);
+              $this->success []= $elem268;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -57366,9 +58288,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter255)
+          foreach ($this->success as $iter269)
           {
-            $xfer += $iter255->write($output);
+            $xfer += $iter269->write($output);
           }
         }
         $output->writeListEnd();
@@ -61440,15 +62362,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size256 = 0;
-            $_etype259 = 0;
-            $xfer += $input->readListBegin($_etype259, $_size256);
-            for ($_i260 = 0; $_i260 < $_size256; ++$_i260)
+            $_size270 = 0;
+            $_etype273 = 0;
+            $xfer += $input->readListBegin($_etype273, $_size270);
+            for ($_i274 = 0; $_i274 < $_size270; ++$_i274)
             {
-              $elem261 = null;
-              $elem261 = new \Airavata\Model\AppCatalog\UserResourceProfile\UserComputeResourcePreference();
-              $xfer += $elem261->read($input);
-              $this->success []= $elem261;
+              $elem275 = null;
+              $elem275 = new \Airavata\Model\AppCatalog\UserResourceProfile\UserComputeResourcePreference();
+              $xfer += $elem275->read($input);
+              $this->success []= $elem275;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -61508,9 +62430,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter262)
+          foreach ($this->success as $iter276)
           {
-            $xfer += $iter262->write($output);
+            $xfer += $iter276->write($output);
           }
         }
         $output->writeListEnd();
@@ -61769,15 +62691,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size263 = 0;
-            $_etype266 = 0;
-            $xfer += $input->readListBegin($_etype266, $_size263);
-            for ($_i267 = 0; $_i267 < $_size263; ++$_i267)
+            $_size277 = 0;
+            $_etype280 = 0;
+            $xfer += $input->readListBegin($_etype280, $_size277);
+            for ($_i281 = 0; $_i281 < $_size277; ++$_i281)
             {
-              $elem268 = null;
-              $elem268 = new \Airavata\Model\AppCatalog\UserResourceProfile\UserStoragePreference();
-              $xfer += $elem268->read($input);
-              $this->success []= $elem268;
+              $elem282 = null;
+              $elem282 = new \Airavata\Model\AppCatalog\UserResourceProfile\UserStoragePreference();
+              $xfer += $elem282->read($input);
+              $this->success []= $elem282;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -61837,9 +62759,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter269)
+          foreach ($this->success as $iter283)
           {
-            $xfer += $iter269->write($output);
+            $xfer += $iter283->write($output);
           }
         }
         $output->writeListEnd();
@@ -62052,15 +62974,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size270 = 0;
-            $_etype273 = 0;
-            $xfer += $input->readListBegin($_etype273, $_size270);
-            for ($_i274 = 0; $_i274 < $_size270; ++$_i274)
+            $_size284 = 0;
+            $_etype287 = 0;
+            $xfer += $input->readListBegin($_etype287, $_size284);
+            for ($_i288 = 0; $_i288 < $_size284; ++$_i288)
             {
-              $elem275 = null;
-              $elem275 = new \Airavata\Model\AppCatalog\UserResourceProfile\UserResourceProfile();
-              $xfer += $elem275->read($input);
-              $this->success []= $elem275;
+              $elem289 = null;
+              $elem289 = new \Airavata\Model\AppCatalog\UserResourceProfile\UserResourceProfile();
+              $xfer += $elem289->read($input);
+              $this->success []= $elem289;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -62120,9 +63042,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter276)
+          foreach ($this->success as $iter290)
           {
-            $xfer += $iter276->write($output);
+            $xfer += $iter290->write($output);
           }
         }
         $output->writeListEnd();
@@ -63687,15 +64609,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size277 = 0;
-            $_etype280 = 0;
-            $xfer += $input->readListBegin($_etype280, $_size277);
-            for ($_i281 = 0; $_i281 < $_size277; ++$_i281)
+            $_size291 = 0;
+            $_etype294 = 0;
+            $xfer += $input->readListBegin($_etype294, $_size291);
+            for ($_i295 = 0; $_i295 < $_size291; ++$_i295)
             {
-              $elem282 = null;
-              $elem282 = new \Airavata\Model\Status\QueueStatusModel();
-              $xfer += $elem282->read($input);
-              $this->success []= $elem282;
+              $elem296 = null;
+              $elem296 = new \Airavata\Model\Status\QueueStatusModel();
+              $xfer += $elem296->read($input);
+              $this->success []= $elem296;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -63755,9 +64677,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter283)
+          foreach ($this->success as $iter297)
           {
-            $xfer += $iter283->write($output);
+            $xfer += $iter297->write($output);
           }
         }
         $output->writeListEnd();
@@ -65125,15 +66047,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size284 = 0;
-            $_etype287 = 0;
-            $xfer += $input->readListBegin($_etype287, $_size284);
-            for ($_i288 = 0; $_i288 < $_size284; ++$_i288)
+            $_size298 = 0;
+            $_etype301 = 0;
+            $xfer += $input->readListBegin($_etype301, $_size298);
+            for ($_i302 = 0; $_i302 < $_size298; ++$_i302)
             {
-              $elem289 = null;
-              $elem289 = new \Airavata\Model\Data\Replica\DataProductModel();
-              $xfer += $elem289->read($input);
-              $this->success []= $elem289;
+              $elem303 = null;
+              $elem303 = new \Airavata\Model\Data\Replica\DataProductModel();
+              $xfer += $elem303->read($input);
+              $this->success []= $elem303;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -65193,9 +66115,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter290)
+          foreach ($this->success as $iter304)
           {
-            $xfer += $iter290->write($output);
+            $xfer += $iter304->write($output);
           }
         }
         $output->writeListEnd();
@@ -65321,17 +66243,17 @@
         case 4:
           if ($ftype == TType::MAP) {
             $this->userPermissionList = array();
-            $_size291 = 0;
-            $_ktype292 = 0;
-            $_vtype293 = 0;
-            $xfer += $input->readMapBegin($_ktype292, $_vtype293, $_size291);
-            for ($_i295 = 0; $_i295 < $_size291; ++$_i295)
+            $_size305 = 0;
+            $_ktype306 = 0;
+            $_vtype307 = 0;
+            $xfer += $input->readMapBegin($_ktype306, $_vtype307, $_size305);
+            for ($_i309 = 0; $_i309 < $_size305; ++$_i309)
             {
-              $key296 = '';
-              $val297 = 0;
-              $xfer += $input->readString($key296);
-              $xfer += $input->readI32($val297);
-              $this->userPermissionList[$key296] = $val297;
+              $key310 = '';
+              $val311 = 0;
+              $xfer += $input->readString($key310);
+              $xfer += $input->readI32($val311);
+              $this->userPermissionList[$key310] = $val311;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -65372,10 +66294,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->userPermissionList));
         {
-          foreach ($this->userPermissionList as $kiter298 => $viter299)
+          foreach ($this->userPermissionList as $kiter312 => $viter313)
           {
-            $xfer += $output->writeString($kiter298);
-            $xfer += $output->writeI32($viter299);
+            $xfer += $output->writeString($kiter312);
+            $xfer += $output->writeI32($viter313);
           }
         }
         $output->writeMapEnd();
@@ -65656,17 +66578,17 @@
         case 4:
           if ($ftype == TType::MAP) {
             $this->groupPermissionList = array();
-            $_size300 = 0;
-            $_ktype301 = 0;
-            $_vtype302 = 0;
-            $xfer += $input->readMapBegin($_ktype301, $_vtype302, $_size300);
-            for ($_i304 = 0; $_i304 < $_size300; ++$_i304)
+            $_size314 = 0;
+            $_ktype315 = 0;
+            $_vtype316 = 0;
+            $xfer += $input->readMapBegin($_ktype315, $_vtype316, $_size314);
+            for ($_i318 = 0; $_i318 < $_size314; ++$_i318)
             {
-              $key305 = '';
-              $val306 = 0;
-              $xfer += $input->readString($key305);
-              $xfer += $input->readI32($val306);
-              $this->groupPermissionList[$key305] = $val306;
+              $key319 = '';
+              $val320 = 0;
+              $xfer += $input->readString($key319);
+              $xfer += $input->readI32($val320);
+              $this->groupPermissionList[$key319] = $val320;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -65707,10 +66629,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->groupPermissionList));
         {
-          foreach ($this->groupPermissionList as $kiter307 => $viter308)
+          foreach ($this->groupPermissionList as $kiter321 => $viter322)
           {
-            $xfer += $output->writeString($kiter307);
-            $xfer += $output->writeI32($viter308);
+            $xfer += $output->writeString($kiter321);
+            $xfer += $output->writeI32($viter322);
           }
         }
         $output->writeMapEnd();
@@ -65991,17 +66913,17 @@
         case 4:
           if ($ftype == TType::MAP) {
             $this->userPermissionList = array();
-            $_size309 = 0;
-            $_ktype310 = 0;
-            $_vtype311 = 0;
-            $xfer += $input->readMapBegin($_ktype310, $_vtype311, $_size309);
-            for ($_i313 = 0; $_i313 < $_size309; ++$_i313)
+            $_size323 = 0;
+            $_ktype324 = 0;
+            $_vtype325 = 0;
+            $xfer += $input->readMapBegin($_ktype324, $_vtype325, $_size323);
+            for ($_i327 = 0; $_i327 < $_size323; ++$_i327)
             {
-              $key314 = '';
-              $val315 = 0;
-              $xfer += $input->readString($key314);
-              $xfer += $input->readI32($val315);
-              $this->userPermissionList[$key314] = $val315;
+              $key328 = '';
+              $val329 = 0;
+              $xfer += $input->readString($key328);
+              $xfer += $input->readI32($val329);
+              $this->userPermissionList[$key328] = $val329;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -66042,10 +66964,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->userPermissionList));
         {
-          foreach ($this->userPermissionList as $kiter316 => $viter317)
+          foreach ($this->userPermissionList as $kiter330 => $viter331)
           {
-            $xfer += $output->writeString($kiter316);
-            $xfer += $output->writeI32($viter317);
+            $xfer += $output->writeString($kiter330);
+            $xfer += $output->writeI32($viter331);
           }
         }
         $output->writeMapEnd();
@@ -66326,17 +67248,17 @@
         case 4:
           if ($ftype == TType::MAP) {
             $this->groupPermissionList = array();
-            $_size318 = 0;
-            $_ktype319 = 0;
-            $_vtype320 = 0;
-            $xfer += $input->readMapBegin($_ktype319, $_vtype320, $_size318);
-            for ($_i322 = 0; $_i322 < $_size318; ++$_i322)
+            $_size332 = 0;
+            $_ktype333 = 0;
+            $_vtype334 = 0;
+            $xfer += $input->readMapBegin($_ktype333, $_vtype334, $_size332);
+            for ($_i336 = 0; $_i336 < $_size332; ++$_i336)
             {
-              $key323 = '';
-              $val324 = 0;
-              $xfer += $input->readString($key323);
-              $xfer += $input->readI32($val324);
-              $this->groupPermissionList[$key323] = $val324;
+              $key337 = '';
+              $val338 = 0;
+              $xfer += $input->readString($key337);
+              $xfer += $input->readI32($val338);
+              $this->groupPermissionList[$key337] = $val338;
             }
             $xfer += $input->readMapEnd();
           } else {
@@ -66377,10 +67299,10 @@
       {
         $output->writeMapBegin(TType::STRING, TType::I32, count($this->groupPermissionList));
         {
-          foreach ($this->groupPermissionList as $kiter325 => $viter326)
+          foreach ($this->groupPermissionList as $kiter339 => $viter340)
           {
-            $xfer += $output->writeString($kiter325);
-            $xfer += $output->writeI32($viter326);
+            $xfer += $output->writeString($kiter339);
+            $xfer += $output->writeI32($viter340);
           }
         }
         $output->writeMapEnd();
@@ -66793,14 +67715,14 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size327 = 0;
-            $_etype330 = 0;
-            $xfer += $input->readListBegin($_etype330, $_size327);
-            for ($_i331 = 0; $_i331 < $_size327; ++$_i331)
+            $_size341 = 0;
+            $_etype344 = 0;
+            $xfer += $input->readListBegin($_etype344, $_size341);
+            for ($_i345 = 0; $_i345 < $_size341; ++$_i345)
             {
-              $elem332 = null;
-              $xfer += $input->readString($elem332);
-              $this->success []= $elem332;
+              $elem346 = null;
+              $xfer += $input->readString($elem346);
+              $this->success []= $elem346;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -66860,9 +67782,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter333)
+          foreach ($this->success as $iter347)
           {
-            $xfer += $output->writeString($iter333);
+            $xfer += $output->writeString($iter347);
           }
         }
         $output->writeListEnd();
@@ -67120,14 +68042,14 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size334 = 0;
-            $_etype337 = 0;
-            $xfer += $input->readListBegin($_etype337, $_size334);
-            for ($_i338 = 0; $_i338 < $_size334; ++$_i338)
+            $_size348 = 0;
+            $_etype351 = 0;
+            $xfer += $input->readListBegin($_etype351, $_size348);
+            for ($_i352 = 0; $_i352 < $_size348; ++$_i352)
             {
-              $elem339 = null;
-              $xfer += $input->readString($elem339);
-              $this->success []= $elem339;
+              $elem353 = null;
+              $xfer += $input->readString($elem353);
+              $this->success []= $elem353;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -67187,9 +68109,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter340)
+          foreach ($this->success as $iter354)
           {
-            $xfer += $output->writeString($iter340);
+            $xfer += $output->writeString($iter354);
           }
         }
         $output->writeListEnd();
@@ -67447,14 +68369,14 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size341 = 0;
-            $_etype344 = 0;
-            $xfer += $input->readListBegin($_etype344, $_size341);
-            for ($_i345 = 0; $_i345 < $_size341; ++$_i345)
+            $_size355 = 0;
+            $_etype358 = 0;
+            $xfer += $input->readListBegin($_etype358, $_size355);
+            for ($_i359 = 0; $_i359 < $_size355; ++$_i359)
             {
-              $elem346 = null;
-              $xfer += $input->readString($elem346);
-              $this->success []= $elem346;
+              $elem360 = null;
+              $xfer += $input->readString($elem360);
+              $this->success []= $elem360;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -67514,9 +68436,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter347)
+          foreach ($this->success as $iter361)
           {
-            $xfer += $output->writeString($iter347);
+            $xfer += $output->writeString($iter361);
           }
         }
         $output->writeListEnd();
@@ -67774,14 +68696,14 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size348 = 0;
-            $_etype351 = 0;
-            $xfer += $input->readListBegin($_etype351, $_size348);
-            for ($_i352 = 0; $_i352 < $_size348; ++$_i352)
+            $_size362 = 0;
+            $_etype365 = 0;
+            $xfer += $input->readListBegin($_etype365, $_size362);
+            for ($_i366 = 0; $_i366 < $_size362; ++$_i366)
             {
-              $elem353 = null;
-              $xfer += $input->readString($elem353);
-              $this->success []= $elem353;
+              $elem367 = null;
+              $xfer += $input->readString($elem367);
+              $this->success []= $elem367;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -67841,9 +68763,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->success));
         {
-          foreach ($this->success as $iter354)
+          foreach ($this->success as $iter368)
           {
-            $xfer += $output->writeString($iter354);
+            $xfer += $output->writeString($iter368);
           }
         }
         $output->writeListEnd();
@@ -69484,15 +70406,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size355 = 0;
-            $_etype358 = 0;
-            $xfer += $input->readListBegin($_etype358, $_size355);
-            for ($_i359 = 0; $_i359 < $_size355; ++$_i359)
+            $_size369 = 0;
+            $_etype372 = 0;
+            $xfer += $input->readListBegin($_etype372, $_size369);
+            for ($_i373 = 0; $_i373 < $_size369; ++$_i373)
             {
-              $elem360 = null;
-              $elem360 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupResourceProfile();
-              $xfer += $elem360->read($input);
-              $this->success []= $elem360;
+              $elem374 = null;
+              $elem374 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupResourceProfile();
+              $xfer += $elem374->read($input);
+              $this->success []= $elem374;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -69552,9 +70474,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter361)
+          foreach ($this->success as $iter375)
           {
-            $xfer += $iter361->write($output);
+            $xfer += $iter375->write($output);
           }
         }
         $output->writeListEnd();
@@ -71519,15 +72441,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size362 = 0;
-            $_etype365 = 0;
-            $xfer += $input->readListBegin($_etype365, $_size362);
-            for ($_i366 = 0; $_i366 < $_size362; ++$_i366)
+            $_size376 = 0;
+            $_etype379 = 0;
+            $xfer += $input->readListBegin($_etype379, $_size376);
+            for ($_i380 = 0; $_i380 < $_size376; ++$_i380)
             {
-              $elem367 = null;
-              $elem367 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupComputeResourcePreference();
-              $xfer += $elem367->read($input);
-              $this->success []= $elem367;
+              $elem381 = null;
+              $elem381 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupComputeResourcePreference();
+              $xfer += $elem381->read($input);
+              $this->success []= $elem381;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -71587,9 +72509,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter368)
+          foreach ($this->success as $iter382)
           {
-            $xfer += $iter368->write($output);
+            $xfer += $iter382->write($output);
           }
         }
         $output->writeListEnd();
@@ -71825,15 +72747,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size369 = 0;
-            $_etype372 = 0;
-            $xfer += $input->readListBegin($_etype372, $_size369);
-            for ($_i373 = 0; $_i373 < $_size369; ++$_i373)
+            $_size383 = 0;
+            $_etype386 = 0;
+            $xfer += $input->readListBegin($_etype386, $_size383);
+            for ($_i387 = 0; $_i387 < $_size383; ++$_i387)
             {
-              $elem374 = null;
-              $elem374 = new \Airavata\Model\AppCatalog\GroupResourceProfile\BatchQueueResourcePolicy();
-              $xfer += $elem374->read($input);
-              $this->success []= $elem374;
+              $elem388 = null;
+              $elem388 = new \Airavata\Model\AppCatalog\GroupResourceProfile\BatchQueueResourcePolicy();
+              $xfer += $elem388->read($input);
+              $this->success []= $elem388;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -71893,9 +72815,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter375)
+          foreach ($this->success as $iter389)
           {
-            $xfer += $iter375->write($output);
+            $xfer += $iter389->write($output);
           }
         }
         $output->writeListEnd();
@@ -72131,15 +73053,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size376 = 0;
-            $_etype379 = 0;
-            $xfer += $input->readListBegin($_etype379, $_size376);
-            for ($_i380 = 0; $_i380 < $_size376; ++$_i380)
+            $_size390 = 0;
+            $_etype393 = 0;
+            $xfer += $input->readListBegin($_etype393, $_size390);
+            for ($_i394 = 0; $_i394 < $_size390; ++$_i394)
             {
-              $elem381 = null;
-              $elem381 = new \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourcePolicy();
-              $xfer += $elem381->read($input);
-              $this->success []= $elem381;
+              $elem395 = null;
+              $elem395 = new \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourcePolicy();
+              $xfer += $elem395->read($input);
+              $this->success []= $elem395;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -72199,9 +73121,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter382)
+          foreach ($this->success as $iter396)
           {
-            $xfer += $iter382->write($output);
+            $xfer += $iter396->write($output);
           }
         }
         $output->writeListEnd();
@@ -73286,15 +74208,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size383 = 0;
-            $_etype386 = 0;
-            $xfer += $input->readListBegin($_etype386, $_size383);
-            for ($_i387 = 0; $_i387 < $_size383; ++$_i387)
+            $_size397 = 0;
+            $_etype400 = 0;
+            $xfer += $input->readListBegin($_etype400, $_size397);
+            for ($_i401 = 0; $_i401 < $_size397; ++$_i401)
             {
-              $elem388 = null;
-              $elem388 = new \Airavata\Model\AppCatalog\Parser\Parser();
-              $xfer += $elem388->read($input);
-              $this->success []= $elem388;
+              $elem402 = null;
+              $elem402 = new \Airavata\Model\AppCatalog\Parser\Parser();
+              $xfer += $elem402->read($input);
+              $this->success []= $elem402;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -73354,9 +74276,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter389)
+          foreach ($this->success as $iter403)
           {
-            $xfer += $iter389->write($output);
+            $xfer += $iter403->write($output);
           }
         }
         $output->writeListEnd();
@@ -74222,15 +75144,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size390 = 0;
-            $_etype393 = 0;
-            $xfer += $input->readListBegin($_etype393, $_size390);
-            for ($_i394 = 0; $_i394 < $_size390; ++$_i394)
+            $_size404 = 0;
+            $_etype407 = 0;
+            $xfer += $input->readListBegin($_etype407, $_size404);
+            for ($_i408 = 0; $_i408 < $_size404; ++$_i408)
             {
-              $elem395 = null;
-              $elem395 = new \Airavata\Model\AppCatalog\Parser\ParsingTemplate();
-              $xfer += $elem395->read($input);
-              $this->success []= $elem395;
+              $elem409 = null;
+              $elem409 = new \Airavata\Model\AppCatalog\Parser\ParsingTemplate();
+              $xfer += $elem409->read($input);
+              $this->success []= $elem409;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -74290,9 +75212,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter396)
+          foreach ($this->success as $iter410)
           {
-            $xfer += $iter396->write($output);
+            $xfer += $iter410->write($output);
           }
         }
         $output->writeListEnd();
@@ -75112,15 +76034,15 @@
         case 0:
           if ($ftype == TType::LST) {
             $this->success = array();
-            $_size397 = 0;
-            $_etype400 = 0;
-            $xfer += $input->readListBegin($_etype400, $_size397);
-            for ($_i401 = 0; $_i401 < $_size397; ++$_i401)
+            $_size411 = 0;
+            $_etype414 = 0;
+            $xfer += $input->readListBegin($_etype414, $_size411);
+            for ($_i415 = 0; $_i415 < $_size411; ++$_i415)
             {
-              $elem402 = null;
-              $elem402 = new \Airavata\Model\AppCatalog\Parser\ParsingTemplate();
-              $xfer += $elem402->read($input);
-              $this->success []= $elem402;
+              $elem416 = null;
+              $elem416 = new \Airavata\Model\AppCatalog\Parser\ParsingTemplate();
+              $xfer += $elem416->read($input);
+              $this->success []= $elem416;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -75180,9 +76102,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->success));
         {
-          foreach ($this->success as $iter403)
+          foreach ($this->success as $iter417)
           {
-            $xfer += $iter403->write($output);
+            $xfer += $iter417->write($output);
           }
         }
         $output->writeListEnd();
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Sharing/SharingRegistryService.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Sharing/SharingRegistryService.php
index 4038013..4b85f3d 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Sharing/SharingRegistryService.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Sharing/SharingRegistryService.php
@@ -62,6 +62,7 @@
    * <li>description : A short description for the domain</li>
    * <li>createdTime : Will be set by the system</li>
    * <li>updatedTime : Will be set by the system</li>
+   * <li>initialUserGroupId : New users will automatically be added to this group</li>
    * 
    * 
    * @throws \Airavata\Model\Sharing\SharingRegistryException
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index d42d05f..78ef8f1 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -44,6 +44,7 @@
   const UGE = 4;
   const CLOUD = 5;
   const AIRAVATA_CUSTOM = 6;
+  const HTCONDOR = 7;
   static public $__names = array(
     0 => 'FORK',
     1 => 'PBS',
@@ -52,6 +53,7 @@
     4 => 'UGE',
     5 => 'CLOUD',
     6 => 'AIRAVATA_CUSTOM',
+    7 => 'HTCONDOR',
   );
 }
 
@@ -88,6 +90,9 @@
   const SHOW_QUEUE = 4;
   const SHOW_RESERVATION = 5;
   const SHOW_START = 6;
+  const SHOW_CLUSTER_INFO = 7;
+  const SHOW_NO_OF_RUNNING_JOBS = 8;
+  const SHOW_NO_OF_PENDING_JOBS = 9;
   static public $__names = array(
     0 => 'SUBMISSION',
     1 => 'JOB_MONITORING',
@@ -96,6 +101,9 @@
     4 => 'SHOW_QUEUE',
     5 => 'SHOW_RESERVATION',
     6 => 'SHOW_START',
+    7 => 'SHOW_CLUSTER_INFO',
+    8 => 'SHOW_NO_OF_RUNNING_JOBS',
+    9 => 'SHOW_NO_OF_PENDING_JOBS',
   );
 }
 
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GroupResourceProfile/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GroupResourceProfile/Types.php
index 50364a5..34b1077 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GroupResourceProfile/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/GroupResourceProfile/Types.php
@@ -161,6 +161,199 @@
 
 }
 
+class ComputeResourceReservation {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $reservationId = "DO_NOT_SET_AT_CLIENTS";
+  /**
+   * @var string
+   */
+  public $reservationName = null;
+  /**
+   * @var string[]
+   */
+  public $queueNames = null;
+  /**
+   * @var int
+   */
+  public $startTime = null;
+  /**
+   * @var int
+   */
+  public $endTime = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'reservationId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'reservationName',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'queueNames',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        4 => array(
+          'var' => 'startTime',
+          'type' => TType::I64,
+          ),
+        5 => array(
+          'var' => 'endTime',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['reservationId'])) {
+        $this->reservationId = $vals['reservationId'];
+      }
+      if (isset($vals['reservationName'])) {
+        $this->reservationName = $vals['reservationName'];
+      }
+      if (isset($vals['queueNames'])) {
+        $this->queueNames = $vals['queueNames'];
+      }
+      if (isset($vals['startTime'])) {
+        $this->startTime = $vals['startTime'];
+      }
+      if (isset($vals['endTime'])) {
+        $this->endTime = $vals['endTime'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ComputeResourceReservation';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reservationId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->reservationName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->queueNames = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->queueNames []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->startTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->endTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ComputeResourceReservation');
+    if ($this->reservationId !== null) {
+      $xfer += $output->writeFieldBegin('reservationId', TType::STRING, 1);
+      $xfer += $output->writeString($this->reservationId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->reservationName !== null) {
+      $xfer += $output->writeFieldBegin('reservationName', TType::STRING, 2);
+      $xfer += $output->writeString($this->reservationName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->queueNames !== null) {
+      if (!is_array($this->queueNames)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('queueNames', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->queueNames));
+        {
+          foreach ($this->queueNames as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->startTime !== null) {
+      $xfer += $output->writeFieldBegin('startTime', TType::I64, 4);
+      $xfer += $output->writeI64($this->startTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->endTime !== null) {
+      $xfer += $output->writeFieldBegin('endTime', TType::I64, 5);
+      $xfer += $output->writeI64($this->endTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class GroupComputeResourcePreference {
   static $_TSPEC;
 
@@ -215,18 +408,6 @@
   /**
    * @var string
    */
-  public $reservation = null;
-  /**
-   * @var int
-   */
-  public $reservationStartTime = null;
-  /**
-   * @var int
-   */
-  public $reservationEndTime = null;
-  /**
-   * @var string
-   */
   public $sshAccountProvisioner = null;
   /**
    * @var \Airavata\Model\AppCatalog\GroupResourceProfile\GroupAccountSSHProvisionerConfig[]
@@ -236,6 +417,10 @@
    * @var string
    */
   public $sshAccountProvisionerAdditionalInfo = null;
+  /**
+   * @var \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourceReservation[]
+   */
+  public $reservations = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -288,18 +473,6 @@
           'var' => 'qualityOfService',
           'type' => TType::STRING,
           ),
-        13 => array(
-          'var' => 'reservation',
-          'type' => TType::STRING,
-          ),
-        14 => array(
-          'var' => 'reservationStartTime',
-          'type' => TType::I64,
-          ),
-        15 => array(
-          'var' => 'reservationEndTime',
-          'type' => TType::I64,
-          ),
         16 => array(
           'var' => 'sshAccountProvisioner',
           'type' => TType::STRING,
@@ -317,6 +490,15 @@
           'var' => 'sshAccountProvisionerAdditionalInfo',
           'type' => TType::STRING,
           ),
+        19 => array(
+          'var' => 'reservations',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourceReservation',
+            ),
+          ),
         );
     }
     if (is_array($vals)) {
@@ -356,15 +538,6 @@
       if (isset($vals['qualityOfService'])) {
         $this->qualityOfService = $vals['qualityOfService'];
       }
-      if (isset($vals['reservation'])) {
-        $this->reservation = $vals['reservation'];
-      }
-      if (isset($vals['reservationStartTime'])) {
-        $this->reservationStartTime = $vals['reservationStartTime'];
-      }
-      if (isset($vals['reservationEndTime'])) {
-        $this->reservationEndTime = $vals['reservationEndTime'];
-      }
       if (isset($vals['sshAccountProvisioner'])) {
         $this->sshAccountProvisioner = $vals['sshAccountProvisioner'];
       }
@@ -374,6 +547,9 @@
       if (isset($vals['sshAccountProvisionerAdditionalInfo'])) {
         $this->sshAccountProvisionerAdditionalInfo = $vals['sshAccountProvisionerAdditionalInfo'];
       }
+      if (isset($vals['reservations'])) {
+        $this->reservations = $vals['reservations'];
+      }
     }
   }
 
@@ -480,27 +656,6 @@
             $xfer += $input->skip($ftype);
           }
           break;
-        case 13:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->reservation);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 14:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->reservationStartTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 15:
-          if ($ftype == TType::I64) {
-            $xfer += $input->readI64($this->reservationEndTime);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         case 16:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->sshAccountProvisioner);
@@ -511,15 +666,15 @@
         case 17:
           if ($ftype == TType::LST) {
             $this->groupSSHAccountProvisionerConfigs = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
             {
-              $elem5 = null;
-              $elem5 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupAccountSSHProvisionerConfig();
-              $xfer += $elem5->read($input);
-              $this->groupSSHAccountProvisionerConfigs []= $elem5;
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupAccountSSHProvisionerConfig();
+              $xfer += $elem12->read($input);
+              $this->groupSSHAccountProvisionerConfigs []= $elem12;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -533,6 +688,24 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 19:
+          if ($ftype == TType::LST) {
+            $this->reservations = array();
+            $_size13 = 0;
+            $_etype16 = 0;
+            $xfer += $input->readListBegin($_etype16, $_size13);
+            for ($_i17 = 0; $_i17 < $_size13; ++$_i17)
+            {
+              $elem18 = null;
+              $elem18 = new \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourceReservation();
+              $xfer += $elem18->read($input);
+              $this->reservations []= $elem18;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -606,21 +779,6 @@
       $xfer += $output->writeString($this->qualityOfService);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->reservation !== null) {
-      $xfer += $output->writeFieldBegin('reservation', TType::STRING, 13);
-      $xfer += $output->writeString($this->reservation);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->reservationStartTime !== null) {
-      $xfer += $output->writeFieldBegin('reservationStartTime', TType::I64, 14);
-      $xfer += $output->writeI64($this->reservationStartTime);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->reservationEndTime !== null) {
-      $xfer += $output->writeFieldBegin('reservationEndTime', TType::I64, 15);
-      $xfer += $output->writeI64($this->reservationEndTime);
-      $xfer += $output->writeFieldEnd();
-    }
     if ($this->sshAccountProvisioner !== null) {
       $xfer += $output->writeFieldBegin('sshAccountProvisioner', TType::STRING, 16);
       $xfer += $output->writeString($this->sshAccountProvisioner);
@@ -634,9 +792,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->groupSSHAccountProvisionerConfigs));
         {
-          foreach ($this->groupSSHAccountProvisionerConfigs as $iter6)
+          foreach ($this->groupSSHAccountProvisionerConfigs as $iter19)
           {
-            $xfer += $iter6->write($output);
+            $xfer += $iter19->write($output);
           }
         }
         $output->writeListEnd();
@@ -648,6 +806,23 @@
       $xfer += $output->writeString($this->sshAccountProvisionerAdditionalInfo);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->reservations !== null) {
+      if (!is_array($this->reservations)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('reservations', TType::LST, 19);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->reservations));
+        {
+          foreach ($this->reservations as $iter20)
+          {
+            $xfer += $iter20->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -759,14 +934,14 @@
         case 4:
           if ($ftype == TType::LST) {
             $this->allowedBatchQueues = array();
-            $_size7 = 0;
-            $_etype10 = 0;
-            $xfer += $input->readListBegin($_etype10, $_size7);
-            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            $_size21 = 0;
+            $_etype24 = 0;
+            $xfer += $input->readListBegin($_etype24, $_size21);
+            for ($_i25 = 0; $_i25 < $_size21; ++$_i25)
             {
-              $elem12 = null;
-              $xfer += $input->readString($elem12);
-              $this->allowedBatchQueues []= $elem12;
+              $elem26 = null;
+              $xfer += $input->readString($elem26);
+              $this->allowedBatchQueues []= $elem26;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -809,9 +984,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->allowedBatchQueues));
         {
-          foreach ($this->allowedBatchQueues as $iter13)
+          foreach ($this->allowedBatchQueues as $iter27)
           {
-            $xfer += $output->writeString($iter13);
+            $xfer += $output->writeString($iter27);
           }
         }
         $output->writeListEnd();
@@ -1229,15 +1404,15 @@
         case 4:
           if ($ftype == TType::LST) {
             $this->computePreferences = array();
-            $_size14 = 0;
-            $_etype17 = 0;
-            $xfer += $input->readListBegin($_etype17, $_size14);
-            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+            $_size28 = 0;
+            $_etype31 = 0;
+            $xfer += $input->readListBegin($_etype31, $_size28);
+            for ($_i32 = 0; $_i32 < $_size28; ++$_i32)
             {
-              $elem19 = null;
-              $elem19 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupComputeResourcePreference();
-              $xfer += $elem19->read($input);
-              $this->computePreferences []= $elem19;
+              $elem33 = null;
+              $elem33 = new \Airavata\Model\AppCatalog\GroupResourceProfile\GroupComputeResourcePreference();
+              $xfer += $elem33->read($input);
+              $this->computePreferences []= $elem33;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1247,15 +1422,15 @@
         case 5:
           if ($ftype == TType::LST) {
             $this->computeResourcePolicies = array();
-            $_size20 = 0;
-            $_etype23 = 0;
-            $xfer += $input->readListBegin($_etype23, $_size20);
-            for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
+            $_size34 = 0;
+            $_etype37 = 0;
+            $xfer += $input->readListBegin($_etype37, $_size34);
+            for ($_i38 = 0; $_i38 < $_size34; ++$_i38)
             {
-              $elem25 = null;
-              $elem25 = new \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourcePolicy();
-              $xfer += $elem25->read($input);
-              $this->computeResourcePolicies []= $elem25;
+              $elem39 = null;
+              $elem39 = new \Airavata\Model\AppCatalog\GroupResourceProfile\ComputeResourcePolicy();
+              $xfer += $elem39->read($input);
+              $this->computeResourcePolicies []= $elem39;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1265,15 +1440,15 @@
         case 6:
           if ($ftype == TType::LST) {
             $this->batchQueueResourcePolicies = array();
-            $_size26 = 0;
-            $_etype29 = 0;
-            $xfer += $input->readListBegin($_etype29, $_size26);
-            for ($_i30 = 0; $_i30 < $_size26; ++$_i30)
+            $_size40 = 0;
+            $_etype43 = 0;
+            $xfer += $input->readListBegin($_etype43, $_size40);
+            for ($_i44 = 0; $_i44 < $_size40; ++$_i44)
             {
-              $elem31 = null;
-              $elem31 = new \Airavata\Model\AppCatalog\GroupResourceProfile\BatchQueueResourcePolicy();
-              $xfer += $elem31->read($input);
-              $this->batchQueueResourcePolicies []= $elem31;
+              $elem45 = null;
+              $elem45 = new \Airavata\Model\AppCatalog\GroupResourceProfile\BatchQueueResourcePolicy();
+              $xfer += $elem45->read($input);
+              $this->batchQueueResourcePolicies []= $elem45;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1337,9 +1512,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->computePreferences));
         {
-          foreach ($this->computePreferences as $iter32)
+          foreach ($this->computePreferences as $iter46)
           {
-            $xfer += $iter32->write($output);
+            $xfer += $iter46->write($output);
           }
         }
         $output->writeListEnd();
@@ -1354,9 +1529,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->computeResourcePolicies));
         {
-          foreach ($this->computeResourcePolicies as $iter33)
+          foreach ($this->computeResourcePolicies as $iter47)
           {
-            $xfer += $iter33->write($output);
+            $xfer += $iter47->write($output);
           }
         }
         $output->writeListEnd();
@@ -1371,9 +1546,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->batchQueueResourcePolicies));
         {
-          foreach ($this->batchQueueResourcePolicies as $iter34)
+          foreach ($this->batchQueueResourcePolicies as $iter48)
           {
-            $xfer += $iter34->write($output);
+            $xfer += $iter48->write($output);
           }
         }
         $output->writeListEnd();
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
index fb4977e..9543c61 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php
@@ -65,6 +65,8 @@
  * metaData:
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
+ * overrideFilename:
+ *   Rename input file to given value when staging to compute resource.
  */
 class InputDataObjectType {
   static $_TSPEC;
@@ -121,6 +123,10 @@
    * @var bool
    */
   public $isReadOnly = null;
+  /**
+   * @var string
+   */
+  public $overrideFilename = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -177,6 +183,10 @@
           'var' => 'isReadOnly',
           'type' => TType::BOOL,
           ),
+        14 => array(
+          'var' => 'overrideFilename',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -219,6 +229,9 @@
       if (isset($vals['isReadOnly'])) {
         $this->isReadOnly = $vals['isReadOnly'];
       }
+      if (isset($vals['overrideFilename'])) {
+        $this->overrideFilename = $vals['overrideFilename'];
+      }
     }
   }
 
@@ -332,6 +345,13 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 14:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->overrideFilename);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -410,6 +430,11 @@
       $xfer += $output->writeBool($this->isReadOnly);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->overrideFilename !== null) {
+      $xfer += $output->writeFieldBegin('overrideFilename', TType::STRING, 14);
+      $xfer += $output->writeString($this->overrideFilename);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
index 56f77cd..db2a53d 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Experiment/Types.php
@@ -110,6 +110,10 @@
    * @var string
    */
   public $groupResourceProfileId = null;
+  /**
+   * @var \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel[]
+   */
+  public $autoScheduledCompResourceSchedulingList = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -159,6 +163,15 @@
           'var' => 'groupResourceProfileId',
           'type' => TType::STRING,
           ),
+        12 => array(
+          'var' => 'autoScheduledCompResourceSchedulingList',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Scheduling\ComputationalResourceSchedulingModel',
+            ),
+          ),
         );
     }
     if (is_array($vals)) {
@@ -195,6 +208,9 @@
       if (isset($vals['groupResourceProfileId'])) {
         $this->groupResourceProfileId = $vals['groupResourceProfileId'];
       }
+      if (isset($vals['autoScheduledCompResourceSchedulingList'])) {
+        $this->autoScheduledCompResourceSchedulingList = $vals['autoScheduledCompResourceSchedulingList'];
+      }
     }
   }
 
@@ -295,6 +311,24 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 12:
+          if ($ftype == TType::LST) {
+            $this->autoScheduledCompResourceSchedulingList = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $elem5 = new \Airavata\Model\Scheduling\ComputationalResourceSchedulingModel();
+              $xfer += $elem5->read($input);
+              $this->autoScheduledCompResourceSchedulingList []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -366,6 +400,23 @@
       $xfer += $output->writeString($this->groupResourceProfileId);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->autoScheduledCompResourceSchedulingList !== null) {
+      if (!is_array($this->autoScheduledCompResourceSchedulingList)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('autoScheduledCompResourceSchedulingList', TType::LST, 12);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->autoScheduledCompResourceSchedulingList));
+        {
+          foreach ($this->autoScheduledCompResourceSchedulingList as $iter6)
+          {
+            $xfer += $iter6->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -759,14 +810,14 @@
         case 13:
           if ($ftype == TType::LST) {
             $this->emailAddresses = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
             {
-              $elem5 = null;
-              $xfer += $input->readString($elem5);
-              $this->emailAddresses []= $elem5;
+              $elem12 = null;
+              $xfer += $input->readString($elem12);
+              $this->emailAddresses []= $elem12;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -784,15 +835,15 @@
         case 15:
           if ($ftype == TType::LST) {
             $this->experimentInputs = array();
-            $_size6 = 0;
-            $_etype9 = 0;
-            $xfer += $input->readListBegin($_etype9, $_size6);
-            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            $_size13 = 0;
+            $_etype16 = 0;
+            $xfer += $input->readListBegin($_etype16, $_size13);
+            for ($_i17 = 0; $_i17 < $_size13; ++$_i17)
             {
-              $elem11 = null;
-              $elem11 = new \Airavata\Model\Application\Io\InputDataObjectType();
-              $xfer += $elem11->read($input);
-              $this->experimentInputs []= $elem11;
+              $elem18 = null;
+              $elem18 = new \Airavata\Model\Application\Io\InputDataObjectType();
+              $xfer += $elem18->read($input);
+              $this->experimentInputs []= $elem18;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -802,15 +853,15 @@
         case 16:
           if ($ftype == TType::LST) {
             $this->experimentOutputs = array();
-            $_size12 = 0;
-            $_etype15 = 0;
-            $xfer += $input->readListBegin($_etype15, $_size12);
-            for ($_i16 = 0; $_i16 < $_size12; ++$_i16)
+            $_size19 = 0;
+            $_etype22 = 0;
+            $xfer += $input->readListBegin($_etype22, $_size19);
+            for ($_i23 = 0; $_i23 < $_size19; ++$_i23)
             {
-              $elem17 = null;
-              $elem17 = new \Airavata\Model\Application\Io\OutputDataObjectType();
-              $xfer += $elem17->read($input);
-              $this->experimentOutputs []= $elem17;
+              $elem24 = null;
+              $elem24 = new \Airavata\Model\Application\Io\OutputDataObjectType();
+              $xfer += $elem24->read($input);
+              $this->experimentOutputs []= $elem24;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -820,15 +871,15 @@
         case 17:
           if ($ftype == TType::LST) {
             $this->experimentStatus = array();
-            $_size18 = 0;
-            $_etype21 = 0;
-            $xfer += $input->readListBegin($_etype21, $_size18);
-            for ($_i22 = 0; $_i22 < $_size18; ++$_i22)
+            $_size25 = 0;
+            $_etype28 = 0;
+            $xfer += $input->readListBegin($_etype28, $_size25);
+            for ($_i29 = 0; $_i29 < $_size25; ++$_i29)
             {
-              $elem23 = null;
-              $elem23 = new \Airavata\Model\Status\ExperimentStatus();
-              $xfer += $elem23->read($input);
-              $this->experimentStatus []= $elem23;
+              $elem30 = null;
+              $elem30 = new \Airavata\Model\Status\ExperimentStatus();
+              $xfer += $elem30->read($input);
+              $this->experimentStatus []= $elem30;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -838,15 +889,15 @@
         case 18:
           if ($ftype == TType::LST) {
             $this->errors = array();
-            $_size24 = 0;
-            $_etype27 = 0;
-            $xfer += $input->readListBegin($_etype27, $_size24);
-            for ($_i28 = 0; $_i28 < $_size24; ++$_i28)
+            $_size31 = 0;
+            $_etype34 = 0;
+            $xfer += $input->readListBegin($_etype34, $_size31);
+            for ($_i35 = 0; $_i35 < $_size31; ++$_i35)
             {
-              $elem29 = null;
-              $elem29 = new \Airavata\Model\Commons\ErrorModel();
-              $xfer += $elem29->read($input);
-              $this->errors []= $elem29;
+              $elem36 = null;
+              $elem36 = new \Airavata\Model\Commons\ErrorModel();
+              $xfer += $elem36->read($input);
+              $this->errors []= $elem36;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -856,15 +907,15 @@
         case 19:
           if ($ftype == TType::LST) {
             $this->processes = array();
-            $_size30 = 0;
-            $_etype33 = 0;
-            $xfer += $input->readListBegin($_etype33, $_size30);
-            for ($_i34 = 0; $_i34 < $_size30; ++$_i34)
+            $_size37 = 0;
+            $_etype40 = 0;
+            $xfer += $input->readListBegin($_etype40, $_size37);
+            for ($_i41 = 0; $_i41 < $_size37; ++$_i41)
             {
-              $elem35 = null;
-              $elem35 = new \Airavata\Model\Process\ProcessModel();
-              $xfer += $elem35->read($input);
-              $this->processes []= $elem35;
+              $elem42 = null;
+              $elem42 = new \Airavata\Model\Process\ProcessModel();
+              $xfer += $elem42->read($input);
+              $this->processes []= $elem42;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -960,9 +1011,9 @@
       {
         $output->writeListBegin(TType::STRING, count($this->emailAddresses));
         {
-          foreach ($this->emailAddresses as $iter36)
+          foreach ($this->emailAddresses as $iter43)
           {
-            $xfer += $output->writeString($iter36);
+            $xfer += $output->writeString($iter43);
           }
         }
         $output->writeListEnd();
@@ -985,9 +1036,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->experimentInputs));
         {
-          foreach ($this->experimentInputs as $iter37)
+          foreach ($this->experimentInputs as $iter44)
           {
-            $xfer += $iter37->write($output);
+            $xfer += $iter44->write($output);
           }
         }
         $output->writeListEnd();
@@ -1002,9 +1053,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->experimentOutputs));
         {
-          foreach ($this->experimentOutputs as $iter38)
+          foreach ($this->experimentOutputs as $iter45)
           {
-            $xfer += $iter38->write($output);
+            $xfer += $iter45->write($output);
           }
         }
         $output->writeListEnd();
@@ -1019,9 +1070,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->experimentStatus));
         {
-          foreach ($this->experimentStatus as $iter39)
+          foreach ($this->experimentStatus as $iter46)
           {
-            $xfer += $iter39->write($output);
+            $xfer += $iter46->write($output);
           }
         }
         $output->writeListEnd();
@@ -1036,9 +1087,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->errors));
         {
-          foreach ($this->errors as $iter40)
+          foreach ($this->errors as $iter47)
           {
-            $xfer += $iter40->write($output);
+            $xfer += $iter47->write($output);
           }
         }
         $output->writeListEnd();
@@ -1053,9 +1104,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->processes));
         {
-          foreach ($this->processes as $iter41)
+          foreach ($this->processes as $iter48)
           {
-            $xfer += $iter41->write($output);
+            $xfer += $iter48->write($output);
           }
         }
         $output->writeListEnd();
@@ -1621,15 +1672,15 @@
         case 7:
           if ($ftype == TType::LST) {
             $this->allExperiments = array();
-            $_size42 = 0;
-            $_etype45 = 0;
-            $xfer += $input->readListBegin($_etype45, $_size42);
-            for ($_i46 = 0; $_i46 < $_size42; ++$_i46)
+            $_size49 = 0;
+            $_etype52 = 0;
+            $xfer += $input->readListBegin($_etype52, $_size49);
+            for ($_i53 = 0; $_i53 < $_size49; ++$_i53)
             {
-              $elem47 = null;
-              $elem47 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
-              $xfer += $elem47->read($input);
-              $this->allExperiments []= $elem47;
+              $elem54 = null;
+              $elem54 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem54->read($input);
+              $this->allExperiments []= $elem54;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1639,15 +1690,15 @@
         case 8:
           if ($ftype == TType::LST) {
             $this->completedExperiments = array();
-            $_size48 = 0;
-            $_etype51 = 0;
-            $xfer += $input->readListBegin($_etype51, $_size48);
-            for ($_i52 = 0; $_i52 < $_size48; ++$_i52)
+            $_size55 = 0;
+            $_etype58 = 0;
+            $xfer += $input->readListBegin($_etype58, $_size55);
+            for ($_i59 = 0; $_i59 < $_size55; ++$_i59)
             {
-              $elem53 = null;
-              $elem53 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
-              $xfer += $elem53->read($input);
-              $this->completedExperiments []= $elem53;
+              $elem60 = null;
+              $elem60 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem60->read($input);
+              $this->completedExperiments []= $elem60;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1657,15 +1708,15 @@
         case 9:
           if ($ftype == TType::LST) {
             $this->failedExperiments = array();
-            $_size54 = 0;
-            $_etype57 = 0;
-            $xfer += $input->readListBegin($_etype57, $_size54);
-            for ($_i58 = 0; $_i58 < $_size54; ++$_i58)
+            $_size61 = 0;
+            $_etype64 = 0;
+            $xfer += $input->readListBegin($_etype64, $_size61);
+            for ($_i65 = 0; $_i65 < $_size61; ++$_i65)
             {
-              $elem59 = null;
-              $elem59 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
-              $xfer += $elem59->read($input);
-              $this->failedExperiments []= $elem59;
+              $elem66 = null;
+              $elem66 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem66->read($input);
+              $this->failedExperiments []= $elem66;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1675,15 +1726,15 @@
         case 10:
           if ($ftype == TType::LST) {
             $this->cancelledExperiments = array();
-            $_size60 = 0;
-            $_etype63 = 0;
-            $xfer += $input->readListBegin($_etype63, $_size60);
-            for ($_i64 = 0; $_i64 < $_size60; ++$_i64)
+            $_size67 = 0;
+            $_etype70 = 0;
+            $xfer += $input->readListBegin($_etype70, $_size67);
+            for ($_i71 = 0; $_i71 < $_size67; ++$_i71)
             {
-              $elem65 = null;
-              $elem65 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
-              $xfer += $elem65->read($input);
-              $this->cancelledExperiments []= $elem65;
+              $elem72 = null;
+              $elem72 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem72->read($input);
+              $this->cancelledExperiments []= $elem72;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1693,15 +1744,15 @@
         case 11:
           if ($ftype == TType::LST) {
             $this->createdExperiments = array();
-            $_size66 = 0;
-            $_etype69 = 0;
-            $xfer += $input->readListBegin($_etype69, $_size66);
-            for ($_i70 = 0; $_i70 < $_size66; ++$_i70)
+            $_size73 = 0;
+            $_etype76 = 0;
+            $xfer += $input->readListBegin($_etype76, $_size73);
+            for ($_i77 = 0; $_i77 < $_size73; ++$_i77)
             {
-              $elem71 = null;
-              $elem71 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
-              $xfer += $elem71->read($input);
-              $this->createdExperiments []= $elem71;
+              $elem78 = null;
+              $elem78 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem78->read($input);
+              $this->createdExperiments []= $elem78;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1711,15 +1762,15 @@
         case 12:
           if ($ftype == TType::LST) {
             $this->runningExperiments = array();
-            $_size72 = 0;
-            $_etype75 = 0;
-            $xfer += $input->readListBegin($_etype75, $_size72);
-            for ($_i76 = 0; $_i76 < $_size72; ++$_i76)
+            $_size79 = 0;
+            $_etype82 = 0;
+            $xfer += $input->readListBegin($_etype82, $_size79);
+            for ($_i83 = 0; $_i83 < $_size79; ++$_i83)
             {
-              $elem77 = null;
-              $elem77 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
-              $xfer += $elem77->read($input);
-              $this->runningExperiments []= $elem77;
+              $elem84 = null;
+              $elem84 = new \Airavata\Model\Experiment\ExperimentSummaryModel();
+              $xfer += $elem84->read($input);
+              $this->runningExperiments []= $elem84;
             }
             $xfer += $input->readListEnd();
           } else {
@@ -1777,9 +1828,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->allExperiments));
         {
-          foreach ($this->allExperiments as $iter78)
+          foreach ($this->allExperiments as $iter85)
           {
-            $xfer += $iter78->write($output);
+            $xfer += $iter85->write($output);
           }
         }
         $output->writeListEnd();
@@ -1794,9 +1845,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->completedExperiments));
         {
-          foreach ($this->completedExperiments as $iter79)
+          foreach ($this->completedExperiments as $iter86)
           {
-            $xfer += $iter79->write($output);
+            $xfer += $iter86->write($output);
           }
         }
         $output->writeListEnd();
@@ -1811,9 +1862,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->failedExperiments));
         {
-          foreach ($this->failedExperiments as $iter80)
+          foreach ($this->failedExperiments as $iter87)
           {
-            $xfer += $iter80->write($output);
+            $xfer += $iter87->write($output);
           }
         }
         $output->writeListEnd();
@@ -1828,9 +1879,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->cancelledExperiments));
         {
-          foreach ($this->cancelledExperiments as $iter81)
+          foreach ($this->cancelledExperiments as $iter88)
           {
-            $xfer += $iter81->write($output);
+            $xfer += $iter88->write($output);
           }
         }
         $output->writeListEnd();
@@ -1845,9 +1896,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->createdExperiments));
         {
-          foreach ($this->createdExperiments as $iter82)
+          foreach ($this->createdExperiments as $iter89)
           {
-            $xfer += $iter82->write($output);
+            $xfer += $iter89->write($output);
           }
         }
         $output->writeListEnd();
@@ -1862,9 +1913,9 @@
       {
         $output->writeListBegin(TType::STRUCT, count($this->runningExperiments));
         {
-          foreach ($this->runningExperiments as $iter83)
+          foreach ($this->runningExperiments as $iter90)
           {
-            $xfer += $iter83->write($output);
+            $xfer += $iter90->write($output);
           }
         }
         $output->writeListEnd();
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Group/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Group/Types.php
index 9e17f8a..f74a97f 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Group/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Group/Types.php
@@ -40,10 +40,12 @@
   const WRITE = 0;
   const READ = 1;
   const OWNER = 2;
+  const MANAGE_SHARING = 3;
   static public $__names = array(
     0 => 'WRITE',
     1 => 'READ',
     2 => 'OWNER',
+    3 => 'MANAGE_SHARING',
   );
 }
 
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
index cb6df57..031bd90 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Messaging/Event/Types.php
@@ -40,6 +40,7 @@
   const TERMINATEPROCESS = 6;
   const PROCESSOUTPUT = 7;
   const DB_EVENT = 8;
+  const INTERMEDIATE_OUTPUTS = 9;
   static public $__names = array(
     0 => 'EXPERIMENT',
     1 => 'EXPERIMENT_CANCEL',
@@ -50,6 +51,7 @@
     6 => 'TERMINATEPROCESS',
     7 => 'PROCESSOUTPUT',
     8 => 'DB_EVENT',
+    9 => 'INTERMEDIATE_OUTPUTS',
   );
 }
 
@@ -1718,6 +1720,153 @@
 
 }
 
+class ExperimentIntermediateOutputsEvent {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $experimentId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var string[]
+   */
+  public $outputNames = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'experimentId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'outputNames',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['experimentId'])) {
+        $this->experimentId = $vals['experimentId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['outputNames'])) {
+        $this->outputNames = $vals['outputNames'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'ExperimentIntermediateOutputsEvent';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->experimentId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::LST) {
+            $this->outputNames = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $xfer += $input->readString($elem12);
+              $this->outputNames []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('ExperimentIntermediateOutputsEvent');
+    if ($this->experimentId !== null) {
+      $xfer += $output->writeFieldBegin('experimentId', TType::STRING, 1);
+      $xfer += $output->writeString($this->experimentId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->outputNames !== null) {
+      if (!is_array($this->outputNames)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('outputNames', TType::LST, 3);
+      {
+        $output->writeListBegin(TType::STRING, count($this->outputNames));
+        {
+          foreach ($this->outputNames as $iter13)
+          {
+            $xfer += $output->writeString($iter13);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class Message {
   static $_TSPEC;
 
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php
index 2e556a4..660bffa 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Scheduling/Types.php
@@ -73,6 +73,10 @@
    * @var string
    */
   public $overrideAllocationProjectNumber = null;
+  /**
+   * @var int
+   */
+  public $mGroupCount = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -125,6 +129,10 @@
           'var' => 'overrideAllocationProjectNumber',
           'type' => TType::STRING,
           ),
+        13 => array(
+          'var' => 'mGroupCount',
+          'type' => TType::I32,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -164,6 +172,9 @@
       if (isset($vals['overrideAllocationProjectNumber'])) {
         $this->overrideAllocationProjectNumber = $vals['overrideAllocationProjectNumber'];
       }
+      if (isset($vals['mGroupCount'])) {
+        $this->mGroupCount = $vals['mGroupCount'];
+      }
     }
   }
 
@@ -270,6 +281,13 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 13:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->mGroupCount);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -343,6 +361,11 @@
       $xfer += $output->writeString($this->overrideAllocationProjectNumber);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->mGroupCount !== null) {
+      $xfer += $output->writeFieldBegin('mGroupCount', TType::I32, 13);
+      $xfer += $output->writeI32($this->mGroupCount);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Sharing/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Sharing/Types.php
index 7a74f6d..d5dd2d3 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Sharing/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Sharing/Types.php
@@ -144,6 +144,7 @@
  * <li>description : A short description for the domain</li>
  * <li>createdTime : Will be set by the system</li>
  * <li>updatedTime : Will be set by the system</li>
+ * <li>initialUserGroupId : New users will automatically be added to this group</li>
  * 
  */
 class Domain {
@@ -169,6 +170,10 @@
    * @var int
    */
   public $updatedTime = null;
+  /**
+   * @var string
+   */
+  public $initialUserGroupId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -193,6 +198,10 @@
           'var' => 'updatedTime',
           'type' => TType::I64,
           ),
+        6 => array(
+          'var' => 'initialUserGroupId',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -211,6 +220,9 @@
       if (isset($vals['updatedTime'])) {
         $this->updatedTime = $vals['updatedTime'];
       }
+      if (isset($vals['initialUserGroupId'])) {
+        $this->initialUserGroupId = $vals['initialUserGroupId'];
+      }
     }
   }
 
@@ -268,6 +280,13 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->initialUserGroupId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -306,6 +325,11 @@
       $xfer += $output->writeI64($this->updatedTime);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->initialUserGroupId !== null) {
+      $xfer += $output->writeFieldBegin('initialUserGroupId', TType::STRING, 6);
+      $xfer += $output->writeString($this->initialUserGroupId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php
index c2d2de3..4109217 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Status/Types.php
@@ -70,6 +70,9 @@
   const FAILED = 11;
   const CANCELLING = 12;
   const CANCELED = 13;
+  const QUEUED = 14;
+  const DEQUEUING = 15;
+  const REQUEUED = 16;
   static public $__names = array(
     0 => 'CREATED',
     1 => 'VALIDATED',
@@ -85,6 +88,9 @@
     11 => 'FAILED',
     12 => 'CANCELLING',
     13 => 'CANCELED',
+    14 => 'QUEUED',
+    15 => 'DEQUEUING',
+    16 => 'REQUEUED',
   );
 }
 
@@ -287,6 +293,10 @@
    * @var string
    */
   public $statusId = null;
+  /**
+   * @var string
+   */
+  public $processId = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -307,6 +317,10 @@
           'var' => 'statusId',
           'type' => TType::STRING,
           ),
+        5 => array(
+          'var' => 'processId',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -322,6 +336,9 @@
       if (isset($vals['statusId'])) {
         $this->statusId = $vals['statusId'];
       }
+      if (isset($vals['processId'])) {
+        $this->processId = $vals['processId'];
+      }
     }
   }
 
@@ -372,6 +389,13 @@
             $xfer += $input->skip($ftype);
           }
           break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->processId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -405,6 +429,11 @@
       $xfer += $output->writeString($this->statusId);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->processId !== null) {
+      $xfer += $output->writeFieldBegin('processId', TType::STRING, 5);
+      $xfer += $output->writeString($this->processId);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
index 8a2f3cb..8386b39 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Workspace/Types.php
@@ -1137,6 +1137,127 @@
 
 }
 
+class GatewayUsageReportingCommand {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var string
+   */
+  public $computeResourceId = null;
+  /**
+   * @var string
+   */
+  public $command = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'computeResourceId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'command',
+          'type' => TType::STRING,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['computeResourceId'])) {
+        $this->computeResourceId = $vals['computeResourceId'];
+      }
+      if (isset($vals['command'])) {
+        $this->command = $vals['command'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'GatewayUsageReportingCommand';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->computeResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->command);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('GatewayUsageReportingCommand');
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 1);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->computeResourceId !== null) {
+      $xfer += $output->writeFieldBegin('computeResourceId', TType::STRING, 2);
+      $xfer += $output->writeString($this->computeResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->command !== null) {
+      $xfer += $output->writeFieldBegin('command', TType::STRING, 3);
+      $xfer += $output->writeString($this->command);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
 class Notification {
   static $_TSPEC;
 
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote
index 53d275b..3877929 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py
index 4f5f648..3ccd35f 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/Airavata.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
@@ -33,6 +36,7 @@
          - authzToken
          - gatewayId
          - userName
+
         """
         pass
 
@@ -51,6 +55,7 @@
         Parameters:
          - authzToken
          - gateway
+
         """
         pass
 
@@ -69,6 +74,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -90,6 +96,7 @@
          - authzToken
          - gatewayId
          - updatedGateway
+
         """
         pass
 
@@ -108,6 +115,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -126,6 +134,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -136,6 +145,7 @@
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -157,6 +167,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -168,6 +179,7 @@
         Parameters:
          - authzToken
          - notification
+
         """
         pass
 
@@ -176,6 +188,7 @@
         Parameters:
          - authzToken
          - notification
+
         """
         pass
 
@@ -185,6 +198,7 @@
          - authzToken
          - gatewayId
          - notificationId
+
         """
         pass
 
@@ -194,6 +208,7 @@
          - authzToken
          - gatewayId
          - notificationId
+
         """
         pass
 
@@ -202,6 +217,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -221,6 +237,7 @@
         Parameters:
          - authzToken
          - description
+
         """
         pass
 
@@ -243,6 +260,7 @@
          - loginUserName
          - password
          - description
+
         """
         pass
 
@@ -251,6 +269,7 @@
         Parameters:
          - authzToken
          - tokenId
+
         """
         pass
 
@@ -259,6 +278,7 @@
         Parameters:
          - authzToken
          - type
+
         """
         pass
 
@@ -267,6 +287,7 @@
         Parameters:
          - authzToken
          - airavataCredStoreToken
+
         """
         pass
 
@@ -275,6 +296,7 @@
         Parameters:
          - authzToken
          - airavataCredStoreToken
+
         """
         pass
 
@@ -296,6 +318,7 @@
          - authzToken
          - gatewayId
          - project
+
         """
         pass
 
@@ -316,6 +339,7 @@
          - authzToken
          - projectId
          - updatedProject
+
         """
         pass
 
@@ -336,6 +360,7 @@
         Parameters:
          - authzToken
          - projectId
+
         """
         pass
 
@@ -358,6 +383,7 @@
         Parameters:
          - authzToken
          - projectId
+
         """
         pass
 
@@ -387,6 +413,7 @@
          - userName
          - limit
          - offset
+
         """
         pass
 
@@ -421,6 +448,7 @@
          - filters
          - limit
          - offset
+
         """
         pass
 
@@ -456,6 +484,7 @@
          - filters
          - limit
          - offset
+
         """
         pass
 
@@ -501,6 +530,7 @@
          - resourceHostName
          - limit
          - offset
+
         """
         pass
 
@@ -526,6 +556,7 @@
          - projectId
          - limit
          - offset
+
         """
         pass
 
@@ -555,6 +586,7 @@
          - userName
          - limit
          - offset
+
         """
         pass
 
@@ -604,6 +636,7 @@
          - authzToken
          - gatewayId
          - experiment
+
         """
         pass
 
@@ -626,6 +659,7 @@
         Parameters:
          - authzToken
          - experimentId
+
         """
         pass
 
@@ -669,6 +703,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -713,6 +748,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -757,6 +793,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -805,6 +842,7 @@
          - authzToken
          - airavataExperimentId
          - experiment
+
         """
         pass
 
@@ -814,6 +852,7 @@
          - authzToken
          - airavataExperimentId
          - userConfiguration
+
         """
         pass
 
@@ -823,6 +862,7 @@
          - authzToken
          - airavataExperimentId
          - resourceScheduling
+
         """
         pass
 
@@ -843,6 +883,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -889,6 +930,7 @@
          - authzToken
          - airavataExperimentId
          - gatewayId
+
         """
         pass
 
@@ -912,6 +954,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -934,6 +977,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -956,6 +1000,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -978,6 +1023,7 @@
          - authzToken
          - airavataExperimentId
          - outputNames
+
         """
         pass
 
@@ -998,6 +1044,7 @@
          - authzToken
          - airavataExperimentId
          - outputNames
+
         """
         pass
 
@@ -1020,6 +1067,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -1042,6 +1090,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         pass
 
@@ -1095,6 +1144,7 @@
          - existingExperimentID
          - newExperimentName
          - newExperimentProjectId
+
         """
         pass
 
@@ -1148,6 +1198,7 @@
          - existingExperimentID
          - newExperimentName
          - newExperimentProjectId
+
         """
         pass
 
@@ -1193,6 +1244,7 @@
          - authzToken
          - airavataExperimentId
          - gatewayId
+
         """
         pass
 
@@ -1215,6 +1267,7 @@
          - authzToken
          - gatewayId
          - applicationModule
+
         """
         pass
 
@@ -1233,6 +1286,7 @@
         Parameters:
          - authzToken
          - appModuleId
+
         """
         pass
 
@@ -1255,6 +1309,7 @@
          - authzToken
          - appModuleId
          - applicationModule
+
         """
         pass
 
@@ -1273,6 +1328,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -1291,6 +1347,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -1309,6 +1366,7 @@
         Parameters:
          - authzToken
          - appModuleId
+
         """
         pass
 
@@ -1331,6 +1389,7 @@
          - authzToken
          - gatewayId
          - applicationDeployment
+
         """
         pass
 
@@ -1349,6 +1408,7 @@
         Parameters:
          - authzToken
          - appDeploymentId
+
         """
         pass
 
@@ -1371,6 +1431,7 @@
          - authzToken
          - appDeploymentId
          - applicationDeployment
+
         """
         pass
 
@@ -1389,6 +1450,7 @@
         Parameters:
          - authzToken
          - appDeploymentId
+
         """
         pass
 
@@ -1407,6 +1469,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -1428,6 +1491,7 @@
          - authzToken
          - gatewayId
          - permissionType
+
         """
         pass
 
@@ -1445,6 +1509,7 @@
         Parameters:
          - authzToken
          - appModuleId
+
         """
         pass
 
@@ -1466,6 +1531,7 @@
          - authzToken
          - appModuleId
          - groupResourceProfileId
+
         """
         pass
 
@@ -1485,6 +1551,7 @@
          - authzToken
          - gatewayId
          - applicationInterface
+
         """
         pass
 
@@ -1511,6 +1578,7 @@
          - existingAppInterfaceID
          - newApplicationName
          - gatewayId
+
         """
         pass
 
@@ -1529,6 +1597,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         pass
 
@@ -1551,6 +1620,7 @@
          - authzToken
          - appInterfaceId
          - applicationInterface
+
         """
         pass
 
@@ -1569,6 +1639,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         pass
 
@@ -1585,6 +1656,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -1601,6 +1673,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -1619,6 +1692,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         pass
 
@@ -1637,6 +1711,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         pass
 
@@ -1656,6 +1731,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         pass
 
@@ -1673,6 +1749,7 @@
         Parameters:
          - authzToken
          - computeResourceDescription
+
         """
         pass
 
@@ -1690,6 +1767,7 @@
         Parameters:
          - authzToken
          - computeResourceId
+
         """
         pass
 
@@ -1704,6 +1782,7 @@
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -1725,6 +1804,7 @@
          - authzToken
          - computeResourceId
          - computeResourceDescription
+
         """
         pass
 
@@ -1742,6 +1822,7 @@
         Parameters:
          - authzToken
          - computeResourceId
+
         """
         pass
 
@@ -1759,6 +1840,7 @@
         Parameters:
          - authzToken
          - storageResourceDescription
+
         """
         pass
 
@@ -1776,6 +1858,7 @@
         Parameters:
          - authzToken
          - storageResourceId
+
         """
         pass
 
@@ -1789,6 +1872,7 @@
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -1810,6 +1894,7 @@
          - authzToken
          - storageResourceId
          - storageResourceDescription
+
         """
         pass
 
@@ -1827,6 +1912,7 @@
         Parameters:
          - authzToken
          - storageResourceId
+
         """
         pass
 
@@ -1853,6 +1939,7 @@
          - computeResourceId
          - priorityOrder
          - localSubmission
+
         """
         pass
 
@@ -1874,6 +1961,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - localSubmission
+
         """
         pass
 
@@ -1888,6 +1976,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         pass
 
@@ -1914,6 +2003,7 @@
          - computeResourceId
          - priorityOrder
          - sshJobSubmission
+
         """
         pass
 
@@ -1940,6 +2030,7 @@
          - computeResourceId
          - priorityOrder
          - sshJobSubmission
+
         """
         pass
 
@@ -1954,6 +2045,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         pass
 
@@ -1981,6 +2073,7 @@
          - computeResourceId
          - priorityOrder
          - unicoreJobSubmission
+
         """
         pass
 
@@ -1998,6 +2091,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         pass
 
@@ -2026,6 +2120,7 @@
          - computeResourceId
          - priorityOrder
          - cloudSubmission
+
         """
         pass
 
@@ -2041,6 +2136,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         pass
 
@@ -2063,6 +2159,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - sshJobSubmission
+
         """
         pass
 
@@ -2085,6 +2182,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - sshJobSubmission
+
         """
         pass
 
@@ -2108,6 +2206,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - unicoreJobSubmission
+
         """
         pass
 
@@ -2140,6 +2239,7 @@
          - dataMoveType
          - priorityOrder
          - localDataMovement
+
         """
         pass
 
@@ -2163,6 +2263,7 @@
          - authzToken
          - dataMovementInterfaceId
          - localDataMovement
+
         """
         pass
 
@@ -2181,6 +2282,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         pass
 
@@ -2209,6 +2311,7 @@
          - dataMoveType
          - priorityOrder
          - scpDataMovement
+
         """
         pass
 
@@ -2232,6 +2335,7 @@
          - authzToken
          - dataMovementInterfaceId
          - scpDataMovement
+
         """
         pass
 
@@ -2249,6 +2353,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         pass
 
@@ -2277,6 +2382,7 @@
          - dataMoveType
          - priorityOrder
          - unicoreDataMovement
+
         """
         pass
 
@@ -2301,6 +2407,7 @@
          - authzToken
          - dataMovementInterfaceId
          - unicoreDataMovement
+
         """
         pass
 
@@ -2319,6 +2426,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         pass
 
@@ -2351,6 +2459,7 @@
          - dataMoveType
          - priorityOrder
          - gridFTPDataMovement
+
         """
         pass
 
@@ -2374,6 +2483,7 @@
          - authzToken
          - dataMovementInterfaceId
          - gridFTPDataMovement
+
         """
         pass
 
@@ -2391,6 +2501,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         pass
 
@@ -2413,6 +2524,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - newPriorityOrder
+
         """
         pass
 
@@ -2435,6 +2547,7 @@
          - authzToken
          - dataMovementInterfaceId
          - newPriorityOrder
+
         """
         pass
 
@@ -2452,6 +2565,7 @@
         Parameters:
          - authzToken
          - jobSubmissionPriorityMap
+
         """
         pass
 
@@ -2470,6 +2584,7 @@
         Parameters:
          - authzToken
          - dataMovementPriorityMap
+
         """
         pass
 
@@ -2489,6 +2604,7 @@
          - authzToken
          - computeResourceId
          - jobSubmissionInterfaceId
+
         """
         pass
 
@@ -2509,6 +2625,7 @@
          - productUri
          - dataMovementInterfaceId
          - dataMoveType
+
         """
         pass
 
@@ -2517,6 +2634,7 @@
         Parameters:
          - authzToken
          - resourceJobManager
+
         """
         pass
 
@@ -2526,6 +2644,7 @@
          - authzToken
          - resourceJobManagerId
          - updatedResourceJobManager
+
         """
         pass
 
@@ -2534,6 +2653,7 @@
         Parameters:
          - authzToken
          - resourceJobManagerId
+
         """
         pass
 
@@ -2542,6 +2662,7 @@
         Parameters:
          - authzToken
          - resourceJobManagerId
+
         """
         pass
 
@@ -2564,6 +2685,7 @@
          - authzToken
          - computeResourceId
          - queueName
+
         """
         pass
 
@@ -2583,6 +2705,7 @@
         Parameters:
          - authzToken
          - gatewayResourceProfile
+
         """
         pass
 
@@ -2600,6 +2723,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         pass
 
@@ -2621,6 +2745,7 @@
          - authzToken
          - gatewayID
          - gatewayResourceProfile
+
         """
         pass
 
@@ -2638,6 +2763,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         pass
 
@@ -2664,6 +2790,7 @@
          - gatewayID
          - computeResourceId
          - computeResourcePreference
+
         """
         pass
 
@@ -2690,6 +2817,7 @@
          - gatewayID
          - storageResourceId
          - storagePreference
+
         """
         pass
 
@@ -2712,6 +2840,7 @@
          - authzToken
          - gatewayID
          - computeResourceId
+
         """
         pass
 
@@ -2734,6 +2863,7 @@
          - authzToken
          - gatewayID
          - storageResourceId
+
         """
         pass
 
@@ -2752,6 +2882,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         pass
 
@@ -2769,6 +2900,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         pass
 
@@ -2784,6 +2916,7 @@
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -2809,6 +2942,7 @@
          - gatewayID
          - computeResourceId
          - computeResourcePreference
+
         """
         pass
 
@@ -2834,6 +2968,7 @@
          - gatewayID
          - storageId
          - storagePreference
+
         """
         pass
 
@@ -2855,6 +2990,7 @@
          - authzToken
          - gatewayID
          - computeResourceId
+
         """
         pass
 
@@ -2876,6 +3012,7 @@
          - authzToken
          - gatewayID
          - storageId
+
         """
         pass
 
@@ -2883,6 +3020,7 @@
         """
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -2895,6 +3033,7 @@
          - authzToken
          - computeResourceId
          - userId
+
         """
         pass
 
@@ -2906,6 +3045,7 @@
          - authzToken
          - computeResourceId
          - airavataCredStoreToken
+
         """
         pass
 
@@ -2921,6 +3061,7 @@
          - computeResourceId
          - userId
          - airavataCredStoreToken
+
         """
         pass
 
@@ -2940,6 +3081,7 @@
         Parameters:
          - authzToken
          - userResourceProfile
+
         """
         pass
 
@@ -2960,6 +3102,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         pass
 
@@ -2981,6 +3124,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         pass
 
@@ -3006,6 +3150,7 @@
          - userId
          - gatewayID
          - userResourceProfile
+
         """
         pass
 
@@ -3027,6 +3172,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         pass
 
@@ -3057,6 +3203,7 @@
          - gatewayID
          - userComputeResourceId
          - userComputeResourcePreference
+
         """
         pass
 
@@ -3087,6 +3234,7 @@
          - gatewayID
          - userStorageResourceId
          - userStoragePreference
+
         """
         pass
 
@@ -3113,6 +3261,7 @@
          - userId
          - gatewayID
          - userComputeResourceId
+
         """
         pass
 
@@ -3139,6 +3288,7 @@
          - userId
          - gatewayID
          - userStorageResourceId
+
         """
         pass
 
@@ -3161,6 +3311,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         pass
 
@@ -3182,6 +3333,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         pass
 
@@ -3197,6 +3349,7 @@
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -3226,6 +3379,7 @@
          - gatewayID
          - userComputeResourceId
          - userComputeResourcePreference
+
         """
         pass
 
@@ -3255,6 +3409,7 @@
          - gatewayID
          - userStorageId
          - userStoragePreference
+
         """
         pass
 
@@ -3280,6 +3435,7 @@
          - userId
          - gatewayID
          - userComputeResourceId
+
         """
         pass
 
@@ -3305,6 +3461,7 @@
          - userId
          - gatewayID
          - userStorageId
+
         """
         pass
 
@@ -3312,6 +3469,7 @@
         """
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -3323,6 +3481,7 @@
         Parameters:
          - authzToken
          - dataProductModel
+
         """
         pass
 
@@ -3331,6 +3490,7 @@
         Parameters:
          - authzToken
          - dataProductUri
+
         """
         pass
 
@@ -3339,6 +3499,7 @@
         Parameters:
          - authzToken
          - replicaLocationModel
+
         """
         pass
 
@@ -3347,6 +3508,7 @@
         Parameters:
          - authzToken
          - productUri
+
         """
         pass
 
@@ -3355,6 +3517,7 @@
         Parameters:
          - authzToken
          - productUri
+
         """
         pass
 
@@ -3367,6 +3530,7 @@
          - authzToken
          - resourceId
          - userPermissionList
+
         """
         pass
 
@@ -3376,6 +3540,7 @@
          - authzToken
          - resourceId
          - groupPermissionList
+
         """
         pass
 
@@ -3385,6 +3550,7 @@
          - authzToken
          - resourceId
          - userPermissionList
+
         """
         pass
 
@@ -3394,6 +3560,7 @@
          - authzToken
          - resourceId
          - groupPermissionList
+
         """
         pass
 
@@ -3403,6 +3570,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         pass
 
@@ -3412,6 +3580,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         pass
 
@@ -3421,6 +3590,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         pass
 
@@ -3430,6 +3600,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         pass
 
@@ -3439,6 +3610,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         pass
 
@@ -3447,6 +3619,7 @@
         Parameters:
          - authzToken
          - groupResourceProfile
+
         """
         pass
 
@@ -3455,6 +3628,7 @@
         Parameters:
          - authzToken
          - groupResourceProfile
+
         """
         pass
 
@@ -3463,6 +3637,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         pass
 
@@ -3471,6 +3646,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         pass
 
@@ -3479,6 +3655,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -3488,6 +3665,7 @@
          - authzToken
          - computeResourceId
          - groupResourceProfileId
+
         """
         pass
 
@@ -3496,6 +3674,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         pass
 
@@ -3504,6 +3683,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         pass
 
@@ -3513,6 +3693,7 @@
          - authzToken
          - computeResourceId
          - groupResourceProfileId
+
         """
         pass
 
@@ -3521,6 +3702,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         pass
 
@@ -3529,6 +3711,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         pass
 
@@ -3537,6 +3720,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         pass
 
@@ -3545,6 +3729,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         pass
 
@@ -3553,6 +3738,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         pass
 
@@ -3562,6 +3748,7 @@
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -3571,6 +3758,7 @@
          - authzToken
          - parserId
          - gatewayId
+
         """
         pass
 
@@ -3579,6 +3767,7 @@
         Parameters:
          - authzToken
          - parser
+
         """
         pass
 
@@ -3587,6 +3776,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -3596,6 +3786,7 @@
          - authzToken
          - parserId
          - gatewayId
+
         """
         pass
 
@@ -3605,6 +3796,7 @@
          - authzToken
          - templateId
          - gatewayId
+
         """
         pass
 
@@ -3614,6 +3806,7 @@
          - authzToken
          - experimentId
          - gatewayId
+
         """
         pass
 
@@ -3622,6 +3815,7 @@
         Parameters:
          - authzToken
          - parsingTemplate
+
         """
         pass
 
@@ -3631,6 +3825,7 @@
          - authzToken
          - templateId
          - gatewayId
+
         """
         pass
 
@@ -3639,6 +3834,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -3663,6 +3859,7 @@
          - authzToken
          - gatewayId
          - userName
+
         """
         self.send_isUserExists(authzToken, gatewayId, userName)
         return self.recv_isUserExists()
@@ -3715,6 +3912,7 @@
         Parameters:
          - authzToken
          - gateway
+
         """
         self.send_addGateway(authzToken, gateway)
         return self.recv_addGateway()
@@ -3766,6 +3964,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAllUsersInGateway(authzToken, gatewayId)
         return self.recv_getAllUsersInGateway()
@@ -3820,6 +4019,7 @@
          - authzToken
          - gatewayId
          - updatedGateway
+
         """
         self.send_updateGateway(authzToken, gatewayId, updatedGateway)
         return self.recv_updateGateway()
@@ -3872,6 +4072,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getGateway(authzToken, gatewayId)
         return self.recv_getGateway()
@@ -3923,6 +4124,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_deleteGateway(authzToken, gatewayId)
         return self.recv_deleteGateway()
@@ -3966,6 +4168,7 @@
 
         Parameters:
          - authzToken
+
         """
         self.send_getAllGateways(authzToken)
         return self.recv_getAllGateways()
@@ -4019,6 +4222,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_isGatewayExist(authzToken, gatewayId)
         return self.recv_isGatewayExist()
@@ -4063,6 +4267,7 @@
         Parameters:
          - authzToken
          - notification
+
         """
         self.send_createNotification(authzToken, notification)
         return self.recv_createNotification()
@@ -4104,6 +4309,7 @@
         Parameters:
          - authzToken
          - notification
+
         """
         self.send_updateNotification(authzToken, notification)
         return self.recv_updateNotification()
@@ -4146,6 +4352,7 @@
          - authzToken
          - gatewayId
          - notificationId
+
         """
         self.send_deleteNotification(authzToken, gatewayId, notificationId)
         return self.recv_deleteNotification()
@@ -4189,6 +4396,7 @@
          - authzToken
          - gatewayId
          - notificationId
+
         """
         self.send_getNotification(authzToken, gatewayId, notificationId)
         return self.recv_getNotification()
@@ -4231,6 +4439,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAllNotifications(authzToken, gatewayId)
         return self.recv_getAllNotifications()
@@ -4283,6 +4492,7 @@
         Parameters:
          - authzToken
          - description
+
         """
         self.send_generateAndRegisterSSHKeys(authzToken, description)
         return self.recv_generateAndRegisterSSHKeys()
@@ -4336,6 +4546,7 @@
          - loginUserName
          - password
          - description
+
         """
         self.send_registerPwdCredential(authzToken, loginUserName, password, description)
         return self.recv_registerPwdCredential()
@@ -4377,6 +4588,7 @@
         Parameters:
          - authzToken
          - tokenId
+
         """
         self.send_getCredentialSummary(authzToken, tokenId)
         return self.recv_getCredentialSummary()
@@ -4418,6 +4630,7 @@
         Parameters:
          - authzToken
          - type
+
         """
         self.send_getAllCredentialSummaries(authzToken, type)
         return self.recv_getAllCredentialSummaries()
@@ -4457,6 +4670,7 @@
         Parameters:
          - authzToken
          - airavataCredStoreToken
+
         """
         self.send_deleteSSHPubKey(authzToken, airavataCredStoreToken)
         return self.recv_deleteSSHPubKey()
@@ -4498,6 +4712,7 @@
         Parameters:
          - authzToken
          - airavataCredStoreToken
+
         """
         self.send_deletePWDCredential(authzToken, airavataCredStoreToken)
         return self.recv_deletePWDCredential()
@@ -4552,6 +4767,7 @@
          - authzToken
          - gatewayId
          - project
+
         """
         self.send_createProject(authzToken, gatewayId, project)
         return self.recv_createProject()
@@ -4606,6 +4822,7 @@
          - authzToken
          - projectId
          - updatedProject
+
         """
         self.send_updateProject(authzToken, projectId, updatedProject)
         self.recv_updateProject()
@@ -4660,6 +4877,7 @@
         Parameters:
          - authzToken
          - projectId
+
         """
         self.send_getProject(authzToken, projectId)
         return self.recv_getProject()
@@ -4717,6 +4935,7 @@
         Parameters:
          - authzToken
          - projectId
+
         """
         self.send_deleteProject(authzToken, projectId)
         return self.recv_deleteProject()
@@ -4781,6 +5000,7 @@
          - userName
          - limit
          - offset
+
         """
         self.send_getUserProjects(authzToken, gatewayId, userName, limit, offset)
         return self.recv_getUserProjects()
@@ -4851,6 +5071,7 @@
          - filters
          - limit
          - offset
+
         """
         self.send_searchProjects(authzToken, gatewayId, userName, filters, limit, offset)
         return self.recv_searchProjects()
@@ -4923,6 +5144,7 @@
          - filters
          - limit
          - offset
+
         """
         self.send_searchExperiments(authzToken, gatewayId, userName, filters, limit, offset)
         return self.recv_searchExperiments()
@@ -5005,6 +5227,7 @@
          - resourceHostName
          - limit
          - offset
+
         """
         self.send_getExperimentStatistics(authzToken, gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, limit, offset)
         return self.recv_getExperimentStatistics()
@@ -5070,6 +5293,7 @@
          - projectId
          - limit
          - offset
+
         """
         self.send_getExperimentsInProject(authzToken, projectId, limit, offset)
         return self.recv_getExperimentsInProject()
@@ -5136,6 +5360,7 @@
          - userName
          - limit
          - offset
+
         """
         self.send_getUserExperiments(authzToken, gatewayId, userName, limit, offset)
         return self.recv_getUserExperiments()
@@ -5221,6 +5446,7 @@
          - authzToken
          - gatewayId
          - experiment
+
         """
         self.send_createExperiment(authzToken, gatewayId, experiment)
         return self.recv_createExperiment()
@@ -5277,6 +5503,7 @@
         Parameters:
          - authzToken
          - experimentId
+
         """
         self.send_deleteExperiment(authzToken, experimentId)
         return self.recv_deleteExperiment()
@@ -5353,6 +5580,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getExperiment(authzToken, airavataExperimentId)
         return self.recv_getExperiment()
@@ -5432,6 +5660,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getExperimentByAdmin(authzToken, airavataExperimentId)
         return self.recv_getExperimentByAdmin()
@@ -5511,6 +5740,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getDetailedExperimentTree(authzToken, airavataExperimentId)
         return self.recv_getDetailedExperimentTree()
@@ -5594,6 +5824,7 @@
          - authzToken
          - airavataExperimentId
          - experiment
+
         """
         self.send_updateExperiment(authzToken, airavataExperimentId, experiment)
         self.recv_updateExperiment()
@@ -5637,6 +5868,7 @@
          - authzToken
          - airavataExperimentId
          - userConfiguration
+
         """
         self.send_updateExperimentConfiguration(authzToken, airavataExperimentId, userConfiguration)
         self.recv_updateExperimentConfiguration()
@@ -5672,6 +5904,7 @@
          - authzToken
          - airavataExperimentId
          - resourceScheduling
+
         """
         self.send_updateResourceScheduleing(authzToken, airavataExperimentId, resourceScheduling)
         self.recv_updateResourceScheduleing()
@@ -5718,6 +5951,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_validateExperiment(authzToken, airavataExperimentId)
         return self.recv_validateExperiment()
@@ -5799,6 +6033,7 @@
          - authzToken
          - airavataExperimentId
          - gatewayId
+
         """
         self.send_launchExperiment(authzToken, airavataExperimentId, gatewayId)
         self.recv_launchExperiment()
@@ -5856,6 +6091,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getExperimentStatus(authzToken, airavataExperimentId)
         return self.recv_getExperimentStatus()
@@ -5913,6 +6149,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getExperimentOutputs(authzToken, airavataExperimentId)
         return self.recv_getExperimentOutputs()
@@ -5970,6 +6207,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getIntermediateOutputs(authzToken, airavataExperimentId)
         return self.recv_getIntermediateOutputs()
@@ -6027,6 +6265,7 @@
          - authzToken
          - airavataExperimentId
          - outputNames
+
         """
         self.send_fetchIntermediateOutputs(authzToken, airavataExperimentId, outputNames)
         self.recv_fetchIntermediateOutputs()
@@ -6081,6 +6320,7 @@
          - authzToken
          - airavataExperimentId
          - outputNames
+
         """
         self.send_getIntermediateOutputProcessStatus(authzToken, airavataExperimentId, outputNames)
         return self.recv_getIntermediateOutputProcessStatus()
@@ -6139,6 +6379,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getJobStatuses(authzToken, airavataExperimentId)
         return self.recv_getJobStatuses()
@@ -6196,6 +6437,7 @@
         Parameters:
          - authzToken
          - airavataExperimentId
+
         """
         self.send_getJobDetails(authzToken, airavataExperimentId)
         return self.recv_getJobDetails()
@@ -6284,6 +6526,7 @@
          - existingExperimentID
          - newExperimentName
          - newExperimentProjectId
+
         """
         self.send_cloneExperiment(authzToken, existingExperimentID, newExperimentName, newExperimentProjectId)
         return self.recv_cloneExperiment()
@@ -6376,6 +6619,7 @@
          - existingExperimentID
          - newExperimentName
          - newExperimentProjectId
+
         """
         self.send_cloneExperimentByAdmin(authzToken, existingExperimentID, newExperimentName, newExperimentProjectId)
         return self.recv_cloneExperimentByAdmin()
@@ -6460,6 +6704,7 @@
          - authzToken
          - airavataExperimentId
          - gatewayId
+
         """
         self.send_terminateExperiment(authzToken, airavataExperimentId, gatewayId)
         self.recv_terminateExperiment()
@@ -6516,6 +6761,7 @@
          - authzToken
          - gatewayId
          - applicationModule
+
         """
         self.send_registerApplicationModule(authzToken, gatewayId, applicationModule)
         return self.recv_registerApplicationModule()
@@ -6568,6 +6814,7 @@
         Parameters:
          - authzToken
          - appModuleId
+
         """
         self.send_getApplicationModule(authzToken, appModuleId)
         return self.recv_getApplicationModule()
@@ -6623,6 +6870,7 @@
          - authzToken
          - appModuleId
          - applicationModule
+
         """
         self.send_updateApplicationModule(authzToken, appModuleId, applicationModule)
         return self.recv_updateApplicationModule()
@@ -6675,6 +6923,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAllAppModules(authzToken, gatewayId)
         return self.recv_getAllAppModules()
@@ -6726,6 +6975,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAccessibleAppModules(authzToken, gatewayId)
         return self.recv_getAccessibleAppModules()
@@ -6777,6 +7027,7 @@
         Parameters:
          - authzToken
          - appModuleId
+
         """
         self.send_deleteApplicationModule(authzToken, appModuleId)
         return self.recv_deleteApplicationModule()
@@ -6832,6 +7083,7 @@
          - authzToken
          - gatewayId
          - applicationDeployment
+
         """
         self.send_registerApplicationDeployment(authzToken, gatewayId, applicationDeployment)
         return self.recv_registerApplicationDeployment()
@@ -6884,6 +7136,7 @@
         Parameters:
          - authzToken
          - appDeploymentId
+
         """
         self.send_getApplicationDeployment(authzToken, appDeploymentId)
         return self.recv_getApplicationDeployment()
@@ -6939,6 +7192,7 @@
          - authzToken
          - appDeploymentId
          - applicationDeployment
+
         """
         self.send_updateApplicationDeployment(authzToken, appDeploymentId, applicationDeployment)
         return self.recv_updateApplicationDeployment()
@@ -6991,6 +7245,7 @@
         Parameters:
          - authzToken
          - appDeploymentId
+
         """
         self.send_deleteApplicationDeployment(authzToken, appDeploymentId)
         return self.recv_deleteApplicationDeployment()
@@ -7042,6 +7297,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAllApplicationDeployments(authzToken, gatewayId)
         return self.recv_getAllApplicationDeployments()
@@ -7096,6 +7352,7 @@
          - authzToken
          - gatewayId
          - permissionType
+
         """
         self.send_getAccessibleApplicationDeployments(authzToken, gatewayId, permissionType)
         return self.recv_getAccessibleApplicationDeployments()
@@ -7147,6 +7404,7 @@
         Parameters:
          - authzToken
          - appModuleId
+
         """
         self.send_getAppModuleDeployedResources(authzToken, appModuleId)
         return self.recv_getAppModuleDeployedResources()
@@ -7201,6 +7459,7 @@
          - authzToken
          - appModuleId
          - groupResourceProfileId
+
         """
         self.send_getApplicationDeploymentsForAppModuleAndGroupResourceProfile(authzToken, appModuleId, groupResourceProfileId)
         return self.recv_getApplicationDeploymentsForAppModuleAndGroupResourceProfile()
@@ -7254,6 +7513,7 @@
          - authzToken
          - gatewayId
          - applicationInterface
+
         """
         self.send_registerApplicationInterface(authzToken, gatewayId, applicationInterface)
         return self.recv_registerApplicationInterface()
@@ -7314,6 +7574,7 @@
          - existingAppInterfaceID
          - newApplicationName
          - gatewayId
+
         """
         self.send_cloneApplicationInterface(authzToken, existingAppInterfaceID, newApplicationName, gatewayId)
         return self.recv_cloneApplicationInterface()
@@ -7367,6 +7628,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         self.send_getApplicationInterface(authzToken, appInterfaceId)
         return self.recv_getApplicationInterface()
@@ -7422,6 +7684,7 @@
          - authzToken
          - appInterfaceId
          - applicationInterface
+
         """
         self.send_updateApplicationInterface(authzToken, appInterfaceId, applicationInterface)
         return self.recv_updateApplicationInterface()
@@ -7474,6 +7737,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         self.send_deleteApplicationInterface(authzToken, appInterfaceId)
         return self.recv_deleteApplicationInterface()
@@ -7523,6 +7787,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAllApplicationInterfaceNames(authzToken, gatewayId)
         return self.recv_getAllApplicationInterfaceNames()
@@ -7572,6 +7837,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getAllApplicationInterfaces(authzToken, gatewayId)
         return self.recv_getAllApplicationInterfaces()
@@ -7623,6 +7889,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         self.send_getApplicationInputs(authzToken, appInterfaceId)
         return self.recv_getApplicationInputs()
@@ -7674,6 +7941,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         self.send_getApplicationOutputs(authzToken, appInterfaceId)
         return self.recv_getApplicationOutputs()
@@ -7726,6 +7994,7 @@
         Parameters:
          - authzToken
          - appInterfaceId
+
         """
         self.send_getAvailableAppInterfaceComputeResources(authzToken, appInterfaceId)
         return self.recv_getAvailableAppInterfaceComputeResources()
@@ -7776,6 +8045,7 @@
         Parameters:
          - authzToken
          - computeResourceDescription
+
         """
         self.send_registerComputeResource(authzToken, computeResourceDescription)
         return self.recv_registerComputeResource()
@@ -7826,6 +8096,7 @@
         Parameters:
          - authzToken
          - computeResourceId
+
         """
         self.send_getComputeResource(authzToken, computeResourceId)
         return self.recv_getComputeResource()
@@ -7873,6 +8144,7 @@
 
         Parameters:
          - authzToken
+
         """
         self.send_getAllComputeResourceNames(authzToken)
         return self.recv_getAllComputeResourceNames()
@@ -7926,6 +8198,7 @@
          - authzToken
          - computeResourceId
          - computeResourceDescription
+
         """
         self.send_updateComputeResource(authzToken, computeResourceId, computeResourceDescription)
         return self.recv_updateComputeResource()
@@ -7977,6 +8250,7 @@
         Parameters:
          - authzToken
          - computeResourceId
+
         """
         self.send_deleteComputeResource(authzToken, computeResourceId)
         return self.recv_deleteComputeResource()
@@ -8027,6 +8301,7 @@
         Parameters:
          - authzToken
          - storageResourceDescription
+
         """
         self.send_registerStorageResource(authzToken, storageResourceDescription)
         return self.recv_registerStorageResource()
@@ -8077,6 +8352,7 @@
         Parameters:
          - authzToken
          - storageResourceId
+
         """
         self.send_getStorageResource(authzToken, storageResourceId)
         return self.recv_getStorageResource()
@@ -8123,6 +8399,7 @@
 
         Parameters:
          - authzToken
+
         """
         self.send_getAllStorageResourceNames(authzToken)
         return self.recv_getAllStorageResourceNames()
@@ -8176,6 +8453,7 @@
          - authzToken
          - storageResourceId
          - storageResourceDescription
+
         """
         self.send_updateStorageResource(authzToken, storageResourceId, storageResourceDescription)
         return self.recv_updateStorageResource()
@@ -8227,6 +8505,7 @@
         Parameters:
          - authzToken
          - storageResourceId
+
         """
         self.send_deleteStorageResource(authzToken, storageResourceId)
         return self.recv_deleteStorageResource()
@@ -8286,6 +8565,7 @@
          - computeResourceId
          - priorityOrder
          - localSubmission
+
         """
         self.send_addLocalSubmissionDetails(authzToken, computeResourceId, priorityOrder, localSubmission)
         return self.recv_addLocalSubmissionDetails()
@@ -8342,6 +8622,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - localSubmission
+
         """
         self.send_updateLocalSubmissionDetails(authzToken, jobSubmissionInterfaceId, localSubmission)
         return self.recv_updateLocalSubmissionDetails()
@@ -8390,6 +8671,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         self.send_getLocalJobSubmission(authzToken, jobSubmissionId)
         return self.recv_getLocalJobSubmission()
@@ -8449,6 +8731,7 @@
          - computeResourceId
          - priorityOrder
          - sshJobSubmission
+
         """
         self.send_addSSHJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, sshJobSubmission)
         return self.recv_addSSHJobSubmissionDetails()
@@ -8510,6 +8793,7 @@
          - computeResourceId
          - priorityOrder
          - sshJobSubmission
+
         """
         self.send_addSSHForkJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, sshJobSubmission)
         return self.recv_addSSHForkJobSubmissionDetails()
@@ -8559,6 +8843,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         self.send_getSSHJobSubmission(authzToken, jobSubmissionId)
         return self.recv_getSSHJobSubmission()
@@ -8619,6 +8904,7 @@
          - computeResourceId
          - priorityOrder
          - unicoreJobSubmission
+
         """
         self.send_addUNICOREJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, unicoreJobSubmission)
         return self.recv_addUNICOREJobSubmissionDetails()
@@ -8671,6 +8957,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         self.send_getUnicoreJobSubmission(authzToken, jobSubmissionId)
         return self.recv_getUnicoreJobSubmission()
@@ -8732,6 +9019,7 @@
          - computeResourceId
          - priorityOrder
          - cloudSubmission
+
         """
         self.send_addCloudJobSubmissionDetails(authzToken, computeResourceId, priorityOrder, cloudSubmission)
         return self.recv_addCloudJobSubmissionDetails()
@@ -8782,6 +9070,7 @@
         Parameters:
          - authzToken
          - jobSubmissionId
+
         """
         self.send_getCloudJobSubmission(authzToken, jobSubmissionId)
         return self.recv_getCloudJobSubmission()
@@ -8837,6 +9126,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - sshJobSubmission
+
         """
         self.send_updateSSHJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, sshJobSubmission)
         return self.recv_updateSSHJobSubmissionDetails()
@@ -8893,6 +9183,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - sshJobSubmission
+
         """
         self.send_updateCloudJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, sshJobSubmission)
         return self.recv_updateCloudJobSubmissionDetails()
@@ -8950,6 +9241,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - unicoreJobSubmission
+
         """
         self.send_updateUnicoreJobSubmissionDetails(authzToken, jobSubmissionInterfaceId, unicoreJobSubmission)
         return self.recv_updateUnicoreJobSubmissionDetails()
@@ -9016,6 +9308,7 @@
          - dataMoveType
          - priorityOrder
          - localDataMovement
+
         """
         self.send_addLocalDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, localDataMovement)
         return self.recv_addLocalDataMovementDetails()
@@ -9075,6 +9368,7 @@
          - authzToken
          - dataMovementInterfaceId
          - localDataMovement
+
         """
         self.send_updateLocalDataMovementDetails(authzToken, dataMovementInterfaceId, localDataMovement)
         return self.recv_updateLocalDataMovementDetails()
@@ -9127,6 +9421,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         self.send_getLocalDataMovement(authzToken, dataMovementId)
         return self.recv_getLocalDataMovement()
@@ -9188,6 +9483,7 @@
          - dataMoveType
          - priorityOrder
          - scpDataMovement
+
         """
         self.send_addSCPDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, scpDataMovement)
         return self.recv_addSCPDataMovementDetails()
@@ -9247,6 +9543,7 @@
          - authzToken
          - dataMovementInterfaceId
          - scpDataMovement
+
         """
         self.send_updateSCPDataMovementDetails(authzToken, dataMovementInterfaceId, scpDataMovement)
         return self.recv_updateSCPDataMovementDetails()
@@ -9298,6 +9595,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         self.send_getSCPDataMovement(authzToken, dataMovementId)
         return self.recv_getSCPDataMovement()
@@ -9359,6 +9657,7 @@
          - dataMoveType
          - priorityOrder
          - unicoreDataMovement
+
         """
         self.send_addUnicoreDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, unicoreDataMovement)
         return self.recv_addUnicoreDataMovementDetails()
@@ -9419,6 +9718,7 @@
          - authzToken
          - dataMovementInterfaceId
          - unicoreDataMovement
+
         """
         self.send_updateUnicoreDataMovementDetails(authzToken, dataMovementInterfaceId, unicoreDataMovement)
         return self.recv_updateUnicoreDataMovementDetails()
@@ -9471,6 +9771,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         self.send_getUnicoreDataMovement(authzToken, dataMovementId)
         return self.recv_getUnicoreDataMovement()
@@ -9536,6 +9837,7 @@
          - dataMoveType
          - priorityOrder
          - gridFTPDataMovement
+
         """
         self.send_addGridFTPDataMovementDetails(authzToken, productUri, dataMoveType, priorityOrder, gridFTPDataMovement)
         return self.recv_addGridFTPDataMovementDetails()
@@ -9595,6 +9897,7 @@
          - authzToken
          - dataMovementInterfaceId
          - gridFTPDataMovement
+
         """
         self.send_updateGridFTPDataMovementDetails(authzToken, dataMovementInterfaceId, gridFTPDataMovement)
         return self.recv_updateGridFTPDataMovementDetails()
@@ -9646,6 +9949,7 @@
         Parameters:
          - authzToken
          - dataMovementId
+
         """
         self.send_getGridFTPDataMovement(authzToken, dataMovementId)
         return self.recv_getGridFTPDataMovement()
@@ -9701,6 +10005,7 @@
          - authzToken
          - jobSubmissionInterfaceId
          - newPriorityOrder
+
         """
         self.send_changeJobSubmissionPriority(authzToken, jobSubmissionInterfaceId, newPriorityOrder)
         return self.recv_changeJobSubmissionPriority()
@@ -9757,6 +10062,7 @@
          - authzToken
          - dataMovementInterfaceId
          - newPriorityOrder
+
         """
         self.send_changeDataMovementPriority(authzToken, dataMovementInterfaceId, newPriorityOrder)
         return self.recv_changeDataMovementPriority()
@@ -9808,6 +10114,7 @@
         Parameters:
          - authzToken
          - jobSubmissionPriorityMap
+
         """
         self.send_changeJobSubmissionPriorities(authzToken, jobSubmissionPriorityMap)
         return self.recv_changeJobSubmissionPriorities()
@@ -9859,6 +10166,7 @@
         Parameters:
          - authzToken
          - dataMovementPriorityMap
+
         """
         self.send_changeDataMovementPriorities(authzToken, dataMovementPriorityMap)
         return self.recv_changeDataMovementPriorities()
@@ -9911,6 +10219,7 @@
          - authzToken
          - computeResourceId
          - jobSubmissionInterfaceId
+
         """
         self.send_deleteJobSubmissionInterface(authzToken, computeResourceId, jobSubmissionInterfaceId)
         return self.recv_deleteJobSubmissionInterface()
@@ -9965,6 +10274,7 @@
          - productUri
          - dataMovementInterfaceId
          - dataMoveType
+
         """
         self.send_deleteDataMovementInterface(authzToken, productUri, dataMovementInterfaceId, dataMoveType)
         return self.recv_deleteDataMovementInterface()
@@ -10008,6 +10318,7 @@
         Parameters:
          - authzToken
          - resourceJobManager
+
         """
         self.send_registerResourceJobManager(authzToken, resourceJobManager)
         return self.recv_registerResourceJobManager()
@@ -10050,6 +10361,7 @@
          - authzToken
          - resourceJobManagerId
          - updatedResourceJobManager
+
         """
         self.send_updateResourceJobManager(authzToken, resourceJobManagerId, updatedResourceJobManager)
         return self.recv_updateResourceJobManager()
@@ -10092,6 +10404,7 @@
         Parameters:
          - authzToken
          - resourceJobManagerId
+
         """
         self.send_getResourceJobManager(authzToken, resourceJobManagerId)
         return self.recv_getResourceJobManager()
@@ -10133,6 +10446,7 @@
         Parameters:
          - authzToken
          - resourceJobManagerId
+
         """
         self.send_deleteResourceJobManager(authzToken, resourceJobManagerId)
         return self.recv_deleteResourceJobManager()
@@ -10188,6 +10502,7 @@
          - authzToken
          - computeResourceId
          - queueName
+
         """
         self.send_deleteBatchQueue(authzToken, computeResourceId, queueName)
         return self.recv_deleteBatchQueue()
@@ -10241,6 +10556,7 @@
         Parameters:
          - authzToken
          - gatewayResourceProfile
+
         """
         self.send_registerGatewayResourceProfile(authzToken, gatewayResourceProfile)
         return self.recv_registerGatewayResourceProfile()
@@ -10291,6 +10607,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         self.send_getGatewayResourceProfile(authzToken, gatewayID)
         return self.recv_getGatewayResourceProfile()
@@ -10345,6 +10662,7 @@
          - authzToken
          - gatewayID
          - gatewayResourceProfile
+
         """
         self.send_updateGatewayResourceProfile(authzToken, gatewayID, gatewayResourceProfile)
         return self.recv_updateGatewayResourceProfile()
@@ -10396,6 +10714,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         self.send_deleteGatewayResourceProfile(authzToken, gatewayID)
         return self.recv_deleteGatewayResourceProfile()
@@ -10455,6 +10774,7 @@
          - gatewayID
          - computeResourceId
          - computeResourcePreference
+
         """
         self.send_addGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId, computeResourcePreference)
         return self.recv_addGatewayComputeResourcePreference()
@@ -10516,6 +10836,7 @@
          - gatewayID
          - storageResourceId
          - storagePreference
+
         """
         self.send_addGatewayStoragePreference(authzToken, gatewayID, storageResourceId, storagePreference)
         return self.recv_addGatewayStoragePreference()
@@ -10573,6 +10894,7 @@
          - authzToken
          - gatewayID
          - computeResourceId
+
         """
         self.send_getGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId)
         return self.recv_getGatewayComputeResourcePreference()
@@ -10629,6 +10951,7 @@
          - authzToken
          - gatewayID
          - storageResourceId
+
         """
         self.send_getGatewayStoragePreference(authzToken, gatewayID, storageResourceId)
         return self.recv_getGatewayStoragePreference()
@@ -10681,6 +11004,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         self.send_getAllGatewayComputeResourcePreferences(authzToken, gatewayID)
         return self.recv_getAllGatewayComputeResourcePreferences()
@@ -10731,6 +11055,7 @@
         Parameters:
          - authzToken
          - gatewayID
+
         """
         self.send_getAllGatewayStoragePreferences(authzToken, gatewayID)
         return self.recv_getAllGatewayStoragePreferences()
@@ -10779,6 +11104,7 @@
 
         Parameters:
          - authzToken
+
         """
         self.send_getAllGatewayResourceProfiles(authzToken)
         return self.recv_getAllGatewayResourceProfiles()
@@ -10836,6 +11162,7 @@
          - gatewayID
          - computeResourceId
          - computeResourcePreference
+
         """
         self.send_updateGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId, computeResourcePreference)
         return self.recv_updateGatewayComputeResourcePreference()
@@ -10896,6 +11223,7 @@
          - gatewayID
          - storageId
          - storagePreference
+
         """
         self.send_updateGatewayStoragePreference(authzToken, gatewayID, storageId, storagePreference)
         return self.recv_updateGatewayStoragePreference()
@@ -10952,6 +11280,7 @@
          - authzToken
          - gatewayID
          - computeResourceId
+
         """
         self.send_deleteGatewayComputeResourcePreference(authzToken, gatewayID, computeResourceId)
         return self.recv_deleteGatewayComputeResourcePreference()
@@ -11007,6 +11336,7 @@
          - authzToken
          - gatewayID
          - storageId
+
         """
         self.send_deleteGatewayStoragePreference(authzToken, gatewayID, storageId)
         return self.recv_deleteGatewayStoragePreference()
@@ -11048,6 +11378,7 @@
         """
         Parameters:
          - authzToken
+
         """
         self.send_getSSHAccountProvisioners(authzToken)
         return self.recv_getSSHAccountProvisioners()
@@ -11092,6 +11423,7 @@
          - authzToken
          - computeResourceId
          - userId
+
         """
         self.send_doesUserHaveSSHAccount(authzToken, computeResourceId, userId)
         return self.recv_doesUserHaveSSHAccount()
@@ -11137,6 +11469,7 @@
          - authzToken
          - computeResourceId
          - airavataCredStoreToken
+
         """
         self.send_isSSHSetupCompleteForUserComputeResourcePreference(authzToken, computeResourceId, airavataCredStoreToken)
         return self.recv_isSSHSetupCompleteForUserComputeResourcePreference()
@@ -11186,6 +11519,7 @@
          - computeResourceId
          - userId
          - airavataCredStoreToken
+
         """
         self.send_setupUserComputeResourcePreferencesForSSH(authzToken, computeResourceId, userId, airavataCredStoreToken)
         return self.recv_setupUserComputeResourcePreferencesForSSH()
@@ -11240,6 +11574,7 @@
         Parameters:
          - authzToken
          - userResourceProfile
+
         """
         self.send_registerUserResourceProfile(authzToken, userResourceProfile)
         return self.recv_registerUserResourceProfile()
@@ -11293,6 +11628,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         self.send_isUserResourceProfileExists(authzToken, userId, gatewayID)
         return self.recv_isUserResourceProfileExists()
@@ -11348,6 +11684,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         self.send_getUserResourceProfile(authzToken, userId, gatewayID)
         return self.recv_getUserResourceProfile()
@@ -11407,6 +11744,7 @@
          - userId
          - gatewayID
          - userResourceProfile
+
         """
         self.send_updateUserResourceProfile(authzToken, userId, gatewayID, userResourceProfile)
         return self.recv_updateUserResourceProfile()
@@ -11463,6 +11801,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         self.send_deleteUserResourceProfile(authzToken, userId, gatewayID)
         return self.recv_deleteUserResourceProfile()
@@ -11527,6 +11866,7 @@
          - gatewayID
          - userComputeResourceId
          - userComputeResourcePreference
+
         """
         self.send_addUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId, userComputeResourcePreference)
         return self.recv_addUserComputeResourcePreference()
@@ -11593,6 +11933,7 @@
          - gatewayID
          - userStorageResourceId
          - userStoragePreference
+
         """
         self.send_addUserStoragePreference(authzToken, userId, gatewayID, userStorageResourceId, userStoragePreference)
         return self.recv_addUserStoragePreference()
@@ -11655,6 +11996,7 @@
          - userId
          - gatewayID
          - userComputeResourceId
+
         """
         self.send_getUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId)
         return self.recv_getUserComputeResourcePreference()
@@ -11716,6 +12058,7 @@
          - userId
          - gatewayID
          - userStorageResourceId
+
         """
         self.send_getUserStoragePreference(authzToken, userId, gatewayID, userStorageResourceId)
         return self.recv_getUserStoragePreference()
@@ -11773,6 +12116,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         self.send_getAllUserComputeResourcePreferences(authzToken, userId, gatewayID)
         return self.recv_getAllUserComputeResourcePreferences()
@@ -11828,6 +12172,7 @@
          - authzToken
          - userId
          - gatewayID
+
         """
         self.send_getAllUserStoragePreferences(authzToken, userId, gatewayID)
         return self.recv_getAllUserStoragePreferences()
@@ -11877,6 +12222,7 @@
 
         Parameters:
          - authzToken
+
         """
         self.send_getAllUserResourceProfiles(authzToken)
         return self.recv_getAllUserResourceProfiles()
@@ -11938,6 +12284,7 @@
          - gatewayID
          - userComputeResourceId
          - userComputeResourcePreference
+
         """
         self.send_updateUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId, userComputeResourcePreference)
         return self.recv_updateUserComputeResourcePreference()
@@ -12003,6 +12350,7 @@
          - gatewayID
          - userStorageId
          - userStoragePreference
+
         """
         self.send_updateUserStoragePreference(authzToken, userId, gatewayID, userStorageId, userStoragePreference)
         return self.recv_updateUserStoragePreference()
@@ -12064,6 +12412,7 @@
          - userId
          - gatewayID
          - userComputeResourceId
+
         """
         self.send_deleteUserComputeResourcePreference(authzToken, userId, gatewayID, userComputeResourceId)
         return self.recv_deleteUserComputeResourcePreference()
@@ -12124,6 +12473,7 @@
          - userId
          - gatewayID
          - userStorageId
+
         """
         self.send_deleteUserStoragePreference(authzToken, userId, gatewayID, userStorageId)
         return self.recv_deleteUserStoragePreference()
@@ -12166,6 +12516,7 @@
         """
         Parameters:
          - authzToken
+
         """
         self.send_getLatestQueueStatuses(authzToken)
         return self.recv_getLatestQueueStatuses()
@@ -12209,6 +12560,7 @@
         Parameters:
          - authzToken
          - dataProductModel
+
         """
         self.send_registerDataProduct(authzToken, dataProductModel)
         return self.recv_registerDataProduct()
@@ -12250,6 +12602,7 @@
         Parameters:
          - authzToken
          - dataProductUri
+
         """
         self.send_getDataProduct(authzToken, dataProductUri)
         return self.recv_getDataProduct()
@@ -12291,6 +12644,7 @@
         Parameters:
          - authzToken
          - replicaLocationModel
+
         """
         self.send_registerReplicaLocation(authzToken, replicaLocationModel)
         return self.recv_registerReplicaLocation()
@@ -12332,6 +12686,7 @@
         Parameters:
          - authzToken
          - productUri
+
         """
         self.send_getParentDataProduct(authzToken, productUri)
         return self.recv_getParentDataProduct()
@@ -12373,6 +12728,7 @@
         Parameters:
          - authzToken
          - productUri
+
         """
         self.send_getChildDataProducts(authzToken, productUri)
         return self.recv_getChildDataProducts()
@@ -12418,6 +12774,7 @@
          - authzToken
          - resourceId
          - userPermissionList
+
         """
         self.send_shareResourceWithUsers(authzToken, resourceId, userPermissionList)
         return self.recv_shareResourceWithUsers()
@@ -12461,6 +12818,7 @@
          - authzToken
          - resourceId
          - groupPermissionList
+
         """
         self.send_shareResourceWithGroups(authzToken, resourceId, groupPermissionList)
         return self.recv_shareResourceWithGroups()
@@ -12504,6 +12862,7 @@
          - authzToken
          - resourceId
          - userPermissionList
+
         """
         self.send_revokeSharingOfResourceFromUsers(authzToken, resourceId, userPermissionList)
         return self.recv_revokeSharingOfResourceFromUsers()
@@ -12547,6 +12906,7 @@
          - authzToken
          - resourceId
          - groupPermissionList
+
         """
         self.send_revokeSharingOfResourceFromGroups(authzToken, resourceId, groupPermissionList)
         return self.recv_revokeSharingOfResourceFromGroups()
@@ -12590,6 +12950,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         self.send_getAllAccessibleUsers(authzToken, resourceId, permissionType)
         return self.recv_getAllAccessibleUsers()
@@ -12633,6 +12994,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         self.send_getAllAccessibleGroups(authzToken, resourceId, permissionType)
         return self.recv_getAllAccessibleGroups()
@@ -12676,6 +13038,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         self.send_getAllDirectlyAccessibleUsers(authzToken, resourceId, permissionType)
         return self.recv_getAllDirectlyAccessibleUsers()
@@ -12719,6 +13082,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         self.send_getAllDirectlyAccessibleGroups(authzToken, resourceId, permissionType)
         return self.recv_getAllDirectlyAccessibleGroups()
@@ -12762,6 +13126,7 @@
          - authzToken
          - resourceId
          - permissionType
+
         """
         self.send_userHasAccess(authzToken, resourceId, permissionType)
         return self.recv_userHasAccess()
@@ -12804,6 +13169,7 @@
         Parameters:
          - authzToken
          - groupResourceProfile
+
         """
         self.send_createGroupResourceProfile(authzToken, groupResourceProfile)
         return self.recv_createGroupResourceProfile()
@@ -12845,6 +13211,7 @@
         Parameters:
          - authzToken
          - groupResourceProfile
+
         """
         self.send_updateGroupResourceProfile(authzToken, groupResourceProfile)
         self.recv_updateGroupResourceProfile()
@@ -12884,6 +13251,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         self.send_getGroupResourceProfile(authzToken, groupResourceProfileId)
         return self.recv_getGroupResourceProfile()
@@ -12925,6 +13293,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         self.send_removeGroupResourceProfile(authzToken, groupResourceProfileId)
         return self.recv_removeGroupResourceProfile()
@@ -12966,6 +13335,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_getGroupResourceList(authzToken, gatewayId)
         return self.recv_getGroupResourceList()
@@ -13008,6 +13378,7 @@
          - authzToken
          - computeResourceId
          - groupResourceProfileId
+
         """
         self.send_removeGroupComputePrefs(authzToken, computeResourceId, groupResourceProfileId)
         return self.recv_removeGroupComputePrefs()
@@ -13050,6 +13421,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         self.send_removeGroupComputeResourcePolicy(authzToken, resourcePolicyId)
         return self.recv_removeGroupComputeResourcePolicy()
@@ -13091,6 +13463,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         self.send_removeGroupBatchQueueResourcePolicy(authzToken, resourcePolicyId)
         return self.recv_removeGroupBatchQueueResourcePolicy()
@@ -13133,6 +13506,7 @@
          - authzToken
          - computeResourceId
          - groupResourceProfileId
+
         """
         self.send_getGroupComputeResourcePreference(authzToken, computeResourceId, groupResourceProfileId)
         return self.recv_getGroupComputeResourcePreference()
@@ -13175,6 +13549,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         self.send_getGroupComputeResourcePolicy(authzToken, resourcePolicyId)
         return self.recv_getGroupComputeResourcePolicy()
@@ -13216,6 +13591,7 @@
         Parameters:
          - authzToken
          - resourcePolicyId
+
         """
         self.send_getBatchQueueResourcePolicy(authzToken, resourcePolicyId)
         return self.recv_getBatchQueueResourcePolicy()
@@ -13257,6 +13633,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         self.send_getGroupComputeResourcePrefList(authzToken, groupResourceProfileId)
         return self.recv_getGroupComputeResourcePrefList()
@@ -13298,6 +13675,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         self.send_getGroupBatchQueueResourcePolicyList(authzToken, groupResourceProfileId)
         return self.recv_getGroupBatchQueueResourcePolicyList()
@@ -13339,6 +13717,7 @@
         Parameters:
          - authzToken
          - groupResourceProfileId
+
         """
         self.send_getGroupComputeResourcePolicyList(authzToken, groupResourceProfileId)
         return self.recv_getGroupComputeResourcePolicyList()
@@ -13381,6 +13760,7 @@
 
         Parameters:
          - authzToken
+
         """
         self.send_getGatewayGroups(authzToken)
         return self.recv_getGatewayGroups()
@@ -13422,6 +13802,7 @@
          - authzToken
          - parserId
          - gatewayId
+
         """
         self.send_getParser(authzToken, parserId, gatewayId)
         return self.recv_getParser()
@@ -13464,6 +13845,7 @@
         Parameters:
          - authzToken
          - parser
+
         """
         self.send_saveParser(authzToken, parser)
         return self.recv_saveParser()
@@ -13505,6 +13887,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_listAllParsers(authzToken, gatewayId)
         return self.recv_listAllParsers()
@@ -13547,6 +13930,7 @@
          - authzToken
          - parserId
          - gatewayId
+
         """
         self.send_removeParser(authzToken, parserId, gatewayId)
         return self.recv_removeParser()
@@ -13590,6 +13974,7 @@
          - authzToken
          - templateId
          - gatewayId
+
         """
         self.send_getParsingTemplate(authzToken, templateId, gatewayId)
         return self.recv_getParsingTemplate()
@@ -13633,6 +14018,7 @@
          - authzToken
          - experimentId
          - gatewayId
+
         """
         self.send_getParsingTemplatesForExperiment(authzToken, experimentId, gatewayId)
         return self.recv_getParsingTemplatesForExperiment()
@@ -13675,6 +14061,7 @@
         Parameters:
          - authzToken
          - parsingTemplate
+
         """
         self.send_saveParsingTemplate(authzToken, parsingTemplate)
         return self.recv_saveParsingTemplate()
@@ -13717,6 +14104,7 @@
          - authzToken
          - templateId
          - gatewayId
+
         """
         self.send_removeParsingTemplate(authzToken, templateId, gatewayId)
         return self.recv_removeParsingTemplate()
@@ -13759,6 +14147,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_listAllParsingTemplates(authzToken, gatewayId)
         return self.recv_listAllParsingTemplates()
@@ -13992,9 +14381,15 @@
         self._processMap["saveParsingTemplate"] = Processor.process_saveParsingTemplate
         self._processMap["removeParsingTemplate"] = Processor.process_removeParsingTemplate
         self._processMap["listAllParsingTemplates"] = Processor.process_listAllParsingTemplates
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -14016,7 +14411,7 @@
         try:
             result.success = self._handler.isUserExists(args.authzToken, args.gatewayId, args.userName)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14030,9 +14425,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isUserExists", msg_type, seqid)
         result.write(oprot)
@@ -14047,7 +14446,7 @@
         try:
             result.success = self._handler.addGateway(args.authzToken, args.gateway)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14061,9 +14460,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGateway", msg_type, seqid)
         result.write(oprot)
@@ -14078,7 +14481,7 @@
         try:
             result.success = self._handler.getAllUsersInGateway(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14092,9 +14495,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllUsersInGateway", msg_type, seqid)
         result.write(oprot)
@@ -14109,7 +14516,7 @@
         try:
             result.success = self._handler.updateGateway(args.authzToken, args.gatewayId, args.updatedGateway)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14123,9 +14530,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGateway", msg_type, seqid)
         result.write(oprot)
@@ -14140,7 +14551,7 @@
         try:
             result.success = self._handler.getGateway(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14154,9 +14565,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGateway", msg_type, seqid)
         result.write(oprot)
@@ -14171,7 +14586,7 @@
         try:
             result.success = self._handler.deleteGateway(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14185,9 +14600,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGateway", msg_type, seqid)
         result.write(oprot)
@@ -14202,7 +14621,7 @@
         try:
             result.success = self._handler.getAllGateways(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14216,9 +14635,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGateways", msg_type, seqid)
         result.write(oprot)
@@ -14233,7 +14656,7 @@
         try:
             result.success = self._handler.isGatewayExist(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14247,9 +14670,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isGatewayExist", msg_type, seqid)
         result.write(oprot)
@@ -14264,7 +14691,7 @@
         try:
             result.success = self._handler.createNotification(args.authzToken, args.notification)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14278,9 +14705,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createNotification", msg_type, seqid)
         result.write(oprot)
@@ -14295,7 +14726,7 @@
         try:
             result.success = self._handler.updateNotification(args.authzToken, args.notification)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14309,9 +14740,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateNotification", msg_type, seqid)
         result.write(oprot)
@@ -14326,7 +14761,7 @@
         try:
             result.success = self._handler.deleteNotification(args.authzToken, args.gatewayId, args.notificationId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14340,9 +14775,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteNotification", msg_type, seqid)
         result.write(oprot)
@@ -14357,7 +14796,7 @@
         try:
             result.success = self._handler.getNotification(args.authzToken, args.gatewayId, args.notificationId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14371,9 +14810,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getNotification", msg_type, seqid)
         result.write(oprot)
@@ -14388,7 +14831,7 @@
         try:
             result.success = self._handler.getAllNotifications(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14402,9 +14845,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllNotifications", msg_type, seqid)
         result.write(oprot)
@@ -14419,7 +14866,7 @@
         try:
             result.success = self._handler.generateAndRegisterSSHKeys(args.authzToken, args.description)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14430,9 +14877,13 @@
         except airavata.api.error.ttypes.AiravataSystemException as ase:
             msg_type = TMessageType.REPLY
             result.ase = ase
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("generateAndRegisterSSHKeys", msg_type, seqid)
         result.write(oprot)
@@ -14447,7 +14898,7 @@
         try:
             result.success = self._handler.registerPwdCredential(args.authzToken, args.loginUserName, args.password, args.description)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14458,9 +14909,13 @@
         except airavata.api.error.ttypes.AiravataSystemException as ase:
             msg_type = TMessageType.REPLY
             result.ase = ase
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerPwdCredential", msg_type, seqid)
         result.write(oprot)
@@ -14475,7 +14930,7 @@
         try:
             result.success = self._handler.getCredentialSummary(args.authzToken, args.tokenId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14489,9 +14944,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getCredentialSummary", msg_type, seqid)
         result.write(oprot)
@@ -14506,7 +14965,7 @@
         try:
             result.success = self._handler.getAllCredentialSummaries(args.authzToken, args.type)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14517,9 +14976,13 @@
         except airavata.api.error.ttypes.AiravataSystemException as ase:
             msg_type = TMessageType.REPLY
             result.ase = ase
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllCredentialSummaries", msg_type, seqid)
         result.write(oprot)
@@ -14534,7 +14997,7 @@
         try:
             result.success = self._handler.deleteSSHPubKey(args.authzToken, args.airavataCredStoreToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14548,9 +15011,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteSSHPubKey", msg_type, seqid)
         result.write(oprot)
@@ -14565,7 +15032,7 @@
         try:
             result.success = self._handler.deletePWDCredential(args.authzToken, args.airavataCredStoreToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14579,9 +15046,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deletePWDCredential", msg_type, seqid)
         result.write(oprot)
@@ -14596,7 +15067,7 @@
         try:
             result.success = self._handler.createProject(args.authzToken, args.gatewayId, args.project)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14610,9 +15081,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createProject", msg_type, seqid)
         result.write(oprot)
@@ -14627,7 +15102,7 @@
         try:
             self._handler.updateProject(args.authzToken, args.projectId, args.updatedProject)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14644,9 +15119,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateProject", msg_type, seqid)
         result.write(oprot)
@@ -14661,7 +15140,7 @@
         try:
             result.success = self._handler.getProject(args.authzToken, args.projectId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14678,9 +15157,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getProject", msg_type, seqid)
         result.write(oprot)
@@ -14695,7 +15178,7 @@
         try:
             result.success = self._handler.deleteProject(args.authzToken, args.projectId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14712,9 +15195,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteProject", msg_type, seqid)
         result.write(oprot)
@@ -14729,7 +15216,7 @@
         try:
             result.success = self._handler.getUserProjects(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14743,9 +15230,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUserProjects", msg_type, seqid)
         result.write(oprot)
@@ -14760,7 +15251,7 @@
         try:
             result.success = self._handler.searchProjects(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14774,9 +15265,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("searchProjects", msg_type, seqid)
         result.write(oprot)
@@ -14791,7 +15286,7 @@
         try:
             result.success = self._handler.searchExperiments(args.authzToken, args.gatewayId, args.userName, args.filters, args.limit, args.offset)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14805,9 +15300,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("searchExperiments", msg_type, seqid)
         result.write(oprot)
@@ -14822,7 +15321,7 @@
         try:
             result.success = self._handler.getExperimentStatistics(args.authzToken, args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName, args.limit, args.offset)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14836,9 +15335,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getExperimentStatistics", msg_type, seqid)
         result.write(oprot)
@@ -14853,7 +15356,7 @@
         try:
             result.success = self._handler.getExperimentsInProject(args.authzToken, args.projectId, args.limit, args.offset)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14870,9 +15373,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getExperimentsInProject", msg_type, seqid)
         result.write(oprot)
@@ -14887,7 +15394,7 @@
         try:
             result.success = self._handler.getUserExperiments(args.authzToken, args.gatewayId, args.userName, args.limit, args.offset)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14901,9 +15408,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUserExperiments", msg_type, seqid)
         result.write(oprot)
@@ -14918,7 +15429,7 @@
         try:
             result.success = self._handler.createExperiment(args.authzToken, args.gatewayId, args.experiment)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14932,9 +15443,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createExperiment", msg_type, seqid)
         result.write(oprot)
@@ -14949,7 +15464,7 @@
         try:
             result.success = self._handler.deleteExperiment(args.authzToken, args.experimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14963,9 +15478,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteExperiment", msg_type, seqid)
         result.write(oprot)
@@ -14980,7 +15499,7 @@
         try:
             result.success = self._handler.getExperiment(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -14997,9 +15516,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getExperiment", msg_type, seqid)
         result.write(oprot)
@@ -15014,7 +15537,7 @@
         try:
             result.success = self._handler.getExperimentByAdmin(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15031,9 +15554,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getExperimentByAdmin", msg_type, seqid)
         result.write(oprot)
@@ -15048,7 +15575,7 @@
         try:
             result.success = self._handler.getDetailedExperimentTree(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15065,9 +15592,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getDetailedExperimentTree", msg_type, seqid)
         result.write(oprot)
@@ -15082,7 +15613,7 @@
         try:
             self._handler.updateExperiment(args.authzToken, args.airavataExperimentId, args.experiment)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15099,9 +15630,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateExperiment", msg_type, seqid)
         result.write(oprot)
@@ -15116,14 +15651,18 @@
         try:
             self._handler.updateExperimentConfiguration(args.authzToken, args.airavataExperimentId, args.userConfiguration)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateExperimentConfiguration", msg_type, seqid)
         result.write(oprot)
@@ -15138,14 +15677,18 @@
         try:
             self._handler.updateResourceScheduleing(args.authzToken, args.airavataExperimentId, args.resourceScheduling)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateResourceScheduleing", msg_type, seqid)
         result.write(oprot)
@@ -15160,7 +15703,7 @@
         try:
             result.success = self._handler.validateExperiment(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15177,9 +15720,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("validateExperiment", msg_type, seqid)
         result.write(oprot)
@@ -15194,7 +15741,7 @@
         try:
             self._handler.launchExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15211,9 +15758,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("launchExperiment", msg_type, seqid)
         result.write(oprot)
@@ -15228,7 +15779,7 @@
         try:
             result.success = self._handler.getExperimentStatus(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15245,9 +15796,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getExperimentStatus", msg_type, seqid)
         result.write(oprot)
@@ -15262,7 +15817,7 @@
         try:
             result.success = self._handler.getExperimentOutputs(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15279,9 +15834,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getExperimentOutputs", msg_type, seqid)
         result.write(oprot)
@@ -15296,7 +15855,7 @@
         try:
             result.success = self._handler.getIntermediateOutputs(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15313,9 +15872,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getIntermediateOutputs", msg_type, seqid)
         result.write(oprot)
@@ -15330,7 +15893,7 @@
         try:
             self._handler.fetchIntermediateOutputs(args.authzToken, args.airavataExperimentId, args.outputNames)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15347,9 +15910,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("fetchIntermediateOutputs", msg_type, seqid)
         result.write(oprot)
@@ -15364,7 +15931,7 @@
         try:
             result.success = self._handler.getIntermediateOutputProcessStatus(args.authzToken, args.airavataExperimentId, args.outputNames)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15381,9 +15948,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getIntermediateOutputProcessStatus", msg_type, seqid)
         result.write(oprot)
@@ -15398,7 +15969,7 @@
         try:
             result.success = self._handler.getJobStatuses(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15415,9 +15986,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getJobStatuses", msg_type, seqid)
         result.write(oprot)
@@ -15432,7 +16007,7 @@
         try:
             result.success = self._handler.getJobDetails(args.authzToken, args.airavataExperimentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15449,9 +16024,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getJobDetails", msg_type, seqid)
         result.write(oprot)
@@ -15466,7 +16045,7 @@
         try:
             result.success = self._handler.cloneExperiment(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15486,9 +16065,13 @@
         except airavata.api.error.ttypes.ProjectNotFoundException as pnfe:
             msg_type = TMessageType.REPLY
             result.pnfe = pnfe
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("cloneExperiment", msg_type, seqid)
         result.write(oprot)
@@ -15503,7 +16086,7 @@
         try:
             result.success = self._handler.cloneExperimentByAdmin(args.authzToken, args.existingExperimentID, args.newExperimentName, args.newExperimentProjectId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15523,9 +16106,13 @@
         except airavata.api.error.ttypes.ProjectNotFoundException as pnfe:
             msg_type = TMessageType.REPLY
             result.pnfe = pnfe
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("cloneExperimentByAdmin", msg_type, seqid)
         result.write(oprot)
@@ -15540,7 +16127,7 @@
         try:
             self._handler.terminateExperiment(args.authzToken, args.airavataExperimentId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15557,9 +16144,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("terminateExperiment", msg_type, seqid)
         result.write(oprot)
@@ -15574,7 +16165,7 @@
         try:
             result.success = self._handler.registerApplicationModule(args.authzToken, args.gatewayId, args.applicationModule)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15588,9 +16179,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerApplicationModule", msg_type, seqid)
         result.write(oprot)
@@ -15605,7 +16200,7 @@
         try:
             result.success = self._handler.getApplicationModule(args.authzToken, args.appModuleId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15619,9 +16214,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getApplicationModule", msg_type, seqid)
         result.write(oprot)
@@ -15636,7 +16235,7 @@
         try:
             result.success = self._handler.updateApplicationModule(args.authzToken, args.appModuleId, args.applicationModule)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15650,9 +16249,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateApplicationModule", msg_type, seqid)
         result.write(oprot)
@@ -15667,7 +16270,7 @@
         try:
             result.success = self._handler.getAllAppModules(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15681,9 +16284,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllAppModules", msg_type, seqid)
         result.write(oprot)
@@ -15698,7 +16305,7 @@
         try:
             result.success = self._handler.getAccessibleAppModules(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15712,9 +16319,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAccessibleAppModules", msg_type, seqid)
         result.write(oprot)
@@ -15729,7 +16340,7 @@
         try:
             result.success = self._handler.deleteApplicationModule(args.authzToken, args.appModuleId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15743,9 +16354,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteApplicationModule", msg_type, seqid)
         result.write(oprot)
@@ -15760,7 +16375,7 @@
         try:
             result.success = self._handler.registerApplicationDeployment(args.authzToken, args.gatewayId, args.applicationDeployment)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15774,9 +16389,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerApplicationDeployment", msg_type, seqid)
         result.write(oprot)
@@ -15791,7 +16410,7 @@
         try:
             result.success = self._handler.getApplicationDeployment(args.authzToken, args.appDeploymentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15805,9 +16424,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getApplicationDeployment", msg_type, seqid)
         result.write(oprot)
@@ -15822,7 +16445,7 @@
         try:
             result.success = self._handler.updateApplicationDeployment(args.authzToken, args.appDeploymentId, args.applicationDeployment)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15836,9 +16459,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateApplicationDeployment", msg_type, seqid)
         result.write(oprot)
@@ -15853,7 +16480,7 @@
         try:
             result.success = self._handler.deleteApplicationDeployment(args.authzToken, args.appDeploymentId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15867,9 +16494,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteApplicationDeployment", msg_type, seqid)
         result.write(oprot)
@@ -15884,7 +16515,7 @@
         try:
             result.success = self._handler.getAllApplicationDeployments(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15898,9 +16529,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllApplicationDeployments", msg_type, seqid)
         result.write(oprot)
@@ -15915,7 +16550,7 @@
         try:
             result.success = self._handler.getAccessibleApplicationDeployments(args.authzToken, args.gatewayId, args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15929,9 +16564,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAccessibleApplicationDeployments", msg_type, seqid)
         result.write(oprot)
@@ -15946,7 +16585,7 @@
         try:
             result.success = self._handler.getAppModuleDeployedResources(args.authzToken, args.appModuleId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15960,9 +16599,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAppModuleDeployedResources", msg_type, seqid)
         result.write(oprot)
@@ -15977,7 +16620,7 @@
         try:
             result.success = self._handler.getApplicationDeploymentsForAppModuleAndGroupResourceProfile(args.authzToken, args.appModuleId, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -15991,9 +16634,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getApplicationDeploymentsForAppModuleAndGroupResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -16008,7 +16655,7 @@
         try:
             result.success = self._handler.registerApplicationInterface(args.authzToken, args.gatewayId, args.applicationInterface)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16022,9 +16669,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerApplicationInterface", msg_type, seqid)
         result.write(oprot)
@@ -16039,7 +16690,7 @@
         try:
             result.success = self._handler.cloneApplicationInterface(args.authzToken, args.existingAppInterfaceID, args.newApplicationName, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16053,9 +16704,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("cloneApplicationInterface", msg_type, seqid)
         result.write(oprot)
@@ -16070,7 +16725,7 @@
         try:
             result.success = self._handler.getApplicationInterface(args.authzToken, args.appInterfaceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16084,9 +16739,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getApplicationInterface", msg_type, seqid)
         result.write(oprot)
@@ -16101,7 +16760,7 @@
         try:
             result.success = self._handler.updateApplicationInterface(args.authzToken, args.appInterfaceId, args.applicationInterface)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16115,9 +16774,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateApplicationInterface", msg_type, seqid)
         result.write(oprot)
@@ -16132,7 +16795,7 @@
         try:
             result.success = self._handler.deleteApplicationInterface(args.authzToken, args.appInterfaceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16146,9 +16809,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteApplicationInterface", msg_type, seqid)
         result.write(oprot)
@@ -16163,7 +16830,7 @@
         try:
             result.success = self._handler.getAllApplicationInterfaceNames(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16177,9 +16844,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllApplicationInterfaceNames", msg_type, seqid)
         result.write(oprot)
@@ -16194,7 +16865,7 @@
         try:
             result.success = self._handler.getAllApplicationInterfaces(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16208,9 +16879,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllApplicationInterfaces", msg_type, seqid)
         result.write(oprot)
@@ -16225,7 +16900,7 @@
         try:
             result.success = self._handler.getApplicationInputs(args.authzToken, args.appInterfaceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16239,9 +16914,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getApplicationInputs", msg_type, seqid)
         result.write(oprot)
@@ -16256,7 +16935,7 @@
         try:
             result.success = self._handler.getApplicationOutputs(args.authzToken, args.appInterfaceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16270,9 +16949,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getApplicationOutputs", msg_type, seqid)
         result.write(oprot)
@@ -16287,7 +16970,7 @@
         try:
             result.success = self._handler.getAvailableAppInterfaceComputeResources(args.authzToken, args.appInterfaceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16301,9 +16984,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAvailableAppInterfaceComputeResources", msg_type, seqid)
         result.write(oprot)
@@ -16318,7 +17005,7 @@
         try:
             result.success = self._handler.registerComputeResource(args.authzToken, args.computeResourceDescription)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16332,9 +17019,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerComputeResource", msg_type, seqid)
         result.write(oprot)
@@ -16349,7 +17040,7 @@
         try:
             result.success = self._handler.getComputeResource(args.authzToken, args.computeResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16363,9 +17054,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getComputeResource", msg_type, seqid)
         result.write(oprot)
@@ -16380,7 +17075,7 @@
         try:
             result.success = self._handler.getAllComputeResourceNames(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16394,9 +17089,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllComputeResourceNames", msg_type, seqid)
         result.write(oprot)
@@ -16411,7 +17110,7 @@
         try:
             result.success = self._handler.updateComputeResource(args.authzToken, args.computeResourceId, args.computeResourceDescription)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16425,9 +17124,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateComputeResource", msg_type, seqid)
         result.write(oprot)
@@ -16442,7 +17145,7 @@
         try:
             result.success = self._handler.deleteComputeResource(args.authzToken, args.computeResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16456,9 +17159,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteComputeResource", msg_type, seqid)
         result.write(oprot)
@@ -16473,7 +17180,7 @@
         try:
             result.success = self._handler.registerStorageResource(args.authzToken, args.storageResourceDescription)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16487,9 +17194,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerStorageResource", msg_type, seqid)
         result.write(oprot)
@@ -16504,7 +17215,7 @@
         try:
             result.success = self._handler.getStorageResource(args.authzToken, args.storageResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16518,9 +17229,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getStorageResource", msg_type, seqid)
         result.write(oprot)
@@ -16535,7 +17250,7 @@
         try:
             result.success = self._handler.getAllStorageResourceNames(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16549,9 +17264,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllStorageResourceNames", msg_type, seqid)
         result.write(oprot)
@@ -16566,7 +17285,7 @@
         try:
             result.success = self._handler.updateStorageResource(args.authzToken, args.storageResourceId, args.storageResourceDescription)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16580,9 +17299,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateStorageResource", msg_type, seqid)
         result.write(oprot)
@@ -16597,7 +17320,7 @@
         try:
             result.success = self._handler.deleteStorageResource(args.authzToken, args.storageResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16611,9 +17334,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteStorageResource", msg_type, seqid)
         result.write(oprot)
@@ -16628,7 +17355,7 @@
         try:
             result.success = self._handler.addLocalSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.localSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16642,9 +17369,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addLocalSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16659,7 +17390,7 @@
         try:
             result.success = self._handler.updateLocalSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.localSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16673,9 +17404,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateLocalSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16690,7 +17425,7 @@
         try:
             result.success = self._handler.getLocalJobSubmission(args.authzToken, args.jobSubmissionId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16704,9 +17439,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getLocalJobSubmission", msg_type, seqid)
         result.write(oprot)
@@ -16721,7 +17460,7 @@
         try:
             result.success = self._handler.addSSHJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16735,9 +17474,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addSSHJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16752,7 +17495,7 @@
         try:
             result.success = self._handler.addSSHForkJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.sshJobSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16766,9 +17509,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addSSHForkJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16783,7 +17530,7 @@
         try:
             result.success = self._handler.getSSHJobSubmission(args.authzToken, args.jobSubmissionId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16797,9 +17544,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getSSHJobSubmission", msg_type, seqid)
         result.write(oprot)
@@ -16814,7 +17565,7 @@
         try:
             result.success = self._handler.addUNICOREJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16828,9 +17579,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUNICOREJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16845,7 +17600,7 @@
         try:
             result.success = self._handler.getUnicoreJobSubmission(args.authzToken, args.jobSubmissionId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16859,9 +17614,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUnicoreJobSubmission", msg_type, seqid)
         result.write(oprot)
@@ -16876,7 +17635,7 @@
         try:
             result.success = self._handler.addCloudJobSubmissionDetails(args.authzToken, args.computeResourceId, args.priorityOrder, args.cloudSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16890,9 +17649,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addCloudJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16907,7 +17670,7 @@
         try:
             result.success = self._handler.getCloudJobSubmission(args.authzToken, args.jobSubmissionId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16921,9 +17684,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getCloudJobSubmission", msg_type, seqid)
         result.write(oprot)
@@ -16938,7 +17705,7 @@
         try:
             result.success = self._handler.updateSSHJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16952,9 +17719,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateSSHJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -16969,7 +17740,7 @@
         try:
             result.success = self._handler.updateCloudJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.sshJobSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -16983,9 +17754,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateCloudJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -17000,7 +17775,7 @@
         try:
             result.success = self._handler.updateUnicoreJobSubmissionDetails(args.authzToken, args.jobSubmissionInterfaceId, args.unicoreJobSubmission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17014,9 +17789,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUnicoreJobSubmissionDetails", msg_type, seqid)
         result.write(oprot)
@@ -17031,7 +17810,7 @@
         try:
             result.success = self._handler.addLocalDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17045,9 +17824,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addLocalDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17062,7 +17845,7 @@
         try:
             result.success = self._handler.updateLocalDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.localDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17076,9 +17859,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateLocalDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17093,7 +17880,7 @@
         try:
             result.success = self._handler.getLocalDataMovement(args.authzToken, args.dataMovementId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17107,9 +17894,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getLocalDataMovement", msg_type, seqid)
         result.write(oprot)
@@ -17124,7 +17915,7 @@
         try:
             result.success = self._handler.addSCPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17138,9 +17929,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addSCPDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17155,7 +17950,7 @@
         try:
             result.success = self._handler.updateSCPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.scpDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17169,9 +17964,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateSCPDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17186,7 +17985,7 @@
         try:
             result.success = self._handler.getSCPDataMovement(args.authzToken, args.dataMovementId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17200,9 +17999,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getSCPDataMovement", msg_type, seqid)
         result.write(oprot)
@@ -17217,7 +18020,7 @@
         try:
             result.success = self._handler.addUnicoreDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17231,9 +18034,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUnicoreDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17248,7 +18055,7 @@
         try:
             result.success = self._handler.updateUnicoreDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.unicoreDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17262,9 +18069,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUnicoreDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17279,7 +18090,7 @@
         try:
             result.success = self._handler.getUnicoreDataMovement(args.authzToken, args.dataMovementId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17293,9 +18104,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUnicoreDataMovement", msg_type, seqid)
         result.write(oprot)
@@ -17310,7 +18125,7 @@
         try:
             result.success = self._handler.addGridFTPDataMovementDetails(args.authzToken, args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17324,9 +18139,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGridFTPDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17341,7 +18160,7 @@
         try:
             result.success = self._handler.updateGridFTPDataMovementDetails(args.authzToken, args.dataMovementInterfaceId, args.gridFTPDataMovement)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17355,9 +18174,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGridFTPDataMovementDetails", msg_type, seqid)
         result.write(oprot)
@@ -17372,7 +18195,7 @@
         try:
             result.success = self._handler.getGridFTPDataMovement(args.authzToken, args.dataMovementId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17386,9 +18209,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGridFTPDataMovement", msg_type, seqid)
         result.write(oprot)
@@ -17403,7 +18230,7 @@
         try:
             result.success = self._handler.changeJobSubmissionPriority(args.authzToken, args.jobSubmissionInterfaceId, args.newPriorityOrder)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17417,9 +18244,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("changeJobSubmissionPriority", msg_type, seqid)
         result.write(oprot)
@@ -17434,7 +18265,7 @@
         try:
             result.success = self._handler.changeDataMovementPriority(args.authzToken, args.dataMovementInterfaceId, args.newPriorityOrder)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17448,9 +18279,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("changeDataMovementPriority", msg_type, seqid)
         result.write(oprot)
@@ -17465,7 +18300,7 @@
         try:
             result.success = self._handler.changeJobSubmissionPriorities(args.authzToken, args.jobSubmissionPriorityMap)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17479,9 +18314,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("changeJobSubmissionPriorities", msg_type, seqid)
         result.write(oprot)
@@ -17496,7 +18335,7 @@
         try:
             result.success = self._handler.changeDataMovementPriorities(args.authzToken, args.dataMovementPriorityMap)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17510,9 +18349,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("changeDataMovementPriorities", msg_type, seqid)
         result.write(oprot)
@@ -17527,7 +18370,7 @@
         try:
             result.success = self._handler.deleteJobSubmissionInterface(args.authzToken, args.computeResourceId, args.jobSubmissionInterfaceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17541,9 +18384,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteJobSubmissionInterface", msg_type, seqid)
         result.write(oprot)
@@ -17558,7 +18405,7 @@
         try:
             result.success = self._handler.deleteDataMovementInterface(args.authzToken, args.productUri, args.dataMovementInterfaceId, args.dataMoveType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17572,9 +18419,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteDataMovementInterface", msg_type, seqid)
         result.write(oprot)
@@ -17589,7 +18440,7 @@
         try:
             result.success = self._handler.registerResourceJobManager(args.authzToken, args.resourceJobManager)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17603,9 +18454,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerResourceJobManager", msg_type, seqid)
         result.write(oprot)
@@ -17620,7 +18475,7 @@
         try:
             result.success = self._handler.updateResourceJobManager(args.authzToken, args.resourceJobManagerId, args.updatedResourceJobManager)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17634,9 +18489,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateResourceJobManager", msg_type, seqid)
         result.write(oprot)
@@ -17651,7 +18510,7 @@
         try:
             result.success = self._handler.getResourceJobManager(args.authzToken, args.resourceJobManagerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17665,9 +18524,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getResourceJobManager", msg_type, seqid)
         result.write(oprot)
@@ -17682,7 +18545,7 @@
         try:
             result.success = self._handler.deleteResourceJobManager(args.authzToken, args.resourceJobManagerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17696,9 +18559,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteResourceJobManager", msg_type, seqid)
         result.write(oprot)
@@ -17713,7 +18580,7 @@
         try:
             result.success = self._handler.deleteBatchQueue(args.authzToken, args.computeResourceId, args.queueName)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17727,9 +18594,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteBatchQueue", msg_type, seqid)
         result.write(oprot)
@@ -17744,7 +18615,7 @@
         try:
             result.success = self._handler.registerGatewayResourceProfile(args.authzToken, args.gatewayResourceProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17758,9 +18629,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerGatewayResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -17775,7 +18650,7 @@
         try:
             result.success = self._handler.getGatewayResourceProfile(args.authzToken, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17789,9 +18664,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGatewayResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -17806,7 +18685,7 @@
         try:
             result.success = self._handler.updateGatewayResourceProfile(args.authzToken, args.gatewayID, args.gatewayResourceProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17820,9 +18699,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGatewayResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -17837,7 +18720,7 @@
         try:
             result.success = self._handler.deleteGatewayResourceProfile(args.authzToken, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17851,9 +18734,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGatewayResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -17868,7 +18755,7 @@
         try:
             result.success = self._handler.addGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId, args.computeResourcePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17882,9 +18769,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGatewayComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -17899,7 +18790,7 @@
         try:
             result.success = self._handler.addGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageResourceId, args.storagePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17913,9 +18804,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGatewayStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -17930,7 +18825,7 @@
         try:
             result.success = self._handler.getGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17944,9 +18839,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGatewayComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -17961,7 +18860,7 @@
         try:
             result.success = self._handler.getGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -17975,9 +18874,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGatewayStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -17992,7 +18895,7 @@
         try:
             result.success = self._handler.getAllGatewayComputeResourcePreferences(args.authzToken, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18006,9 +18909,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGatewayComputeResourcePreferences", msg_type, seqid)
         result.write(oprot)
@@ -18023,7 +18930,7 @@
         try:
             result.success = self._handler.getAllGatewayStoragePreferences(args.authzToken, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18037,9 +18944,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGatewayStoragePreferences", msg_type, seqid)
         result.write(oprot)
@@ -18054,7 +18965,7 @@
         try:
             result.success = self._handler.getAllGatewayResourceProfiles(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18068,9 +18979,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGatewayResourceProfiles", msg_type, seqid)
         result.write(oprot)
@@ -18085,7 +19000,7 @@
         try:
             result.success = self._handler.updateGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId, args.computeResourcePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18099,9 +19014,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGatewayComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18116,7 +19035,7 @@
         try:
             result.success = self._handler.updateGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageId, args.storagePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18130,9 +19049,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGatewayStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -18147,7 +19070,7 @@
         try:
             result.success = self._handler.deleteGatewayComputeResourcePreference(args.authzToken, args.gatewayID, args.computeResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18161,9 +19084,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGatewayComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18178,7 +19105,7 @@
         try:
             result.success = self._handler.deleteGatewayStoragePreference(args.authzToken, args.gatewayID, args.storageId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18192,9 +19119,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGatewayStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -18209,7 +19140,7 @@
         try:
             result.success = self._handler.getSSHAccountProvisioners(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18223,9 +19154,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getSSHAccountProvisioners", msg_type, seqid)
         result.write(oprot)
@@ -18240,7 +19175,7 @@
         try:
             result.success = self._handler.doesUserHaveSSHAccount(args.authzToken, args.computeResourceId, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18254,9 +19189,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("doesUserHaveSSHAccount", msg_type, seqid)
         result.write(oprot)
@@ -18271,7 +19210,7 @@
         try:
             result.success = self._handler.isSSHSetupCompleteForUserComputeResourcePreference(args.authzToken, args.computeResourceId, args.airavataCredStoreToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18285,9 +19224,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isSSHSetupCompleteForUserComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18302,7 +19245,7 @@
         try:
             result.success = self._handler.setupUserComputeResourcePreferencesForSSH(args.authzToken, args.computeResourceId, args.userId, args.airavataCredStoreToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18316,9 +19259,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("setupUserComputeResourcePreferencesForSSH", msg_type, seqid)
         result.write(oprot)
@@ -18333,7 +19280,7 @@
         try:
             result.success = self._handler.registerUserResourceProfile(args.authzToken, args.userResourceProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18347,9 +19294,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerUserResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -18364,7 +19315,7 @@
         try:
             result.success = self._handler.isUserResourceProfileExists(args.authzToken, args.userId, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18378,9 +19329,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isUserResourceProfileExists", msg_type, seqid)
         result.write(oprot)
@@ -18395,7 +19350,7 @@
         try:
             result.success = self._handler.getUserResourceProfile(args.authzToken, args.userId, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18409,9 +19364,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUserResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -18426,7 +19385,7 @@
         try:
             result.success = self._handler.updateUserResourceProfile(args.authzToken, args.userId, args.gatewayID, args.userResourceProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18440,9 +19399,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUserResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -18457,7 +19420,7 @@
         try:
             result.success = self._handler.deleteUserResourceProfile(args.authzToken, args.userId, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18471,9 +19434,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteUserResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -18488,7 +19455,7 @@
         try:
             result.success = self._handler.addUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18502,9 +19469,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUserComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18519,7 +19490,7 @@
         try:
             result.success = self._handler.addUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18533,9 +19504,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUserStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -18550,7 +19525,7 @@
         try:
             result.success = self._handler.getUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18564,9 +19539,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUserComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18581,7 +19560,7 @@
         try:
             result.success = self._handler.getUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18595,9 +19574,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUserStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -18612,7 +19595,7 @@
         try:
             result.success = self._handler.getAllUserComputeResourcePreferences(args.authzToken, args.userId, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18626,9 +19609,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllUserComputeResourcePreferences", msg_type, seqid)
         result.write(oprot)
@@ -18643,7 +19630,7 @@
         try:
             result.success = self._handler.getAllUserStoragePreferences(args.authzToken, args.userId, args.gatewayID)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18657,9 +19644,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllUserStoragePreferences", msg_type, seqid)
         result.write(oprot)
@@ -18674,7 +19665,7 @@
         try:
             result.success = self._handler.getAllUserResourceProfiles(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18688,9 +19679,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllUserResourceProfiles", msg_type, seqid)
         result.write(oprot)
@@ -18705,7 +19700,7 @@
         try:
             result.success = self._handler.updateUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18719,9 +19714,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUserComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18736,7 +19735,7 @@
         try:
             result.success = self._handler.updateUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18750,9 +19749,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUserStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -18767,7 +19770,7 @@
         try:
             result.success = self._handler.deleteUserComputeResourcePreference(args.authzToken, args.userId, args.gatewayID, args.userComputeResourceId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18781,9 +19784,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteUserComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -18798,7 +19805,7 @@
         try:
             result.success = self._handler.deleteUserStoragePreference(args.authzToken, args.userId, args.gatewayID, args.userStorageId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18812,9 +19819,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteUserStoragePreference", msg_type, seqid)
         result.write(oprot)
@@ -18829,7 +19840,7 @@
         try:
             result.success = self._handler.getLatestQueueStatuses(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18843,9 +19854,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getLatestQueueStatuses", msg_type, seqid)
         result.write(oprot)
@@ -18860,7 +19875,7 @@
         try:
             result.success = self._handler.registerDataProduct(args.authzToken, args.dataProductModel)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18874,9 +19889,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerDataProduct", msg_type, seqid)
         result.write(oprot)
@@ -18891,7 +19910,7 @@
         try:
             result.success = self._handler.getDataProduct(args.authzToken, args.dataProductUri)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18905,9 +19924,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getDataProduct", msg_type, seqid)
         result.write(oprot)
@@ -18922,7 +19945,7 @@
         try:
             result.success = self._handler.registerReplicaLocation(args.authzToken, args.replicaLocationModel)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18936,9 +19959,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerReplicaLocation", msg_type, seqid)
         result.write(oprot)
@@ -18953,7 +19980,7 @@
         try:
             result.success = self._handler.getParentDataProduct(args.authzToken, args.productUri)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18967,9 +19994,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getParentDataProduct", msg_type, seqid)
         result.write(oprot)
@@ -18984,7 +20015,7 @@
         try:
             result.success = self._handler.getChildDataProducts(args.authzToken, args.productUri)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -18998,9 +20029,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getChildDataProducts", msg_type, seqid)
         result.write(oprot)
@@ -19015,7 +20050,7 @@
         try:
             result.success = self._handler.shareResourceWithUsers(args.authzToken, args.resourceId, args.userPermissionList)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19029,9 +20064,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("shareResourceWithUsers", msg_type, seqid)
         result.write(oprot)
@@ -19046,7 +20085,7 @@
         try:
             result.success = self._handler.shareResourceWithGroups(args.authzToken, args.resourceId, args.groupPermissionList)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19060,9 +20099,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("shareResourceWithGroups", msg_type, seqid)
         result.write(oprot)
@@ -19077,7 +20120,7 @@
         try:
             result.success = self._handler.revokeSharingOfResourceFromUsers(args.authzToken, args.resourceId, args.userPermissionList)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19091,9 +20134,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("revokeSharingOfResourceFromUsers", msg_type, seqid)
         result.write(oprot)
@@ -19108,7 +20155,7 @@
         try:
             result.success = self._handler.revokeSharingOfResourceFromGroups(args.authzToken, args.resourceId, args.groupPermissionList)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19122,9 +20169,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("revokeSharingOfResourceFromGroups", msg_type, seqid)
         result.write(oprot)
@@ -19139,7 +20190,7 @@
         try:
             result.success = self._handler.getAllAccessibleUsers(args.authzToken, args.resourceId, args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19153,9 +20204,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllAccessibleUsers", msg_type, seqid)
         result.write(oprot)
@@ -19170,7 +20225,7 @@
         try:
             result.success = self._handler.getAllAccessibleGroups(args.authzToken, args.resourceId, args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19184,9 +20239,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllAccessibleGroups", msg_type, seqid)
         result.write(oprot)
@@ -19201,7 +20260,7 @@
         try:
             result.success = self._handler.getAllDirectlyAccessibleUsers(args.authzToken, args.resourceId, args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19215,9 +20274,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllDirectlyAccessibleUsers", msg_type, seqid)
         result.write(oprot)
@@ -19232,7 +20295,7 @@
         try:
             result.success = self._handler.getAllDirectlyAccessibleGroups(args.authzToken, args.resourceId, args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19246,9 +20309,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllDirectlyAccessibleGroups", msg_type, seqid)
         result.write(oprot)
@@ -19263,7 +20330,7 @@
         try:
             result.success = self._handler.userHasAccess(args.authzToken, args.resourceId, args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19277,9 +20344,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("userHasAccess", msg_type, seqid)
         result.write(oprot)
@@ -19294,7 +20365,7 @@
         try:
             result.success = self._handler.createGroupResourceProfile(args.authzToken, args.groupResourceProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19308,9 +20379,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createGroupResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -19325,7 +20400,7 @@
         try:
             self._handler.updateGroupResourceProfile(args.authzToken, args.groupResourceProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19339,9 +20414,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGroupResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -19356,7 +20435,7 @@
         try:
             result.success = self._handler.getGroupResourceProfile(args.authzToken, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19370,9 +20449,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -19387,7 +20470,7 @@
         try:
             result.success = self._handler.removeGroupResourceProfile(args.authzToken, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19401,9 +20484,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeGroupResourceProfile", msg_type, seqid)
         result.write(oprot)
@@ -19418,7 +20505,7 @@
         try:
             result.success = self._handler.getGroupResourceList(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19432,9 +20519,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupResourceList", msg_type, seqid)
         result.write(oprot)
@@ -19449,7 +20540,7 @@
         try:
             result.success = self._handler.removeGroupComputePrefs(args.authzToken, args.computeResourceId, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19463,9 +20554,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeGroupComputePrefs", msg_type, seqid)
         result.write(oprot)
@@ -19480,7 +20575,7 @@
         try:
             result.success = self._handler.removeGroupComputeResourcePolicy(args.authzToken, args.resourcePolicyId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19494,9 +20589,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeGroupComputeResourcePolicy", msg_type, seqid)
         result.write(oprot)
@@ -19511,7 +20610,7 @@
         try:
             result.success = self._handler.removeGroupBatchQueueResourcePolicy(args.authzToken, args.resourcePolicyId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19525,9 +20624,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeGroupBatchQueueResourcePolicy", msg_type, seqid)
         result.write(oprot)
@@ -19542,7 +20645,7 @@
         try:
             result.success = self._handler.getGroupComputeResourcePreference(args.authzToken, args.computeResourceId, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19556,9 +20659,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupComputeResourcePreference", msg_type, seqid)
         result.write(oprot)
@@ -19573,7 +20680,7 @@
         try:
             result.success = self._handler.getGroupComputeResourcePolicy(args.authzToken, args.resourcePolicyId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19587,9 +20694,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupComputeResourcePolicy", msg_type, seqid)
         result.write(oprot)
@@ -19604,7 +20715,7 @@
         try:
             result.success = self._handler.getBatchQueueResourcePolicy(args.authzToken, args.resourcePolicyId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19618,9 +20729,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getBatchQueueResourcePolicy", msg_type, seqid)
         result.write(oprot)
@@ -19635,7 +20750,7 @@
         try:
             result.success = self._handler.getGroupComputeResourcePrefList(args.authzToken, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19649,9 +20764,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupComputeResourcePrefList", msg_type, seqid)
         result.write(oprot)
@@ -19666,7 +20785,7 @@
         try:
             result.success = self._handler.getGroupBatchQueueResourcePolicyList(args.authzToken, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19680,9 +20799,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupBatchQueueResourcePolicyList", msg_type, seqid)
         result.write(oprot)
@@ -19697,7 +20820,7 @@
         try:
             result.success = self._handler.getGroupComputeResourcePolicyList(args.authzToken, args.groupResourceProfileId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19711,9 +20834,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupComputeResourcePolicyList", msg_type, seqid)
         result.write(oprot)
@@ -19728,7 +20855,7 @@
         try:
             result.success = self._handler.getGatewayGroups(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19742,9 +20869,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGatewayGroups", msg_type, seqid)
         result.write(oprot)
@@ -19759,7 +20890,7 @@
         try:
             result.success = self._handler.getParser(args.authzToken, args.parserId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19773,9 +20904,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getParser", msg_type, seqid)
         result.write(oprot)
@@ -19790,7 +20925,7 @@
         try:
             result.success = self._handler.saveParser(args.authzToken, args.parser)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19804,9 +20939,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("saveParser", msg_type, seqid)
         result.write(oprot)
@@ -19821,7 +20960,7 @@
         try:
             result.success = self._handler.listAllParsers(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19835,9 +20974,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("listAllParsers", msg_type, seqid)
         result.write(oprot)
@@ -19852,7 +20995,7 @@
         try:
             result.success = self._handler.removeParser(args.authzToken, args.parserId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19866,9 +21009,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeParser", msg_type, seqid)
         result.write(oprot)
@@ -19883,7 +21030,7 @@
         try:
             result.success = self._handler.getParsingTemplate(args.authzToken, args.templateId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19897,9 +21044,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getParsingTemplate", msg_type, seqid)
         result.write(oprot)
@@ -19914,7 +21065,7 @@
         try:
             result.success = self._handler.getParsingTemplatesForExperiment(args.authzToken, args.experimentId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19928,9 +21079,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getParsingTemplatesForExperiment", msg_type, seqid)
         result.write(oprot)
@@ -19945,7 +21100,7 @@
         try:
             result.success = self._handler.saveParsingTemplate(args.authzToken, args.parsingTemplate)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19959,9 +21114,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("saveParsingTemplate", msg_type, seqid)
         result.write(oprot)
@@ -19976,7 +21135,7 @@
         try:
             result.success = self._handler.removeParsingTemplate(args.authzToken, args.templateId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -19990,9 +21149,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeParsingTemplate", msg_type, seqid)
         result.write(oprot)
@@ -20007,7 +21170,7 @@
         try:
             result.success = self._handler.listAllParsingTemplates(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.error.ttypes.InvalidRequestException as ire:
             msg_type = TMessageType.REPLY
@@ -20021,9 +21184,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("listAllParsingTemplates", msg_type, seqid)
         result.write(oprot)
@@ -20039,14 +21206,9 @@
      - authzToken
      - gatewayId
      - userName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, userName=None,):
         self.authzToken = authzToken
@@ -20055,7 +21217,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20070,12 +21232,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -20085,7 +21247,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserExists_args')
         if self.authzToken is not None:
@@ -20122,6 +21284,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserExists_args)
+isUserExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
+)
 
 
 class isUserExists_result(object):
@@ -20132,15 +21301,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -20151,7 +21314,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20165,26 +21328,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -20194,7 +21353,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserExists_result')
         if self.success is not None:
@@ -20233,6 +21392,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserExists_result)
+isUserExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addGateway_args(object):
@@ -20240,13 +21407,9 @@
     Attributes:
      - authzToken
      - gateway
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'gateway', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gateway=None,):
         self.authzToken = authzToken
@@ -20254,7 +21417,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20280,7 +21443,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGateway_args')
         if self.authzToken is not None:
@@ -20311,6 +21474,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGateway_args)
+addGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'gateway', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 2
+)
 
 
 class addGateway_result(object):
@@ -20321,15 +21490,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -20340,7 +21503,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20349,31 +21512,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -20383,7 +21542,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGateway_result')
         if self.success is not None:
@@ -20422,6 +21581,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGateway_result)
+addGateway_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllUsersInGateway_args(object):
@@ -20429,13 +21596,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -20443,7 +21606,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20458,7 +21621,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -20468,7 +21631,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUsersInGateway_args')
         if self.authzToken is not None:
@@ -20499,6 +21662,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUsersInGateway_args)
+getAllUsersInGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllUsersInGateway_result(object):
@@ -20509,15 +21678,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -20528,7 +21691,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20540,33 +21703,29 @@
                     self.success = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success.append(_elem5)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -20576,7 +21735,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUsersInGateway_result')
         if self.success is not None:
@@ -20618,6 +21777,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUsersInGateway_result)
+getAllUsersInGateway_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateGateway_args(object):
@@ -20626,14 +21793,9 @@
      - authzToken
      - gatewayId
      - updatedGateway
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'updatedGateway', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, updatedGateway=None,):
         self.authzToken = authzToken
@@ -20642,7 +21804,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20657,7 +21819,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -20673,7 +21835,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGateway_args')
         if self.authzToken is not None:
@@ -20710,6 +21872,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGateway_args)
+updateGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'updatedGateway', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 3
+)
 
 
 class updateGateway_result(object):
@@ -20720,15 +21889,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -20739,7 +21902,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20753,26 +21916,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -20782,7 +21941,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGateway_result')
         if self.success is not None:
@@ -20821,6 +21980,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGateway_result)
+updateGateway_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGateway_args(object):
@@ -20828,13 +21995,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -20842,7 +22005,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20857,7 +22020,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -20867,7 +22030,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGateway_args')
         if self.authzToken is not None:
@@ -20898,6 +22061,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGateway_args)
+getGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getGateway_result(object):
@@ -20908,15 +22077,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -20927,7 +22090,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -20942,26 +22105,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -20971,7 +22130,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGateway_result')
         if self.success is not None:
@@ -21010,6 +22169,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGateway_result)
+getGateway_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteGateway_args(object):
@@ -21017,13 +22184,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -21031,7 +22194,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21046,7 +22209,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -21056,7 +22219,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGateway_args')
         if self.authzToken is not None:
@@ -21087,6 +22250,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGateway_args)
+deleteGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteGateway_result(object):
@@ -21097,15 +22266,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -21116,7 +22279,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21130,26 +22293,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -21159,7 +22318,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGateway_result')
         if self.success is not None:
@@ -21198,25 +22357,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGateway_result)
+deleteGateway_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllGateways_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21236,7 +22400,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGateways_args')
         if self.authzToken is not None:
@@ -21261,6 +22425,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGateways_args)
+getAllGateways_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getAllGateways_result(object):
@@ -21271,15 +22440,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -21290,7 +22453,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21310,26 +22473,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -21339,7 +22498,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGateways_result')
         if self.success is not None:
@@ -21381,6 +22540,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGateways_result)
+getAllGateways_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.workspace.ttypes.Gateway, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class isGatewayExist_args(object):
@@ -21388,13 +22555,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -21402,7 +22565,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21417,7 +22580,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -21427,7 +22590,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isGatewayExist_args')
         if self.authzToken is not None:
@@ -21458,6 +22621,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isGatewayExist_args)
+isGatewayExist_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class isGatewayExist_result(object):
@@ -21468,15 +22637,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -21487,7 +22650,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21501,26 +22664,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -21530,7 +22689,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isGatewayExist_result')
         if self.success is not None:
@@ -21569,6 +22728,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isGatewayExist_result)
+isGatewayExist_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class createNotification_args(object):
@@ -21576,13 +22743,9 @@
     Attributes:
      - authzToken
      - notification
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'notification', (airavata.model.workspace.ttypes.Notification, airavata.model.workspace.ttypes.Notification.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, notification=None,):
         self.authzToken = authzToken
@@ -21590,7 +22753,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21616,7 +22779,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createNotification_args')
         if self.authzToken is not None:
@@ -21647,6 +22810,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createNotification_args)
+createNotification_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'notification', [airavata.model.workspace.ttypes.Notification, None], None, ),  # 2
+)
 
 
 class createNotification_result(object):
@@ -21657,15 +22826,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -21676,7 +22839,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21685,31 +22848,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -21719,7 +22878,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createNotification_result')
         if self.success is not None:
@@ -21758,6 +22917,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createNotification_result)
+createNotification_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateNotification_args(object):
@@ -21765,13 +22932,9 @@
     Attributes:
      - authzToken
      - notification
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'notification', (airavata.model.workspace.ttypes.Notification, airavata.model.workspace.ttypes.Notification.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, notification=None,):
         self.authzToken = authzToken
@@ -21779,7 +22942,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21805,7 +22968,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateNotification_args')
         if self.authzToken is not None:
@@ -21836,6 +22999,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateNotification_args)
+updateNotification_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'notification', [airavata.model.workspace.ttypes.Notification, None], None, ),  # 2
+)
 
 
 class updateNotification_result(object):
@@ -21846,15 +23015,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -21865,7 +23028,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21879,26 +23042,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -21908,7 +23067,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateNotification_result')
         if self.success is not None:
@@ -21947,6 +23106,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateNotification_result)
+updateNotification_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteNotification_args(object):
@@ -21955,14 +23122,9 @@
      - authzToken
      - gatewayId
      - notificationId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'notificationId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, notificationId=None,):
         self.authzToken = authzToken
@@ -21971,7 +23133,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -21986,12 +23148,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.notificationId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notificationId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -22001,7 +23163,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteNotification_args')
         if self.authzToken is not None:
@@ -22038,6 +23200,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteNotification_args)
+deleteNotification_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'notificationId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteNotification_result(object):
@@ -22048,15 +23217,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -22067,7 +23230,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22081,26 +23244,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -22110,7 +23269,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteNotification_result')
         if self.success is not None:
@@ -22149,6 +23308,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteNotification_result)
+deleteNotification_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getNotification_args(object):
@@ -22157,14 +23324,9 @@
      - authzToken
      - gatewayId
      - notificationId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'notificationId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, notificationId=None,):
         self.authzToken = authzToken
@@ -22173,7 +23335,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22188,12 +23350,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.notificationId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notificationId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -22203,7 +23365,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getNotification_args')
         if self.authzToken is not None:
@@ -22240,6 +23402,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getNotification_args)
+getNotification_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'notificationId', 'UTF8', None, ),  # 3
+)
 
 
 class getNotification_result(object):
@@ -22250,15 +23419,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.workspace.ttypes.Notification, airavata.model.workspace.ttypes.Notification.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -22269,7 +23432,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22284,26 +23447,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -22313,7 +23472,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getNotification_result')
         if self.success is not None:
@@ -22352,6 +23511,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getNotification_result)
+getNotification_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.workspace.ttypes.Notification, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllNotifications_args(object):
@@ -22359,13 +23526,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -22373,7 +23536,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22388,7 +23551,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -22398,7 +23561,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllNotifications_args')
         if self.authzToken is not None:
@@ -22429,6 +23592,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllNotifications_args)
+getAllNotifications_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllNotifications_result(object):
@@ -22439,15 +23608,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.workspace.ttypes.Notification, airavata.model.workspace.ttypes.Notification.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -22458,7 +23621,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22478,26 +23641,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -22507,7 +23666,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllNotifications_result')
         if self.success is not None:
@@ -22549,6 +23708,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllNotifications_result)
+getAllNotifications_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.workspace.ttypes.Notification, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class generateAndRegisterSSHKeys_args(object):
@@ -22556,15 +23723,9 @@
     Attributes:
      - authzToken
      - description
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        None,  # 2
-        None,  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, description=None,):
         self.authzToken = authzToken
@@ -22572,7 +23733,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22587,7 +23748,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -22597,7 +23758,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('generateAndRegisterSSHKeys_args')
         if self.authzToken is not None:
@@ -22626,6 +23787,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(generateAndRegisterSSHKeys_args)
+generateAndRegisterSSHKeys_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    None,  # 2
+    None,  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+)
 
 
 class generateAndRegisterSSHKeys_result(object):
@@ -22635,14 +23804,9 @@
      - ire
      - ace
      - ase
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None,):
         self.success = success
@@ -22652,7 +23816,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22661,25 +23825,22 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -22689,7 +23850,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('generateAndRegisterSSHKeys_result')
         if self.success is not None:
@@ -22724,6 +23885,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(generateAndRegisterSSHKeys_result)
+generateAndRegisterSSHKeys_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+)
 
 
 class registerPwdCredential_args(object):
@@ -22733,17 +23901,9 @@
      - loginUserName
      - password
      - description
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        None,  # 2
-        None,  # 3
-        (4, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'password', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'description', 'UTF8', None, ),  # 6
-    )
 
     def __init__(self, authzToken=None, loginUserName=None, password=None, description=None,):
         self.authzToken = authzToken
@@ -22753,7 +23913,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22768,17 +23928,17 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.password = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.password = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -22788,7 +23948,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerPwdCredential_args')
         if self.authzToken is not None:
@@ -22831,6 +23991,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerPwdCredential_args)
+registerPwdCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    None,  # 2
+    None,  # 3
+    (4, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'password', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'description', 'UTF8', None, ),  # 6
+)
 
 
 class registerPwdCredential_result(object):
@@ -22840,14 +24010,9 @@
      - ire
      - ace
      - ase
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None,):
         self.success = success
@@ -22857,7 +24022,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22866,25 +24031,22 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -22894,7 +24056,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerPwdCredential_result')
         if self.success is not None:
@@ -22929,6 +24091,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerPwdCredential_result)
+registerPwdCredential_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+)
 
 
 class getCredentialSummary_args(object):
@@ -22936,13 +24105,9 @@
     Attributes:
      - authzToken
      - tokenId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'tokenId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, tokenId=None,):
         self.authzToken = authzToken
@@ -22950,7 +24115,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -22965,7 +24130,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -22975,7 +24140,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCredentialSummary_args')
         if self.authzToken is not None:
@@ -23006,6 +24171,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCredentialSummary_args)
+getCredentialSummary_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'tokenId', 'UTF8', None, ),  # 2
+)
 
 
 class getCredentialSummary_result(object):
@@ -23016,15 +24187,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.credential.store.ttypes.CredentialSummary, airavata.model.credential.store.ttypes.CredentialSummary.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -23035,7 +24200,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23050,26 +24215,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -23079,7 +24240,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCredentialSummary_result')
         if self.success is not None:
@@ -23118,6 +24279,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCredentialSummary_result)
+getCredentialSummary_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.credential.store.ttypes.CredentialSummary, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllCredentialSummaries_args(object):
@@ -23125,13 +24294,9 @@
     Attributes:
      - authzToken
      - type
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.I32, 'type', None, None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, type=None,):
         self.authzToken = authzToken
@@ -23139,7 +24304,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23164,7 +24329,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaries_args')
         if self.authzToken is not None:
@@ -23195,6 +24360,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaries_args)
+getAllCredentialSummaries_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.I32, 'type', None, None, ),  # 2
+)
 
 
 class getAllCredentialSummaries_result(object):
@@ -23204,14 +24375,9 @@
      - ire
      - ace
      - ase
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.credential.store.ttypes.CredentialSummary, airavata.model.credential.store.ttypes.CredentialSummary.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None,):
         self.success = success
@@ -23221,7 +24387,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23241,20 +24407,17 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -23264,7 +24427,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaries_result')
         if self.success is not None:
@@ -23302,6 +24465,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaries_result)
+getAllCredentialSummaries_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.credential.store.ttypes.CredentialSummary, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+)
 
 
 class deleteSSHPubKey_args(object):
@@ -23309,13 +24479,9 @@
     Attributes:
      - authzToken
      - airavataCredStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataCredStoreToken=None,):
         self.authzToken = authzToken
@@ -23323,7 +24489,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23338,7 +24504,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataCredStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataCredStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -23348,7 +24514,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteSSHPubKey_args')
         if self.authzToken is not None:
@@ -23379,6 +24545,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteSSHPubKey_args)
+deleteSSHPubKey_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 2
+)
 
 
 class deleteSSHPubKey_result(object):
@@ -23389,15 +24561,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -23408,7 +24574,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23422,26 +24588,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -23451,7 +24613,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteSSHPubKey_result')
         if self.success is not None:
@@ -23490,6 +24652,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteSSHPubKey_result)
+deleteSSHPubKey_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deletePWDCredential_args(object):
@@ -23497,13 +24667,9 @@
     Attributes:
      - authzToken
      - airavataCredStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataCredStoreToken=None,):
         self.authzToken = authzToken
@@ -23511,7 +24677,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23526,7 +24692,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataCredStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataCredStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -23536,7 +24702,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deletePWDCredential_args')
         if self.authzToken is not None:
@@ -23567,6 +24733,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deletePWDCredential_args)
+deletePWDCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 2
+)
 
 
 class deletePWDCredential_result(object):
@@ -23577,15 +24749,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -23596,7 +24762,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23610,26 +24776,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -23639,7 +24801,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deletePWDCredential_result')
         if self.success is not None:
@@ -23678,6 +24840,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deletePWDCredential_result)
+deletePWDCredential_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class createProject_args(object):
@@ -23686,14 +24856,9 @@
      - authzToken
      - gatewayId
      - project
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'project', (airavata.model.workspace.ttypes.Project, airavata.model.workspace.ttypes.Project.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, project=None,):
         self.authzToken = authzToken
@@ -23702,7 +24867,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23717,7 +24882,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -23733,7 +24898,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createProject_args')
         if self.authzToken is not None:
@@ -23770,6 +24935,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createProject_args)
+createProject_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'project', [airavata.model.workspace.ttypes.Project, None], None, ),  # 3
+)
 
 
 class createProject_result(object):
@@ -23780,15 +24952,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -23799,7 +24965,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23808,31 +24974,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -23842,7 +25004,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createProject_result')
         if self.success is not None:
@@ -23881,6 +25043,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createProject_result)
+createProject_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateProject_args(object):
@@ -23889,14 +25059,9 @@
      - authzToken
      - projectId
      - updatedProject
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'updatedProject', (airavata.model.workspace.ttypes.Project, airavata.model.workspace.ttypes.Project.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, projectId=None, updatedProject=None,):
         self.authzToken = authzToken
@@ -23905,7 +25070,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -23920,7 +25085,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -23936,7 +25101,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateProject_args')
         if self.authzToken is not None:
@@ -23973,6 +25138,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateProject_args)
+updateProject_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'updatedProject', [airavata.model.workspace.ttypes.Project, None], None, ),  # 3
+)
 
 
 class updateProject_result(object):
@@ -23983,16 +25155,9 @@
      - ase
      - pnfe
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'pnfe', (airavata.api.error.ttypes.ProjectNotFoundException, airavata.api.error.ttypes.ProjectNotFoundException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, ire=None, ace=None, ase=None, pnfe=None, ae=None,):
         self.ire = ire
@@ -24003,7 +25168,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24012,32 +25177,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException()
-                    self.pnfe.read(iprot)
+                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -24047,7 +25207,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateProject_result')
         if self.ire is not None:
@@ -24086,6 +25246,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateProject_result)
+updateProject_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'pnfe', [airavata.api.error.ttypes.ProjectNotFoundException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getProject_args(object):
@@ -24093,13 +25262,9 @@
     Attributes:
      - authzToken
      - projectId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, projectId=None,):
         self.authzToken = authzToken
@@ -24107,7 +25272,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24122,7 +25287,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -24132,7 +25297,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getProject_args')
         if self.authzToken is not None:
@@ -24163,6 +25328,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getProject_args)
+getProject_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
+)
 
 
 class getProject_result(object):
@@ -24174,16 +25345,9 @@
      - ase
      - pnfe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.workspace.ttypes.Project, airavata.model.workspace.ttypes.Project.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'pnfe', (airavata.api.error.ttypes.ProjectNotFoundException, airavata.api.error.ttypes.ProjectNotFoundException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, pnfe=None, ae=None,):
         self.success = success
@@ -24195,7 +25359,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24210,32 +25374,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException()
-                    self.pnfe.read(iprot)
+                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -24245,7 +25404,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getProject_result')
         if self.success is not None:
@@ -24288,6 +25447,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getProject_result)
+getProject_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.workspace.ttypes.Project, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'pnfe', [airavata.api.error.ttypes.ProjectNotFoundException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class deleteProject_args(object):
@@ -24295,13 +25463,9 @@
     Attributes:
      - authzToken
      - projectId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, projectId=None,):
         self.authzToken = authzToken
@@ -24309,7 +25473,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24324,7 +25488,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -24334,7 +25498,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteProject_args')
         if self.authzToken is not None:
@@ -24365,6 +25529,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteProject_args)
+deleteProject_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteProject_result(object):
@@ -24376,16 +25546,9 @@
      - ase
      - pnfe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'pnfe', (airavata.api.error.ttypes.ProjectNotFoundException, airavata.api.error.ttypes.ProjectNotFoundException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, pnfe=None, ae=None,):
         self.success = success
@@ -24397,7 +25560,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24411,32 +25574,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException()
-                    self.pnfe.read(iprot)
+                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -24446,7 +25604,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteProject_result')
         if self.success is not None:
@@ -24489,6 +25647,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteProject_result)
+deleteProject_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'pnfe', [airavata.api.error.ttypes.ProjectNotFoundException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getUserProjects_args(object):
@@ -24499,16 +25666,9 @@
      - userName
      - limit
      - offset
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'limit', None, None, ),  # 4
-        (5, TType.I32, 'offset', None, None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, userName=None, limit=None, offset=None,):
         self.authzToken = authzToken
@@ -24519,7 +25679,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24534,12 +25694,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -24559,7 +25719,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserProjects_args')
         if self.authzToken is not None:
@@ -24608,6 +25768,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserProjects_args)
+getUserProjects_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'limit', None, None, ),  # 4
+    (5, TType.I32, 'offset', None, None, ),  # 5
+)
 
 
 class getUserProjects_result(object):
@@ -24618,15 +25787,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.workspace.ttypes.Project, airavata.model.workspace.ttypes.Project.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -24637,7 +25800,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24657,26 +25820,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -24686,7 +25845,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserProjects_result')
         if self.success is not None:
@@ -24728,6 +25887,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserProjects_result)
+getUserProjects_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.workspace.ttypes.Project, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class searchProjects_args(object):
@@ -24739,17 +25906,9 @@
      - filters
      - limit
      - offset
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
-        (4, TType.MAP, 'filters', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 4
-        (5, TType.I32, 'limit', None, None, ),  # 5
-        (6, TType.I32, 'offset', None, None, ),  # 6
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, userName=None, filters=None, limit=None, offset=None,):
         self.authzToken = authzToken
@@ -24761,7 +25920,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24776,12 +25935,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -24790,7 +25949,7 @@
                     (_ktype36, _vtype37, _size35) = iprot.readMapBegin()
                     for _i39 in range(_size35):
                         _key40 = iprot.readI32()
-                        _val41 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _val41 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.filters[_key40] = _val41
                     iprot.readMapEnd()
                 else:
@@ -24812,7 +25971,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('searchProjects_args')
         if self.authzToken is not None:
@@ -24869,6 +26028,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(searchProjects_args)
+searchProjects_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
+    (4, TType.MAP, 'filters', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 4
+    (5, TType.I32, 'limit', None, None, ),  # 5
+    (6, TType.I32, 'offset', None, None, ),  # 6
+)
 
 
 class searchProjects_result(object):
@@ -24879,15 +26048,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.workspace.ttypes.Project, airavata.model.workspace.ttypes.Project.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -24898,7 +26061,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -24918,26 +26081,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -24947,7 +26106,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('searchProjects_result')
         if self.success is not None:
@@ -24989,6 +26148,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(searchProjects_result)
+searchProjects_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.workspace.ttypes.Project, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class searchExperiments_args(object):
@@ -25000,17 +26167,9 @@
      - filters
      - limit
      - offset
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
-        (4, TType.MAP, 'filters', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 4
-        (5, TType.I32, 'limit', None, None, ),  # 5
-        (6, TType.I32, 'offset', None, None, ),  # 6
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, userName=None, filters=None, limit=None, offset=None,):
         self.authzToken = authzToken
@@ -25022,7 +26181,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25037,12 +26196,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -25051,7 +26210,7 @@
                     (_ktype52, _vtype53, _size51) = iprot.readMapBegin()
                     for _i55 in range(_size51):
                         _key56 = iprot.readI32()
-                        _val57 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _val57 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.filters[_key56] = _val57
                     iprot.readMapEnd()
                 else:
@@ -25073,7 +26232,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('searchExperiments_args')
         if self.authzToken is not None:
@@ -25130,6 +26289,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(searchExperiments_args)
+searchExperiments_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
+    (4, TType.MAP, 'filters', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 4
+    (5, TType.I32, 'limit', None, None, ),  # 5
+    (6, TType.I32, 'offset', None, None, ),  # 6
+)
 
 
 class searchExperiments_result(object):
@@ -25140,15 +26309,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.experiment.ttypes.ExperimentSummaryModel, airavata.model.experiment.ttypes.ExperimentSummaryModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -25159,7 +26322,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25179,26 +26342,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -25208,7 +26367,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('searchExperiments_result')
         if self.success is not None:
@@ -25250,6 +26409,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(searchExperiments_result)
+searchExperiments_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.experiment.ttypes.ExperimentSummaryModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getExperimentStatistics_args(object):
@@ -25264,22 +26431,11 @@
      - resourceHostName
      - limit
      - offset
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.I64, 'fromTime', None, None, ),  # 3
-        (4, TType.I64, 'toTime', None, None, ),  # 4
-        (5, TType.STRING, 'userName', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'applicationName', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'resourceHostName', 'UTF8', None, ),  # 7
-        (8, TType.I32, 'limit', None, 50, ),  # 8
-        (9, TType.I32, 'offset', None, 0, ),  # 9
-    )
 
-    def __init__(self, authzToken=None, gatewayId=None, fromTime=None, toTime=None, userName=None, applicationName=None, resourceHostName=None, limit=thrift_spec[8][4], offset=thrift_spec[9][4],):
+    def __init__(self, authzToken=None, gatewayId=None, fromTime=None, toTime=None, userName=None, applicationName=None, resourceHostName=None, limit=50, offset=0,):
         self.authzToken = authzToken
         self.gatewayId = gatewayId
         self.fromTime = fromTime
@@ -25292,7 +26448,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25307,7 +26463,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -25322,17 +26478,17 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.applicationName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.resourceHostName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceHostName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
@@ -25352,7 +26508,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentStatistics_args')
         if self.authzToken is not None:
@@ -25415,6 +26571,19 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentStatistics_args)
+getExperimentStatistics_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.I64, 'fromTime', None, None, ),  # 3
+    (4, TType.I64, 'toTime', None, None, ),  # 4
+    (5, TType.STRING, 'userName', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'applicationName', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'resourceHostName', 'UTF8', None, ),  # 7
+    (8, TType.I32, 'limit', None, 50, ),  # 8
+    (9, TType.I32, 'offset', None, 0, ),  # 9
+)
 
 
 class getExperimentStatistics_result(object):
@@ -25425,15 +26594,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.experiment.ttypes.ExperimentStatistics, airavata.model.experiment.ttypes.ExperimentStatistics.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -25444,7 +26607,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25459,26 +26622,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -25488,7 +26647,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentStatistics_result')
         if self.success is not None:
@@ -25527,6 +26686,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentStatistics_result)
+getExperimentStatistics_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.experiment.ttypes.ExperimentStatistics, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getExperimentsInProject_args(object):
@@ -25536,15 +26703,9 @@
      - projectId
      - limit
      - offset
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'limit', None, None, ),  # 3
-        (4, TType.I32, 'offset', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, projectId=None, limit=None, offset=None,):
         self.authzToken = authzToken
@@ -25554,7 +26715,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25569,7 +26730,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -25589,7 +26750,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentsInProject_args')
         if self.authzToken is not None:
@@ -25632,6 +26793,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentsInProject_args)
+getExperimentsInProject_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'limit', None, None, ),  # 3
+    (4, TType.I32, 'offset', None, None, ),  # 4
+)
 
 
 class getExperimentsInProject_result(object):
@@ -25643,16 +26812,9 @@
      - ase
      - pnfe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'pnfe', (airavata.api.error.ttypes.ProjectNotFoundException, airavata.api.error.ttypes.ProjectNotFoundException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, pnfe=None, ae=None,):
         self.success = success
@@ -25664,7 +26826,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25684,32 +26846,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException()
-                    self.pnfe.read(iprot)
+                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -25719,7 +26876,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentsInProject_result')
         if self.success is not None:
@@ -25765,6 +26922,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentsInProject_result)
+getExperimentsInProject_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.experiment.ttypes.ExperimentModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'pnfe', [airavata.api.error.ttypes.ProjectNotFoundException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getUserExperiments_args(object):
@@ -25775,16 +26941,9 @@
      - userName
      - limit
      - offset
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'limit', None, None, ),  # 4
-        (5, TType.I32, 'offset', None, None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, userName=None, limit=None, offset=None,):
         self.authzToken = authzToken
@@ -25795,7 +26954,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25810,12 +26969,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -25835,7 +26994,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserExperiments_args')
         if self.authzToken is not None:
@@ -25884,6 +27043,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserExperiments_args)
+getUserExperiments_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'limit', None, None, ),  # 4
+    (5, TType.I32, 'offset', None, None, ),  # 5
+)
 
 
 class getUserExperiments_result(object):
@@ -25894,15 +27062,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -25913,7 +27075,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -25933,26 +27095,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -25962,7 +27120,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserExperiments_result')
         if self.success is not None:
@@ -26004,6 +27162,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserExperiments_result)
+getUserExperiments_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.experiment.ttypes.ExperimentModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class createExperiment_args(object):
@@ -26012,14 +27178,9 @@
      - authzToken
      - gatewayId
      - experiment
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'experiment', (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, experiment=None,):
         self.authzToken = authzToken
@@ -26028,7 +27189,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26043,7 +27204,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -26059,7 +27220,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createExperiment_args')
         if self.authzToken is not None:
@@ -26096,6 +27257,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createExperiment_args)
+createExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'experiment', [airavata.model.experiment.ttypes.ExperimentModel, None], None, ),  # 3
+)
 
 
 class createExperiment_result(object):
@@ -26106,15 +27274,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -26125,7 +27287,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26134,31 +27296,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -26168,7 +27326,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createExperiment_result')
         if self.success is not None:
@@ -26207,6 +27365,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createExperiment_result)
+createExperiment_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteExperiment_args(object):
@@ -26214,13 +27380,9 @@
     Attributes:
      - authzToken
      - experimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, experimentId=None,):
         self.authzToken = authzToken
@@ -26228,7 +27390,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26243,7 +27405,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -26253,7 +27415,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteExperiment_args')
         if self.authzToken is not None:
@@ -26284,6 +27446,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteExperiment_args)
+deleteExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteExperiment_result(object):
@@ -26294,15 +27462,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -26313,7 +27475,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26327,26 +27489,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -26356,7 +27514,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteExperiment_result')
         if self.success is not None:
@@ -26395,6 +27553,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteExperiment_result)
+deleteExperiment_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getExperiment_args(object):
@@ -26402,13 +27568,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -26416,7 +27578,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26431,7 +27593,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -26441,7 +27603,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperiment_args')
         if self.authzToken is not None:
@@ -26472,6 +27634,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperiment_args)
+getExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getExperiment_result(object):
@@ -26483,16 +27651,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -26504,7 +27665,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26519,32 +27680,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -26554,7 +27710,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperiment_result')
         if self.success is not None:
@@ -26597,6 +27753,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperiment_result)
+getExperiment_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.experiment.ttypes.ExperimentModel, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getExperimentByAdmin_args(object):
@@ -26604,13 +27769,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -26618,7 +27779,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26633,7 +27794,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -26643,7 +27804,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentByAdmin_args')
         if self.authzToken is not None:
@@ -26674,6 +27835,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentByAdmin_args)
+getExperimentByAdmin_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getExperimentByAdmin_result(object):
@@ -26685,16 +27852,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -26706,7 +27866,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26721,32 +27881,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -26756,7 +27911,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentByAdmin_result')
         if self.success is not None:
@@ -26799,6 +27954,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentByAdmin_result)
+getExperimentByAdmin_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.experiment.ttypes.ExperimentModel, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getDetailedExperimentTree_args(object):
@@ -26806,13 +27970,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -26820,7 +27980,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26835,7 +27995,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -26845,7 +28005,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDetailedExperimentTree_args')
         if self.authzToken is not None:
@@ -26876,6 +28036,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDetailedExperimentTree_args)
+getDetailedExperimentTree_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getDetailedExperimentTree_result(object):
@@ -26887,16 +28053,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -26908,7 +28067,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -26923,32 +28082,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -26958,7 +28112,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDetailedExperimentTree_result')
         if self.success is not None:
@@ -27001,6 +28155,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDetailedExperimentTree_result)
+getDetailedExperimentTree_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.experiment.ttypes.ExperimentModel, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class updateExperiment_args(object):
@@ -27009,14 +28172,9 @@
      - authzToken
      - airavataExperimentId
      - experiment
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'experiment', (airavata.model.experiment.ttypes.ExperimentModel, airavata.model.experiment.ttypes.ExperimentModel.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, experiment=None,):
         self.authzToken = authzToken
@@ -27025,7 +28183,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27040,7 +28198,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -27056,7 +28214,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateExperiment_args')
         if self.authzToken is not None:
@@ -27093,6 +28251,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateExperiment_args)
+updateExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'experiment', [airavata.model.experiment.ttypes.ExperimentModel, None], None, ),  # 3
+)
 
 
 class updateExperiment_result(object):
@@ -27103,16 +28268,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.ire = ire
@@ -27123,7 +28281,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27132,32 +28290,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -27167,7 +28320,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateExperiment_result')
         if self.ire is not None:
@@ -27206,6 +28359,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateExperiment_result)
+updateExperiment_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class updateExperimentConfiguration_args(object):
@@ -27214,14 +28376,9 @@
      - authzToken
      - airavataExperimentId
      - userConfiguration
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'userConfiguration', (airavata.model.experiment.ttypes.UserConfigurationDataModel, airavata.model.experiment.ttypes.UserConfigurationDataModel.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, userConfiguration=None,):
         self.authzToken = authzToken
@@ -27230,7 +28387,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27245,7 +28402,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -27261,7 +28418,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateExperimentConfiguration_args')
         if self.authzToken is not None:
@@ -27298,25 +28455,29 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateExperimentConfiguration_args)
+updateExperimentConfiguration_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'userConfiguration', [airavata.model.experiment.ttypes.UserConfigurationDataModel, None], None, ),  # 3
+)
 
 
 class updateExperimentConfiguration_result(object):
     """
     Attributes:
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, ae=None,):
         self.ae = ae
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27325,8 +28486,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -27336,7 +28496,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateExperimentConfiguration_result')
         if self.ae is not None:
@@ -27359,6 +28519,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateExperimentConfiguration_result)
+updateExperimentConfiguration_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 1
+)
 
 
 class updateResourceScheduleing_args(object):
@@ -27367,14 +28532,9 @@
      - authzToken
      - airavataExperimentId
      - resourceScheduling
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'resourceScheduling', (airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, resourceScheduling=None,):
         self.authzToken = authzToken
@@ -27383,7 +28543,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27398,7 +28558,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -27414,7 +28574,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateResourceScheduleing_args')
         if self.authzToken is not None:
@@ -27451,25 +28611,29 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateResourceScheduleing_args)
+updateResourceScheduleing_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'resourceScheduling', [airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, None], None, ),  # 3
+)
 
 
 class updateResourceScheduleing_result(object):
     """
     Attributes:
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, ae=None,):
         self.ae = ae
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27478,8 +28642,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -27489,7 +28652,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateResourceScheduleing_result')
         if self.ae is not None:
@@ -27512,6 +28675,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateResourceScheduleing_result)
+updateResourceScheduleing_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 1
+)
 
 
 class validateExperiment_args(object):
@@ -27519,13 +28687,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -27533,7 +28697,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27548,7 +28712,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -27558,7 +28722,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('validateExperiment_args')
         if self.authzToken is not None:
@@ -27589,6 +28753,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(validateExperiment_args)
+validateExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class validateExperiment_result(object):
@@ -27600,16 +28770,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -27621,7 +28784,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27635,32 +28798,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -27670,7 +28828,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('validateExperiment_result')
         if self.success is not None:
@@ -27713,6 +28871,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(validateExperiment_result)
+validateExperiment_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class launchExperiment_args(object):
@@ -27721,14 +28888,9 @@
      - authzToken
      - airavataExperimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -27737,7 +28899,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27752,12 +28914,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -27767,7 +28929,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('launchExperiment_args')
         if self.authzToken is not None:
@@ -27804,6 +28966,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(launchExperiment_args)
+launchExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class launchExperiment_result(object):
@@ -27814,16 +28983,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.ire = ire
@@ -27834,7 +28996,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27843,32 +29005,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -27878,7 +29035,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('launchExperiment_result')
         if self.ire is not None:
@@ -27917,6 +29074,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(launchExperiment_result)
+launchExperiment_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getExperimentStatus_args(object):
@@ -27924,13 +29090,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -27938,7 +29100,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -27953,7 +29115,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -27963,7 +29125,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentStatus_args')
         if self.authzToken is not None:
@@ -27994,6 +29156,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentStatus_args)
+getExperimentStatus_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getExperimentStatus_result(object):
@@ -28005,16 +29173,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.status.ttypes.ExperimentStatus, airavata.model.status.ttypes.ExperimentStatus.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -28026,7 +29187,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28041,32 +29202,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -28076,7 +29232,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentStatus_result')
         if self.success is not None:
@@ -28119,6 +29275,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentStatus_result)
+getExperimentStatus_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.status.ttypes.ExperimentStatus, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getExperimentOutputs_args(object):
@@ -28126,13 +29291,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -28140,7 +29301,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28155,7 +29316,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -28165,7 +29326,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentOutputs_args')
         if self.authzToken is not None:
@@ -28196,6 +29357,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentOutputs_args)
+getExperimentOutputs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getExperimentOutputs_result(object):
@@ -28207,16 +29374,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -28228,7 +29388,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28248,32 +29408,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -28283,7 +29438,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getExperimentOutputs_result')
         if self.success is not None:
@@ -28329,6 +29484,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getExperimentOutputs_result)
+getExperimentOutputs_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getIntermediateOutputs_args(object):
@@ -28336,13 +29500,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -28350,7 +29510,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28365,7 +29525,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -28375,7 +29535,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getIntermediateOutputs_args')
         if self.authzToken is not None:
@@ -28406,6 +29566,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getIntermediateOutputs_args)
+getIntermediateOutputs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getIntermediateOutputs_result(object):
@@ -28417,16 +29583,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -28438,7 +29597,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28458,32 +29617,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -28493,7 +29647,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getIntermediateOutputs_result')
         if self.success is not None:
@@ -28539,6 +29693,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getIntermediateOutputs_result)
+getIntermediateOutputs_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class fetchIntermediateOutputs_args(object):
@@ -28547,14 +29710,9 @@
      - authzToken
      - airavataExperimentId
      - outputNames
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'outputNames', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, outputNames=None,):
         self.authzToken = authzToken
@@ -28563,7 +29721,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28578,7 +29736,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -28586,7 +29744,7 @@
                     self.outputNames = []
                     (_etype98, _size95) = iprot.readListBegin()
                     for _i99 in range(_size95):
-                        _elem100 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem100 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.outputNames.append(_elem100)
                     iprot.readListEnd()
                 else:
@@ -28598,7 +29756,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('fetchIntermediateOutputs_args')
         if self.authzToken is not None:
@@ -28638,6 +29796,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(fetchIntermediateOutputs_args)
+fetchIntermediateOutputs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'outputNames', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
 
 
 class fetchIntermediateOutputs_result(object):
@@ -28648,16 +29813,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.ire = ire
@@ -28668,7 +29826,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28677,32 +29835,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -28712,7 +29865,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('fetchIntermediateOutputs_result')
         if self.ire is not None:
@@ -28751,6 +29904,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(fetchIntermediateOutputs_result)
+fetchIntermediateOutputs_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getIntermediateOutputProcessStatus_args(object):
@@ -28759,14 +29921,9 @@
      - authzToken
      - airavataExperimentId
      - outputNames
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'outputNames', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, outputNames=None,):
         self.authzToken = authzToken
@@ -28775,7 +29932,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28790,7 +29947,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -28798,7 +29955,7 @@
                     self.outputNames = []
                     (_etype105, _size102) = iprot.readListBegin()
                     for _i106 in range(_size102):
-                        _elem107 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem107 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.outputNames.append(_elem107)
                     iprot.readListEnd()
                 else:
@@ -28810,7 +29967,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getIntermediateOutputProcessStatus_args')
         if self.authzToken is not None:
@@ -28850,6 +30007,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getIntermediateOutputProcessStatus_args)
+getIntermediateOutputProcessStatus_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'outputNames', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
 
 
 class getIntermediateOutputProcessStatus_result(object):
@@ -28861,16 +30025,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.status.ttypes.ProcessStatus, airavata.model.status.ttypes.ProcessStatus.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -28882,7 +30039,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -28897,32 +30054,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -28932,7 +30084,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getIntermediateOutputProcessStatus_result')
         if self.success is not None:
@@ -28975,6 +30127,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getIntermediateOutputProcessStatus_result)
+getIntermediateOutputProcessStatus_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.status.ttypes.ProcessStatus, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getJobStatuses_args(object):
@@ -28982,13 +30143,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -28996,7 +30153,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29011,7 +30168,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -29021,7 +30178,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getJobStatuses_args')
         if self.authzToken is not None:
@@ -29052,6 +30209,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getJobStatuses_args)
+getJobStatuses_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getJobStatuses_result(object):
@@ -29063,16 +30226,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRUCT, (airavata.model.status.ttypes.JobStatus, airavata.model.status.ttypes.JobStatus.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -29084,7 +30240,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29096,7 +30252,7 @@
                     self.success = {}
                     (_ktype110, _vtype111, _size109) = iprot.readMapBegin()
                     for _i113 in range(_size109):
-                        _key114 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key114 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val115 = airavata.model.status.ttypes.JobStatus()
                         _val115.read(iprot)
                         self.success[_key114] = _val115
@@ -29105,32 +30261,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -29140,7 +30291,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getJobStatuses_result')
         if self.success is not None:
@@ -29187,6 +30338,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getJobStatuses_result)
+getJobStatuses_result.thrift_spec = (
+    (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRUCT, [airavata.model.status.ttypes.JobStatus, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class getJobDetails_args(object):
@@ -29194,13 +30354,9 @@
     Attributes:
      - authzToken
      - airavataExperimentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None,):
         self.authzToken = authzToken
@@ -29208,7 +30364,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29223,7 +30379,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -29233,7 +30389,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getJobDetails_args')
         if self.authzToken is not None:
@@ -29264,6 +30420,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getJobDetails_args)
+getJobDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+)
 
 
 class getJobDetails_result(object):
@@ -29275,16 +30437,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.job.ttypes.JobModel, airavata.model.job.ttypes.JobModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -29296,7 +30451,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29316,32 +30471,27 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -29351,7 +30501,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getJobDetails_result')
         if self.success is not None:
@@ -29397,6 +30547,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getJobDetails_result)
+getJobDetails_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.job.ttypes.JobModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class cloneExperiment_args(object):
@@ -29406,15 +30565,9 @@
      - existingExperimentID
      - newExperimentName
      - newExperimentProjectId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'existingExperimentID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'newExperimentName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'newExperimentProjectId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, existingExperimentID=None, newExperimentName=None, newExperimentProjectId=None,):
         self.authzToken = authzToken
@@ -29424,7 +30577,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29439,17 +30592,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.existingExperimentID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.existingExperimentID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.newExperimentName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newExperimentName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.newExperimentProjectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newExperimentProjectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -29459,7 +30612,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('cloneExperiment_args')
         if self.authzToken is not None:
@@ -29496,6 +30649,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(cloneExperiment_args)
+cloneExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'existingExperimentID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'newExperimentName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'newExperimentProjectId', 'UTF8', None, ),  # 4
+)
 
 
 class cloneExperiment_result(object):
@@ -29508,17 +30669,9 @@
      - ase
      - ae
      - pnfe
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-        (6, TType.STRUCT, 'pnfe', (airavata.api.error.ttypes.ProjectNotFoundException, airavata.api.error.ttypes.ProjectNotFoundException.thrift_spec), None, ),  # 6
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None, pnfe=None,):
         self.success = success
@@ -29531,7 +30684,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29540,43 +30693,37 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRUCT:
-                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException()
-                    self.pnfe.read(iprot)
+                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -29586,7 +30733,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('cloneExperiment_result')
         if self.success is not None:
@@ -29633,6 +30780,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(cloneExperiment_result)
+cloneExperiment_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+    (6, TType.STRUCT, 'pnfe', [airavata.api.error.ttypes.ProjectNotFoundException, None], None, ),  # 6
+)
 
 
 class cloneExperimentByAdmin_args(object):
@@ -29642,15 +30799,9 @@
      - existingExperimentID
      - newExperimentName
      - newExperimentProjectId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'existingExperimentID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'newExperimentName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'newExperimentProjectId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, existingExperimentID=None, newExperimentName=None, newExperimentProjectId=None,):
         self.authzToken = authzToken
@@ -29660,7 +30811,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29675,17 +30826,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.existingExperimentID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.existingExperimentID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.newExperimentName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newExperimentName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.newExperimentProjectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newExperimentProjectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -29695,7 +30846,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('cloneExperimentByAdmin_args')
         if self.authzToken is not None:
@@ -29732,6 +30883,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(cloneExperimentByAdmin_args)
+cloneExperimentByAdmin_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'existingExperimentID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'newExperimentName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'newExperimentProjectId', 'UTF8', None, ),  # 4
+)
 
 
 class cloneExperimentByAdmin_result(object):
@@ -29744,17 +30903,9 @@
      - ase
      - ae
      - pnfe
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-        (6, TType.STRUCT, 'pnfe', (airavata.api.error.ttypes.ProjectNotFoundException, airavata.api.error.ttypes.ProjectNotFoundException.thrift_spec), None, ),  # 6
-    )
 
     def __init__(self, success=None, ire=None, enf=None, ace=None, ase=None, ae=None, pnfe=None,):
         self.success = success
@@ -29767,7 +30918,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29776,43 +30927,37 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRUCT:
-                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException()
-                    self.pnfe.read(iprot)
+                    self.pnfe = airavata.api.error.ttypes.ProjectNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -29822,7 +30967,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('cloneExperimentByAdmin_result')
         if self.success is not None:
@@ -29869,6 +31014,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(cloneExperimentByAdmin_result)
+cloneExperimentByAdmin_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+    (6, TType.STRUCT, 'pnfe', [airavata.api.error.ttypes.ProjectNotFoundException, None], None, ),  # 6
+)
 
 
 class terminateExperiment_args(object):
@@ -29877,14 +31032,9 @@
      - authzToken
      - airavataExperimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataExperimentId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -29893,7 +31043,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29908,12 +31058,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataExperimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataExperimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -29923,7 +31073,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('terminateExperiment_args')
         if self.authzToken is not None:
@@ -29956,6 +31106,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(terminateExperiment_args)
+terminateExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataExperimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class terminateExperiment_result(object):
@@ -29966,16 +31123,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'enf', (airavata.api.error.ttypes.ExperimentNotFoundException, airavata.api.error.ttypes.ExperimentNotFoundException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 4
-        (5, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, ire=None, enf=None, ace=None, ase=None, ae=None,):
         self.ire = ire
@@ -29986,7 +31136,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -29995,32 +31145,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException()
-                    self.enf.read(iprot)
+                    self.enf = airavata.api.error.ttypes.ExperimentNotFoundException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -30030,7 +31175,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('terminateExperiment_result')
         if self.ire is not None:
@@ -30069,6 +31214,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(terminateExperiment_result)
+terminateExperiment_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'enf', [airavata.api.error.ttypes.ExperimentNotFoundException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 4
+    (5, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 5
+)
 
 
 class registerApplicationModule_args(object):
@@ -30077,14 +31231,9 @@
      - authzToken
      - gatewayId
      - applicationModule
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'applicationModule', (airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, applicationModule=None,):
         self.authzToken = authzToken
@@ -30093,7 +31242,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30108,7 +31257,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -30124,7 +31273,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerApplicationModule_args')
         if self.authzToken is not None:
@@ -30161,6 +31310,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerApplicationModule_args)
+registerApplicationModule_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'applicationModule', [airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, None], None, ),  # 3
+)
 
 
 class registerApplicationModule_result(object):
@@ -30171,15 +31327,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -30190,7 +31340,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30199,31 +31349,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -30233,7 +31379,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerApplicationModule_result')
         if self.success is not None:
@@ -30272,6 +31418,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerApplicationModule_result)
+registerApplicationModule_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getApplicationModule_args(object):
@@ -30279,13 +31433,9 @@
     Attributes:
      - authzToken
      - appModuleId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appModuleId=None,):
         self.authzToken = authzToken
@@ -30293,7 +31443,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30308,7 +31458,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -30318,7 +31468,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationModule_args')
         if self.authzToken is not None:
@@ -30349,6 +31499,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationModule_args)
+getApplicationModule_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
+)
 
 
 class getApplicationModule_result(object):
@@ -30359,15 +31515,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -30378,7 +31528,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30393,26 +31543,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -30422,7 +31568,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationModule_result')
         if self.success is not None:
@@ -30461,6 +31607,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationModule_result)
+getApplicationModule_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateApplicationModule_args(object):
@@ -30469,14 +31623,9 @@
      - authzToken
      - appModuleId
      - applicationModule
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'applicationModule', (airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, appModuleId=None, applicationModule=None,):
         self.authzToken = authzToken
@@ -30485,7 +31634,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30500,7 +31649,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -30516,7 +31665,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateApplicationModule_args')
         if self.authzToken is not None:
@@ -30553,6 +31702,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateApplicationModule_args)
+updateApplicationModule_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'applicationModule', [airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, None], None, ),  # 3
+)
 
 
 class updateApplicationModule_result(object):
@@ -30563,15 +31719,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -30582,7 +31732,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30596,26 +31746,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -30625,7 +31771,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateApplicationModule_result')
         if self.success is not None:
@@ -30664,6 +31810,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateApplicationModule_result)
+updateApplicationModule_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllAppModules_args(object):
@@ -30671,13 +31825,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -30685,7 +31835,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30700,7 +31850,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -30710,7 +31860,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllAppModules_args')
         if self.authzToken is not None:
@@ -30741,6 +31891,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllAppModules_args)
+getAllAppModules_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllAppModules_result(object):
@@ -30751,15 +31907,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -30770,7 +31920,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30790,26 +31940,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -30819,7 +31965,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllAppModules_result')
         if self.success is not None:
@@ -30861,6 +32007,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllAppModules_result)
+getAllAppModules_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAccessibleAppModules_args(object):
@@ -30868,13 +32022,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -30882,7 +32032,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30897,7 +32047,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -30907,7 +32057,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAccessibleAppModules_args')
         if self.authzToken is not None:
@@ -30938,6 +32088,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAccessibleAppModules_args)
+getAccessibleAppModules_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAccessibleAppModules_result(object):
@@ -30948,15 +32104,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -30967,7 +32117,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -30987,26 +32137,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -31016,7 +32162,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAccessibleAppModules_result')
         if self.success is not None:
@@ -31058,6 +32204,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAccessibleAppModules_result)
+getAccessibleAppModules_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.appdeployment.ttypes.ApplicationModule, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteApplicationModule_args(object):
@@ -31065,13 +32219,9 @@
     Attributes:
      - authzToken
      - appModuleId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appModuleId=None,):
         self.authzToken = authzToken
@@ -31079,7 +32229,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31094,7 +32244,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -31104,7 +32254,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteApplicationModule_args')
         if self.authzToken is not None:
@@ -31135,6 +32285,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteApplicationModule_args)
+deleteApplicationModule_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteApplicationModule_result(object):
@@ -31145,15 +32301,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -31164,7 +32314,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31178,26 +32328,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -31207,7 +32353,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteApplicationModule_result')
         if self.success is not None:
@@ -31246,6 +32392,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteApplicationModule_result)
+deleteApplicationModule_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerApplicationDeployment_args(object):
@@ -31254,14 +32408,9 @@
      - authzToken
      - gatewayId
      - applicationDeployment
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'applicationDeployment', (airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, applicationDeployment=None,):
         self.authzToken = authzToken
@@ -31270,7 +32419,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31285,7 +32434,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -31301,7 +32450,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerApplicationDeployment_args')
         if self.authzToken is not None:
@@ -31338,6 +32487,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerApplicationDeployment_args)
+registerApplicationDeployment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'applicationDeployment', [airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, None], None, ),  # 3
+)
 
 
 class registerApplicationDeployment_result(object):
@@ -31348,15 +32504,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -31367,7 +32517,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31376,31 +32526,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -31410,7 +32556,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerApplicationDeployment_result')
         if self.success is not None:
@@ -31449,6 +32595,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerApplicationDeployment_result)
+registerApplicationDeployment_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getApplicationDeployment_args(object):
@@ -31456,13 +32610,9 @@
     Attributes:
      - authzToken
      - appDeploymentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appDeploymentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appDeploymentId=None,):
         self.authzToken = authzToken
@@ -31470,7 +32620,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31485,7 +32635,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appDeploymentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appDeploymentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -31495,7 +32645,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationDeployment_args')
         if self.authzToken is not None:
@@ -31526,6 +32676,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationDeployment_args)
+getApplicationDeployment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appDeploymentId', 'UTF8', None, ),  # 2
+)
 
 
 class getApplicationDeployment_result(object):
@@ -31536,15 +32692,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -31555,7 +32705,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31570,26 +32720,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -31599,7 +32745,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationDeployment_result')
         if self.success is not None:
@@ -31638,6 +32784,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationDeployment_result)
+getApplicationDeployment_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateApplicationDeployment_args(object):
@@ -31646,14 +32800,9 @@
      - authzToken
      - appDeploymentId
      - applicationDeployment
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appDeploymentId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'applicationDeployment', (airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, appDeploymentId=None, applicationDeployment=None,):
         self.authzToken = authzToken
@@ -31662,7 +32811,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31677,7 +32826,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appDeploymentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appDeploymentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -31693,7 +32842,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateApplicationDeployment_args')
         if self.authzToken is not None:
@@ -31730,6 +32879,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateApplicationDeployment_args)
+updateApplicationDeployment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appDeploymentId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'applicationDeployment', [airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, None], None, ),  # 3
+)
 
 
 class updateApplicationDeployment_result(object):
@@ -31740,15 +32896,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -31759,7 +32909,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31773,26 +32923,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -31802,7 +32948,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateApplicationDeployment_result')
         if self.success is not None:
@@ -31841,6 +32987,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateApplicationDeployment_result)
+updateApplicationDeployment_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteApplicationDeployment_args(object):
@@ -31848,13 +33002,9 @@
     Attributes:
      - authzToken
      - appDeploymentId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appDeploymentId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appDeploymentId=None,):
         self.authzToken = authzToken
@@ -31862,7 +33012,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31877,7 +33027,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appDeploymentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appDeploymentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -31887,7 +33037,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteApplicationDeployment_args')
         if self.authzToken is not None:
@@ -31918,6 +33068,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteApplicationDeployment_args)
+deleteApplicationDeployment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appDeploymentId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteApplicationDeployment_result(object):
@@ -31928,15 +33084,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -31947,7 +33097,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -31961,26 +33111,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -31990,7 +33136,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteApplicationDeployment_result')
         if self.success is not None:
@@ -32029,6 +33175,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteApplicationDeployment_result)
+deleteApplicationDeployment_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllApplicationDeployments_args(object):
@@ -32036,13 +33190,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -32050,7 +33200,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32065,7 +33215,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -32075,7 +33225,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllApplicationDeployments_args')
         if self.authzToken is not None:
@@ -32106,6 +33256,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllApplicationDeployments_args)
+getAllApplicationDeployments_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllApplicationDeployments_result(object):
@@ -32116,15 +33272,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -32135,7 +33285,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32155,26 +33305,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -32184,7 +33330,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllApplicationDeployments_result')
         if self.success is not None:
@@ -32226,6 +33372,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllApplicationDeployments_result)
+getAllApplicationDeployments_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAccessibleApplicationDeployments_args(object):
@@ -32234,14 +33388,9 @@
      - authzToken
      - gatewayId
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'permissionType', None, None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, permissionType=None,):
         self.authzToken = authzToken
@@ -32250,7 +33399,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32265,7 +33414,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -32280,7 +33429,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAccessibleApplicationDeployments_args')
         if self.authzToken is not None:
@@ -32317,6 +33466,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAccessibleApplicationDeployments_args)
+getAccessibleApplicationDeployments_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'permissionType', None, None, ),  # 3
+)
 
 
 class getAccessibleApplicationDeployments_result(object):
@@ -32327,15 +33483,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -32346,7 +33496,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32366,26 +33516,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -32395,7 +33541,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAccessibleApplicationDeployments_result')
         if self.success is not None:
@@ -32437,6 +33583,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAccessibleApplicationDeployments_result)
+getAccessibleApplicationDeployments_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAppModuleDeployedResources_args(object):
@@ -32444,13 +33598,9 @@
     Attributes:
      - authzToken
      - appModuleId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appModuleId=None,):
         self.authzToken = authzToken
@@ -32458,7 +33608,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32473,7 +33623,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -32483,7 +33633,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAppModuleDeployedResources_args')
         if self.authzToken is not None:
@@ -32514,6 +33664,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAppModuleDeployedResources_args)
+getAppModuleDeployedResources_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
+)
 
 
 class getAppModuleDeployedResources_result(object):
@@ -32524,15 +33680,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -32543,7 +33693,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32555,33 +33705,29 @@
                     self.success = []
                     (_etype156, _size153) = iprot.readListBegin()
                     for _i157 in range(_size153):
-                        _elem158 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem158 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success.append(_elem158)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -32591,7 +33737,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAppModuleDeployedResources_result')
         if self.success is not None:
@@ -32633,6 +33779,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAppModuleDeployedResources_result)
+getAppModuleDeployedResources_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args(object):
@@ -32641,14 +33795,9 @@
      - authzToken
      - appModuleId
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, appModuleId=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -32657,7 +33806,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32672,12 +33821,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -32687,7 +33836,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args')
         if self.authzToken is not None:
@@ -32724,6 +33873,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args)
+getApplicationDeploymentsForAppModuleAndGroupResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 3
+)
 
 
 class getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result(object):
@@ -32734,15 +33890,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -32753,7 +33903,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32773,26 +33923,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -32802,7 +33948,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result')
         if self.success is not None:
@@ -32844,6 +33990,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result)
+getApplicationDeploymentsForAppModuleAndGroupResourceProfile_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.appdeployment.ttypes.ApplicationDeploymentDescription, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerApplicationInterface_args(object):
@@ -32852,14 +34006,9 @@
      - authzToken
      - gatewayId
      - applicationInterface
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'applicationInterface', (airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, applicationInterface=None,):
         self.authzToken = authzToken
@@ -32868,7 +34017,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32883,7 +34032,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -32899,7 +34048,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerApplicationInterface_args')
         if self.authzToken is not None:
@@ -32936,6 +34085,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerApplicationInterface_args)
+registerApplicationInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'applicationInterface', [airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, None], None, ),  # 3
+)
 
 
 class registerApplicationInterface_result(object):
@@ -32946,15 +34102,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -32965,7 +34115,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -32974,31 +34124,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -33008,7 +34154,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerApplicationInterface_result')
         if self.success is not None:
@@ -33047,6 +34193,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerApplicationInterface_result)
+registerApplicationInterface_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class cloneApplicationInterface_args(object):
@@ -33056,15 +34210,9 @@
      - existingAppInterfaceID
      - newApplicationName
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'existingAppInterfaceID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'newApplicationName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, existingAppInterfaceID=None, newApplicationName=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -33074,7 +34222,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33089,17 +34237,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.existingAppInterfaceID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.existingAppInterfaceID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.newApplicationName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newApplicationName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -33109,7 +34257,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('cloneApplicationInterface_args')
         if self.authzToken is not None:
@@ -33146,6 +34294,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(cloneApplicationInterface_args)
+cloneApplicationInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'existingAppInterfaceID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'newApplicationName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
+)
 
 
 class cloneApplicationInterface_result(object):
@@ -33156,15 +34312,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -33175,7 +34325,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33184,31 +34334,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -33218,7 +34364,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('cloneApplicationInterface_result')
         if self.success is not None:
@@ -33257,6 +34403,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(cloneApplicationInterface_result)
+cloneApplicationInterface_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getApplicationInterface_args(object):
@@ -33264,13 +34418,9 @@
     Attributes:
      - authzToken
      - appInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appInterfaceId=None,):
         self.authzToken = authzToken
@@ -33278,7 +34428,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33293,7 +34443,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -33303,7 +34453,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationInterface_args')
         if self.authzToken is not None:
@@ -33334,6 +34484,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationInterface_args)
+getApplicationInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
+)
 
 
 class getApplicationInterface_result(object):
@@ -33344,15 +34500,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -33363,7 +34513,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33378,26 +34528,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -33407,7 +34553,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationInterface_result')
         if self.success is not None:
@@ -33446,6 +34592,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationInterface_result)
+getApplicationInterface_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateApplicationInterface_args(object):
@@ -33454,14 +34608,9 @@
      - authzToken
      - appInterfaceId
      - applicationInterface
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'applicationInterface', (airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, appInterfaceId=None, applicationInterface=None,):
         self.authzToken = authzToken
@@ -33470,7 +34619,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33485,7 +34634,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -33501,7 +34650,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateApplicationInterface_args')
         if self.authzToken is not None:
@@ -33538,6 +34687,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateApplicationInterface_args)
+updateApplicationInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'applicationInterface', [airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, None], None, ),  # 3
+)
 
 
 class updateApplicationInterface_result(object):
@@ -33548,15 +34704,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -33567,7 +34717,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33581,26 +34731,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -33610,7 +34756,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateApplicationInterface_result')
         if self.success is not None:
@@ -33649,6 +34795,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateApplicationInterface_result)
+updateApplicationInterface_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteApplicationInterface_args(object):
@@ -33656,13 +34810,9 @@
     Attributes:
      - authzToken
      - appInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appInterfaceId=None,):
         self.authzToken = authzToken
@@ -33670,7 +34820,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33685,7 +34835,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -33695,7 +34845,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteApplicationInterface_args')
         if self.authzToken is not None:
@@ -33726,6 +34876,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteApplicationInterface_args)
+deleteApplicationInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteApplicationInterface_result(object):
@@ -33736,15 +34892,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -33755,7 +34905,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33769,26 +34919,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -33798,7 +34944,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteApplicationInterface_result')
         if self.success is not None:
@@ -33837,6 +34983,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteApplicationInterface_result)
+deleteApplicationInterface_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllApplicationInterfaceNames_args(object):
@@ -33844,13 +34998,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -33858,7 +35008,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33873,7 +35023,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -33883,7 +35033,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllApplicationInterfaceNames_args')
         if self.authzToken is not None:
@@ -33914,6 +35064,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllApplicationInterfaceNames_args)
+getAllApplicationInterfaceNames_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllApplicationInterfaceNames_result(object):
@@ -33924,15 +35080,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -33943,7 +35093,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -33955,34 +35105,30 @@
                     self.success = {}
                     (_ktype168, _vtype169, _size167) = iprot.readMapBegin()
                     for _i171 in range(_size167):
-                        _key172 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val173 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key172 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val173 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success[_key172] = _val173
                     iprot.readMapEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -33992,7 +35138,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllApplicationInterfaceNames_result')
         if self.success is not None:
@@ -34035,6 +35181,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllApplicationInterfaceNames_result)
+getAllApplicationInterfaceNames_result.thrift_spec = (
+    (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllApplicationInterfaces_args(object):
@@ -34042,13 +35196,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -34056,7 +35206,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34071,7 +35221,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -34081,7 +35231,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllApplicationInterfaces_args')
         if self.authzToken is not None:
@@ -34112,6 +35262,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllApplicationInterfaces_args)
+getAllApplicationInterfaces_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllApplicationInterfaces_result(object):
@@ -34122,15 +35278,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -34141,7 +35291,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34161,26 +35311,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -34190,7 +35336,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllApplicationInterfaces_result')
         if self.success is not None:
@@ -34232,6 +35378,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllApplicationInterfaces_result)
+getAllApplicationInterfaces_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.appinterface.ttypes.ApplicationInterfaceDescription, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getApplicationInputs_args(object):
@@ -34239,13 +35393,9 @@
     Attributes:
      - authzToken
      - appInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appInterfaceId=None,):
         self.authzToken = authzToken
@@ -34253,7 +35403,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34268,7 +35418,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -34278,7 +35428,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationInputs_args')
         if self.authzToken is not None:
@@ -34309,6 +35459,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationInputs_args)
+getApplicationInputs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
+)
 
 
 class getApplicationInputs_result(object):
@@ -34319,15 +35475,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.application.io.ttypes.InputDataObjectType, airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -34338,7 +35488,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34358,26 +35508,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -34387,7 +35533,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationInputs_result')
         if self.success is not None:
@@ -34429,6 +35575,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationInputs_result)
+getApplicationInputs_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.application.io.ttypes.InputDataObjectType, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getApplicationOutputs_args(object):
@@ -34436,13 +35590,9 @@
     Attributes:
      - authzToken
      - appInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appInterfaceId=None,):
         self.authzToken = authzToken
@@ -34450,7 +35600,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34465,7 +35615,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -34475,7 +35625,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationOutputs_args')
         if self.authzToken is not None:
@@ -34506,6 +35656,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationOutputs_args)
+getApplicationOutputs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
+)
 
 
 class getApplicationOutputs_result(object):
@@ -34516,15 +35672,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -34535,7 +35685,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34555,26 +35705,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -34584,7 +35730,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getApplicationOutputs_result')
         if self.success is not None:
@@ -34626,6 +35772,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getApplicationOutputs_result)
+getApplicationOutputs_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAvailableAppInterfaceComputeResources_args(object):
@@ -34633,13 +35787,9 @@
     Attributes:
      - authzToken
      - appInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, appInterfaceId=None,):
         self.authzToken = authzToken
@@ -34647,7 +35797,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34662,7 +35812,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -34672,7 +35822,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAvailableAppInterfaceComputeResources_args')
         if self.authzToken is not None:
@@ -34703,6 +35853,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAvailableAppInterfaceComputeResources_args)
+getAvailableAppInterfaceComputeResources_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'appInterfaceId', 'UTF8', None, ),  # 2
+)
 
 
 class getAvailableAppInterfaceComputeResources_result(object):
@@ -34713,15 +35869,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -34732,7 +35882,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34744,34 +35894,30 @@
                     self.success = {}
                     (_ktype198, _vtype199, _size197) = iprot.readMapBegin()
                     for _i201 in range(_size197):
-                        _key202 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val203 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key202 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val203 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success[_key202] = _val203
                     iprot.readMapEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -34781,7 +35927,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAvailableAppInterfaceComputeResources_result')
         if self.success is not None:
@@ -34824,6 +35970,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAvailableAppInterfaceComputeResources_result)
+getAvailableAppInterfaceComputeResources_result.thrift_spec = (
+    (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerComputeResource_args(object):
@@ -34831,13 +35985,9 @@
     Attributes:
      - authzToken
      - computeResourceDescription
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'computeResourceDescription', (airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription, airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, computeResourceDescription=None,):
         self.authzToken = authzToken
@@ -34845,7 +35995,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34871,7 +36021,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerComputeResource_args')
         if self.authzToken is not None:
@@ -34902,6 +36052,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerComputeResource_args)
+registerComputeResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'computeResourceDescription', [airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription, None], None, ),  # 2
+)
 
 
 class registerComputeResource_result(object):
@@ -34912,15 +36068,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -34931,7 +36081,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -34940,31 +36090,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -34974,7 +36120,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerComputeResource_result')
         if self.success is not None:
@@ -35013,6 +36159,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerComputeResource_result)
+registerComputeResource_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getComputeResource_args(object):
@@ -35020,13 +36174,9 @@
     Attributes:
      - authzToken
      - computeResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None,):
         self.authzToken = authzToken
@@ -35034,7 +36184,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35049,7 +36199,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -35059,7 +36209,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getComputeResource_args')
         if self.authzToken is not None:
@@ -35090,6 +36240,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getComputeResource_args)
+getComputeResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+)
 
 
 class getComputeResource_result(object):
@@ -35100,15 +36256,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription, airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -35119,7 +36269,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35134,26 +36284,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -35163,7 +36309,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getComputeResource_result')
         if self.success is not None:
@@ -35202,25 +36348,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getComputeResource_result)
+getComputeResource_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllComputeResourceNames_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35240,7 +36391,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllComputeResourceNames_args')
         if self.authzToken is not None:
@@ -35265,6 +36416,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllComputeResourceNames_args)
+getAllComputeResourceNames_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getAllComputeResourceNames_result(object):
@@ -35275,15 +36431,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -35294,7 +36444,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35306,34 +36456,30 @@
                     self.success = {}
                     (_ktype207, _vtype208, _size206) = iprot.readMapBegin()
                     for _i210 in range(_size206):
-                        _key211 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val212 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key211 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val212 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success[_key211] = _val212
                     iprot.readMapEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -35343,7 +36489,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllComputeResourceNames_result')
         if self.success is not None:
@@ -35386,6 +36532,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllComputeResourceNames_result)
+getAllComputeResourceNames_result.thrift_spec = (
+    (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateComputeResource_args(object):
@@ -35394,14 +36548,9 @@
      - authzToken
      - computeResourceId
      - computeResourceDescription
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'computeResourceDescription', (airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription, airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, computeResourceDescription=None,):
         self.authzToken = authzToken
@@ -35410,7 +36559,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35425,7 +36574,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -35441,7 +36590,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateComputeResource_args')
         if self.authzToken is not None:
@@ -35478,6 +36627,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateComputeResource_args)
+updateComputeResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'computeResourceDescription', [airavata.model.appcatalog.computeresource.ttypes.ComputeResourceDescription, None], None, ),  # 3
+)
 
 
 class updateComputeResource_result(object):
@@ -35488,15 +36644,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -35507,7 +36657,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35521,26 +36671,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -35550,7 +36696,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateComputeResource_result')
         if self.success is not None:
@@ -35589,6 +36735,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateComputeResource_result)
+updateComputeResource_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteComputeResource_args(object):
@@ -35596,13 +36750,9 @@
     Attributes:
      - authzToken
      - computeResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None,):
         self.authzToken = authzToken
@@ -35610,7 +36760,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35625,7 +36775,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -35635,7 +36785,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteComputeResource_args')
         if self.authzToken is not None:
@@ -35666,6 +36816,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteComputeResource_args)
+deleteComputeResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteComputeResource_result(object):
@@ -35676,15 +36832,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -35695,7 +36845,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35709,26 +36859,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -35738,7 +36884,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteComputeResource_result')
         if self.success is not None:
@@ -35777,6 +36923,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteComputeResource_result)
+deleteComputeResource_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerStorageResource_args(object):
@@ -35784,13 +36938,9 @@
     Attributes:
      - authzToken
      - storageResourceDescription
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'storageResourceDescription', (airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription, airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, storageResourceDescription=None,):
         self.authzToken = authzToken
@@ -35798,7 +36948,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35824,7 +36974,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerStorageResource_args')
         if self.authzToken is not None:
@@ -35855,6 +37005,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerStorageResource_args)
+registerStorageResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'storageResourceDescription', [airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription, None], None, ),  # 2
+)
 
 
 class registerStorageResource_result(object):
@@ -35865,15 +37021,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -35884,7 +37034,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -35893,31 +37043,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -35927,7 +37073,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerStorageResource_result')
         if self.success is not None:
@@ -35966,6 +37112,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerStorageResource_result)
+registerStorageResource_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getStorageResource_args(object):
@@ -35973,13 +37127,9 @@
     Attributes:
      - authzToken
      - storageResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, storageResourceId=None,):
         self.authzToken = authzToken
@@ -35987,7 +37137,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36002,7 +37152,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -36012,7 +37162,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getStorageResource_args')
         if self.authzToken is not None:
@@ -36043,6 +37193,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getStorageResource_args)
+getStorageResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 2
+)
 
 
 class getStorageResource_result(object):
@@ -36053,15 +37209,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription, airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -36072,7 +37222,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36087,26 +37237,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -36116,7 +37262,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getStorageResource_result')
         if self.success is not None:
@@ -36155,25 +37301,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getStorageResource_result)
+getStorageResource_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllStorageResourceNames_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36193,7 +37344,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllStorageResourceNames_args')
         if self.authzToken is not None:
@@ -36218,6 +37369,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllStorageResourceNames_args)
+getAllStorageResourceNames_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getAllStorageResourceNames_result(object):
@@ -36228,15 +37384,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -36247,7 +37397,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36259,34 +37409,30 @@
                     self.success = {}
                     (_ktype216, _vtype217, _size215) = iprot.readMapBegin()
                     for _i219 in range(_size215):
-                        _key220 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val221 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key220 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val221 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success[_key220] = _val221
                     iprot.readMapEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -36296,7 +37442,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllStorageResourceNames_result')
         if self.success is not None:
@@ -36339,6 +37485,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllStorageResourceNames_result)
+getAllStorageResourceNames_result.thrift_spec = (
+    (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateStorageResource_args(object):
@@ -36347,14 +37501,9 @@
      - authzToken
      - storageResourceId
      - storageResourceDescription
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'storageResourceDescription', (airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription, airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, storageResourceId=None, storageResourceDescription=None,):
         self.authzToken = authzToken
@@ -36363,7 +37512,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36378,7 +37527,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -36394,7 +37543,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateStorageResource_args')
         if self.authzToken is not None:
@@ -36431,6 +37580,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateStorageResource_args)
+updateStorageResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'storageResourceDescription', [airavata.model.appcatalog.storageresource.ttypes.StorageResourceDescription, None], None, ),  # 3
+)
 
 
 class updateStorageResource_result(object):
@@ -36441,15 +37597,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -36460,7 +37610,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36474,26 +37624,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -36503,7 +37649,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateStorageResource_result')
         if self.success is not None:
@@ -36542,6 +37688,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateStorageResource_result)
+updateStorageResource_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteStorageResource_args(object):
@@ -36549,13 +37703,9 @@
     Attributes:
      - authzToken
      - storageResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, storageResourceId=None,):
         self.authzToken = authzToken
@@ -36563,7 +37713,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36578,7 +37728,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -36588,7 +37738,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteStorageResource_args')
         if self.authzToken is not None:
@@ -36619,6 +37769,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteStorageResource_args)
+deleteStorageResource_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteStorageResource_result(object):
@@ -36629,15 +37785,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -36648,7 +37798,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36662,26 +37812,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -36691,7 +37837,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteStorageResource_result')
         if self.success is not None:
@@ -36730,6 +37876,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteStorageResource_result)
+deleteStorageResource_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addLocalSubmissionDetails_args(object):
@@ -36739,15 +37893,9 @@
      - computeResourceId
      - priorityOrder
      - localSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, None, ),  # 3
-        (4, TType.STRUCT, 'localSubmission', (airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission, airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, priorityOrder=None, localSubmission=None,):
         self.authzToken = authzToken
@@ -36757,7 +37905,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36772,7 +37920,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -36793,7 +37941,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addLocalSubmissionDetails_args')
         if self.authzToken is not None:
@@ -36836,6 +37984,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addLocalSubmissionDetails_args)
+addLocalSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, None, ),  # 3
+    (4, TType.STRUCT, 'localSubmission', [airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission, None], None, ),  # 4
+)
 
 
 class addLocalSubmissionDetails_result(object):
@@ -36846,15 +38002,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -36865,7 +38015,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36874,31 +38024,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -36908,7 +38054,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addLocalSubmissionDetails_result')
         if self.success is not None:
@@ -36947,6 +38093,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addLocalSubmissionDetails_result)
+addLocalSubmissionDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateLocalSubmissionDetails_args(object):
@@ -36955,14 +38109,9 @@
      - authzToken
      - jobSubmissionInterfaceId
      - localSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'localSubmission', (airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission, airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, jobSubmissionInterfaceId=None, localSubmission=None,):
         self.authzToken = authzToken
@@ -36971,7 +38120,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -36986,7 +38135,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -37002,7 +38151,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateLocalSubmissionDetails_args')
         if self.authzToken is not None:
@@ -37039,6 +38188,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateLocalSubmissionDetails_args)
+updateLocalSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'localSubmission', [airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission, None], None, ),  # 3
+)
 
 
 class updateLocalSubmissionDetails_result(object):
@@ -37049,15 +38205,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -37068,7 +38218,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37082,26 +38232,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -37111,7 +38257,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateLocalSubmissionDetails_result')
         if self.success is not None:
@@ -37150,6 +38296,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateLocalSubmissionDetails_result)
+updateLocalSubmissionDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getLocalJobSubmission_args(object):
@@ -37157,13 +38311,9 @@
     Attributes:
      - authzToken
      - jobSubmissionId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, jobSubmissionId=None,):
         self.authzToken = authzToken
@@ -37171,7 +38321,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37186,7 +38336,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -37196,7 +38346,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getLocalJobSubmission_args')
         if self.authzToken is not None:
@@ -37227,6 +38377,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getLocalJobSubmission_args)
+getLocalJobSubmission_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
+)
 
 
 class getLocalJobSubmission_result(object):
@@ -37237,15 +38393,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission, airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -37256,7 +38406,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37271,26 +38421,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -37300,7 +38446,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getLocalJobSubmission_result')
         if self.success is not None:
@@ -37339,6 +38485,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getLocalJobSubmission_result)
+getLocalJobSubmission_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.computeresource.ttypes.LOCALSubmission, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addSSHJobSubmissionDetails_args(object):
@@ -37348,15 +38502,9 @@
      - computeResourceId
      - priorityOrder
      - sshJobSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, None, ),  # 3
-        (4, TType.STRUCT, 'sshJobSubmission', (airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, priorityOrder=None, sshJobSubmission=None,):
         self.authzToken = authzToken
@@ -37366,7 +38514,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37381,7 +38529,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -37402,7 +38550,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSSHJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -37445,6 +38593,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSSHJobSubmissionDetails_args)
+addSSHJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, None, ),  # 3
+    (4, TType.STRUCT, 'sshJobSubmission', [airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, None], None, ),  # 4
+)
 
 
 class addSSHJobSubmissionDetails_result(object):
@@ -37455,15 +38611,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -37474,7 +38624,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37483,31 +38633,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -37517,7 +38663,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSSHJobSubmissionDetails_result')
         if self.success is not None:
@@ -37556,6 +38702,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSSHJobSubmissionDetails_result)
+addSSHJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addSSHForkJobSubmissionDetails_args(object):
@@ -37565,15 +38719,9 @@
      - computeResourceId
      - priorityOrder
      - sshJobSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, None, ),  # 3
-        (4, TType.STRUCT, 'sshJobSubmission', (airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, priorityOrder=None, sshJobSubmission=None,):
         self.authzToken = authzToken
@@ -37583,7 +38731,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37598,7 +38746,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -37619,7 +38767,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSSHForkJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -37662,6 +38810,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSSHForkJobSubmissionDetails_args)
+addSSHForkJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, None, ),  # 3
+    (4, TType.STRUCT, 'sshJobSubmission', [airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, None], None, ),  # 4
+)
 
 
 class addSSHForkJobSubmissionDetails_result(object):
@@ -37672,15 +38828,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -37691,7 +38841,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37700,31 +38850,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -37734,7 +38880,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSSHForkJobSubmissionDetails_result')
         if self.success is not None:
@@ -37773,6 +38919,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSSHForkJobSubmissionDetails_result)
+addSSHForkJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getSSHJobSubmission_args(object):
@@ -37780,13 +38934,9 @@
     Attributes:
      - authzToken
      - jobSubmissionId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, jobSubmissionId=None,):
         self.authzToken = authzToken
@@ -37794,7 +38944,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37809,7 +38959,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -37819,7 +38969,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSSHJobSubmission_args')
         if self.authzToken is not None:
@@ -37850,6 +39000,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSSHJobSubmission_args)
+getSSHJobSubmission_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
+)
 
 
 class getSSHJobSubmission_result(object):
@@ -37860,15 +39016,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -37879,7 +39029,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -37894,26 +39044,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -37923,7 +39069,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSSHJobSubmission_result')
         if self.success is not None:
@@ -37962,6 +39108,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSSHJobSubmission_result)
+getSSHJobSubmission_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addUNICOREJobSubmissionDetails_args(object):
@@ -37971,15 +39125,9 @@
      - computeResourceId
      - priorityOrder
      - unicoreJobSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, None, ),  # 3
-        (4, TType.STRUCT, 'unicoreJobSubmission', (airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission, airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, priorityOrder=None, unicoreJobSubmission=None,):
         self.authzToken = authzToken
@@ -37989,7 +39137,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38004,7 +39152,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -38025,7 +39173,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUNICOREJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -38068,6 +39216,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUNICOREJobSubmissionDetails_args)
+addUNICOREJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, None, ),  # 3
+    (4, TType.STRUCT, 'unicoreJobSubmission', [airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission, None], None, ),  # 4
+)
 
 
 class addUNICOREJobSubmissionDetails_result(object):
@@ -38078,15 +39234,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -38097,7 +39247,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38106,31 +39256,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -38140,7 +39286,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUNICOREJobSubmissionDetails_result')
         if self.success is not None:
@@ -38179,6 +39325,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUNICOREJobSubmissionDetails_result)
+addUNICOREJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getUnicoreJobSubmission_args(object):
@@ -38186,13 +39340,9 @@
     Attributes:
      - authzToken
      - jobSubmissionId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, jobSubmissionId=None,):
         self.authzToken = authzToken
@@ -38200,7 +39350,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38215,7 +39365,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -38225,7 +39375,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUnicoreJobSubmission_args')
         if self.authzToken is not None:
@@ -38256,6 +39406,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUnicoreJobSubmission_args)
+getUnicoreJobSubmission_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
+)
 
 
 class getUnicoreJobSubmission_result(object):
@@ -38266,15 +39422,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission, airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -38285,7 +39435,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38300,26 +39450,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -38329,7 +39475,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUnicoreJobSubmission_result')
         if self.success is not None:
@@ -38368,6 +39514,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUnicoreJobSubmission_result)
+getUnicoreJobSubmission_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addCloudJobSubmissionDetails_args(object):
@@ -38377,15 +39531,9 @@
      - computeResourceId
      - priorityOrder
      - cloudSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, None, ),  # 3
-        (4, TType.STRUCT, 'cloudSubmission', (airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission, airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, priorityOrder=None, cloudSubmission=None,):
         self.authzToken = authzToken
@@ -38395,7 +39543,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38410,7 +39558,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -38431,7 +39579,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addCloudJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -38474,6 +39622,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addCloudJobSubmissionDetails_args)
+addCloudJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, None, ),  # 3
+    (4, TType.STRUCT, 'cloudSubmission', [airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission, None], None, ),  # 4
+)
 
 
 class addCloudJobSubmissionDetails_result(object):
@@ -38484,15 +39640,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -38503,7 +39653,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38512,31 +39662,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -38546,7 +39692,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addCloudJobSubmissionDetails_result')
         if self.success is not None:
@@ -38585,6 +39731,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addCloudJobSubmissionDetails_result)
+addCloudJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getCloudJobSubmission_args(object):
@@ -38592,13 +39746,9 @@
     Attributes:
      - authzToken
      - jobSubmissionId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, jobSubmissionId=None,):
         self.authzToken = authzToken
@@ -38606,7 +39756,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38621,7 +39771,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -38631,7 +39781,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCloudJobSubmission_args')
         if self.authzToken is not None:
@@ -38662,6 +39812,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCloudJobSubmission_args)
+getCloudJobSubmission_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionId', 'UTF8', None, ),  # 2
+)
 
 
 class getCloudJobSubmission_result(object):
@@ -38672,15 +39828,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission, airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -38691,7 +39841,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38706,26 +39856,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -38735,7 +39881,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCloudJobSubmission_result')
         if self.success is not None:
@@ -38774,6 +39920,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCloudJobSubmission_result)
+getCloudJobSubmission_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateSSHJobSubmissionDetails_args(object):
@@ -38782,14 +39936,9 @@
      - authzToken
      - jobSubmissionInterfaceId
      - sshJobSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'sshJobSubmission', (airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, jobSubmissionInterfaceId=None, sshJobSubmission=None,):
         self.authzToken = authzToken
@@ -38798,7 +39947,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38813,7 +39962,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -38829,7 +39978,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateSSHJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -38866,6 +40015,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateSSHJobSubmissionDetails_args)
+updateSSHJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'sshJobSubmission', [airavata.model.appcatalog.computeresource.ttypes.SSHJobSubmission, None], None, ),  # 3
+)
 
 
 class updateSSHJobSubmissionDetails_result(object):
@@ -38876,15 +40032,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -38895,7 +40045,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -38909,26 +40059,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -38938,7 +40084,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateSSHJobSubmissionDetails_result')
         if self.success is not None:
@@ -38977,6 +40123,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateSSHJobSubmissionDetails_result)
+updateSSHJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateCloudJobSubmissionDetails_args(object):
@@ -38985,14 +40139,9 @@
      - authzToken
      - jobSubmissionInterfaceId
      - sshJobSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'sshJobSubmission', (airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission, airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, jobSubmissionInterfaceId=None, sshJobSubmission=None,):
         self.authzToken = authzToken
@@ -39001,7 +40150,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39016,7 +40165,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -39032,7 +40181,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateCloudJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -39069,6 +40218,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateCloudJobSubmissionDetails_args)
+updateCloudJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'sshJobSubmission', [airavata.model.appcatalog.computeresource.ttypes.CloudJobSubmission, None], None, ),  # 3
+)
 
 
 class updateCloudJobSubmissionDetails_result(object):
@@ -39079,15 +40235,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -39098,7 +40248,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39112,26 +40262,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -39141,7 +40287,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateCloudJobSubmissionDetails_result')
         if self.success is not None:
@@ -39180,6 +40326,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateCloudJobSubmissionDetails_result)
+updateCloudJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateUnicoreJobSubmissionDetails_args(object):
@@ -39188,14 +40342,9 @@
      - authzToken
      - jobSubmissionInterfaceId
      - unicoreJobSubmission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'unicoreJobSubmission', (airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission, airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, jobSubmissionInterfaceId=None, unicoreJobSubmission=None,):
         self.authzToken = authzToken
@@ -39204,7 +40353,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39219,7 +40368,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -39235,7 +40384,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUnicoreJobSubmissionDetails_args')
         if self.authzToken is not None:
@@ -39272,6 +40421,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUnicoreJobSubmissionDetails_args)
+updateUnicoreJobSubmissionDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'unicoreJobSubmission', [airavata.model.appcatalog.computeresource.ttypes.UnicoreJobSubmission, None], None, ),  # 3
+)
 
 
 class updateUnicoreJobSubmissionDetails_result(object):
@@ -39282,15 +40438,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -39301,7 +40451,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39315,26 +40465,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -39344,7 +40490,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUnicoreJobSubmissionDetails_result')
         if self.success is not None:
@@ -39383,6 +40529,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUnicoreJobSubmissionDetails_result)
+updateUnicoreJobSubmissionDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addLocalDataMovementDetails_args(object):
@@ -39393,16 +40547,9 @@
      - dataMoveType
      - priorityOrder
      - localDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'dataMoveType', None, None, ),  # 3
-        (4, TType.I32, 'priorityOrder', None, None, ),  # 4
-        (5, TType.STRUCT, 'localDataMovement', (airavata.model.data.movement.ttypes.LOCALDataMovement, airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, productUri=None, dataMoveType=None, priorityOrder=None, localDataMovement=None,):
         self.authzToken = authzToken
@@ -39413,7 +40560,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39428,7 +40575,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -39454,7 +40601,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addLocalDataMovementDetails_args')
         if self.authzToken is not None:
@@ -39503,6 +40650,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addLocalDataMovementDetails_args)
+addLocalDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'dataMoveType', None, None, ),  # 3
+    (4, TType.I32, 'priorityOrder', None, None, ),  # 4
+    (5, TType.STRUCT, 'localDataMovement', [airavata.model.data.movement.ttypes.LOCALDataMovement, None], None, ),  # 5
+)
 
 
 class addLocalDataMovementDetails_result(object):
@@ -39513,15 +40669,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -39532,7 +40682,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39541,31 +40691,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -39575,7 +40721,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addLocalDataMovementDetails_result')
         if self.success is not None:
@@ -39614,6 +40760,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addLocalDataMovementDetails_result)
+addLocalDataMovementDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateLocalDataMovementDetails_args(object):
@@ -39622,14 +40776,9 @@
      - authzToken
      - dataMovementInterfaceId
      - localDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'localDataMovement', (airavata.model.data.movement.ttypes.LOCALDataMovement, airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, dataMovementInterfaceId=None, localDataMovement=None,):
         self.authzToken = authzToken
@@ -39638,7 +40787,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39653,7 +40802,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -39669,7 +40818,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateLocalDataMovementDetails_args')
         if self.authzToken is not None:
@@ -39706,6 +40855,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateLocalDataMovementDetails_args)
+updateLocalDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'localDataMovement', [airavata.model.data.movement.ttypes.LOCALDataMovement, None], None, ),  # 3
+)
 
 
 class updateLocalDataMovementDetails_result(object):
@@ -39716,15 +40872,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -39735,7 +40885,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39749,26 +40899,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -39778,7 +40924,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateLocalDataMovementDetails_result')
         if self.success is not None:
@@ -39817,6 +40963,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateLocalDataMovementDetails_result)
+updateLocalDataMovementDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getLocalDataMovement_args(object):
@@ -39824,13 +40978,9 @@
     Attributes:
      - authzToken
      - dataMovementId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataMovementId=None,):
         self.authzToken = authzToken
@@ -39838,7 +40988,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39853,7 +41003,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -39863,7 +41013,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getLocalDataMovement_args')
         if self.authzToken is not None:
@@ -39894,6 +41044,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getLocalDataMovement_args)
+getLocalDataMovement_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
+)
 
 
 class getLocalDataMovement_result(object):
@@ -39904,15 +41060,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.data.movement.ttypes.LOCALDataMovement, airavata.model.data.movement.ttypes.LOCALDataMovement.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -39923,7 +41073,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -39938,26 +41088,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -39967,7 +41113,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getLocalDataMovement_result')
         if self.success is not None:
@@ -40006,6 +41152,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getLocalDataMovement_result)
+getLocalDataMovement_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.data.movement.ttypes.LOCALDataMovement, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addSCPDataMovementDetails_args(object):
@@ -40016,16 +41170,9 @@
      - dataMoveType
      - priorityOrder
      - scpDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'dataMoveType', None, None, ),  # 3
-        (4, TType.I32, 'priorityOrder', None, None, ),  # 4
-        (5, TType.STRUCT, 'scpDataMovement', (airavata.model.data.movement.ttypes.SCPDataMovement, airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, productUri=None, dataMoveType=None, priorityOrder=None, scpDataMovement=None,):
         self.authzToken = authzToken
@@ -40036,7 +41183,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40051,7 +41198,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -40077,7 +41224,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSCPDataMovementDetails_args')
         if self.authzToken is not None:
@@ -40126,6 +41273,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSCPDataMovementDetails_args)
+addSCPDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'dataMoveType', None, None, ),  # 3
+    (4, TType.I32, 'priorityOrder', None, None, ),  # 4
+    (5, TType.STRUCT, 'scpDataMovement', [airavata.model.data.movement.ttypes.SCPDataMovement, None], None, ),  # 5
+)
 
 
 class addSCPDataMovementDetails_result(object):
@@ -40136,15 +41292,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -40155,7 +41305,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40164,31 +41314,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -40198,7 +41344,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSCPDataMovementDetails_result')
         if self.success is not None:
@@ -40237,6 +41383,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSCPDataMovementDetails_result)
+addSCPDataMovementDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateSCPDataMovementDetails_args(object):
@@ -40245,14 +41399,9 @@
      - authzToken
      - dataMovementInterfaceId
      - scpDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'scpDataMovement', (airavata.model.data.movement.ttypes.SCPDataMovement, airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, dataMovementInterfaceId=None, scpDataMovement=None,):
         self.authzToken = authzToken
@@ -40261,7 +41410,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40276,7 +41425,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -40292,7 +41441,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateSCPDataMovementDetails_args')
         if self.authzToken is not None:
@@ -40329,6 +41478,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateSCPDataMovementDetails_args)
+updateSCPDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'scpDataMovement', [airavata.model.data.movement.ttypes.SCPDataMovement, None], None, ),  # 3
+)
 
 
 class updateSCPDataMovementDetails_result(object):
@@ -40339,15 +41495,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -40358,7 +41508,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40372,26 +41522,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -40401,7 +41547,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateSCPDataMovementDetails_result')
         if self.success is not None:
@@ -40440,6 +41586,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateSCPDataMovementDetails_result)
+updateSCPDataMovementDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getSCPDataMovement_args(object):
@@ -40447,13 +41601,9 @@
     Attributes:
      - authzToken
      - dataMovementId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataMovementId=None,):
         self.authzToken = authzToken
@@ -40461,7 +41611,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40476,7 +41626,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -40486,7 +41636,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSCPDataMovement_args')
         if self.authzToken is not None:
@@ -40517,6 +41667,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSCPDataMovement_args)
+getSCPDataMovement_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
+)
 
 
 class getSCPDataMovement_result(object):
@@ -40527,15 +41683,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.data.movement.ttypes.SCPDataMovement, airavata.model.data.movement.ttypes.SCPDataMovement.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -40546,7 +41696,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40561,26 +41711,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -40590,7 +41736,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSCPDataMovement_result')
         if self.success is not None:
@@ -40629,6 +41775,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSCPDataMovement_result)
+getSCPDataMovement_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.data.movement.ttypes.SCPDataMovement, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addUnicoreDataMovementDetails_args(object):
@@ -40639,16 +41793,9 @@
      - dataMoveType
      - priorityOrder
      - unicoreDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'dataMoveType', None, None, ),  # 3
-        (4, TType.I32, 'priorityOrder', None, None, ),  # 4
-        (5, TType.STRUCT, 'unicoreDataMovement', (airavata.model.data.movement.ttypes.UnicoreDataMovement, airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, productUri=None, dataMoveType=None, priorityOrder=None, unicoreDataMovement=None,):
         self.authzToken = authzToken
@@ -40659,7 +41806,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40674,7 +41821,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -40700,7 +41847,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUnicoreDataMovementDetails_args')
         if self.authzToken is not None:
@@ -40749,6 +41896,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUnicoreDataMovementDetails_args)
+addUnicoreDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'dataMoveType', None, None, ),  # 3
+    (4, TType.I32, 'priorityOrder', None, None, ),  # 4
+    (5, TType.STRUCT, 'unicoreDataMovement', [airavata.model.data.movement.ttypes.UnicoreDataMovement, None], None, ),  # 5
+)
 
 
 class addUnicoreDataMovementDetails_result(object):
@@ -40759,15 +41915,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -40778,7 +41928,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40787,31 +41937,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -40821,7 +41967,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUnicoreDataMovementDetails_result')
         if self.success is not None:
@@ -40860,6 +42006,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUnicoreDataMovementDetails_result)
+addUnicoreDataMovementDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateUnicoreDataMovementDetails_args(object):
@@ -40868,14 +42022,9 @@
      - authzToken
      - dataMovementInterfaceId
      - unicoreDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'unicoreDataMovement', (airavata.model.data.movement.ttypes.UnicoreDataMovement, airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, dataMovementInterfaceId=None, unicoreDataMovement=None,):
         self.authzToken = authzToken
@@ -40884,7 +42033,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40899,7 +42048,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -40915,7 +42064,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUnicoreDataMovementDetails_args')
         if self.authzToken is not None:
@@ -40952,6 +42101,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUnicoreDataMovementDetails_args)
+updateUnicoreDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'unicoreDataMovement', [airavata.model.data.movement.ttypes.UnicoreDataMovement, None], None, ),  # 3
+)
 
 
 class updateUnicoreDataMovementDetails_result(object):
@@ -40962,15 +42118,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -40981,7 +42131,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -40995,26 +42145,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -41024,7 +42170,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUnicoreDataMovementDetails_result')
         if self.success is not None:
@@ -41063,6 +42209,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUnicoreDataMovementDetails_result)
+updateUnicoreDataMovementDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getUnicoreDataMovement_args(object):
@@ -41070,13 +42224,9 @@
     Attributes:
      - authzToken
      - dataMovementId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataMovementId=None,):
         self.authzToken = authzToken
@@ -41084,7 +42234,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41099,7 +42249,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -41109,7 +42259,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUnicoreDataMovement_args')
         if self.authzToken is not None:
@@ -41140,6 +42290,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUnicoreDataMovement_args)
+getUnicoreDataMovement_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
+)
 
 
 class getUnicoreDataMovement_result(object):
@@ -41150,15 +42306,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.data.movement.ttypes.UnicoreDataMovement, airavata.model.data.movement.ttypes.UnicoreDataMovement.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -41169,7 +42319,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41184,26 +42334,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -41213,7 +42359,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUnicoreDataMovement_result')
         if self.success is not None:
@@ -41252,6 +42398,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUnicoreDataMovement_result)
+getUnicoreDataMovement_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.data.movement.ttypes.UnicoreDataMovement, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addGridFTPDataMovementDetails_args(object):
@@ -41262,16 +42416,9 @@
      - dataMoveType
      - priorityOrder
      - gridFTPDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'dataMoveType', None, None, ),  # 3
-        (4, TType.I32, 'priorityOrder', None, None, ),  # 4
-        (5, TType.STRUCT, 'gridFTPDataMovement', (airavata.model.data.movement.ttypes.GridFTPDataMovement, airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, productUri=None, dataMoveType=None, priorityOrder=None, gridFTPDataMovement=None,):
         self.authzToken = authzToken
@@ -41282,7 +42429,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41297,7 +42444,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -41323,7 +42470,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGridFTPDataMovementDetails_args')
         if self.authzToken is not None:
@@ -41372,6 +42519,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGridFTPDataMovementDetails_args)
+addGridFTPDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'dataMoveType', None, None, ),  # 3
+    (4, TType.I32, 'priorityOrder', None, None, ),  # 4
+    (5, TType.STRUCT, 'gridFTPDataMovement', [airavata.model.data.movement.ttypes.GridFTPDataMovement, None], None, ),  # 5
+)
 
 
 class addGridFTPDataMovementDetails_result(object):
@@ -41382,15 +42538,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -41401,7 +42551,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41410,31 +42560,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -41444,7 +42590,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGridFTPDataMovementDetails_result')
         if self.success is not None:
@@ -41483,6 +42629,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGridFTPDataMovementDetails_result)
+addGridFTPDataMovementDetails_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateGridFTPDataMovementDetails_args(object):
@@ -41491,14 +42645,9 @@
      - authzToken
      - dataMovementInterfaceId
      - gridFTPDataMovement
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'gridFTPDataMovement', (airavata.model.data.movement.ttypes.GridFTPDataMovement, airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, dataMovementInterfaceId=None, gridFTPDataMovement=None,):
         self.authzToken = authzToken
@@ -41507,7 +42656,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41522,7 +42671,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -41538,7 +42687,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGridFTPDataMovementDetails_args')
         if self.authzToken is not None:
@@ -41575,6 +42724,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGridFTPDataMovementDetails_args)
+updateGridFTPDataMovementDetails_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'gridFTPDataMovement', [airavata.model.data.movement.ttypes.GridFTPDataMovement, None], None, ),  # 3
+)
 
 
 class updateGridFTPDataMovementDetails_result(object):
@@ -41585,15 +42741,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -41604,7 +42754,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41618,26 +42768,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -41647,7 +42793,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGridFTPDataMovementDetails_result')
         if self.success is not None:
@@ -41686,6 +42832,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGridFTPDataMovementDetails_result)
+updateGridFTPDataMovementDetails_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGridFTPDataMovement_args(object):
@@ -41693,13 +42847,9 @@
     Attributes:
      - authzToken
      - dataMovementId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataMovementId=None,):
         self.authzToken = authzToken
@@ -41707,7 +42857,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41722,7 +42872,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -41732,7 +42882,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGridFTPDataMovement_args')
         if self.authzToken is not None:
@@ -41763,6 +42913,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGridFTPDataMovement_args)
+getGridFTPDataMovement_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementId', 'UTF8', None, ),  # 2
+)
 
 
 class getGridFTPDataMovement_result(object):
@@ -41773,15 +42929,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.data.movement.ttypes.GridFTPDataMovement, airavata.model.data.movement.ttypes.GridFTPDataMovement.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -41792,7 +42942,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41807,26 +42957,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -41836,7 +42982,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGridFTPDataMovement_result')
         if self.success is not None:
@@ -41875,6 +43021,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGridFTPDataMovement_result)
+getGridFTPDataMovement_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.data.movement.ttypes.GridFTPDataMovement, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class changeJobSubmissionPriority_args(object):
@@ -41883,14 +43037,9 @@
      - authzToken
      - jobSubmissionInterfaceId
      - newPriorityOrder
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'newPriorityOrder', None, None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, jobSubmissionInterfaceId=None, newPriorityOrder=None,):
         self.authzToken = authzToken
@@ -41899,7 +43048,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41914,7 +43063,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -41929,7 +43078,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeJobSubmissionPriority_args')
         if self.authzToken is not None:
@@ -41966,6 +43115,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeJobSubmissionPriority_args)
+changeJobSubmissionPriority_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'newPriorityOrder', None, None, ),  # 3
+)
 
 
 class changeJobSubmissionPriority_result(object):
@@ -41976,15 +43132,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -41995,7 +43145,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42009,26 +43159,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -42038,7 +43184,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeJobSubmissionPriority_result')
         if self.success is not None:
@@ -42077,6 +43223,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeJobSubmissionPriority_result)
+changeJobSubmissionPriority_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class changeDataMovementPriority_args(object):
@@ -42085,14 +43239,9 @@
      - authzToken
      - dataMovementInterfaceId
      - newPriorityOrder
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'newPriorityOrder', None, None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, dataMovementInterfaceId=None, newPriorityOrder=None,):
         self.authzToken = authzToken
@@ -42101,7 +43250,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42116,7 +43265,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -42131,7 +43280,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeDataMovementPriority_args')
         if self.authzToken is not None:
@@ -42168,6 +43317,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeDataMovementPriority_args)
+changeDataMovementPriority_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'newPriorityOrder', None, None, ),  # 3
+)
 
 
 class changeDataMovementPriority_result(object):
@@ -42178,15 +43334,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -42197,7 +43347,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42211,26 +43361,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -42240,7 +43386,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeDataMovementPriority_result')
         if self.success is not None:
@@ -42279,6 +43425,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeDataMovementPriority_result)
+changeDataMovementPriority_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class changeJobSubmissionPriorities_args(object):
@@ -42286,13 +43440,9 @@
     Attributes:
      - authzToken
      - jobSubmissionPriorityMap
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.MAP, 'jobSubmissionPriorityMap', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, jobSubmissionPriorityMap=None,):
         self.authzToken = authzToken
@@ -42300,7 +43450,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42318,7 +43468,7 @@
                     self.jobSubmissionPriorityMap = {}
                     (_ktype225, _vtype226, _size224) = iprot.readMapBegin()
                     for _i228 in range(_size224):
-                        _key229 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key229 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val230 = iprot.readI32()
                         self.jobSubmissionPriorityMap[_key229] = _val230
                     iprot.readMapEnd()
@@ -42331,7 +43481,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeJobSubmissionPriorities_args')
         if self.authzToken is not None:
@@ -42366,6 +43516,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeJobSubmissionPriorities_args)
+changeJobSubmissionPriorities_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.MAP, 'jobSubmissionPriorityMap', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 2
+)
 
 
 class changeJobSubmissionPriorities_result(object):
@@ -42376,15 +43532,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -42395,7 +43545,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42409,26 +43559,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -42438,7 +43584,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeJobSubmissionPriorities_result')
         if self.success is not None:
@@ -42477,6 +43623,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeJobSubmissionPriorities_result)
+changeJobSubmissionPriorities_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class changeDataMovementPriorities_args(object):
@@ -42484,13 +43638,9 @@
     Attributes:
      - authzToken
      - dataMovementPriorityMap
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.MAP, 'dataMovementPriorityMap', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataMovementPriorityMap=None,):
         self.authzToken = authzToken
@@ -42498,7 +43648,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42516,7 +43666,7 @@
                     self.dataMovementPriorityMap = {}
                     (_ktype234, _vtype235, _size233) = iprot.readMapBegin()
                     for _i237 in range(_size233):
-                        _key238 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key238 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val239 = iprot.readI32()
                         self.dataMovementPriorityMap[_key238] = _val239
                     iprot.readMapEnd()
@@ -42529,7 +43679,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeDataMovementPriorities_args')
         if self.authzToken is not None:
@@ -42564,6 +43714,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeDataMovementPriorities_args)
+changeDataMovementPriorities_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.MAP, 'dataMovementPriorityMap', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 2
+)
 
 
 class changeDataMovementPriorities_result(object):
@@ -42574,15 +43730,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -42593,7 +43743,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42607,26 +43757,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -42636,7 +43782,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('changeDataMovementPriorities_result')
         if self.success is not None:
@@ -42675,6 +43821,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(changeDataMovementPriorities_result)
+changeDataMovementPriorities_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteJobSubmissionInterface_args(object):
@@ -42683,14 +43837,9 @@
      - authzToken
      - computeResourceId
      - jobSubmissionInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, jobSubmissionInterfaceId=None,):
         self.authzToken = authzToken
@@ -42699,7 +43848,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42714,12 +43863,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -42729,7 +43878,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteJobSubmissionInterface_args')
         if self.authzToken is not None:
@@ -42766,6 +43915,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteJobSubmissionInterface_args)
+deleteJobSubmissionInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteJobSubmissionInterface_result(object):
@@ -42776,15 +43932,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -42795,7 +43945,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42809,26 +43959,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -42838,7 +43984,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteJobSubmissionInterface_result')
         if self.success is not None:
@@ -42877,6 +44023,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteJobSubmissionInterface_result)
+deleteJobSubmissionInterface_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteDataMovementInterface_args(object):
@@ -42886,15 +44040,9 @@
      - productUri
      - dataMovementInterfaceId
      - dataMoveType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'dataMoveType', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, productUri=None, dataMovementInterfaceId=None, dataMoveType=None,):
         self.authzToken = authzToken
@@ -42904,7 +44052,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -42919,12 +44067,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -42939,7 +44087,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteDataMovementInterface_args')
         if self.authzToken is not None:
@@ -42982,6 +44130,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteDataMovementInterface_args)
+deleteDataMovementInterface_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'dataMoveType', None, None, ),  # 4
+)
 
 
 class deleteDataMovementInterface_result(object):
@@ -42992,15 +44148,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -43011,7 +44161,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43025,26 +44175,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -43054,7 +44200,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteDataMovementInterface_result')
         if self.success is not None:
@@ -43093,6 +44239,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteDataMovementInterface_result)
+deleteDataMovementInterface_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerResourceJobManager_args(object):
@@ -43100,13 +44254,9 @@
     Attributes:
      - authzToken
      - resourceJobManager
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'resourceJobManager', (airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager, airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourceJobManager=None,):
         self.authzToken = authzToken
@@ -43114,7 +44264,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43140,7 +44290,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerResourceJobManager_args')
         if self.authzToken is not None:
@@ -43171,6 +44321,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerResourceJobManager_args)
+registerResourceJobManager_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'resourceJobManager', [airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager, None], None, ),  # 2
+)
 
 
 class registerResourceJobManager_result(object):
@@ -43181,15 +44337,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -43200,7 +44350,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43209,31 +44359,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -43243,7 +44389,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerResourceJobManager_result')
         if self.success is not None:
@@ -43282,6 +44428,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerResourceJobManager_result)
+registerResourceJobManager_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateResourceJobManager_args(object):
@@ -43290,14 +44444,9 @@
      - authzToken
      - resourceJobManagerId
      - updatedResourceJobManager
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceJobManagerId', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'updatedResourceJobManager', (airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager, airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, resourceJobManagerId=None, updatedResourceJobManager=None,):
         self.authzToken = authzToken
@@ -43306,7 +44455,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43321,7 +44470,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceJobManagerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceJobManagerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -43337,7 +44486,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateResourceJobManager_args')
         if self.authzToken is not None:
@@ -43374,6 +44523,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateResourceJobManager_args)
+updateResourceJobManager_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceJobManagerId', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'updatedResourceJobManager', [airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager, None], None, ),  # 3
+)
 
 
 class updateResourceJobManager_result(object):
@@ -43384,15 +44540,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -43403,7 +44553,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43417,26 +44567,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -43446,7 +44592,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateResourceJobManager_result')
         if self.success is not None:
@@ -43485,6 +44631,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateResourceJobManager_result)
+updateResourceJobManager_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getResourceJobManager_args(object):
@@ -43492,13 +44646,9 @@
     Attributes:
      - authzToken
      - resourceJobManagerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceJobManagerId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourceJobManagerId=None,):
         self.authzToken = authzToken
@@ -43506,7 +44656,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43521,7 +44671,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceJobManagerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceJobManagerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -43531,7 +44681,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getResourceJobManager_args')
         if self.authzToken is not None:
@@ -43562,6 +44712,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getResourceJobManager_args)
+getResourceJobManager_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceJobManagerId', 'UTF8', None, ),  # 2
+)
 
 
 class getResourceJobManager_result(object):
@@ -43572,15 +44728,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager, airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -43591,7 +44741,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43606,26 +44756,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -43635,7 +44781,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getResourceJobManager_result')
         if self.success is not None:
@@ -43674,6 +44820,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getResourceJobManager_result)
+getResourceJobManager_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.computeresource.ttypes.ResourceJobManager, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteResourceJobManager_args(object):
@@ -43681,13 +44835,9 @@
     Attributes:
      - authzToken
      - resourceJobManagerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceJobManagerId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourceJobManagerId=None,):
         self.authzToken = authzToken
@@ -43695,7 +44845,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43710,7 +44860,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceJobManagerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceJobManagerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -43720,7 +44870,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteResourceJobManager_args')
         if self.authzToken is not None:
@@ -43751,6 +44901,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteResourceJobManager_args)
+deleteResourceJobManager_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceJobManagerId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteResourceJobManager_result(object):
@@ -43761,15 +44917,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -43780,7 +44930,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43794,26 +44944,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -43823,7 +44969,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteResourceJobManager_result')
         if self.success is not None:
@@ -43862,6 +45008,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteResourceJobManager_result)
+deleteResourceJobManager_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteBatchQueue_args(object):
@@ -43870,14 +45024,9 @@
      - authzToken
      - computeResourceId
      - queueName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'queueName', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, queueName=None,):
         self.authzToken = authzToken
@@ -43886,7 +45035,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43901,12 +45050,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.queueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -43916,7 +45065,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteBatchQueue_args')
         if self.authzToken is not None:
@@ -43953,6 +45102,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteBatchQueue_args)
+deleteBatchQueue_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'queueName', 'UTF8', None, ),  # 3
+)
 
 
 class deleteBatchQueue_result(object):
@@ -43963,15 +45119,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -43982,7 +45132,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -43996,26 +45146,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -44025,7 +45171,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteBatchQueue_result')
         if self.success is not None:
@@ -44064,6 +45210,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteBatchQueue_result)
+deleteBatchQueue_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerGatewayResourceProfile_args(object):
@@ -44071,13 +45225,9 @@
     Attributes:
      - authzToken
      - gatewayResourceProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'gatewayResourceProfile', (airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayResourceProfile=None,):
         self.authzToken = authzToken
@@ -44085,7 +45235,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44111,7 +45261,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerGatewayResourceProfile_args')
         if self.authzToken is not None:
@@ -44142,6 +45292,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerGatewayResourceProfile_args)
+registerGatewayResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'gatewayResourceProfile', [airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, None], None, ),  # 2
+)
 
 
 class registerGatewayResourceProfile_result(object):
@@ -44152,15 +45308,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -44171,7 +45321,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44180,31 +45330,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -44214,7 +45360,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerGatewayResourceProfile_result')
         if self.success is not None:
@@ -44253,6 +45399,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerGatewayResourceProfile_result)
+registerGatewayResourceProfile_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGatewayResourceProfile_args(object):
@@ -44260,13 +45414,9 @@
     Attributes:
      - authzToken
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -44274,7 +45424,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44289,7 +45439,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -44299,7 +45449,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayResourceProfile_args')
         if self.authzToken is not None:
@@ -44330,6 +45480,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayResourceProfile_args)
+getGatewayResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+)
 
 
 class getGatewayResourceProfile_result(object):
@@ -44340,15 +45496,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -44359,7 +45509,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44374,26 +45524,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -44403,7 +45549,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayResourceProfile_result')
         if self.success is not None:
@@ -44442,6 +45588,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayResourceProfile_result)
+getGatewayResourceProfile_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateGatewayResourceProfile_args(object):
@@ -44450,14 +45604,9 @@
      - authzToken
      - gatewayID
      - gatewayResourceProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRUCT, 'gatewayResourceProfile', (airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile.thrift_spec), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, gatewayResourceProfile=None,):
         self.authzToken = authzToken
@@ -44466,7 +45615,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44481,7 +45630,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -44497,7 +45646,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGatewayResourceProfile_args')
         if self.authzToken is not None:
@@ -44534,6 +45683,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGatewayResourceProfile_args)
+updateGatewayResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRUCT, 'gatewayResourceProfile', [airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, None], None, ),  # 3
+)
 
 
 class updateGatewayResourceProfile_result(object):
@@ -44544,15 +45700,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -44563,7 +45713,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44577,26 +45727,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -44606,7 +45752,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGatewayResourceProfile_result')
         if self.success is not None:
@@ -44645,6 +45791,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGatewayResourceProfile_result)
+updateGatewayResourceProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteGatewayResourceProfile_args(object):
@@ -44652,13 +45806,9 @@
     Attributes:
      - authzToken
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -44666,7 +45816,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44681,7 +45831,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -44691,7 +45841,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGatewayResourceProfile_args')
         if self.authzToken is not None:
@@ -44722,6 +45872,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGatewayResourceProfile_args)
+deleteGatewayResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+)
 
 
 class deleteGatewayResourceProfile_result(object):
@@ -44732,15 +45888,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -44751,7 +45901,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44765,26 +45915,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -44794,7 +45940,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGatewayResourceProfile_result')
         if self.success is not None:
@@ -44833,6 +45979,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGatewayResourceProfile_result)
+deleteGatewayResourceProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addGatewayComputeResourcePreference_args(object):
@@ -44842,15 +45996,9 @@
      - gatewayID
      - computeResourceId
      - computeResourcePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
-        (4, TType.STRUCT, 'computeResourcePreference', (airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, computeResourceId=None, computeResourcePreference=None,):
         self.authzToken = authzToken
@@ -44860,7 +46008,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44875,12 +46023,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -44896,7 +46044,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGatewayComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -44939,6 +46087,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGatewayComputeResourcePreference_args)
+addGatewayComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
+    (4, TType.STRUCT, 'computeResourcePreference', [airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, None], None, ),  # 4
+)
 
 
 class addGatewayComputeResourcePreference_result(object):
@@ -44949,15 +46105,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -44968,7 +46118,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -44982,26 +46132,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -45011,7 +46157,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGatewayComputeResourcePreference_result')
         if self.success is not None:
@@ -45050,6 +46196,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGatewayComputeResourcePreference_result)
+addGatewayComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addGatewayStoragePreference_args(object):
@@ -45059,15 +46213,9 @@
      - gatewayID
      - storageResourceId
      - storagePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 3
-        (4, TType.STRUCT, 'storagePreference', (airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, storageResourceId=None, storagePreference=None,):
         self.authzToken = authzToken
@@ -45077,7 +46225,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45092,12 +46240,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -45113,7 +46261,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGatewayStoragePreference_args')
         if self.authzToken is not None:
@@ -45156,6 +46304,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGatewayStoragePreference_args)
+addGatewayStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 3
+    (4, TType.STRUCT, 'storagePreference', [airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, None], None, ),  # 4
+)
 
 
 class addGatewayStoragePreference_result(object):
@@ -45166,15 +46322,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -45185,7 +46335,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45199,26 +46349,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -45228,7 +46374,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGatewayStoragePreference_result')
         if self.success is not None:
@@ -45267,6 +46413,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGatewayStoragePreference_result)
+addGatewayStoragePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGatewayComputeResourcePreference_args(object):
@@ -45275,14 +46429,9 @@
      - authzToken
      - gatewayID
      - computeResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, computeResourceId=None,):
         self.authzToken = authzToken
@@ -45291,7 +46440,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45306,12 +46455,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -45321,7 +46470,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -45358,6 +46507,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayComputeResourcePreference_args)
+getGatewayComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
+)
 
 
 class getGatewayComputeResourcePreference_result(object):
@@ -45368,15 +46524,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -45387,7 +46537,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45402,26 +46552,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -45431,7 +46577,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayComputeResourcePreference_result')
         if self.success is not None:
@@ -45470,6 +46616,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayComputeResourcePreference_result)
+getGatewayComputeResourcePreference_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGatewayStoragePreference_args(object):
@@ -45478,14 +46632,9 @@
      - authzToken
      - gatewayID
      - storageResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, storageResourceId=None,):
         self.authzToken = authzToken
@@ -45494,7 +46643,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45509,12 +46658,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -45524,7 +46673,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayStoragePreference_args')
         if self.authzToken is not None:
@@ -45561,6 +46710,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayStoragePreference_args)
+getGatewayStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 3
+)
 
 
 class getGatewayStoragePreference_result(object):
@@ -45571,15 +46727,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -45590,7 +46740,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45605,26 +46755,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -45634,7 +46780,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayStoragePreference_result')
         if self.success is not None:
@@ -45673,6 +46819,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayStoragePreference_result)
+getGatewayStoragePreference_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllGatewayComputeResourcePreferences_args(object):
@@ -45680,13 +46834,9 @@
     Attributes:
      - authzToken
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -45694,7 +46844,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45709,7 +46859,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -45719,7 +46869,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewayComputeResourcePreferences_args')
         if self.authzToken is not None:
@@ -45750,6 +46900,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewayComputeResourcePreferences_args)
+getAllGatewayComputeResourcePreferences_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+)
 
 
 class getAllGatewayComputeResourcePreferences_result(object):
@@ -45760,15 +46916,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -45779,7 +46929,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45799,26 +46949,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -45828,7 +46974,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewayComputeResourcePreferences_result')
         if self.success is not None:
@@ -45870,6 +47016,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewayComputeResourcePreferences_result)
+getAllGatewayComputeResourcePreferences_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllGatewayStoragePreferences_args(object):
@@ -45877,13 +47031,9 @@
     Attributes:
      - authzToken
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -45891,7 +47041,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45906,7 +47056,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -45916,7 +47066,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewayStoragePreferences_args')
         if self.authzToken is not None:
@@ -45947,6 +47097,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewayStoragePreferences_args)
+getAllGatewayStoragePreferences_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+)
 
 
 class getAllGatewayStoragePreferences_result(object):
@@ -45957,15 +47113,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -45976,7 +47126,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -45996,26 +47146,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -46025,7 +47171,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewayStoragePreferences_result')
         if self.success is not None:
@@ -46067,25 +47213,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewayStoragePreferences_result)
+getAllGatewayStoragePreferences_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllGatewayResourceProfiles_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46105,7 +47256,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewayResourceProfiles_args')
         if self.authzToken is not None:
@@ -46130,6 +47281,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewayResourceProfiles_args)
+getAllGatewayResourceProfiles_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getAllGatewayResourceProfiles_result(object):
@@ -46140,15 +47296,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -46159,7 +47309,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46179,26 +47329,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -46208,7 +47354,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewayResourceProfiles_result')
         if self.success is not None:
@@ -46250,6 +47396,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewayResourceProfiles_result)
+getAllGatewayResourceProfiles_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.gatewayprofile.ttypes.GatewayResourceProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateGatewayComputeResourcePreference_args(object):
@@ -46259,15 +47413,9 @@
      - gatewayID
      - computeResourceId
      - computeResourcePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
-        (4, TType.STRUCT, 'computeResourcePreference', (airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, computeResourceId=None, computeResourcePreference=None,):
         self.authzToken = authzToken
@@ -46277,7 +47425,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46292,12 +47440,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -46313,7 +47461,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGatewayComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -46356,6 +47504,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGatewayComputeResourcePreference_args)
+updateGatewayComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
+    (4, TType.STRUCT, 'computeResourcePreference', [airavata.model.appcatalog.gatewayprofile.ttypes.ComputeResourcePreference, None], None, ),  # 4
+)
 
 
 class updateGatewayComputeResourcePreference_result(object):
@@ -46366,15 +47522,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -46385,7 +47535,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46399,26 +47549,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -46428,7 +47574,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGatewayComputeResourcePreference_result')
         if self.success is not None:
@@ -46467,6 +47613,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGatewayComputeResourcePreference_result)
+updateGatewayComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateGatewayStoragePreference_args(object):
@@ -46476,15 +47630,9 @@
      - gatewayID
      - storageId
      - storagePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'storageId', 'UTF8', None, ),  # 3
-        (4, TType.STRUCT, 'storagePreference', (airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, storageId=None, storagePreference=None,):
         self.authzToken = authzToken
@@ -46494,7 +47642,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46509,12 +47657,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.storageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -46530,7 +47678,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGatewayStoragePreference_args')
         if self.authzToken is not None:
@@ -46573,6 +47721,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGatewayStoragePreference_args)
+updateGatewayStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'storageId', 'UTF8', None, ),  # 3
+    (4, TType.STRUCT, 'storagePreference', [airavata.model.appcatalog.gatewayprofile.ttypes.StoragePreference, None], None, ),  # 4
+)
 
 
 class updateGatewayStoragePreference_result(object):
@@ -46583,15 +47739,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -46602,7 +47752,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46616,26 +47766,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -46645,7 +47791,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGatewayStoragePreference_result')
         if self.success is not None:
@@ -46684,6 +47830,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGatewayStoragePreference_result)
+updateGatewayStoragePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteGatewayComputeResourcePreference_args(object):
@@ -46692,14 +47846,9 @@
      - authzToken
      - gatewayID
      - computeResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, computeResourceId=None,):
         self.authzToken = authzToken
@@ -46708,7 +47857,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46723,12 +47872,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -46738,7 +47887,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGatewayComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -46775,6 +47924,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGatewayComputeResourcePreference_args)
+deleteGatewayComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteGatewayComputeResourcePreference_result(object):
@@ -46785,15 +47941,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -46804,7 +47954,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46818,26 +47968,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -46847,7 +47993,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGatewayComputeResourcePreference_result')
         if self.success is not None:
@@ -46886,6 +48032,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGatewayComputeResourcePreference_result)
+deleteGatewayComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteGatewayStoragePreference_args(object):
@@ -46894,14 +48048,9 @@
      - authzToken
      - gatewayID
      - storageId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'storageId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, gatewayID=None, storageId=None,):
         self.authzToken = authzToken
@@ -46910,7 +48059,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -46925,12 +48074,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.storageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -46940,7 +48089,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGatewayStoragePreference_args')
         if self.authzToken is not None:
@@ -46977,6 +48126,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGatewayStoragePreference_args)
+deleteGatewayStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'storageId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteGatewayStoragePreference_result(object):
@@ -46987,15 +48143,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -47006,7 +48156,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47020,26 +48170,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -47049,7 +48195,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGatewayStoragePreference_result')
         if self.success is not None:
@@ -47088,25 +48234,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGatewayStoragePreference_result)
+deleteGatewayStoragePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getSSHAccountProvisioners_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47126,7 +48277,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSSHAccountProvisioners_args')
         if self.authzToken is not None:
@@ -47151,6 +48302,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSSHAccountProvisioners_args)
+getSSHAccountProvisioners_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getSSHAccountProvisioners_result(object):
@@ -47161,15 +48317,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.accountprovisioning.ttypes.SSHAccountProvisioner, airavata.model.appcatalog.accountprovisioning.ttypes.SSHAccountProvisioner.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -47180,7 +48330,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47200,26 +48350,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -47229,7 +48375,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSSHAccountProvisioners_result')
         if self.success is not None:
@@ -47271,6 +48417,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSSHAccountProvisioners_result)
+getSSHAccountProvisioners_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.accountprovisioning.ttypes.SSHAccountProvisioner, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class doesUserHaveSSHAccount_args(object):
@@ -47279,14 +48433,9 @@
      - authzToken
      - computeResourceId
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, userId=None,):
         self.authzToken = authzToken
@@ -47295,7 +48444,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47310,12 +48459,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -47325,7 +48474,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('doesUserHaveSSHAccount_args')
         if self.authzToken is not None:
@@ -47362,6 +48511,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(doesUserHaveSSHAccount_args)
+doesUserHaveSSHAccount_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
+)
 
 
 class doesUserHaveSSHAccount_result(object):
@@ -47372,15 +48528,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -47391,7 +48541,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47405,26 +48555,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -47434,7 +48580,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('doesUserHaveSSHAccount_result')
         if self.success is not None:
@@ -47473,6 +48619,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(doesUserHaveSSHAccount_result)
+doesUserHaveSSHAccount_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class isSSHSetupCompleteForUserComputeResourcePreference_args(object):
@@ -47481,14 +48635,9 @@
      - authzToken
      - computeResourceId
      - airavataCredStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, airavataCredStoreToken=None,):
         self.authzToken = authzToken
@@ -47497,7 +48646,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47512,12 +48661,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.airavataCredStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataCredStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -47527,7 +48676,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isSSHSetupCompleteForUserComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -47564,6 +48713,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isSSHSetupCompleteForUserComputeResourcePreference_args)
+isSSHSetupCompleteForUserComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 3
+)
 
 
 class isSSHSetupCompleteForUserComputeResourcePreference_result(object):
@@ -47574,15 +48730,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -47593,7 +48743,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47607,26 +48757,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -47636,7 +48782,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isSSHSetupCompleteForUserComputeResourcePreference_result')
         if self.success is not None:
@@ -47675,6 +48821,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isSSHSetupCompleteForUserComputeResourcePreference_result)
+isSSHSetupCompleteForUserComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class setupUserComputeResourcePreferencesForSSH_args(object):
@@ -47684,15 +48838,9 @@
      - computeResourceId
      - userId
      - airavataCredStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, userId=None, airavataCredStoreToken=None,):
         self.authzToken = authzToken
@@ -47702,7 +48850,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47717,17 +48865,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.airavataCredStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataCredStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -47737,7 +48885,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('setupUserComputeResourcePreferencesForSSH_args')
         if self.authzToken is not None:
@@ -47780,6 +48928,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(setupUserComputeResourcePreferencesForSSH_args)
+setupUserComputeResourcePreferencesForSSH_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'airavataCredStoreToken', 'UTF8', None, ),  # 4
+)
 
 
 class setupUserComputeResourcePreferencesForSSH_result(object):
@@ -47790,15 +48946,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -47809,7 +48959,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47824,26 +48974,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -47853,7 +48999,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('setupUserComputeResourcePreferencesForSSH_result')
         if self.success is not None:
@@ -47892,6 +49038,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(setupUserComputeResourcePreferencesForSSH_result)
+setupUserComputeResourcePreferencesForSSH_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerUserResourceProfile_args(object):
@@ -47899,13 +49053,9 @@
     Attributes:
      - authzToken
      - userResourceProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'userResourceProfile', (airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, userResourceProfile=None,):
         self.authzToken = authzToken
@@ -47913,7 +49063,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47939,7 +49089,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerUserResourceProfile_args')
         if self.authzToken is not None:
@@ -47970,6 +49120,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerUserResourceProfile_args)
+registerUserResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'userResourceProfile', [airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, None], None, ),  # 2
+)
 
 
 class registerUserResourceProfile_result(object):
@@ -47980,15 +49136,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -47999,7 +49149,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48008,31 +49158,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -48042,7 +49188,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerUserResourceProfile_result')
         if self.success is not None:
@@ -48081,6 +49227,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerUserResourceProfile_result)
+registerUserResourceProfile_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class isUserResourceProfileExists_args(object):
@@ -48089,14 +49243,9 @@
      - authzToken
      - userId
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -48105,7 +49254,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48120,12 +49269,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -48135,7 +49284,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserResourceProfileExists_args')
         if self.authzToken is not None:
@@ -48172,6 +49321,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserResourceProfileExists_args)
+isUserResourceProfileExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+)
 
 
 class isUserResourceProfileExists_result(object):
@@ -48182,15 +49338,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -48201,7 +49351,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48215,26 +49365,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -48244,7 +49390,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserResourceProfileExists_result')
         if self.success is not None:
@@ -48283,6 +49429,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserResourceProfileExists_result)
+isUserResourceProfileExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getUserResourceProfile_args(object):
@@ -48291,14 +49445,9 @@
      - authzToken
      - userId
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -48307,7 +49456,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48322,12 +49471,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -48337,7 +49486,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserResourceProfile_args')
         if self.authzToken is not None:
@@ -48374,6 +49523,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserResourceProfile_args)
+getUserResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+)
 
 
 class getUserResourceProfile_result(object):
@@ -48384,15 +49540,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -48403,7 +49553,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48418,26 +49568,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -48447,7 +49593,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserResourceProfile_result')
         if self.success is not None:
@@ -48486,6 +49632,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserResourceProfile_result)
+getUserResourceProfile_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateUserResourceProfile_args(object):
@@ -48495,15 +49649,9 @@
      - userId
      - gatewayID
      - userResourceProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRUCT, 'userResourceProfile', (airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userResourceProfile=None,):
         self.authzToken = authzToken
@@ -48513,7 +49661,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48528,12 +49676,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -48549,7 +49697,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserResourceProfile_args')
         if self.authzToken is not None:
@@ -48592,6 +49740,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserResourceProfile_args)
+updateUserResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRUCT, 'userResourceProfile', [airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, None], None, ),  # 4
+)
 
 
 class updateUserResourceProfile_result(object):
@@ -48602,15 +49758,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -48621,7 +49771,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48635,26 +49785,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -48664,7 +49810,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserResourceProfile_result')
         if self.success is not None:
@@ -48703,6 +49849,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserResourceProfile_result)
+updateUserResourceProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteUserResourceProfile_args(object):
@@ -48711,14 +49865,9 @@
      - authzToken
      - userId
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -48727,7 +49876,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48742,12 +49891,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -48757,7 +49906,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserResourceProfile_args')
         if self.authzToken is not None:
@@ -48794,6 +49943,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserResourceProfile_args)
+deleteUserResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+)
 
 
 class deleteUserResourceProfile_result(object):
@@ -48804,15 +49960,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -48823,7 +49973,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48837,26 +49987,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -48866,7 +50012,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserResourceProfile_result')
         if self.success is not None:
@@ -48905,6 +50051,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserResourceProfile_result)
+deleteUserResourceProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addUserComputeResourcePreference_args(object):
@@ -48915,16 +50069,9 @@
      - gatewayID
      - userComputeResourceId
      - userComputeResourcePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
-        (5, TType.STRUCT, 'userComputeResourcePreference', (airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userComputeResourceId=None, userComputeResourcePreference=None,):
         self.authzToken = authzToken
@@ -48935,7 +50082,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -48950,17 +50097,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userComputeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userComputeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -48976,7 +50123,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUserComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -49025,6 +50172,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUserComputeResourcePreference_args)
+addUserComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
+    (5, TType.STRUCT, 'userComputeResourcePreference', [airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, None], None, ),  # 5
+)
 
 
 class addUserComputeResourcePreference_result(object):
@@ -49035,15 +50191,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -49054,7 +50204,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49068,26 +50218,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -49097,7 +50243,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUserComputeResourcePreference_result')
         if self.success is not None:
@@ -49136,6 +50282,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUserComputeResourcePreference_result)
+addUserComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class addUserStoragePreference_args(object):
@@ -49146,16 +50300,9 @@
      - gatewayID
      - userStorageResourceId
      - userStoragePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userStorageResourceId', 'UTF8', None, ),  # 4
-        (5, TType.STRUCT, 'userStoragePreference', (airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userStorageResourceId=None, userStoragePreference=None,):
         self.authzToken = authzToken
@@ -49166,7 +50313,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49181,17 +50328,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userStorageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userStorageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -49207,7 +50354,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUserStoragePreference_args')
         if self.authzToken is not None:
@@ -49256,6 +50403,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUserStoragePreference_args)
+addUserStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userStorageResourceId', 'UTF8', None, ),  # 4
+    (5, TType.STRUCT, 'userStoragePreference', [airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, None], None, ),  # 5
+)
 
 
 class addUserStoragePreference_result(object):
@@ -49266,15 +50422,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -49285,7 +50435,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49299,26 +50449,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -49328,7 +50474,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUserStoragePreference_result')
         if self.success is not None:
@@ -49367,6 +50513,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUserStoragePreference_result)
+addUserStoragePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getUserComputeResourcePreference_args(object):
@@ -49376,15 +50530,9 @@
      - userId
      - gatewayID
      - userComputeResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userComputeResourceId=None,):
         self.authzToken = authzToken
@@ -49394,7 +50542,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49409,17 +50557,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userComputeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userComputeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -49429,7 +50577,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -49472,6 +50620,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserComputeResourcePreference_args)
+getUserComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
+)
 
 
 class getUserComputeResourcePreference_result(object):
@@ -49482,15 +50638,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -49501,7 +50651,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49516,26 +50666,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -49545,7 +50691,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserComputeResourcePreference_result')
         if self.success is not None:
@@ -49584,6 +50730,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserComputeResourcePreference_result)
+getUserComputeResourcePreference_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getUserStoragePreference_args(object):
@@ -49593,15 +50747,9 @@
      - userId
      - gatewayID
      - userStorageResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userStorageResourceId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userStorageResourceId=None,):
         self.authzToken = authzToken
@@ -49611,7 +50759,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49626,17 +50774,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userStorageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userStorageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -49646,7 +50794,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserStoragePreference_args')
         if self.authzToken is not None:
@@ -49689,6 +50837,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserStoragePreference_args)
+getUserStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userStorageResourceId', 'UTF8', None, ),  # 4
+)
 
 
 class getUserStoragePreference_result(object):
@@ -49699,15 +50855,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -49718,7 +50868,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49733,26 +50883,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -49762,7 +50908,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserStoragePreference_result')
         if self.success is not None:
@@ -49801,6 +50947,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserStoragePreference_result)
+getUserStoragePreference_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllUserComputeResourcePreferences_args(object):
@@ -49809,14 +50963,9 @@
      - authzToken
      - userId
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -49825,7 +50974,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49840,12 +50989,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -49855,7 +51004,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserComputeResourcePreferences_args')
         if self.authzToken is not None:
@@ -49892,6 +51041,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserComputeResourcePreferences_args)
+getAllUserComputeResourcePreferences_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+)
 
 
 class getAllUserComputeResourcePreferences_result(object):
@@ -49902,15 +51058,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -49921,7 +51071,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -49941,26 +51091,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -49970,7 +51116,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserComputeResourcePreferences_result')
         if self.success is not None:
@@ -50012,6 +51158,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserComputeResourcePreferences_result)
+getAllUserComputeResourcePreferences_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllUserStoragePreferences_args(object):
@@ -50020,14 +51174,9 @@
      - authzToken
      - userId
      - gatewayID
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None,):
         self.authzToken = authzToken
@@ -50036,7 +51185,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50051,12 +51200,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -50066,7 +51215,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserStoragePreferences_args')
         if self.authzToken is not None:
@@ -50103,6 +51252,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserStoragePreferences_args)
+getAllUserStoragePreferences_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+)
 
 
 class getAllUserStoragePreferences_result(object):
@@ -50113,15 +51269,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -50132,7 +51282,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50152,26 +51302,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -50181,7 +51327,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserStoragePreferences_result')
         if self.success is not None:
@@ -50223,25 +51369,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserStoragePreferences_result)
+getAllUserStoragePreferences_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllUserResourceProfiles_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50261,7 +51412,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserResourceProfiles_args')
         if self.authzToken is not None:
@@ -50286,6 +51437,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserResourceProfiles_args)
+getAllUserResourceProfiles_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getAllUserResourceProfiles_result(object):
@@ -50296,15 +51452,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -50315,7 +51465,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50335,26 +51485,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -50364,7 +51510,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserResourceProfiles_result')
         if self.success is not None:
@@ -50406,6 +51552,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserResourceProfiles_result)
+getAllUserResourceProfiles_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.userresourceprofile.ttypes.UserResourceProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateUserComputeResourcePreference_args(object):
@@ -50416,16 +51570,9 @@
      - gatewayID
      - userComputeResourceId
      - userComputeResourcePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
-        (5, TType.STRUCT, 'userComputeResourcePreference', (airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userComputeResourceId=None, userComputeResourcePreference=None,):
         self.authzToken = authzToken
@@ -50436,7 +51583,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50451,17 +51598,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userComputeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userComputeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -50477,7 +51624,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -50526,6 +51673,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserComputeResourcePreference_args)
+updateUserComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
+    (5, TType.STRUCT, 'userComputeResourcePreference', [airavata.model.appcatalog.userresourceprofile.ttypes.UserComputeResourcePreference, None], None, ),  # 5
+)
 
 
 class updateUserComputeResourcePreference_result(object):
@@ -50536,15 +51692,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -50555,7 +51705,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50569,26 +51719,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -50598,7 +51744,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserComputeResourcePreference_result')
         if self.success is not None:
@@ -50637,6 +51783,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserComputeResourcePreference_result)
+updateUserComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateUserStoragePreference_args(object):
@@ -50647,16 +51801,9 @@
      - gatewayID
      - userStorageId
      - userStoragePreference
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userStorageId', 'UTF8', None, ),  # 4
-        (5, TType.STRUCT, 'userStoragePreference', (airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference.thrift_spec), None, ),  # 5
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userStorageId=None, userStoragePreference=None,):
         self.authzToken = authzToken
@@ -50667,7 +51814,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50682,17 +51829,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userStorageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userStorageId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -50708,7 +51855,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserStoragePreference_args')
         if self.authzToken is not None:
@@ -50757,6 +51904,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserStoragePreference_args)
+updateUserStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userStorageId', 'UTF8', None, ),  # 4
+    (5, TType.STRUCT, 'userStoragePreference', [airavata.model.appcatalog.userresourceprofile.ttypes.UserStoragePreference, None], None, ),  # 5
+)
 
 
 class updateUserStoragePreference_result(object):
@@ -50767,15 +51923,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -50786,7 +51936,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50800,26 +51950,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -50829,7 +51975,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserStoragePreference_result')
         if self.success is not None:
@@ -50868,6 +52014,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserStoragePreference_result)
+updateUserStoragePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteUserComputeResourcePreference_args(object):
@@ -50877,15 +52031,9 @@
      - userId
      - gatewayID
      - userComputeResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userComputeResourceId=None,):
         self.authzToken = authzToken
@@ -50895,7 +52043,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50910,17 +52058,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userComputeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userComputeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -50930,7 +52078,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -50973,6 +52121,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserComputeResourcePreference_args)
+deleteUserComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userComputeResourceId', 'UTF8', None, ),  # 4
+)
 
 
 class deleteUserComputeResourcePreference_result(object):
@@ -50983,15 +52139,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -51002,7 +52152,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51016,26 +52166,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -51045,7 +52191,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserComputeResourcePreference_result')
         if self.success is not None:
@@ -51084,6 +52230,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserComputeResourcePreference_result)
+deleteUserComputeResourcePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class deleteUserStoragePreference_args(object):
@@ -51093,15 +52247,9 @@
      - userId
      - gatewayID
      - userStorageId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userStorageId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayID=None, userStorageId=None,):
         self.authzToken = authzToken
@@ -51111,7 +52259,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51126,17 +52274,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userStorageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userStorageId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -51146,7 +52294,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserStoragePreference_args')
         if self.authzToken is not None:
@@ -51189,6 +52337,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserStoragePreference_args)
+deleteUserStoragePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userStorageId', 'UTF8', None, ),  # 4
+)
 
 
 class deleteUserStoragePreference_result(object):
@@ -51199,15 +52355,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -51218,7 +52368,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51232,26 +52382,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -51261,7 +52407,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserStoragePreference_result')
         if self.success is not None:
@@ -51300,25 +52446,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserStoragePreference_result)
+deleteUserStoragePreference_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getLatestQueueStatuses_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51338,7 +52489,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getLatestQueueStatuses_args')
         if self.authzToken is not None:
@@ -51363,6 +52514,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getLatestQueueStatuses_args)
+getLatestQueueStatuses_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getLatestQueueStatuses_result(object):
@@ -51373,15 +52529,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.status.ttypes.QueueStatusModel, airavata.model.status.ttypes.QueueStatusModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -51392,7 +52542,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51412,26 +52562,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -51441,7 +52587,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getLatestQueueStatuses_result')
         if self.success is not None:
@@ -51483,6 +52629,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getLatestQueueStatuses_result)
+getLatestQueueStatuses_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.status.ttypes.QueueStatusModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerDataProduct_args(object):
@@ -51490,13 +52644,9 @@
     Attributes:
      - authzToken
      - dataProductModel
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'dataProductModel', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataProductModel=None,):
         self.authzToken = authzToken
@@ -51504,7 +52654,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51530,7 +52680,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerDataProduct_args')
         if self.authzToken is not None:
@@ -51561,6 +52711,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerDataProduct_args)
+registerDataProduct_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'dataProductModel', [airavata.model.data.replica.ttypes.DataProductModel, None], None, ),  # 2
+)
 
 
 class registerDataProduct_result(object):
@@ -51571,15 +52727,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -51590,7 +52740,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51599,31 +52749,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -51633,7 +52779,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerDataProduct_result')
         if self.success is not None:
@@ -51672,6 +52818,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerDataProduct_result)
+registerDataProduct_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getDataProduct_args(object):
@@ -51679,13 +52833,9 @@
     Attributes:
      - authzToken
      - dataProductUri
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'dataProductUri', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, dataProductUri=None,):
         self.authzToken = authzToken
@@ -51693,7 +52843,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51708,7 +52858,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.dataProductUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataProductUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -51718,7 +52868,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDataProduct_args')
         if self.authzToken is not None:
@@ -51749,6 +52899,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDataProduct_args)
+getDataProduct_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'dataProductUri', 'UTF8', None, ),  # 2
+)
 
 
 class getDataProduct_result(object):
@@ -51759,15 +52915,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -51778,7 +52928,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51793,26 +52943,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -51822,7 +52968,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDataProduct_result')
         if self.success is not None:
@@ -51861,6 +53007,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDataProduct_result)
+getDataProduct_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.data.replica.ttypes.DataProductModel, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class registerReplicaLocation_args(object):
@@ -51868,13 +53022,9 @@
     Attributes:
      - authzToken
      - replicaLocationModel
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'replicaLocationModel', (airavata.model.data.replica.ttypes.DataReplicaLocationModel, airavata.model.data.replica.ttypes.DataReplicaLocationModel.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, replicaLocationModel=None,):
         self.authzToken = authzToken
@@ -51882,7 +53032,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51908,7 +53058,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerReplicaLocation_args')
         if self.authzToken is not None:
@@ -51939,6 +53089,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerReplicaLocation_args)
+registerReplicaLocation_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'replicaLocationModel', [airavata.model.data.replica.ttypes.DataReplicaLocationModel, None], None, ),  # 2
+)
 
 
 class registerReplicaLocation_result(object):
@@ -51949,15 +53105,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -51968,7 +53118,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -51977,31 +53127,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -52011,7 +53157,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerReplicaLocation_result')
         if self.success is not None:
@@ -52050,6 +53196,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerReplicaLocation_result)
+registerReplicaLocation_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getParentDataProduct_args(object):
@@ -52057,13 +53211,9 @@
     Attributes:
      - authzToken
      - productUri
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, productUri=None,):
         self.authzToken = authzToken
@@ -52071,7 +53221,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52086,7 +53236,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -52096,7 +53246,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParentDataProduct_args')
         if self.authzToken is not None:
@@ -52127,6 +53277,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParentDataProduct_args)
+getParentDataProduct_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+)
 
 
 class getParentDataProduct_result(object):
@@ -52137,15 +53293,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -52156,7 +53306,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52171,26 +53321,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -52200,7 +53346,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParentDataProduct_result')
         if self.success is not None:
@@ -52239,6 +53385,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParentDataProduct_result)
+getParentDataProduct_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.data.replica.ttypes.DataProductModel, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getChildDataProducts_args(object):
@@ -52246,13 +53400,9 @@
     Attributes:
      - authzToken
      - productUri
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, productUri=None,):
         self.authzToken = authzToken
@@ -52260,7 +53410,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52275,7 +53425,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -52285,7 +53435,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getChildDataProducts_args')
         if self.authzToken is not None:
@@ -52316,6 +53466,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getChildDataProducts_args)
+getChildDataProducts_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+)
 
 
 class getChildDataProducts_result(object):
@@ -52326,15 +53482,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.data.replica.ttypes.DataProductModel, airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -52345,7 +53495,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52365,26 +53515,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -52394,7 +53540,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getChildDataProducts_result')
         if self.success is not None:
@@ -52436,6 +53582,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getChildDataProducts_result)
+getChildDataProducts_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.data.replica.ttypes.DataProductModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class shareResourceWithUsers_args(object):
@@ -52444,15 +53598,9 @@
      - authzToken
      - resourceId
      - userPermissionList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, userPermissionList=None,):
         self.authzToken = authzToken
@@ -52461,7 +53609,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52476,7 +53624,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -52484,7 +53632,7 @@
                     self.userPermissionList = {}
                     (_ktype306, _vtype307, _size305) = iprot.readMapBegin()
                     for _i309 in range(_size305):
-                        _key310 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key310 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val311 = iprot.readI32()
                         self.userPermissionList[_key310] = _val311
                     iprot.readMapEnd()
@@ -52497,7 +53645,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareResourceWithUsers_args')
         if self.authzToken is not None:
@@ -52536,6 +53684,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareResourceWithUsers_args)
+shareResourceWithUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
+)
 
 
 class shareResourceWithUsers_result(object):
@@ -52546,15 +53702,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -52565,7 +53715,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52579,26 +53729,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -52608,7 +53754,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareResourceWithUsers_result')
         if self.success is not None:
@@ -52647,6 +53793,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareResourceWithUsers_result)
+shareResourceWithUsers_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class shareResourceWithGroups_args(object):
@@ -52655,15 +53809,9 @@
      - authzToken
      - resourceId
      - groupPermissionList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, groupPermissionList=None,):
         self.authzToken = authzToken
@@ -52672,7 +53820,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52687,7 +53835,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -52695,7 +53843,7 @@
                     self.groupPermissionList = {}
                     (_ktype315, _vtype316, _size314) = iprot.readMapBegin()
                     for _i318 in range(_size314):
-                        _key319 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key319 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val320 = iprot.readI32()
                         self.groupPermissionList[_key319] = _val320
                     iprot.readMapEnd()
@@ -52708,7 +53856,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareResourceWithGroups_args')
         if self.authzToken is not None:
@@ -52747,6 +53895,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareResourceWithGroups_args)
+shareResourceWithGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
+)
 
 
 class shareResourceWithGroups_result(object):
@@ -52757,15 +53913,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -52776,7 +53926,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52790,26 +53940,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -52819,7 +53965,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareResourceWithGroups_result')
         if self.success is not None:
@@ -52858,6 +54004,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareResourceWithGroups_result)
+shareResourceWithGroups_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class revokeSharingOfResourceFromUsers_args(object):
@@ -52866,15 +54020,9 @@
      - authzToken
      - resourceId
      - userPermissionList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, userPermissionList=None,):
         self.authzToken = authzToken
@@ -52883,7 +54031,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52898,7 +54046,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -52906,7 +54054,7 @@
                     self.userPermissionList = {}
                     (_ktype324, _vtype325, _size323) = iprot.readMapBegin()
                     for _i327 in range(_size323):
-                        _key328 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key328 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val329 = iprot.readI32()
                         self.userPermissionList[_key328] = _val329
                     iprot.readMapEnd()
@@ -52919,7 +54067,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeSharingOfResourceFromUsers_args')
         if self.authzToken is not None:
@@ -52958,6 +54106,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeSharingOfResourceFromUsers_args)
+revokeSharingOfResourceFromUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.MAP, 'userPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
+)
 
 
 class revokeSharingOfResourceFromUsers_result(object):
@@ -52968,15 +54124,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -52987,7 +54137,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53001,26 +54151,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -53030,7 +54176,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeSharingOfResourceFromUsers_result')
         if self.success is not None:
@@ -53069,6 +54215,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeSharingOfResourceFromUsers_result)
+revokeSharingOfResourceFromUsers_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class revokeSharingOfResourceFromGroups_args(object):
@@ -53077,15 +54231,9 @@
      - authzToken
      - resourceId
      - groupPermissionList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, groupPermissionList=None,):
         self.authzToken = authzToken
@@ -53094,7 +54242,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53109,7 +54257,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -53117,7 +54265,7 @@
                     self.groupPermissionList = {}
                     (_ktype333, _vtype334, _size332) = iprot.readMapBegin()
                     for _i336 in range(_size332):
-                        _key337 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key337 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         _val338 = iprot.readI32()
                         self.groupPermissionList[_key337] = _val338
                     iprot.readMapEnd()
@@ -53130,7 +54278,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeSharingOfResourceFromGroups_args')
         if self.authzToken is not None:
@@ -53169,6 +54317,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeSharingOfResourceFromGroups_args)
+revokeSharingOfResourceFromGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.MAP, 'groupPermissionList', (TType.STRING, 'UTF8', TType.I32, None, False), None, ),  # 4
+)
 
 
 class revokeSharingOfResourceFromGroups_result(object):
@@ -53179,15 +54335,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -53198,7 +54348,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53212,26 +54362,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -53241,7 +54387,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeSharingOfResourceFromGroups_result')
         if self.success is not None:
@@ -53280,6 +54426,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeSharingOfResourceFromGroups_result)
+revokeSharingOfResourceFromGroups_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllAccessibleUsers_args(object):
@@ -53288,15 +54442,9 @@
      - authzToken
      - resourceId
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.I32, 'permissionType', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
         self.authzToken = authzToken
@@ -53305,7 +54453,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53320,7 +54468,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -53335,7 +54483,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllAccessibleUsers_args')
         if self.authzToken is not None:
@@ -53372,6 +54520,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllAccessibleUsers_args)
+getAllAccessibleUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.I32, 'permissionType', None, None, ),  # 4
+)
 
 
 class getAllAccessibleUsers_result(object):
@@ -53382,15 +54538,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -53401,7 +54551,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53413,33 +54563,29 @@
                     self.success = []
                     (_etype344, _size341) = iprot.readListBegin()
                     for _i345 in range(_size341):
-                        _elem346 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem346 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success.append(_elem346)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -53449,7 +54595,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllAccessibleUsers_result')
         if self.success is not None:
@@ -53491,6 +54637,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllAccessibleUsers_result)
+getAllAccessibleUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllAccessibleGroups_args(object):
@@ -53499,15 +54653,9 @@
      - authzToken
      - resourceId
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.I32, 'permissionType', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
         self.authzToken = authzToken
@@ -53516,7 +54664,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53531,7 +54679,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -53546,7 +54694,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllAccessibleGroups_args')
         if self.authzToken is not None:
@@ -53583,6 +54731,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllAccessibleGroups_args)
+getAllAccessibleGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.I32, 'permissionType', None, None, ),  # 4
+)
 
 
 class getAllAccessibleGroups_result(object):
@@ -53593,15 +54749,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -53612,7 +54762,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53624,33 +54774,29 @@
                     self.success = []
                     (_etype351, _size348) = iprot.readListBegin()
                     for _i352 in range(_size348):
-                        _elem353 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem353 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success.append(_elem353)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -53660,7 +54806,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllAccessibleGroups_result')
         if self.success is not None:
@@ -53702,6 +54848,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllAccessibleGroups_result)
+getAllAccessibleGroups_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllDirectlyAccessibleUsers_args(object):
@@ -53710,15 +54864,9 @@
      - authzToken
      - resourceId
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.I32, 'permissionType', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
         self.authzToken = authzToken
@@ -53727,7 +54875,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53742,7 +54890,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -53757,7 +54905,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllDirectlyAccessibleUsers_args')
         if self.authzToken is not None:
@@ -53794,6 +54942,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllDirectlyAccessibleUsers_args)
+getAllDirectlyAccessibleUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.I32, 'permissionType', None, None, ),  # 4
+)
 
 
 class getAllDirectlyAccessibleUsers_result(object):
@@ -53804,15 +54960,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -53823,7 +54973,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53835,33 +54985,29 @@
                     self.success = []
                     (_etype358, _size355) = iprot.readListBegin()
                     for _i359 in range(_size355):
-                        _elem360 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem360 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success.append(_elem360)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -53871,7 +55017,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllDirectlyAccessibleUsers_result')
         if self.success is not None:
@@ -53913,6 +55059,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllDirectlyAccessibleUsers_result)
+getAllDirectlyAccessibleUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getAllDirectlyAccessibleGroups_args(object):
@@ -53921,15 +55075,9 @@
      - authzToken
      - resourceId
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        None,  # 3
-        (4, TType.I32, 'permissionType', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
         self.authzToken = authzToken
@@ -53938,7 +55086,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53953,7 +55101,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -53968,7 +55116,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllDirectlyAccessibleGroups_args')
         if self.authzToken is not None:
@@ -54005,6 +55153,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllDirectlyAccessibleGroups_args)
+getAllDirectlyAccessibleGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    None,  # 3
+    (4, TType.I32, 'permissionType', None, None, ),  # 4
+)
 
 
 class getAllDirectlyAccessibleGroups_result(object):
@@ -54015,15 +55171,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -54034,7 +55184,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54046,33 +55196,29 @@
                     self.success = []
                     (_etype365, _size362) = iprot.readListBegin()
                     for _i366 in range(_size362):
-                        _elem367 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem367 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success.append(_elem367)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -54082,7 +55228,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllDirectlyAccessibleGroups_result')
         if self.success is not None:
@@ -54124,6 +55270,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllDirectlyAccessibleGroups_result)
+getAllDirectlyAccessibleGroups_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class userHasAccess_args(object):
@@ -54132,14 +55286,9 @@
      - authzToken
      - resourceId
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'permissionType', None, None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, resourceId=None, permissionType=None,):
         self.authzToken = authzToken
@@ -54148,7 +55297,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54163,7 +55312,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -54178,7 +55327,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('userHasAccess_args')
         if self.authzToken is not None:
@@ -54215,6 +55364,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(userHasAccess_args)
+userHasAccess_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourceId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'permissionType', None, None, ),  # 3
+)
 
 
 class userHasAccess_result(object):
@@ -54225,15 +55381,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -54244,7 +55394,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54258,26 +55408,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -54287,7 +55433,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('userHasAccess_result')
         if self.success is not None:
@@ -54326,6 +55472,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(userHasAccess_result)
+userHasAccess_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class createGroupResourceProfile_args(object):
@@ -54333,13 +55487,9 @@
     Attributes:
      - authzToken
      - groupResourceProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'groupResourceProfile', (airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfile=None,):
         self.authzToken = authzToken
@@ -54347,7 +55497,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54373,7 +55523,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createGroupResourceProfile_args')
         if self.authzToken is not None:
@@ -54404,6 +55554,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createGroupResourceProfile_args)
+createGroupResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'groupResourceProfile', [airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, None], None, ),  # 2
+)
 
 
 class createGroupResourceProfile_result(object):
@@ -54414,15 +55570,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -54433,7 +55583,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54442,31 +55592,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -54476,7 +55622,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createGroupResourceProfile_result')
         if self.success is not None:
@@ -54515,6 +55661,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createGroupResourceProfile_result)
+createGroupResourceProfile_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class updateGroupResourceProfile_args(object):
@@ -54522,13 +55676,9 @@
     Attributes:
      - authzToken
      - groupResourceProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'groupResourceProfile', (airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfile=None,):
         self.authzToken = authzToken
@@ -54536,7 +55686,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54562,7 +55712,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGroupResourceProfile_args')
         if self.authzToken is not None:
@@ -54593,6 +55743,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGroupResourceProfile_args)
+updateGroupResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'groupResourceProfile', [airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, None], None, ),  # 2
+)
 
 
 class updateGroupResourceProfile_result(object):
@@ -54602,15 +55758,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, ire=None, ace=None, ase=None, ae=None,):
         self.ire = ire
@@ -54620,7 +55770,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54629,26 +55779,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -54658,7 +55804,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGroupResourceProfile_result')
         if self.ire is not None:
@@ -54693,6 +55839,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGroupResourceProfile_result)
+updateGroupResourceProfile_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupResourceProfile_args(object):
@@ -54700,13 +55854,9 @@
     Attributes:
      - authzToken
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -54714,7 +55864,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54729,7 +55879,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -54739,7 +55889,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupResourceProfile_args')
         if self.authzToken is not None:
@@ -54770,6 +55920,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupResourceProfile_args)
+getGroupResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroupResourceProfile_result(object):
@@ -54780,15 +55936,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -54799,7 +55949,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54814,26 +55964,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -54843,7 +55989,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupResourceProfile_result')
         if self.success is not None:
@@ -54882,6 +56028,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupResourceProfile_result)
+getGroupResourceProfile_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class removeGroupResourceProfile_args(object):
@@ -54889,13 +56043,9 @@
     Attributes:
      - authzToken
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -54903,7 +56053,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -54918,7 +56068,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -54928,7 +56078,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupResourceProfile_args')
         if self.authzToken is not None:
@@ -54959,6 +56109,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupResourceProfile_args)
+removeGroupResourceProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
+)
 
 
 class removeGroupResourceProfile_result(object):
@@ -54969,15 +56125,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -54988,7 +56138,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55002,26 +56152,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -55031,7 +56177,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupResourceProfile_result')
         if self.success is not None:
@@ -55070,6 +56216,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupResourceProfile_result)
+removeGroupResourceProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupResourceList_args(object):
@@ -55077,13 +56231,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -55091,7 +56241,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55106,7 +56256,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -55116,7 +56266,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupResourceList_args')
         if self.authzToken is not None:
@@ -55147,6 +56297,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupResourceList_args)
+getGroupResourceList_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroupResourceList_result(object):
@@ -55157,15 +56313,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -55176,7 +56326,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55196,26 +56346,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -55225,7 +56371,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupResourceList_result')
         if self.success is not None:
@@ -55267,6 +56413,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupResourceList_result)
+getGroupResourceList_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.groupresourceprofile.ttypes.GroupResourceProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class removeGroupComputePrefs_args(object):
@@ -55275,14 +56429,9 @@
      - authzToken
      - computeResourceId
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -55291,7 +56440,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55306,12 +56455,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -55321,7 +56470,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupComputePrefs_args')
         if self.authzToken is not None:
@@ -55358,6 +56507,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupComputePrefs_args)
+removeGroupComputePrefs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 3
+)
 
 
 class removeGroupComputePrefs_result(object):
@@ -55368,15 +56524,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -55387,7 +56537,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55401,26 +56551,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -55430,7 +56576,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupComputePrefs_result')
         if self.success is not None:
@@ -55469,6 +56615,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupComputePrefs_result)
+removeGroupComputePrefs_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class removeGroupComputeResourcePolicy_args(object):
@@ -55476,13 +56630,9 @@
     Attributes:
      - authzToken
      - resourcePolicyId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourcePolicyId=None,):
         self.authzToken = authzToken
@@ -55490,7 +56640,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55505,7 +56655,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourcePolicyId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourcePolicyId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -55515,7 +56665,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupComputeResourcePolicy_args')
         if self.authzToken is not None:
@@ -55546,6 +56696,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupComputeResourcePolicy_args)
+removeGroupComputeResourcePolicy_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
+)
 
 
 class removeGroupComputeResourcePolicy_result(object):
@@ -55556,15 +56712,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -55575,7 +56725,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55589,26 +56739,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -55618,7 +56764,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupComputeResourcePolicy_result')
         if self.success is not None:
@@ -55657,6 +56803,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupComputeResourcePolicy_result)
+removeGroupComputeResourcePolicy_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class removeGroupBatchQueueResourcePolicy_args(object):
@@ -55664,13 +56818,9 @@
     Attributes:
      - authzToken
      - resourcePolicyId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourcePolicyId=None,):
         self.authzToken = authzToken
@@ -55678,7 +56828,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55693,7 +56843,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourcePolicyId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourcePolicyId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -55703,7 +56853,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupBatchQueueResourcePolicy_args')
         if self.authzToken is not None:
@@ -55734,6 +56884,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupBatchQueueResourcePolicy_args)
+removeGroupBatchQueueResourcePolicy_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
+)
 
 
 class removeGroupBatchQueueResourcePolicy_result(object):
@@ -55744,15 +56900,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -55763,7 +56913,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55777,26 +56927,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -55806,7 +56952,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupBatchQueueResourcePolicy_result')
         if self.success is not None:
@@ -55845,6 +56991,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupBatchQueueResourcePolicy_result)
+removeGroupBatchQueueResourcePolicy_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupComputeResourcePreference_args(object):
@@ -55853,14 +57007,9 @@
      - authzToken
      - computeResourceId
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, computeResourceId=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -55869,7 +57018,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55884,12 +57033,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -55899,7 +57048,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePreference_args')
         if self.authzToken is not None:
@@ -55936,6 +57085,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePreference_args)
+getGroupComputeResourcePreference_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 3
+)
 
 
 class getGroupComputeResourcePreference_result(object):
@@ -55946,15 +57102,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference, airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -55965,7 +57115,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -55980,26 +57130,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -56009,7 +57155,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePreference_result')
         if self.success is not None:
@@ -56048,6 +57194,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePreference_result)
+getGroupComputeResourcePreference_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupComputeResourcePolicy_args(object):
@@ -56055,13 +57209,9 @@
     Attributes:
      - authzToken
      - resourcePolicyId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourcePolicyId=None,):
         self.authzToken = authzToken
@@ -56069,7 +57219,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56084,7 +57234,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourcePolicyId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourcePolicyId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -56094,7 +57244,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePolicy_args')
         if self.authzToken is not None:
@@ -56125,6 +57275,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePolicy_args)
+getGroupComputeResourcePolicy_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroupComputeResourcePolicy_result(object):
@@ -56135,15 +57291,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy, airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -56154,7 +57304,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56169,26 +57319,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -56198,7 +57344,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePolicy_result')
         if self.success is not None:
@@ -56237,6 +57383,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePolicy_result)
+getGroupComputeResourcePolicy_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getBatchQueueResourcePolicy_args(object):
@@ -56244,13 +57398,9 @@
     Attributes:
      - authzToken
      - resourcePolicyId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, resourcePolicyId=None,):
         self.authzToken = authzToken
@@ -56258,7 +57408,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56273,7 +57423,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.resourcePolicyId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourcePolicyId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -56283,7 +57433,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getBatchQueueResourcePolicy_args')
         if self.authzToken is not None:
@@ -56314,6 +57464,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getBatchQueueResourcePolicy_args)
+getBatchQueueResourcePolicy_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'resourcePolicyId', 'UTF8', None, ),  # 2
+)
 
 
 class getBatchQueueResourcePolicy_result(object):
@@ -56324,15 +57480,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy, airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -56343,7 +57493,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56358,26 +57508,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -56387,7 +57533,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getBatchQueueResourcePolicy_result')
         if self.success is not None:
@@ -56426,6 +57572,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getBatchQueueResourcePolicy_result)
+getBatchQueueResourcePolicy_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupComputeResourcePrefList_args(object):
@@ -56433,13 +57587,9 @@
     Attributes:
      - authzToken
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -56447,7 +57597,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56462,7 +57612,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -56472,7 +57622,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePrefList_args')
         if self.authzToken is not None:
@@ -56503,6 +57653,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePrefList_args)
+getGroupComputeResourcePrefList_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroupComputeResourcePrefList_result(object):
@@ -56513,15 +57669,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference, airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -56532,7 +57682,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56552,26 +57702,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -56581,7 +57727,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePrefList_result')
         if self.success is not None:
@@ -56623,6 +57769,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePrefList_result)
+getGroupComputeResourcePrefList_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.groupresourceprofile.ttypes.GroupComputeResourcePreference, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupBatchQueueResourcePolicyList_args(object):
@@ -56630,13 +57784,9 @@
     Attributes:
      - authzToken
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -56644,7 +57794,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56659,7 +57809,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -56669,7 +57819,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupBatchQueueResourcePolicyList_args')
         if self.authzToken is not None:
@@ -56700,6 +57850,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupBatchQueueResourcePolicyList_args)
+getGroupBatchQueueResourcePolicyList_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroupBatchQueueResourcePolicyList_result(object):
@@ -56710,15 +57866,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy, airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -56729,7 +57879,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56749,26 +57899,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -56778,7 +57924,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupBatchQueueResourcePolicyList_result')
         if self.success is not None:
@@ -56820,6 +57966,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupBatchQueueResourcePolicyList_result)
+getGroupBatchQueueResourcePolicyList_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.groupresourceprofile.ttypes.BatchQueueResourcePolicy, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGroupComputeResourcePolicyList_args(object):
@@ -56827,13 +57981,9 @@
     Attributes:
      - authzToken
      - groupResourceProfileId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupResourceProfileId=None,):
         self.authzToken = authzToken
@@ -56841,7 +57991,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56856,7 +58006,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -56866,7 +58016,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePolicyList_args')
         if self.authzToken is not None:
@@ -56897,6 +58047,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePolicyList_args)
+getGroupComputeResourcePolicyList_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroupComputeResourcePolicyList_result(object):
@@ -56907,15 +58063,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy, airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -56926,7 +58076,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -56946,26 +58096,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -56975,7 +58121,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupComputeResourcePolicyList_result')
         if self.success is not None:
@@ -57017,25 +58163,30 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupComputeResourcePolicyList_result)
+getGroupComputeResourcePolicyList_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.groupresourceprofile.ttypes.ComputeResourcePolicy, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getGatewayGroups_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57055,7 +58206,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayGroups_args')
         if self.authzToken is not None:
@@ -57080,6 +58231,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayGroups_args)
+getGatewayGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getGatewayGroups_result(object):
@@ -57090,15 +58246,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.gatewaygroups.ttypes.GatewayGroups, airavata.model.appcatalog.gatewaygroups.ttypes.GatewayGroups.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -57109,7 +58259,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57124,26 +58274,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -57153,7 +58299,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGatewayGroups_result')
         if self.success is not None:
@@ -57192,6 +58338,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGatewayGroups_result)
+getGatewayGroups_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.gatewaygroups.ttypes.GatewayGroups, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getParser_args(object):
@@ -57200,14 +58354,9 @@
      - authzToken
      - parserId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'parserId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, parserId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -57216,7 +58365,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57231,12 +58380,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.parserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -57246,7 +58395,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParser_args')
         if self.authzToken is not None:
@@ -57283,6 +58432,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParser_args)
+getParser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'parserId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class getParser_result(object):
@@ -57293,15 +58449,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.parser.ttypes.Parser, airavata.model.appcatalog.parser.ttypes.Parser.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -57312,7 +58462,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57327,26 +58477,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -57356,7 +58502,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParser_result')
         if self.success is not None:
@@ -57395,6 +58541,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParser_result)
+getParser_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.parser.ttypes.Parser, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class saveParser_args(object):
@@ -57402,13 +58556,9 @@
     Attributes:
      - authzToken
      - parser
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'parser', (airavata.model.appcatalog.parser.ttypes.Parser, airavata.model.appcatalog.parser.ttypes.Parser.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, parser=None,):
         self.authzToken = authzToken
@@ -57416,7 +58566,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57442,7 +58592,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('saveParser_args')
         if self.authzToken is not None:
@@ -57473,6 +58623,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(saveParser_args)
+saveParser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'parser', [airavata.model.appcatalog.parser.ttypes.Parser, None], None, ),  # 2
+)
 
 
 class saveParser_result(object):
@@ -57483,15 +58639,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -57502,7 +58652,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57511,31 +58661,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -57545,7 +58691,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('saveParser_result')
         if self.success is not None:
@@ -57584,6 +58730,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(saveParser_result)
+saveParser_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class listAllParsers_args(object):
@@ -57591,13 +58745,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -57605,7 +58755,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57620,7 +58770,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -57630,7 +58780,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('listAllParsers_args')
         if self.authzToken is not None:
@@ -57661,6 +58811,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(listAllParsers_args)
+listAllParsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class listAllParsers_result(object):
@@ -57671,15 +58827,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.parser.ttypes.Parser, airavata.model.appcatalog.parser.ttypes.Parser.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -57690,7 +58840,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57710,26 +58860,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -57739,7 +58885,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('listAllParsers_result')
         if self.success is not None:
@@ -57781,6 +58927,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(listAllParsers_result)
+listAllParsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.parser.ttypes.Parser, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class removeParser_args(object):
@@ -57789,14 +58943,9 @@
      - authzToken
      - parserId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'parserId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, parserId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -57805,7 +58954,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57820,12 +58969,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.parserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -57835,7 +58984,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeParser_args')
         if self.authzToken is not None:
@@ -57872,6 +59021,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeParser_args)
+removeParser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'parserId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class removeParser_result(object):
@@ -57882,15 +59038,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -57901,7 +59051,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57915,26 +59065,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -57944,7 +59090,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeParser_result')
         if self.success is not None:
@@ -57983,6 +59129,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeParser_result)
+removeParser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getParsingTemplate_args(object):
@@ -57991,14 +59145,9 @@
      - authzToken
      - templateId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'templateId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, templateId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -58007,7 +59156,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58022,12 +59171,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.templateId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.templateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -58037,7 +59186,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParsingTemplate_args')
         if self.authzToken is not None:
@@ -58074,6 +59223,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParsingTemplate_args)
+getParsingTemplate_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'templateId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class getParsingTemplate_result(object):
@@ -58084,15 +59240,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.appcatalog.parser.ttypes.ParsingTemplate, airavata.model.appcatalog.parser.ttypes.ParsingTemplate.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -58103,7 +59253,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58118,26 +59268,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -58147,7 +59293,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParsingTemplate_result')
         if self.success is not None:
@@ -58186,6 +59332,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParsingTemplate_result)
+getParsingTemplate_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.appcatalog.parser.ttypes.ParsingTemplate, None], None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class getParsingTemplatesForExperiment_args(object):
@@ -58194,14 +59348,9 @@
      - authzToken
      - experimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, experimentId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -58210,7 +59359,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58225,12 +59374,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -58240,7 +59389,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParsingTemplatesForExperiment_args')
         if self.authzToken is not None:
@@ -58277,6 +59426,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParsingTemplatesForExperiment_args)
+getParsingTemplatesForExperiment_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class getParsingTemplatesForExperiment_result(object):
@@ -58287,15 +59443,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.parser.ttypes.ParsingTemplate, airavata.model.appcatalog.parser.ttypes.ParsingTemplate.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -58306,7 +59456,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58326,26 +59476,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -58355,7 +59501,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getParsingTemplatesForExperiment_result')
         if self.success is not None:
@@ -58397,6 +59543,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getParsingTemplatesForExperiment_result)
+getParsingTemplatesForExperiment_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.parser.ttypes.ParsingTemplate, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class saveParsingTemplate_args(object):
@@ -58404,13 +59558,9 @@
     Attributes:
      - authzToken
      - parsingTemplate
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'parsingTemplate', (airavata.model.appcatalog.parser.ttypes.ParsingTemplate, airavata.model.appcatalog.parser.ttypes.ParsingTemplate.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, parsingTemplate=None,):
         self.authzToken = authzToken
@@ -58418,7 +59568,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58444,7 +59594,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('saveParsingTemplate_args')
         if self.authzToken is not None:
@@ -58475,6 +59625,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(saveParsingTemplate_args)
+saveParsingTemplate_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'parsingTemplate', [airavata.model.appcatalog.parser.ttypes.ParsingTemplate, None], None, ),  # 2
+)
 
 
 class saveParsingTemplate_result(object):
@@ -58485,15 +59641,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -58504,7 +59654,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58513,31 +59663,27 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -58547,7 +59693,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('saveParsingTemplate_result')
         if self.success is not None:
@@ -58586,6 +59732,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(saveParsingTemplate_result)
+saveParsingTemplate_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class removeParsingTemplate_args(object):
@@ -58594,14 +59748,9 @@
      - authzToken
      - templateId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'templateId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, templateId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -58610,7 +59759,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58625,12 +59774,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.templateId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.templateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -58640,7 +59789,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeParsingTemplate_args')
         if self.authzToken is not None:
@@ -58677,6 +59826,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeParsingTemplate_args)
+removeParsingTemplate_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'templateId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class removeParsingTemplate_result(object):
@@ -58687,15 +59843,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -58706,7 +59856,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58720,26 +59870,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -58749,7 +59895,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeParsingTemplate_result')
         if self.success is not None:
@@ -58788,6 +59934,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeParsingTemplate_result)
+removeParsingTemplate_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
 
 
 class listAllParsingTemplates_args(object):
@@ -58795,13 +59949,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -58809,7 +59959,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58824,7 +59974,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -58834,7 +59984,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('listAllParsingTemplates_args')
         if self.authzToken is not None:
@@ -58865,6 +60015,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(listAllParsingTemplates_args)
+listAllParsingTemplates_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class listAllParsingTemplates_result(object):
@@ -58875,15 +60031,9 @@
      - ace
      - ase
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.appcatalog.parser.ttypes.ParsingTemplate, airavata.model.appcatalog.parser.ttypes.ParsingTemplate.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'ire', (airavata.api.error.ttypes.InvalidRequestException, airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ace', (airavata.api.error.ttypes.AiravataClientException, airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ),  # 2
-        (3, TType.STRUCT, 'ase', (airavata.api.error.ttypes.AiravataSystemException, airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ),  # 3
-        (4, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 4
-    )
 
     def __init__(self, success=None, ire=None, ace=None, ase=None, ae=None,):
         self.success = success
@@ -58894,7 +60044,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -58914,26 +60064,22 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.ire = airavata.api.error.ttypes.InvalidRequestException()
-                    self.ire.read(iprot)
+                    self.ire = airavata.api.error.ttypes.InvalidRequestException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ace = airavata.api.error.ttypes.AiravataClientException()
-                    self.ace.read(iprot)
+                    self.ace = airavata.api.error.ttypes.AiravataClientException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRUCT:
-                    self.ase = airavata.api.error.ttypes.AiravataSystemException()
-                    self.ase.read(iprot)
+                    self.ase = airavata.api.error.ttypes.AiravataSystemException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -58943,7 +60089,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('listAllParsingTemplates_result')
         if self.success is not None:
@@ -58985,3 +60131,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(listAllParsingTemplates_result)
+listAllParsingTemplates_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.appcatalog.parser.ttypes.ParsingTemplate, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'ire', [airavata.api.error.ttypes.InvalidRequestException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ace', [airavata.api.error.ttypes.AiravataClientException, None], None, ),  # 2
+    (3, TType.STRUCT, 'ase', [airavata.api.error.ttypes.AiravataSystemException, None], None, ),  # 3
+    (4, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 4
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/constants.py
index 7d73bb5..9ac8991 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 AIRAVATA_API_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService-remote
index 2d43132..d052cdd 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService.py
index 434741f..b1245de 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/CredentialStoreService.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
@@ -22,6 +25,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         pass
 
@@ -31,6 +35,7 @@
          - type
          - accessibleTokenIds
          - gatewayId
+
         """
         pass
 
@@ -41,6 +46,7 @@
 
         Parameters:
          - sshCredential
+
         """
         pass
 
@@ -48,6 +54,7 @@
         """
         Parameters:
          - certificateCredential
+
         """
         pass
 
@@ -55,6 +62,7 @@
         """
         Parameters:
          - passwordCredential
+
         """
         pass
 
@@ -63,6 +71,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         pass
 
@@ -71,6 +80,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         pass
 
@@ -79,6 +89,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         pass
 
@@ -87,6 +98,7 @@
         Parameters:
          - type
          - gatewayId
+
         """
         pass
 
@@ -96,6 +108,7 @@
          - type
          - gatewayId
          - userId
+
         """
         pass
 
@@ -103,6 +116,7 @@
         """
         Parameters:
          - gatewayId
+
         """
         pass
 
@@ -111,6 +125,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         pass
 
@@ -119,6 +134,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         pass
 
@@ -132,6 +148,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         self.send_getCredentialSummary(tokenId, gatewayId)
         return self.recv_getCredentialSummary()
@@ -168,6 +185,7 @@
          - type
          - accessibleTokenIds
          - gatewayId
+
         """
         self.send_getAllCredentialSummaries(type, accessibleTokenIds, gatewayId)
         return self.recv_getAllCredentialSummaries()
@@ -206,6 +224,7 @@
 
         Parameters:
          - sshCredential
+
         """
         self.send_addSSHCredential(sshCredential)
         return self.recv_addSSHCredential()
@@ -239,6 +258,7 @@
         """
         Parameters:
          - certificateCredential
+
         """
         self.send_addCertificateCredential(certificateCredential)
         return self.recv_addCertificateCredential()
@@ -272,6 +292,7 @@
         """
         Parameters:
          - passwordCredential
+
         """
         self.send_addPasswordCredential(passwordCredential)
         return self.recv_addPasswordCredential()
@@ -306,6 +327,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         self.send_getSSHCredential(tokenId, gatewayId)
         return self.recv_getSSHCredential()
@@ -341,6 +363,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         self.send_getCertificateCredential(tokenId, gatewayId)
         return self.recv_getCertificateCredential()
@@ -376,6 +399,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         self.send_getPasswordCredential(tokenId, gatewayId)
         return self.recv_getPasswordCredential()
@@ -411,6 +435,7 @@
         Parameters:
          - type
          - gatewayId
+
         """
         self.send_getAllCredentialSummaryForGateway(type, gatewayId)
         return self.recv_getAllCredentialSummaryForGateway()
@@ -447,6 +472,7 @@
          - type
          - gatewayId
          - userId
+
         """
         self.send_getAllCredentialSummaryForUserInGateway(type, gatewayId, userId)
         return self.recv_getAllCredentialSummaryForUserInGateway()
@@ -482,6 +508,7 @@
         """
         Parameters:
          - gatewayId
+
         """
         self.send_getAllPWDCredentialsForGateway(gatewayId)
         return self.recv_getAllPWDCredentialsForGateway()
@@ -516,6 +543,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         self.send_deleteSSHCredential(tokenId, gatewayId)
         return self.recv_deleteSSHCredential()
@@ -551,6 +579,7 @@
         Parameters:
          - tokenId
          - gatewayId
+
         """
         self.send_deletePWDCredential(tokenId, gatewayId)
         return self.recv_deletePWDCredential()
@@ -598,9 +627,15 @@
         self._processMap["getAllPWDCredentialsForGateway"] = Processor.process_getAllPWDCredentialsForGateway
         self._processMap["deleteSSHCredential"] = Processor.process_deleteSSHCredential
         self._processMap["deletePWDCredential"] = Processor.process_deletePWDCredential
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -622,14 +657,18 @@
         try:
             result.success = self._handler.getCredentialSummary(args.tokenId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getCredentialSummary", msg_type, seqid)
         result.write(oprot)
@@ -644,14 +683,18 @@
         try:
             result.success = self._handler.getAllCredentialSummaries(args.type, args.accessibleTokenIds, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllCredentialSummaries", msg_type, seqid)
         result.write(oprot)
@@ -666,14 +709,18 @@
         try:
             result.success = self._handler.addSSHCredential(args.sshCredential)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addSSHCredential", msg_type, seqid)
         result.write(oprot)
@@ -688,14 +735,18 @@
         try:
             result.success = self._handler.addCertificateCredential(args.certificateCredential)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addCertificateCredential", msg_type, seqid)
         result.write(oprot)
@@ -710,14 +761,18 @@
         try:
             result.success = self._handler.addPasswordCredential(args.passwordCredential)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addPasswordCredential", msg_type, seqid)
         result.write(oprot)
@@ -732,14 +787,18 @@
         try:
             result.success = self._handler.getSSHCredential(args.tokenId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getSSHCredential", msg_type, seqid)
         result.write(oprot)
@@ -754,14 +813,18 @@
         try:
             result.success = self._handler.getCertificateCredential(args.tokenId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getCertificateCredential", msg_type, seqid)
         result.write(oprot)
@@ -776,14 +839,18 @@
         try:
             result.success = self._handler.getPasswordCredential(args.tokenId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getPasswordCredential", msg_type, seqid)
         result.write(oprot)
@@ -798,14 +865,18 @@
         try:
             result.success = self._handler.getAllCredentialSummaryForGateway(args.type, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllCredentialSummaryForGateway", msg_type, seqid)
         result.write(oprot)
@@ -820,14 +891,18 @@
         try:
             result.success = self._handler.getAllCredentialSummaryForUserInGateway(args.type, args.gatewayId, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllCredentialSummaryForUserInGateway", msg_type, seqid)
         result.write(oprot)
@@ -842,14 +917,18 @@
         try:
             result.success = self._handler.getAllPWDCredentialsForGateway(args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllPWDCredentialsForGateway", msg_type, seqid)
         result.write(oprot)
@@ -864,14 +943,18 @@
         try:
             result.success = self._handler.deleteSSHCredential(args.tokenId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteSSHCredential", msg_type, seqid)
         result.write(oprot)
@@ -886,14 +969,18 @@
         try:
             result.success = self._handler.deletePWDCredential(args.tokenId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.api.credential.store.error.ttypes.CredentialStoreException as csException:
             msg_type = TMessageType.REPLY
             result.csException = csException
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deletePWDCredential", msg_type, seqid)
         result.write(oprot)
@@ -908,13 +995,9 @@
     Attributes:
      - tokenId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, tokenId=None, gatewayId=None,):
         self.tokenId = tokenId
@@ -922,7 +1005,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -931,12 +1014,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -946,7 +1029,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCredentialSummary_args')
         if self.tokenId is not None:
@@ -977,6 +1060,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCredentialSummary_args)
+getCredentialSummary_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getCredentialSummary_result(object):
@@ -984,12 +1073,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.credential.store.ttypes.CredentialSummary, airavata.model.credential.store.ttypes.CredentialSummary.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -997,7 +1083,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1012,8 +1098,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1023,7 +1108,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCredentialSummary_result')
         if self.success is not None:
@@ -1050,6 +1135,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCredentialSummary_result)
+getCredentialSummary_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.credential.store.ttypes.CredentialSummary, None], None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getAllCredentialSummaries_args(object):
@@ -1058,14 +1148,9 @@
      - type
      - accessibleTokenIds
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'type', None, None, ),  # 1
-        (2, TType.LIST, 'accessibleTokenIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, type=None, accessibleTokenIds=None, gatewayId=None,):
         self.type = type
@@ -1074,7 +1159,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1091,14 +1176,14 @@
                     self.accessibleTokenIds = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.accessibleTokenIds.append(_elem5)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1108,7 +1193,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaries_args')
         if self.type is not None:
@@ -1148,6 +1233,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaries_args)
+getAllCredentialSummaries_args.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'type', None, None, ),  # 1
+    (2, TType.LIST, 'accessibleTokenIds', (TType.STRING, 'UTF8', False), None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class getAllCredentialSummaries_result(object):
@@ -1155,12 +1247,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.credential.store.ttypes.CredentialSummary, airavata.model.credential.store.ttypes.CredentialSummary.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -1168,7 +1257,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1188,8 +1277,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1199,7 +1287,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaries_result')
         if self.success is not None:
@@ -1229,25 +1317,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaries_result)
+getAllCredentialSummaries_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.credential.store.ttypes.CredentialSummary, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class addSSHCredential_args(object):
     """
     Attributes:
      - sshCredential
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'sshCredential', (airavata.model.credential.store.ttypes.SSHCredential, airavata.model.credential.store.ttypes.SSHCredential.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, sshCredential=None,):
         self.sshCredential = sshCredential
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1267,7 +1357,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSSHCredential_args')
         if self.sshCredential is not None:
@@ -1292,6 +1382,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSSHCredential_args)
+addSSHCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'sshCredential', [airavata.model.credential.store.ttypes.SSHCredential, None], None, ),  # 1
+)
 
 
 class addSSHCredential_result(object):
@@ -1299,12 +1394,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -1312,7 +1404,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1321,13 +1413,12 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1337,7 +1428,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addSSHCredential_result')
         if self.success is not None:
@@ -1364,25 +1455,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addSSHCredential_result)
+addSSHCredential_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class addCertificateCredential_args(object):
     """
     Attributes:
      - certificateCredential
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'certificateCredential', (airavata.model.credential.store.ttypes.CertificateCredential, airavata.model.credential.store.ttypes.CertificateCredential.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, certificateCredential=None,):
         self.certificateCredential = certificateCredential
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1402,7 +1495,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addCertificateCredential_args')
         if self.certificateCredential is not None:
@@ -1427,6 +1520,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addCertificateCredential_args)
+addCertificateCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'certificateCredential', [airavata.model.credential.store.ttypes.CertificateCredential, None], None, ),  # 1
+)
 
 
 class addCertificateCredential_result(object):
@@ -1434,12 +1532,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -1447,7 +1542,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1456,13 +1551,12 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1472,7 +1566,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addCertificateCredential_result')
         if self.success is not None:
@@ -1499,25 +1593,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addCertificateCredential_result)
+addCertificateCredential_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class addPasswordCredential_args(object):
     """
     Attributes:
      - passwordCredential
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'passwordCredential', (airavata.model.credential.store.ttypes.PasswordCredential, airavata.model.credential.store.ttypes.PasswordCredential.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, passwordCredential=None,):
         self.passwordCredential = passwordCredential
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1537,7 +1633,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addPasswordCredential_args')
         if self.passwordCredential is not None:
@@ -1562,6 +1658,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addPasswordCredential_args)
+addPasswordCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'passwordCredential', [airavata.model.credential.store.ttypes.PasswordCredential, None], None, ),  # 1
+)
 
 
 class addPasswordCredential_result(object):
@@ -1569,12 +1670,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -1582,7 +1680,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1591,13 +1689,12 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1607,7 +1704,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addPasswordCredential_result')
         if self.success is not None:
@@ -1634,6 +1731,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addPasswordCredential_result)
+addPasswordCredential_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getSSHCredential_args(object):
@@ -1641,13 +1743,9 @@
     Attributes:
      - tokenId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, tokenId=None, gatewayId=None,):
         self.tokenId = tokenId
@@ -1655,7 +1753,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1664,12 +1762,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1679,7 +1777,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSSHCredential_args')
         if self.tokenId is not None:
@@ -1710,6 +1808,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSSHCredential_args)
+getSSHCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getSSHCredential_result(object):
@@ -1717,12 +1821,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.credential.store.ttypes.SSHCredential, airavata.model.credential.store.ttypes.SSHCredential.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -1730,7 +1831,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1745,8 +1846,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1756,7 +1856,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getSSHCredential_result')
         if self.success is not None:
@@ -1783,6 +1883,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getSSHCredential_result)
+getSSHCredential_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.credential.store.ttypes.SSHCredential, None], None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getCertificateCredential_args(object):
@@ -1790,13 +1895,9 @@
     Attributes:
      - tokenId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, tokenId=None, gatewayId=None,):
         self.tokenId = tokenId
@@ -1804,7 +1905,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1813,12 +1914,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1828,7 +1929,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCertificateCredential_args')
         if self.tokenId is not None:
@@ -1859,6 +1960,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCertificateCredential_args)
+getCertificateCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getCertificateCredential_result(object):
@@ -1866,12 +1973,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.credential.store.ttypes.CertificateCredential, airavata.model.credential.store.ttypes.CertificateCredential.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -1879,7 +1983,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1894,8 +1998,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1905,7 +2008,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getCertificateCredential_result')
         if self.success is not None:
@@ -1932,6 +2035,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getCertificateCredential_result)
+getCertificateCredential_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.credential.store.ttypes.CertificateCredential, None], None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getPasswordCredential_args(object):
@@ -1939,13 +2047,9 @@
     Attributes:
      - tokenId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, tokenId=None, gatewayId=None,):
         self.tokenId = tokenId
@@ -1953,7 +2057,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1962,12 +2066,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1977,7 +2081,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getPasswordCredential_args')
         if self.tokenId is not None:
@@ -2008,6 +2112,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getPasswordCredential_args)
+getPasswordCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getPasswordCredential_result(object):
@@ -2015,12 +2125,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.credential.store.ttypes.PasswordCredential, airavata.model.credential.store.ttypes.PasswordCredential.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -2028,7 +2135,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2043,8 +2150,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2054,7 +2160,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getPasswordCredential_result')
         if self.success is not None:
@@ -2081,6 +2187,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getPasswordCredential_result)
+getPasswordCredential_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.credential.store.ttypes.PasswordCredential, None], None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getAllCredentialSummaryForGateway_args(object):
@@ -2088,13 +2199,9 @@
     Attributes:
      - type
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'type', None, None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, type=None, gatewayId=None,):
         self.type = type
@@ -2102,7 +2209,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2116,7 +2223,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2126,7 +2233,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaryForGateway_args')
         if self.type is not None:
@@ -2157,6 +2264,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaryForGateway_args)
+getAllCredentialSummaryForGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'type', None, None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllCredentialSummaryForGateway_result(object):
@@ -2164,12 +2277,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.credential.store.ttypes.CredentialSummary, airavata.model.credential.store.ttypes.CredentialSummary.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -2177,7 +2287,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2197,8 +2307,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2208,7 +2317,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaryForGateway_result')
         if self.success is not None:
@@ -2238,6 +2347,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaryForGateway_result)
+getAllCredentialSummaryForGateway_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.credential.store.ttypes.CredentialSummary, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getAllCredentialSummaryForUserInGateway_args(object):
@@ -2246,14 +2360,9 @@
      - type
      - gatewayId
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'type', None, None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, type=None, gatewayId=None, userId=None,):
         self.type = type
@@ -2262,7 +2371,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2276,12 +2385,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2291,7 +2400,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaryForUserInGateway_args')
         if self.type is not None:
@@ -2328,6 +2437,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaryForUserInGateway_args)
+getAllCredentialSummaryForUserInGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'type', None, None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
+)
 
 
 class getAllCredentialSummaryForUserInGateway_result(object):
@@ -2335,12 +2451,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.credential.store.ttypes.CredentialSummary, airavata.model.credential.store.ttypes.CredentialSummary.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -2348,7 +2461,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2368,8 +2481,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2379,7 +2491,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllCredentialSummaryForUserInGateway_result')
         if self.success is not None:
@@ -2409,25 +2521,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllCredentialSummaryForUserInGateway_result)
+getAllCredentialSummaryForUserInGateway_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.credential.store.ttypes.CredentialSummary, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class getAllPWDCredentialsForGateway_args(object):
     """
     Attributes:
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, gatewayId=None,):
         self.gatewayId = gatewayId
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2436,7 +2550,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2446,7 +2560,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllPWDCredentialsForGateway_args')
         if self.gatewayId is not None:
@@ -2471,6 +2585,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllPWDCredentialsForGateway_args)
+getAllPWDCredentialsForGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
+)
 
 
 class getAllPWDCredentialsForGateway_result(object):
@@ -2478,12 +2597,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -2491,7 +2607,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2503,16 +2619,15 @@
                     self.success = {}
                     (_ktype29, _vtype30, _size28) = iprot.readMapBegin()
                     for _i32 in range(_size28):
-                        _key33 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val34 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key33 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val34 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.success[_key33] = _val34
                     iprot.readMapEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2522,7 +2637,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllPWDCredentialsForGateway_result')
         if self.success is not None:
@@ -2553,6 +2668,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllPWDCredentialsForGateway_result)
+getAllPWDCredentialsForGateway_result.thrift_spec = (
+    (0, TType.MAP, 'success', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class deleteSSHCredential_args(object):
@@ -2560,13 +2680,9 @@
     Attributes:
      - tokenId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, tokenId=None, gatewayId=None,):
         self.tokenId = tokenId
@@ -2574,7 +2690,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2583,12 +2699,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2598,7 +2714,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteSSHCredential_args')
         if self.tokenId is not None:
@@ -2629,6 +2745,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteSSHCredential_args)
+deleteSSHCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteSSHCredential_result(object):
@@ -2636,12 +2758,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -2649,7 +2768,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2663,8 +2782,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2674,7 +2792,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteSSHCredential_result')
         if self.success is not None:
@@ -2701,6 +2819,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteSSHCredential_result)
+deleteSSHCredential_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
 
 
 class deletePWDCredential_args(object):
@@ -2708,13 +2831,9 @@
     Attributes:
      - tokenId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, tokenId=None, gatewayId=None,):
         self.tokenId = tokenId
@@ -2722,7 +2841,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2731,12 +2850,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2746,7 +2865,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deletePWDCredential_args')
         if self.tokenId is not None:
@@ -2777,6 +2896,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deletePWDCredential_args)
+deletePWDCredential_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tokenId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class deletePWDCredential_result(object):
@@ -2784,12 +2909,9 @@
     Attributes:
      - success
      - csException
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'csException', (airavata.api.credential.store.error.ttypes.CredentialStoreException, airavata.api.credential.store.error.ttypes.CredentialStoreException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, csException=None,):
         self.success = success
@@ -2797,7 +2919,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2811,8 +2933,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException()
-                    self.csException.read(iprot)
+                    self.csException = airavata.api.credential.store.error.ttypes.CredentialStoreException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2822,7 +2943,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deletePWDCredential_result')
         if self.success is not None:
@@ -2849,3 +2970,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deletePWDCredential_result)
+deletePWDCredential_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'csException', [airavata.api.credential.store.error.ttypes.CredentialStoreException, None], None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/constants.py
index 6cfae29..1e7be5d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 CS_CPI_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/ttypes.py
index 87f6b46..99a77d8 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/error/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,47 +8,60 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class CredentialStoreException(TException):
     """
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(CredentialStoreException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CredentialStoreException')
         if self.message is not None:
@@ -76,3 +89,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(CredentialStoreException)
+CredentialStoreException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/ttypes.py
index ef69474..f315dff 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/credential/store/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,14 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.credential.store.ttypes
 import airavata.api.credential.store.error.ttypes
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/ttypes.py
index 3f1761f..1ab49e5 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/error/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.experiment.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class AiravataErrorType(object):
@@ -33,6 +36,7 @@
      UNKNOWN_GATEWAY_ID: The gateway is not registered with Airavata.
 
      UNSUPPORTED_OPERATION: Operation denied because it is currently unsupported.
+
     """
     UNKNOWN = 0
     PERMISSION_DENIED = 1
@@ -76,38 +80,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(ExperimentNotFoundException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentNotFoundException')
         if self.message is not None:
@@ -145,38 +159,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(ProjectNotFoundException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProjectNotFoundException')
         if self.message is not None:
@@ -215,38 +239,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(InvalidRequestException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('InvalidRequestException')
         if self.message is not None:
@@ -279,15 +313,23 @@
 class TimedOutException(TException):
     """
     This exception is thrown when RPC timeout gets exceeded.
+
     """
 
-    thrift_spec = (
-    )
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash(())
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
@@ -297,10 +339,12 @@
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TimedOutException')
         oprot.writeFieldStop()
@@ -332,38 +376,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(AuthenticationException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('AuthenticationException')
         if self.message is not None:
@@ -401,38 +455,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(AuthorizationException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('AuthorizationException')
         if self.message is not None:
@@ -472,38 +536,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(DuplicateEntryException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DuplicateEntryException')
         if self.message is not None:
@@ -552,45 +626,56 @@
     Attributes:
      - airavataErrorType
      - parameter
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'airavataErrorType', None, None, ),  # 1
-        (2, TType.STRING, 'parameter', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, airavataErrorType=None, parameter=None,):
-        self.airavataErrorType = airavataErrorType
-        self.parameter = parameter
+        super(AiravataClientException, self).__setattr__('airavataErrorType', airavataErrorType)
+        super(AiravataClientException, self).__setattr__('parameter', parameter)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.airavataErrorType, self.parameter, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        airavataErrorType = None
+        parameter = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.I32:
-                    self.airavataErrorType = iprot.readI32()
+                    airavataErrorType = iprot.readI32()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.parameter = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    parameter = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            airavataErrorType=airavataErrorType,
+            parameter=parameter,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('AiravataClientException')
         if self.airavataErrorType is not None:
@@ -629,13 +714,9 @@
     Attributes:
      - result
      - errorDetails
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.BOOL, 'result', None, None, ),  # 1
-        (2, TType.STRING, 'errorDetails', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, result=None, errorDetails=None,):
         self.result = result
@@ -643,7 +724,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -657,7 +738,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.errorDetails = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.errorDetails = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -667,7 +748,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ValidatorResult')
         if self.result is not None:
@@ -703,13 +784,9 @@
     Attributes:
      - validationState
      - validationResultList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.BOOL, 'validationState', None, None, ),  # 1
-        (2, TType.LIST, 'validationResultList', (TType.STRUCT, (ValidatorResult, ValidatorResult.thrift_spec), False), None, ),  # 2
-    )
 
     def __init__(self, validationState=None, validationResultList=None,):
         self.validationState = validationState
@@ -717,7 +794,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -747,7 +824,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ValidationResults')
         if self.validationState is not None:
@@ -788,46 +865,57 @@
     Attributes:
      - validationResult
      - errorMessage
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'validationResult', (ValidationResults, ValidationResults.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'errorMessage', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, validationResult=None, errorMessage=None,):
-        self.validationResult = validationResult
-        self.errorMessage = errorMessage
+        super(LaunchValidationException, self).__setattr__('validationResult', validationResult)
+        super(LaunchValidationException, self).__setattr__('errorMessage', errorMessage)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.validationResult, self.errorMessage, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        validationResult = None
+        errorMessage = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.validationResult = ValidationResults()
-                    self.validationResult.read(iprot)
+                    validationResult = ValidationResults()
+                    validationResult.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.errorMessage = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    errorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            validationResult=validationResult,
+            errorMessage=errorMessage,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('LaunchValidationException')
         if self.validationResult is not None:
@@ -875,45 +963,56 @@
     Attributes:
      - airavataErrorType
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'airavataErrorType', None, None, ),  # 1
-        (2, TType.STRING, 'message', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, airavataErrorType=None, message=None,):
-        self.airavataErrorType = airavataErrorType
-        self.message = message
+        super(AiravataSystemException, self).__setattr__('airavataErrorType', airavataErrorType)
+        super(AiravataSystemException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.airavataErrorType, self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        airavataErrorType = None
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.I32:
-                    self.airavataErrorType = iprot.readI32()
+                    airavataErrorType = iprot.readI32()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            airavataErrorType=airavataErrorType,
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('AiravataSystemException')
         if self.airavataErrorType is not None:
@@ -945,3 +1044,68 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ExperimentNotFoundException)
+ExperimentNotFoundException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(ProjectNotFoundException)
+ProjectNotFoundException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(InvalidRequestException)
+InvalidRequestException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(TimedOutException)
+TimedOutException.thrift_spec = (
+)
+all_structs.append(AuthenticationException)
+AuthenticationException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(AuthorizationException)
+AuthorizationException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(DuplicateEntryException)
+DuplicateEntryException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(AiravataClientException)
+AiravataClientException.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'airavataErrorType', None, None, ),  # 1
+    (2, TType.STRING, 'parameter', 'UTF8', None, ),  # 2
+)
+all_structs.append(ValidatorResult)
+ValidatorResult.thrift_spec = (
+    None,  # 0
+    (1, TType.BOOL, 'result', None, None, ),  # 1
+    (2, TType.STRING, 'errorDetails', 'UTF8', None, ),  # 2
+)
+all_structs.append(ValidationResults)
+ValidationResults.thrift_spec = (
+    None,  # 0
+    (1, TType.BOOL, 'validationState', None, None, ),  # 1
+    (2, TType.LIST, 'validationResultList', (TType.STRUCT, [ValidatorResult, None], False), None, ),  # 2
+)
+all_structs.append(LaunchValidationException)
+LaunchValidationException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'validationResult', [ValidationResults, None], None, ),  # 1
+    (2, TType.STRING, 'errorMessage', 'UTF8', None, ),  # 2
+)
+all_structs.append(AiravataSystemException)
+AiravataSystemException.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'airavataErrorType', None, None, ),  # 1
+    (2, TType.STRING, 'message', 'UTF8', None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService-remote
index 85bd9f9..6155ffa 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService.py
index c500066..e54be8b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/SharingRegistryService.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
@@ -23,6 +26,7 @@
 
         Parameters:
          - domain
+
         """
         pass
 
@@ -32,6 +36,7 @@
 
         Parameters:
          - domain
+
         """
         pass
 
@@ -41,6 +46,7 @@
 
         Parameters:
          - domainId
+
         """
         pass
 
@@ -50,6 +56,7 @@
 
         Parameters:
          - domainId
+
         """
         pass
 
@@ -59,6 +66,7 @@
 
         Parameters:
          - domainId
+
         """
         pass
 
@@ -69,6 +77,7 @@
         Parameters:
          - offset
          - limit
+
         """
         pass
 
@@ -78,6 +87,7 @@
 
         Parameters:
          - user
+
         """
         pass
 
@@ -87,6 +97,7 @@
 
         Parameters:
          - user
+
         """
         pass
 
@@ -97,6 +108,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         pass
 
@@ -107,6 +119,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         pass
 
@@ -117,6 +130,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         pass
 
@@ -131,6 +145,7 @@
          - domainId
          - offset
          - limit
+
         """
         pass
 
@@ -140,6 +155,7 @@
 
         Parameters:
          - group
+
         """
         pass
 
@@ -149,6 +165,7 @@
 
         Parameters:
          - group
+
         """
         pass
 
@@ -159,6 +176,7 @@
         Parameters:
          - domainId
          - groupId
+
         """
         pass
 
@@ -169,6 +187,7 @@
         Parameters:
          - domainId
          - groupId
+
         """
         pass
 
@@ -179,6 +198,7 @@
         Parameters:
          - domainId
          - groupId
+
         """
         pass
 
@@ -190,6 +210,7 @@
          - domainId
          - offset
          - limit
+
         """
         pass
 
@@ -201,6 +222,7 @@
          - domainId
          - userIds
          - groupId
+
         """
         pass
 
@@ -212,6 +234,7 @@
          - domainId
          - userIds
          - groupId
+
         """
         pass
 
@@ -223,6 +246,7 @@
          - domainId
          - groupId
          - newOwnerId
+
         """
         pass
 
@@ -234,6 +258,7 @@
          - domainId
          - groupId
          - adminIds
+
         """
         pass
 
@@ -245,6 +270,7 @@
          - domainId
          - groupId
          - adminIds
+
         """
         pass
 
@@ -256,6 +282,7 @@
          - domainId
          - groupId
          - adminId
+
         """
         pass
 
@@ -267,6 +294,7 @@
          - domainId
          - groupId
          - ownerId
+
         """
         pass
 
@@ -279,6 +307,7 @@
          - groupId
          - offset
          - limit
+
         """
         pass
 
@@ -291,6 +320,7 @@
          - groupId
          - offset
          - limit
+
         """
         pass
 
@@ -302,6 +332,7 @@
          - domainId
          - childIds
          - groupId
+
         """
         pass
 
@@ -313,6 +344,7 @@
          - domainId
          - childId
          - groupId
+
         """
         pass
 
@@ -321,6 +353,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         pass
 
@@ -330,6 +363,7 @@
 
         Parameters:
          - entityType
+
         """
         pass
 
@@ -339,6 +373,7 @@
 
         Parameters:
          - entityType
+
         """
         pass
 
@@ -349,6 +384,7 @@
         Parameters:
          - domainId
          - entityTypeId
+
         """
         pass
 
@@ -359,6 +395,7 @@
         Parameters:
          - domainId
          - entityTypeId
+
         """
         pass
 
@@ -369,6 +406,7 @@
         Parameters:
          - domainId
          - entityTypeId
+
         """
         pass
 
@@ -380,6 +418,7 @@
          - domainId
          - offset
          - limit
+
         """
         pass
 
@@ -389,6 +428,7 @@
 
         Parameters:
          - entity
+
         """
         pass
 
@@ -398,6 +438,7 @@
 
         Parameters:
          - entity
+
         """
         pass
 
@@ -408,6 +449,7 @@
         Parameters:
          - domainId
          - entityId
+
         """
         pass
 
@@ -418,6 +460,7 @@
         Parameters:
          - domainId
          - entityId
+
         """
         pass
 
@@ -428,6 +471,7 @@
         Parameters:
          - domainId
          - entityId
+
         """
         pass
 
@@ -441,6 +485,7 @@
          - filters
          - offset
          - limit
+
         """
         pass
 
@@ -452,6 +497,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         pass
 
@@ -463,6 +509,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         pass
 
@@ -474,6 +521,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         pass
 
@@ -485,6 +533,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         pass
 
@@ -494,6 +543,7 @@
 
         Parameters:
          - permissionType
+
         """
         pass
 
@@ -503,6 +553,7 @@
 
         Parameters:
          - permissionType
+
         """
         pass
 
@@ -513,6 +564,7 @@
         Parameters:
          - dimainId
          - permissionId
+
         """
         pass
 
@@ -523,6 +575,7 @@
         Parameters:
          - domainId
          - permissionTypeId
+
         """
         pass
 
@@ -533,6 +586,7 @@
         Parameters:
          - domainId
          - permissionTypeId
+
         """
         pass
 
@@ -544,6 +598,7 @@
          - domainId
          - offset
          - limit
+
         """
         pass
 
@@ -557,6 +612,7 @@
          - userList
          - permissionTypeId
          - cascadePermission
+
         """
         pass
 
@@ -569,6 +625,7 @@
          - entityId
          - userList
          - permissionTypeId
+
         """
         pass
 
@@ -582,6 +639,7 @@
          - groupList
          - permissionTypeId
          - cascadePermission
+
         """
         pass
 
@@ -594,6 +652,7 @@
          - entityId
          - groupList
          - permissionTypeId
+
         """
         pass
 
@@ -606,6 +665,7 @@
          - userId
          - entityId
          - permissionTypeId
+
         """
         pass
 
@@ -620,6 +680,7 @@
 
         Parameters:
          - domain
+
         """
         self.send_createDomain(domain)
         return self.recv_createDomain()
@@ -657,6 +718,7 @@
 
         Parameters:
          - domain
+
         """
         self.send_updateDomain(domain)
         return self.recv_updateDomain()
@@ -692,6 +754,7 @@
 
         Parameters:
          - domainId
+
         """
         self.send_isDomainExists(domainId)
         return self.recv_isDomainExists()
@@ -727,6 +790,7 @@
 
         Parameters:
          - domainId
+
         """
         self.send_deleteDomain(domainId)
         return self.recv_deleteDomain()
@@ -762,6 +826,7 @@
 
         Parameters:
          - domainId
+
         """
         self.send_getDomain(domainId)
         return self.recv_getDomain()
@@ -798,6 +863,7 @@
         Parameters:
          - offset
          - limit
+
         """
         self.send_getDomains(offset, limit)
         return self.recv_getDomains()
@@ -834,6 +900,7 @@
 
         Parameters:
          - user
+
         """
         self.send_createUser(user)
         return self.recv_createUser()
@@ -871,6 +938,7 @@
 
         Parameters:
          - user
+
         """
         self.send_updatedUser(user)
         return self.recv_updatedUser()
@@ -907,6 +975,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         self.send_isUserExists(domainId, userId)
         return self.recv_isUserExists()
@@ -944,6 +1013,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         self.send_deleteUser(domainId, userId)
         return self.recv_deleteUser()
@@ -981,6 +1051,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         self.send_getUser(domainId, userId)
         return self.recv_getUser()
@@ -1022,6 +1093,7 @@
          - domainId
          - offset
          - limit
+
         """
         self.send_getUsers(domainId, offset, limit)
         return self.recv_getUsers()
@@ -1059,6 +1131,7 @@
 
         Parameters:
          - group
+
         """
         self.send_createGroup(group)
         return self.recv_createGroup()
@@ -1094,6 +1167,7 @@
 
         Parameters:
          - group
+
         """
         self.send_updateGroup(group)
         return self.recv_updateGroup()
@@ -1130,6 +1204,7 @@
         Parameters:
          - domainId
          - groupId
+
         """
         self.send_isGroupExists(domainId, groupId)
         return self.recv_isGroupExists()
@@ -1167,6 +1242,7 @@
         Parameters:
          - domainId
          - groupId
+
         """
         self.send_deleteGroup(domainId, groupId)
         return self.recv_deleteGroup()
@@ -1204,6 +1280,7 @@
         Parameters:
          - domainId
          - groupId
+
         """
         self.send_getGroup(domainId, groupId)
         return self.recv_getGroup()
@@ -1242,6 +1319,7 @@
          - domainId
          - offset
          - limit
+
         """
         self.send_getGroups(domainId, offset, limit)
         return self.recv_getGroups()
@@ -1279,6 +1357,7 @@
          - domainId
          - userIds
          - groupId
+
         """
         self.send_addUsersToGroup(domainId, userIds, groupId)
         return self.recv_addUsersToGroup()
@@ -1318,6 +1397,7 @@
          - domainId
          - userIds
          - groupId
+
         """
         self.send_removeUsersFromGroup(domainId, userIds, groupId)
         return self.recv_removeUsersFromGroup()
@@ -1357,6 +1437,7 @@
          - domainId
          - groupId
          - newOwnerId
+
         """
         self.send_transferGroupOwnership(domainId, groupId, newOwnerId)
         return self.recv_transferGroupOwnership()
@@ -1396,6 +1477,7 @@
          - domainId
          - groupId
          - adminIds
+
         """
         self.send_addGroupAdmins(domainId, groupId, adminIds)
         return self.recv_addGroupAdmins()
@@ -1435,6 +1517,7 @@
          - domainId
          - groupId
          - adminIds
+
         """
         self.send_removeGroupAdmins(domainId, groupId, adminIds)
         return self.recv_removeGroupAdmins()
@@ -1474,6 +1557,7 @@
          - domainId
          - groupId
          - adminId
+
         """
         self.send_hasAdminAccess(domainId, groupId, adminId)
         return self.recv_hasAdminAccess()
@@ -1513,6 +1597,7 @@
          - domainId
          - groupId
          - ownerId
+
         """
         self.send_hasOwnerAccess(domainId, groupId, ownerId)
         return self.recv_hasOwnerAccess()
@@ -1553,6 +1638,7 @@
          - groupId
          - offset
          - limit
+
         """
         self.send_getGroupMembersOfTypeUser(domainId, groupId, offset, limit)
         return self.recv_getGroupMembersOfTypeUser()
@@ -1594,6 +1680,7 @@
          - groupId
          - offset
          - limit
+
         """
         self.send_getGroupMembersOfTypeGroup(domainId, groupId, offset, limit)
         return self.recv_getGroupMembersOfTypeGroup()
@@ -1634,6 +1721,7 @@
          - domainId
          - childIds
          - groupId
+
         """
         self.send_addChildGroupsToParentGroup(domainId, childIds, groupId)
         return self.recv_addChildGroupsToParentGroup()
@@ -1673,6 +1761,7 @@
          - domainId
          - childId
          - groupId
+
         """
         self.send_removeChildGroupFromParentGroup(domainId, childId, groupId)
         return self.recv_removeChildGroupFromParentGroup()
@@ -1709,6 +1798,7 @@
         Parameters:
          - domainId
          - userId
+
         """
         self.send_getAllMemberGroupsForUser(domainId, userId)
         return self.recv_getAllMemberGroupsForUser()
@@ -1745,6 +1835,7 @@
 
         Parameters:
          - entityType
+
         """
         self.send_createEntityType(entityType)
         return self.recv_createEntityType()
@@ -1782,6 +1873,7 @@
 
         Parameters:
          - entityType
+
         """
         self.send_updateEntityType(entityType)
         return self.recv_updateEntityType()
@@ -1818,6 +1910,7 @@
         Parameters:
          - domainId
          - entityTypeId
+
         """
         self.send_isEntityTypeExists(domainId, entityTypeId)
         return self.recv_isEntityTypeExists()
@@ -1855,6 +1948,7 @@
         Parameters:
          - domainId
          - entityTypeId
+
         """
         self.send_deleteEntityType(domainId, entityTypeId)
         return self.recv_deleteEntityType()
@@ -1892,6 +1986,7 @@
         Parameters:
          - domainId
          - entityTypeId
+
         """
         self.send_getEntityType(domainId, entityTypeId)
         return self.recv_getEntityType()
@@ -1930,6 +2025,7 @@
          - domainId
          - offset
          - limit
+
         """
         self.send_getEntityTypes(domainId, offset, limit)
         return self.recv_getEntityTypes()
@@ -1967,6 +2063,7 @@
 
         Parameters:
          - entity
+
         """
         self.send_createEntity(entity)
         return self.recv_createEntity()
@@ -2002,6 +2099,7 @@
 
         Parameters:
          - entity
+
         """
         self.send_updateEntity(entity)
         return self.recv_updateEntity()
@@ -2038,6 +2136,7 @@
         Parameters:
          - domainId
          - entityId
+
         """
         self.send_isEntityExists(domainId, entityId)
         return self.recv_isEntityExists()
@@ -2075,6 +2174,7 @@
         Parameters:
          - domainId
          - entityId
+
         """
         self.send_deleteEntity(domainId, entityId)
         return self.recv_deleteEntity()
@@ -2112,6 +2212,7 @@
         Parameters:
          - domainId
          - entityId
+
         """
         self.send_getEntity(domainId, entityId)
         return self.recv_getEntity()
@@ -2152,6 +2253,7 @@
          - filters
          - offset
          - limit
+
         """
         self.send_searchEntities(domainId, userId, filters, offset, limit)
         return self.recv_searchEntities()
@@ -2193,6 +2295,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         self.send_getListOfSharedUsers(domainId, entityId, permissionTypeId)
         return self.recv_getListOfSharedUsers()
@@ -2232,6 +2335,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         self.send_getListOfDirectlySharedUsers(domainId, entityId, permissionTypeId)
         return self.recv_getListOfDirectlySharedUsers()
@@ -2271,6 +2375,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         self.send_getListOfSharedGroups(domainId, entityId, permissionTypeId)
         return self.recv_getListOfSharedGroups()
@@ -2310,6 +2415,7 @@
          - domainId
          - entityId
          - permissionTypeId
+
         """
         self.send_getListOfDirectlySharedGroups(domainId, entityId, permissionTypeId)
         return self.recv_getListOfDirectlySharedGroups()
@@ -2347,6 +2453,7 @@
 
         Parameters:
          - permissionType
+
         """
         self.send_createPermissionType(permissionType)
         return self.recv_createPermissionType()
@@ -2384,6 +2491,7 @@
 
         Parameters:
          - permissionType
+
         """
         self.send_updatePermissionType(permissionType)
         return self.recv_updatePermissionType()
@@ -2420,6 +2528,7 @@
         Parameters:
          - dimainId
          - permissionId
+
         """
         self.send_isPermissionExists(dimainId, permissionId)
         return self.recv_isPermissionExists()
@@ -2457,6 +2566,7 @@
         Parameters:
          - domainId
          - permissionTypeId
+
         """
         self.send_deletePermissionType(domainId, permissionTypeId)
         return self.recv_deletePermissionType()
@@ -2494,6 +2604,7 @@
         Parameters:
          - domainId
          - permissionTypeId
+
         """
         self.send_getPermissionType(domainId, permissionTypeId)
         return self.recv_getPermissionType()
@@ -2532,6 +2643,7 @@
          - domainId
          - offset
          - limit
+
         """
         self.send_getPermissionTypes(domainId, offset, limit)
         return self.recv_getPermissionTypes()
@@ -2573,6 +2685,7 @@
          - userList
          - permissionTypeId
          - cascadePermission
+
         """
         self.send_shareEntityWithUsers(domainId, entityId, userList, permissionTypeId, cascadePermission)
         return self.recv_shareEntityWithUsers()
@@ -2615,6 +2728,7 @@
          - entityId
          - userList
          - permissionTypeId
+
         """
         self.send_revokeEntitySharingFromUsers(domainId, entityId, userList, permissionTypeId)
         return self.recv_revokeEntitySharingFromUsers()
@@ -2657,6 +2771,7 @@
          - groupList
          - permissionTypeId
          - cascadePermission
+
         """
         self.send_shareEntityWithGroups(domainId, entityId, groupList, permissionTypeId, cascadePermission)
         return self.recv_shareEntityWithGroups()
@@ -2699,6 +2814,7 @@
          - entityId
          - groupList
          - permissionTypeId
+
         """
         self.send_revokeEntitySharingFromGroups(domainId, entityId, groupList, permissionTypeId)
         return self.recv_revokeEntitySharingFromGroups()
@@ -2740,6 +2856,7 @@
          - userId
          - entityId
          - permissionTypeId
+
         """
         self.send_userHasAccess(domainId, userId, entityId, permissionTypeId)
         return self.recv_userHasAccess()
@@ -2833,9 +2950,15 @@
         self._processMap["shareEntityWithGroups"] = Processor.process_shareEntityWithGroups
         self._processMap["revokeEntitySharingFromGroups"] = Processor.process_revokeEntitySharingFromGroups
         self._processMap["userHasAccess"] = Processor.process_userHasAccess
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -2857,7 +2980,7 @@
         try:
             result.success = self._handler.createDomain(args.domain)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
@@ -2865,9 +2988,13 @@
         except airavata.model.sharing.ttypes.DuplicateEntryException as dee:
             msg_type = TMessageType.REPLY
             result.dee = dee
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createDomain", msg_type, seqid)
         result.write(oprot)
@@ -2882,14 +3009,18 @@
         try:
             result.success = self._handler.updateDomain(args.domain)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateDomain", msg_type, seqid)
         result.write(oprot)
@@ -2904,14 +3035,18 @@
         try:
             result.success = self._handler.isDomainExists(args.domainId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isDomainExists", msg_type, seqid)
         result.write(oprot)
@@ -2926,14 +3061,18 @@
         try:
             result.success = self._handler.deleteDomain(args.domainId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteDomain", msg_type, seqid)
         result.write(oprot)
@@ -2948,14 +3087,18 @@
         try:
             result.success = self._handler.getDomain(args.domainId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getDomain", msg_type, seqid)
         result.write(oprot)
@@ -2970,14 +3113,18 @@
         try:
             result.success = self._handler.getDomains(args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getDomains", msg_type, seqid)
         result.write(oprot)
@@ -2992,7 +3139,7 @@
         try:
             result.success = self._handler.createUser(args.user)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
@@ -3000,9 +3147,13 @@
         except airavata.model.sharing.ttypes.DuplicateEntryException as dee:
             msg_type = TMessageType.REPLY
             result.dee = dee
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createUser", msg_type, seqid)
         result.write(oprot)
@@ -3017,14 +3168,18 @@
         try:
             result.success = self._handler.updatedUser(args.user)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updatedUser", msg_type, seqid)
         result.write(oprot)
@@ -3039,14 +3194,18 @@
         try:
             result.success = self._handler.isUserExists(args.domainId, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isUserExists", msg_type, seqid)
         result.write(oprot)
@@ -3061,14 +3220,18 @@
         try:
             result.success = self._handler.deleteUser(args.domainId, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteUser", msg_type, seqid)
         result.write(oprot)
@@ -3083,14 +3246,18 @@
         try:
             result.success = self._handler.getUser(args.domainId, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUser", msg_type, seqid)
         result.write(oprot)
@@ -3105,14 +3272,18 @@
         try:
             result.success = self._handler.getUsers(args.domainId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUsers", msg_type, seqid)
         result.write(oprot)
@@ -3127,14 +3298,18 @@
         try:
             result.success = self._handler.createGroup(args.group)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createGroup", msg_type, seqid)
         result.write(oprot)
@@ -3149,14 +3324,18 @@
         try:
             result.success = self._handler.updateGroup(args.group)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGroup", msg_type, seqid)
         result.write(oprot)
@@ -3171,14 +3350,18 @@
         try:
             result.success = self._handler.isGroupExists(args.domainId, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isGroupExists", msg_type, seqid)
         result.write(oprot)
@@ -3193,14 +3376,18 @@
         try:
             result.success = self._handler.deleteGroup(args.domainId, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGroup", msg_type, seqid)
         result.write(oprot)
@@ -3215,14 +3402,18 @@
         try:
             result.success = self._handler.getGroup(args.domainId, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroup", msg_type, seqid)
         result.write(oprot)
@@ -3237,11 +3428,15 @@
         try:
             result.success = self._handler.getGroups(args.domainId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroups", msg_type, seqid)
         result.write(oprot)
@@ -3256,14 +3451,18 @@
         try:
             result.success = self._handler.addUsersToGroup(args.domainId, args.userIds, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUsersToGroup", msg_type, seqid)
         result.write(oprot)
@@ -3278,14 +3477,18 @@
         try:
             result.success = self._handler.removeUsersFromGroup(args.domainId, args.userIds, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeUsersFromGroup", msg_type, seqid)
         result.write(oprot)
@@ -3300,14 +3503,18 @@
         try:
             result.success = self._handler.transferGroupOwnership(args.domainId, args.groupId, args.newOwnerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("transferGroupOwnership", msg_type, seqid)
         result.write(oprot)
@@ -3322,14 +3529,18 @@
         try:
             result.success = self._handler.addGroupAdmins(args.domainId, args.groupId, args.adminIds)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGroupAdmins", msg_type, seqid)
         result.write(oprot)
@@ -3344,14 +3555,18 @@
         try:
             result.success = self._handler.removeGroupAdmins(args.domainId, args.groupId, args.adminIds)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeGroupAdmins", msg_type, seqid)
         result.write(oprot)
@@ -3366,14 +3581,18 @@
         try:
             result.success = self._handler.hasAdminAccess(args.domainId, args.groupId, args.adminId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("hasAdminAccess", msg_type, seqid)
         result.write(oprot)
@@ -3388,14 +3607,18 @@
         try:
             result.success = self._handler.hasOwnerAccess(args.domainId, args.groupId, args.ownerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("hasOwnerAccess", msg_type, seqid)
         result.write(oprot)
@@ -3410,14 +3633,18 @@
         try:
             result.success = self._handler.getGroupMembersOfTypeUser(args.domainId, args.groupId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupMembersOfTypeUser", msg_type, seqid)
         result.write(oprot)
@@ -3432,14 +3659,18 @@
         try:
             result.success = self._handler.getGroupMembersOfTypeGroup(args.domainId, args.groupId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroupMembersOfTypeGroup", msg_type, seqid)
         result.write(oprot)
@@ -3454,14 +3685,18 @@
         try:
             result.success = self._handler.addChildGroupsToParentGroup(args.domainId, args.childIds, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addChildGroupsToParentGroup", msg_type, seqid)
         result.write(oprot)
@@ -3476,14 +3711,18 @@
         try:
             result.success = self._handler.removeChildGroupFromParentGroup(args.domainId, args.childId, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeChildGroupFromParentGroup", msg_type, seqid)
         result.write(oprot)
@@ -3498,14 +3737,18 @@
         try:
             result.success = self._handler.getAllMemberGroupsForUser(args.domainId, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllMemberGroupsForUser", msg_type, seqid)
         result.write(oprot)
@@ -3520,7 +3763,7 @@
         try:
             result.success = self._handler.createEntityType(args.entityType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
@@ -3528,9 +3771,13 @@
         except airavata.model.sharing.ttypes.DuplicateEntryException as dee:
             msg_type = TMessageType.REPLY
             result.dee = dee
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createEntityType", msg_type, seqid)
         result.write(oprot)
@@ -3545,14 +3792,18 @@
         try:
             result.success = self._handler.updateEntityType(args.entityType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateEntityType", msg_type, seqid)
         result.write(oprot)
@@ -3567,14 +3818,18 @@
         try:
             result.success = self._handler.isEntityTypeExists(args.domainId, args.entityTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isEntityTypeExists", msg_type, seqid)
         result.write(oprot)
@@ -3589,14 +3844,18 @@
         try:
             result.success = self._handler.deleteEntityType(args.domainId, args.entityTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteEntityType", msg_type, seqid)
         result.write(oprot)
@@ -3611,14 +3870,18 @@
         try:
             result.success = self._handler.getEntityType(args.domainId, args.entityTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getEntityType", msg_type, seqid)
         result.write(oprot)
@@ -3633,14 +3896,18 @@
         try:
             result.success = self._handler.getEntityTypes(args.domainId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getEntityTypes", msg_type, seqid)
         result.write(oprot)
@@ -3655,14 +3922,18 @@
         try:
             result.success = self._handler.createEntity(args.entity)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createEntity", msg_type, seqid)
         result.write(oprot)
@@ -3677,14 +3948,18 @@
         try:
             result.success = self._handler.updateEntity(args.entity)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateEntity", msg_type, seqid)
         result.write(oprot)
@@ -3699,14 +3974,18 @@
         try:
             result.success = self._handler.isEntityExists(args.domainId, args.entityId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isEntityExists", msg_type, seqid)
         result.write(oprot)
@@ -3721,14 +4000,18 @@
         try:
             result.success = self._handler.deleteEntity(args.domainId, args.entityId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteEntity", msg_type, seqid)
         result.write(oprot)
@@ -3743,14 +4026,18 @@
         try:
             result.success = self._handler.getEntity(args.domainId, args.entityId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getEntity", msg_type, seqid)
         result.write(oprot)
@@ -3765,14 +4052,18 @@
         try:
             result.success = self._handler.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("searchEntities", msg_type, seqid)
         result.write(oprot)
@@ -3787,14 +4078,18 @@
         try:
             result.success = self._handler.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getListOfSharedUsers", msg_type, seqid)
         result.write(oprot)
@@ -3809,14 +4104,18 @@
         try:
             result.success = self._handler.getListOfDirectlySharedUsers(args.domainId, args.entityId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getListOfDirectlySharedUsers", msg_type, seqid)
         result.write(oprot)
@@ -3831,14 +4130,18 @@
         try:
             result.success = self._handler.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getListOfSharedGroups", msg_type, seqid)
         result.write(oprot)
@@ -3853,14 +4156,18 @@
         try:
             result.success = self._handler.getListOfDirectlySharedGroups(args.domainId, args.entityId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getListOfDirectlySharedGroups", msg_type, seqid)
         result.write(oprot)
@@ -3875,7 +4182,7 @@
         try:
             result.success = self._handler.createPermissionType(args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
@@ -3883,9 +4190,13 @@
         except airavata.model.sharing.ttypes.DuplicateEntryException as dee:
             msg_type = TMessageType.REPLY
             result.dee = dee
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createPermissionType", msg_type, seqid)
         result.write(oprot)
@@ -3900,14 +4211,18 @@
         try:
             result.success = self._handler.updatePermissionType(args.permissionType)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updatePermissionType", msg_type, seqid)
         result.write(oprot)
@@ -3922,14 +4237,18 @@
         try:
             result.success = self._handler.isPermissionExists(args.dimainId, args.permissionId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isPermissionExists", msg_type, seqid)
         result.write(oprot)
@@ -3944,14 +4263,18 @@
         try:
             result.success = self._handler.deletePermissionType(args.domainId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deletePermissionType", msg_type, seqid)
         result.write(oprot)
@@ -3966,14 +4289,18 @@
         try:
             result.success = self._handler.getPermissionType(args.domainId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getPermissionType", msg_type, seqid)
         result.write(oprot)
@@ -3988,14 +4315,18 @@
         try:
             result.success = self._handler.getPermissionTypes(args.domainId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getPermissionTypes", msg_type, seqid)
         result.write(oprot)
@@ -4010,14 +4341,18 @@
         try:
             result.success = self._handler.shareEntityWithUsers(args.domainId, args.entityId, args.userList, args.permissionTypeId, args.cascadePermission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("shareEntityWithUsers", msg_type, seqid)
         result.write(oprot)
@@ -4032,14 +4367,18 @@
         try:
             result.success = self._handler.revokeEntitySharingFromUsers(args.domainId, args.entityId, args.userList, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("revokeEntitySharingFromUsers", msg_type, seqid)
         result.write(oprot)
@@ -4054,14 +4393,18 @@
         try:
             result.success = self._handler.shareEntityWithGroups(args.domainId, args.entityId, args.groupList, args.permissionTypeId, args.cascadePermission)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("shareEntityWithGroups", msg_type, seqid)
         result.write(oprot)
@@ -4076,14 +4419,18 @@
         try:
             result.success = self._handler.revokeEntitySharingFromGroups(args.domainId, args.entityId, args.groupList, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("revokeEntitySharingFromGroups", msg_type, seqid)
         result.write(oprot)
@@ -4098,14 +4445,18 @@
         try:
             result.success = self._handler.userHasAccess(args.domainId, args.userId, args.entityId, args.permissionTypeId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.model.sharing.ttypes.SharingRegistryException as sre:
             msg_type = TMessageType.REPLY
             result.sre = sre
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("userHasAccess", msg_type, seqid)
         result.write(oprot)
@@ -4119,19 +4470,16 @@
     """
     Attributes:
      - domain
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'domain', (airavata.model.sharing.ttypes.Domain, airavata.model.sharing.ttypes.Domain.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, domain=None,):
         self.domain = domain
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4151,7 +4499,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createDomain_args')
         if self.domain is not None:
@@ -4176,6 +4524,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createDomain_args)
+createDomain_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'domain', [airavata.model.sharing.ttypes.Domain, None], None, ),  # 1
+)
 
 
 class createDomain_result(object):
@@ -4184,13 +4537,9 @@
      - success
      - sre
      - dee
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'dee', (airavata.model.sharing.ttypes.DuplicateEntryException, airavata.model.sharing.ttypes.DuplicateEntryException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, sre=None, dee=None,):
         self.success = success
@@ -4199,7 +4548,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4208,19 +4557,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException()
-                    self.dee.read(iprot)
+                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -4230,7 +4577,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createDomain_result')
         if self.success is not None:
@@ -4261,25 +4608,28 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createDomain_result)
+createDomain_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+    (2, TType.STRUCT, 'dee', [airavata.model.sharing.ttypes.DuplicateEntryException, None], None, ),  # 2
+)
 
 
 class updateDomain_args(object):
     """
     Attributes:
      - domain
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'domain', (airavata.model.sharing.ttypes.Domain, airavata.model.sharing.ttypes.Domain.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, domain=None,):
         self.domain = domain
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4299,7 +4649,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateDomain_args')
         if self.domain is not None:
@@ -4324,6 +4674,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateDomain_args)
+updateDomain_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'domain', [airavata.model.sharing.ttypes.Domain, None], None, ),  # 1
+)
 
 
 class updateDomain_result(object):
@@ -4331,12 +4686,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -4344,7 +4696,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4358,8 +4710,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -4369,7 +4720,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateDomain_result')
         if self.success is not None:
@@ -4396,25 +4747,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateDomain_result)
+updateDomain_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class isDomainExists_args(object):
     """
     Attributes:
      - domainId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, domainId=None,):
         self.domainId = domainId
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4423,7 +4776,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -4433,7 +4786,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isDomainExists_args')
         if self.domainId is not None:
@@ -4458,6 +4811,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isDomainExists_args)
+isDomainExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+)
 
 
 class isDomainExists_result(object):
@@ -4465,12 +4823,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -4478,7 +4833,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4492,8 +4847,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -4503,7 +4857,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isDomainExists_result')
         if self.success is not None:
@@ -4530,25 +4884,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isDomainExists_result)
+isDomainExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class deleteDomain_args(object):
     """
     Attributes:
      - domainId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, domainId=None,):
         self.domainId = domainId
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4557,7 +4913,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -4567,7 +4923,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteDomain_args')
         if self.domainId is not None:
@@ -4592,6 +4948,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteDomain_args)
+deleteDomain_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+)
 
 
 class deleteDomain_result(object):
@@ -4599,12 +4960,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -4612,7 +4970,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4626,8 +4984,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -4637,7 +4994,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteDomain_result')
         if self.success is not None:
@@ -4664,25 +5021,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteDomain_result)
+deleteDomain_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getDomain_args(object):
     """
     Attributes:
      - domainId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, domainId=None,):
         self.domainId = domainId
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4691,7 +5050,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -4701,7 +5060,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDomain_args')
         if self.domainId is not None:
@@ -4726,6 +5085,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDomain_args)
+getDomain_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+)
 
 
 class getDomain_result(object):
@@ -4733,12 +5097,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.sharing.ttypes.Domain, airavata.model.sharing.ttypes.Domain.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -4746,7 +5107,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4761,8 +5122,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -4772,7 +5132,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDomain_result')
         if self.success is not None:
@@ -4799,6 +5159,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDomain_result)
+getDomain_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.sharing.ttypes.Domain, None], None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getDomains_args(object):
@@ -4806,13 +5171,9 @@
     Attributes:
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'offset', None, None, ),  # 1
-        (2, TType.I32, 'limit', None, None, ),  # 2
-    )
 
     def __init__(self, offset=None, limit=None,):
         self.offset = offset
@@ -4820,7 +5181,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4844,7 +5205,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDomains_args')
         if self.offset is not None:
@@ -4875,6 +5236,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDomains_args)
+getDomains_args.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'offset', None, None, ),  # 1
+    (2, TType.I32, 'limit', None, None, ),  # 2
+)
 
 
 class getDomains_result(object):
@@ -4882,12 +5249,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.Domain, airavata.model.sharing.ttypes.Domain.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -4895,7 +5259,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4915,8 +5279,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -4926,7 +5289,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getDomains_result')
         if self.success is not None:
@@ -4956,25 +5319,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getDomains_result)
+getDomains_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.Domain, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class createUser_args(object):
     """
     Attributes:
      - user
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'user', (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, user=None,):
         self.user = user
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -4994,7 +5359,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createUser_args')
         if self.user is not None:
@@ -5019,6 +5384,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createUser_args)
+createUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'user', [airavata.model.sharing.ttypes.User, None], None, ),  # 1
+)
 
 
 class createUser_result(object):
@@ -5027,13 +5397,9 @@
      - success
      - sre
      - dee
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'dee', (airavata.model.sharing.ttypes.DuplicateEntryException, airavata.model.sharing.ttypes.DuplicateEntryException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, sre=None, dee=None,):
         self.success = success
@@ -5042,7 +5408,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5051,19 +5417,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException()
-                    self.dee.read(iprot)
+                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5073,7 +5437,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createUser_result')
         if self.success is not None:
@@ -5104,25 +5468,28 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createUser_result)
+createUser_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+    (2, TType.STRUCT, 'dee', [airavata.model.sharing.ttypes.DuplicateEntryException, None], None, ),  # 2
+)
 
 
 class updatedUser_args(object):
     """
     Attributes:
      - user
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'user', (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, user=None,):
         self.user = user
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5142,7 +5509,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updatedUser_args')
         if self.user is not None:
@@ -5167,6 +5534,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updatedUser_args)
+updatedUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'user', [airavata.model.sharing.ttypes.User, None], None, ),  # 1
+)
 
 
 class updatedUser_result(object):
@@ -5174,12 +5546,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -5187,7 +5556,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5201,8 +5570,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5212,7 +5580,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updatedUser_result')
         if self.success is not None:
@@ -5239,6 +5607,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updatedUser_result)
+updatedUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class isUserExists_args(object):
@@ -5246,13 +5619,9 @@
     Attributes:
      - domainId
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, userId=None,):
         self.domainId = domainId
@@ -5260,7 +5629,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5269,12 +5638,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -5284,7 +5653,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserExists_args')
         if self.domainId is not None:
@@ -5315,6 +5684,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserExists_args)
+isUserExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+)
 
 
 class isUserExists_result(object):
@@ -5322,12 +5697,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -5335,7 +5707,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5349,8 +5721,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5360,7 +5731,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserExists_result')
         if self.success is not None:
@@ -5387,6 +5758,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserExists_result)
+isUserExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class deleteUser_args(object):
@@ -5394,13 +5770,9 @@
     Attributes:
      - domainId
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, userId=None,):
         self.domainId = domainId
@@ -5408,7 +5780,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5417,12 +5789,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -5432,7 +5804,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUser_args')
         if self.domainId is not None:
@@ -5463,6 +5835,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUser_args)
+deleteUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteUser_result(object):
@@ -5470,12 +5848,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -5483,7 +5858,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5497,8 +5872,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5508,7 +5882,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUser_result')
         if self.success is not None:
@@ -5535,6 +5909,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUser_result)
+deleteUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getUser_args(object):
@@ -5542,13 +5921,9 @@
     Attributes:
      - domainId
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, userId=None,):
         self.domainId = domainId
@@ -5556,7 +5931,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5565,12 +5940,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -5580,7 +5955,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUser_args')
         if self.domainId is not None:
@@ -5611,6 +5986,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUser_args)
+getUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+)
 
 
 class getUser_result(object):
@@ -5618,12 +5999,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -5631,7 +6009,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5646,8 +6024,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5657,7 +6034,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUser_result')
         if self.success is not None:
@@ -5684,6 +6061,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUser_result)
+getUser_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.sharing.ttypes.User, None], None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getUsers_args(object):
@@ -5692,14 +6074,9 @@
      - domainId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'offset', None, None, ),  # 2
-        (3, TType.I32, 'limit', None, None, ),  # 3
-    )
 
     def __init__(self, domainId=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -5708,7 +6085,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5717,7 +6094,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -5737,7 +6114,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUsers_args')
         if self.domainId is not None:
@@ -5774,6 +6151,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUsers_args)
+getUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'offset', None, None, ),  # 2
+    (3, TType.I32, 'limit', None, None, ),  # 3
+)
 
 
 class getUsers_result(object):
@@ -5781,12 +6165,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -5794,7 +6175,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5814,8 +6195,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5825,7 +6205,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUsers_result')
         if self.success is not None:
@@ -5855,25 +6235,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUsers_result)
+getUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.User, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class createGroup_args(object):
     """
     Attributes:
      - group
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'group', (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, group=None,):
         self.group = group
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5893,7 +6275,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createGroup_args')
         if self.group is not None:
@@ -5918,6 +6300,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createGroup_args)
+createGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'group', [airavata.model.sharing.ttypes.UserGroup, None], None, ),  # 1
+)
 
 
 class createGroup_result(object):
@@ -5925,12 +6312,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -5938,7 +6322,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -5947,13 +6331,12 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -5963,7 +6346,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createGroup_result')
         if self.success is not None:
@@ -5990,25 +6373,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createGroup_result)
+createGroup_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class updateGroup_args(object):
     """
     Attributes:
      - group
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'group', (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, group=None,):
         self.group = group
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6028,7 +6413,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGroup_args')
         if self.group is not None:
@@ -6053,6 +6438,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGroup_args)
+updateGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'group', [airavata.model.sharing.ttypes.UserGroup, None], None, ),  # 1
+)
 
 
 class updateGroup_result(object):
@@ -6060,12 +6450,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -6073,7 +6460,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6087,8 +6474,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -6098,7 +6484,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGroup_result')
         if self.success is not None:
@@ -6125,6 +6511,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGroup_result)
+updateGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class isGroupExists_args(object):
@@ -6132,13 +6523,9 @@
     Attributes:
      - domainId
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, groupId=None,):
         self.domainId = domainId
@@ -6146,7 +6533,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6155,12 +6542,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -6170,7 +6557,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isGroupExists_args')
         if self.domainId is not None:
@@ -6201,6 +6588,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isGroupExists_args)
+isGroupExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+)
 
 
 class isGroupExists_result(object):
@@ -6208,12 +6601,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -6221,7 +6611,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6235,8 +6625,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -6246,7 +6635,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isGroupExists_result')
         if self.success is not None:
@@ -6273,6 +6662,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isGroupExists_result)
+isGroupExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class deleteGroup_args(object):
@@ -6280,13 +6674,9 @@
     Attributes:
      - domainId
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, groupId=None,):
         self.domainId = domainId
@@ -6294,7 +6684,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6303,12 +6693,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -6318,7 +6708,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGroup_args')
         if self.domainId is not None:
@@ -6349,6 +6739,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGroup_args)
+deleteGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteGroup_result(object):
@@ -6356,12 +6752,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -6369,7 +6762,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6383,8 +6776,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -6394,7 +6786,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGroup_result')
         if self.success is not None:
@@ -6421,6 +6813,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGroup_result)
+deleteGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getGroup_args(object):
@@ -6428,13 +6825,9 @@
     Attributes:
      - domainId
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, groupId=None,):
         self.domainId = domainId
@@ -6442,7 +6835,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6451,12 +6844,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -6466,7 +6859,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroup_args')
         if self.domainId is not None:
@@ -6497,6 +6890,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroup_args)
+getGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroup_result(object):
@@ -6504,12 +6903,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -6517,7 +6913,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6532,8 +6928,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -6543,7 +6938,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroup_result')
         if self.success is not None:
@@ -6570,6 +6965,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroup_result)
+getGroup_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.sharing.ttypes.UserGroup, None], None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getGroups_args(object):
@@ -6578,14 +6978,9 @@
      - domainId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'offset', None, None, ),  # 2
-        (3, TType.I32, 'limit', None, None, ),  # 3
-    )
 
     def __init__(self, domainId=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -6594,7 +6989,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6603,7 +6998,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -6623,7 +7018,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroups_args')
         if self.domainId is not None:
@@ -6660,24 +7055,29 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroups_args)
+getGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'offset', None, None, ),  # 2
+    (3, TType.I32, 'limit', None, None, ),  # 3
+)
 
 
 class getGroups_result(object):
     """
     Attributes:
      - success
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ),  # 0
-    )
 
     def __init__(self, success=None,):
         self.success = success
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6702,7 +7102,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroups_result')
         if self.success is not None:
@@ -6728,6 +7128,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroups_result)
+getGroups_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.UserGroup, None], False), None, ),  # 0
+)
 
 
 class addUsersToGroup_args(object):
@@ -6736,14 +7140,9 @@
      - domainId
      - userIds
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, userIds=None, groupId=None,):
         self.domainId = domainId
@@ -6752,7 +7151,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6761,7 +7160,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -6769,14 +7168,14 @@
                     self.userIds = []
                     (_etype24, _size21) = iprot.readListBegin()
                     for _i25 in range(_size21):
-                        _elem26 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem26 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.userIds.append(_elem26)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -6786,7 +7185,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUsersToGroup_args')
         if self.domainId is not None:
@@ -6826,6 +7225,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUsersToGroup_args)
+addUsersToGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+)
 
 
 class addUsersToGroup_result(object):
@@ -6833,12 +7239,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -6846,7 +7249,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6860,8 +7263,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -6871,7 +7273,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUsersToGroup_result')
         if self.success is not None:
@@ -6898,6 +7300,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUsersToGroup_result)
+addUsersToGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class removeUsersFromGroup_args(object):
@@ -6906,14 +7313,9 @@
      - domainId
      - userIds
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, userIds=None, groupId=None,):
         self.domainId = domainId
@@ -6922,7 +7324,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -6931,7 +7333,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -6939,14 +7341,14 @@
                     self.userIds = []
                     (_etype31, _size28) = iprot.readListBegin()
                     for _i32 in range(_size28):
-                        _elem33 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem33 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.userIds.append(_elem33)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -6956,7 +7358,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeUsersFromGroup_args')
         if self.domainId is not None:
@@ -6996,6 +7398,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeUsersFromGroup_args)
+removeUsersFromGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+)
 
 
 class removeUsersFromGroup_result(object):
@@ -7003,12 +7412,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -7016,7 +7422,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7030,8 +7436,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -7041,7 +7446,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeUsersFromGroup_result')
         if self.success is not None:
@@ -7068,6 +7473,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeUsersFromGroup_result)
+removeUsersFromGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class transferGroupOwnership_args(object):
@@ -7076,14 +7486,9 @@
      - domainId
      - groupId
      - newOwnerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'newOwnerId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, groupId=None, newOwnerId=None,):
         self.domainId = domainId
@@ -7092,7 +7497,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7101,17 +7506,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.newOwnerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newOwnerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -7121,7 +7526,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('transferGroupOwnership_args')
         if self.domainId is not None:
@@ -7158,6 +7563,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(transferGroupOwnership_args)
+transferGroupOwnership_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'newOwnerId', 'UTF8', None, ),  # 3
+)
 
 
 class transferGroupOwnership_result(object):
@@ -7165,12 +7577,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -7178,7 +7587,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7192,8 +7601,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -7203,7 +7611,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('transferGroupOwnership_result')
         if self.success is not None:
@@ -7230,6 +7638,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(transferGroupOwnership_result)
+transferGroupOwnership_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class addGroupAdmins_args(object):
@@ -7238,14 +7651,9 @@
      - domainId
      - groupId
      - adminIds
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, domainId=None, groupId=None, adminIds=None,):
         self.domainId = domainId
@@ -7254,7 +7662,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7263,12 +7671,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -7276,7 +7684,7 @@
                     self.adminIds = []
                     (_etype38, _size35) = iprot.readListBegin()
                     for _i39 in range(_size35):
-                        _elem40 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem40 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.adminIds.append(_elem40)
                     iprot.readListEnd()
                 else:
@@ -7288,7 +7696,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGroupAdmins_args')
         if self.domainId is not None:
@@ -7328,6 +7736,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGroupAdmins_args)
+addGroupAdmins_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
 
 
 class addGroupAdmins_result(object):
@@ -7335,12 +7750,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -7348,7 +7760,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7362,8 +7774,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -7373,7 +7784,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGroupAdmins_result')
         if self.success is not None:
@@ -7400,6 +7811,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGroupAdmins_result)
+addGroupAdmins_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class removeGroupAdmins_args(object):
@@ -7408,14 +7824,9 @@
      - domainId
      - groupId
      - adminIds
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, domainId=None, groupId=None, adminIds=None,):
         self.domainId = domainId
@@ -7424,7 +7835,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7433,12 +7844,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -7446,7 +7857,7 @@
                     self.adminIds = []
                     (_etype45, _size42) = iprot.readListBegin()
                     for _i46 in range(_size42):
-                        _elem47 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem47 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.adminIds.append(_elem47)
                     iprot.readListEnd()
                 else:
@@ -7458,7 +7869,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupAdmins_args')
         if self.domainId is not None:
@@ -7498,6 +7909,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupAdmins_args)
+removeGroupAdmins_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
 
 
 class removeGroupAdmins_result(object):
@@ -7505,12 +7923,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -7518,7 +7933,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7532,8 +7947,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -7543,7 +7957,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupAdmins_result')
         if self.success is not None:
@@ -7570,6 +7984,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupAdmins_result)
+removeGroupAdmins_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class hasAdminAccess_args(object):
@@ -7578,14 +7997,9 @@
      - domainId
      - groupId
      - adminId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'adminId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, groupId=None, adminId=None,):
         self.domainId = domainId
@@ -7594,7 +8008,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7603,17 +8017,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.adminId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.adminId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -7623,7 +8037,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasAdminAccess_args')
         if self.domainId is not None:
@@ -7660,6 +8074,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasAdminAccess_args)
+hasAdminAccess_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'adminId', 'UTF8', None, ),  # 3
+)
 
 
 class hasAdminAccess_result(object):
@@ -7667,12 +8088,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -7680,7 +8098,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7694,8 +8112,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -7705,7 +8122,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasAdminAccess_result')
         if self.success is not None:
@@ -7732,6 +8149,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasAdminAccess_result)
+hasAdminAccess_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class hasOwnerAccess_args(object):
@@ -7740,14 +8162,9 @@
      - domainId
      - groupId
      - ownerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, groupId=None, ownerId=None,):
         self.domainId = domainId
@@ -7756,7 +8173,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7765,17 +8182,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -7785,7 +8202,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasOwnerAccess_args')
         if self.domainId is not None:
@@ -7822,6 +8239,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasOwnerAccess_args)
+hasOwnerAccess_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
+)
 
 
 class hasOwnerAccess_result(object):
@@ -7829,12 +8253,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -7842,7 +8263,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7856,8 +8277,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -7867,7 +8287,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasOwnerAccess_result')
         if self.success is not None:
@@ -7894,6 +8314,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasOwnerAccess_result)
+hasOwnerAccess_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getGroupMembersOfTypeUser_args(object):
@@ -7903,15 +8328,9 @@
      - groupId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'offset', None, None, ),  # 3
-        (4, TType.I32, 'limit', None, None, ),  # 4
-    )
 
     def __init__(self, domainId=None, groupId=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -7921,7 +8340,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -7930,12 +8349,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -7955,7 +8374,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupMembersOfTypeUser_args')
         if self.domainId is not None:
@@ -7996,6 +8415,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupMembersOfTypeUser_args)
+getGroupMembersOfTypeUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'offset', None, None, ),  # 3
+    (4, TType.I32, 'limit', None, None, ),  # 4
+)
 
 
 class getGroupMembersOfTypeUser_result(object):
@@ -8003,12 +8430,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -8016,7 +8440,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8036,8 +8460,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -8047,7 +8470,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupMembersOfTypeUser_result')
         if self.success is not None:
@@ -8077,6 +8500,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupMembersOfTypeUser_result)
+getGroupMembersOfTypeUser_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.User, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getGroupMembersOfTypeGroup_args(object):
@@ -8086,15 +8514,9 @@
      - groupId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'offset', None, None, ),  # 3
-        (4, TType.I32, 'limit', None, None, ),  # 4
-    )
 
     def __init__(self, domainId=None, groupId=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -8104,7 +8526,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8113,12 +8535,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -8138,7 +8560,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupMembersOfTypeGroup_args')
         if self.domainId is not None:
@@ -8181,6 +8603,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupMembersOfTypeGroup_args)
+getGroupMembersOfTypeGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'offset', None, None, ),  # 3
+    (4, TType.I32, 'limit', None, None, ),  # 4
+)
 
 
 class getGroupMembersOfTypeGroup_result(object):
@@ -8188,12 +8618,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -8201,7 +8628,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8221,8 +8648,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -8232,7 +8658,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroupMembersOfTypeGroup_result')
         if self.success is not None:
@@ -8262,6 +8688,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroupMembersOfTypeGroup_result)
+getGroupMembersOfTypeGroup_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.UserGroup, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class addChildGroupsToParentGroup_args(object):
@@ -8270,14 +8701,9 @@
      - domainId
      - childIds
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.LIST, 'childIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, childIds=None, groupId=None,):
         self.domainId = domainId
@@ -8286,7 +8712,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8295,7 +8721,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -8303,14 +8729,14 @@
                     self.childIds = []
                     (_etype66, _size63) = iprot.readListBegin()
                     for _i67 in range(_size63):
-                        _elem68 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem68 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.childIds.append(_elem68)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -8320,7 +8746,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addChildGroupsToParentGroup_args')
         if self.domainId is not None:
@@ -8360,6 +8786,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addChildGroupsToParentGroup_args)
+addChildGroupsToParentGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.LIST, 'childIds', (TType.STRING, 'UTF8', False), None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+)
 
 
 class addChildGroupsToParentGroup_result(object):
@@ -8367,12 +8800,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -8380,7 +8810,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8394,8 +8824,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -8405,7 +8834,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addChildGroupsToParentGroup_result')
         if self.success is not None:
@@ -8432,6 +8861,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addChildGroupsToParentGroup_result)
+addChildGroupsToParentGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class removeChildGroupFromParentGroup_args(object):
@@ -8440,14 +8874,9 @@
      - domainId
      - childId
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'childId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, childId=None, groupId=None,):
         self.domainId = domainId
@@ -8456,7 +8885,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8465,17 +8894,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.childId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.childId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -8485,7 +8914,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeChildGroupFromParentGroup_args')
         if self.domainId is not None:
@@ -8522,6 +8951,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeChildGroupFromParentGroup_args)
+removeChildGroupFromParentGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'childId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+)
 
 
 class removeChildGroupFromParentGroup_result(object):
@@ -8529,12 +8965,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -8542,7 +8975,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8556,8 +8989,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -8567,7 +8999,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeChildGroupFromParentGroup_result')
         if self.success is not None:
@@ -8594,6 +9026,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeChildGroupFromParentGroup_result)
+removeChildGroupFromParentGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getAllMemberGroupsForUser_args(object):
@@ -8601,13 +9038,9 @@
     Attributes:
      - domainId
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, userId=None,):
         self.domainId = domainId
@@ -8615,7 +9048,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8624,12 +9057,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -8639,7 +9072,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllMemberGroupsForUser_args')
         if self.domainId is not None:
@@ -8670,6 +9103,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllMemberGroupsForUser_args)
+getAllMemberGroupsForUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+)
 
 
 class getAllMemberGroupsForUser_result(object):
@@ -8677,12 +9116,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -8690,7 +9126,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8710,8 +9146,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -8721,7 +9156,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllMemberGroupsForUser_result')
         if self.success is not None:
@@ -8751,25 +9186,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllMemberGroupsForUser_result)
+getAllMemberGroupsForUser_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.UserGroup, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class createEntityType_args(object):
     """
     Attributes:
      - entityType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'entityType', (airavata.model.sharing.ttypes.EntityType, airavata.model.sharing.ttypes.EntityType.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, entityType=None,):
         self.entityType = entityType
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8789,7 +9226,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createEntityType_args')
         if self.entityType is not None:
@@ -8814,6 +9251,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createEntityType_args)
+createEntityType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'entityType', [airavata.model.sharing.ttypes.EntityType, None], None, ),  # 1
+)
 
 
 class createEntityType_result(object):
@@ -8822,13 +9264,9 @@
      - success
      - sre
      - dee
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'dee', (airavata.model.sharing.ttypes.DuplicateEntryException, airavata.model.sharing.ttypes.DuplicateEntryException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, sre=None, dee=None,):
         self.success = success
@@ -8837,7 +9275,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8846,19 +9284,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException()
-                    self.dee.read(iprot)
+                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -8868,7 +9304,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createEntityType_result')
         if self.success is not None:
@@ -8899,25 +9335,28 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createEntityType_result)
+createEntityType_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+    (2, TType.STRUCT, 'dee', [airavata.model.sharing.ttypes.DuplicateEntryException, None], None, ),  # 2
+)
 
 
 class updateEntityType_args(object):
     """
     Attributes:
      - entityType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'entityType', (airavata.model.sharing.ttypes.EntityType, airavata.model.sharing.ttypes.EntityType.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, entityType=None,):
         self.entityType = entityType
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8937,7 +9376,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateEntityType_args')
         if self.entityType is not None:
@@ -8962,6 +9401,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateEntityType_args)
+updateEntityType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'entityType', [airavata.model.sharing.ttypes.EntityType, None], None, ),  # 1
+)
 
 
 class updateEntityType_result(object):
@@ -8969,12 +9413,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -8982,7 +9423,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -8996,8 +9437,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9007,7 +9447,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateEntityType_result')
         if self.success is not None:
@@ -9034,6 +9474,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateEntityType_result)
+updateEntityType_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class isEntityTypeExists_args(object):
@@ -9041,13 +9486,9 @@
     Attributes:
      - domainId
      - entityTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, entityTypeId=None,):
         self.domainId = domainId
@@ -9055,7 +9496,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9064,12 +9505,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -9079,7 +9520,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isEntityTypeExists_args')
         if self.domainId is not None:
@@ -9110,6 +9551,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isEntityTypeExists_args)
+isEntityTypeExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 2
+)
 
 
 class isEntityTypeExists_result(object):
@@ -9117,12 +9564,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -9130,7 +9574,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9144,8 +9588,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9155,7 +9598,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isEntityTypeExists_result')
         if self.success is not None:
@@ -9182,6 +9625,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isEntityTypeExists_result)
+isEntityTypeExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class deleteEntityType_args(object):
@@ -9189,13 +9637,9 @@
     Attributes:
      - domainId
      - entityTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, entityTypeId=None,):
         self.domainId = domainId
@@ -9203,7 +9647,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9212,12 +9656,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -9227,7 +9671,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteEntityType_args')
         if self.domainId is not None:
@@ -9258,6 +9702,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteEntityType_args)
+deleteEntityType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteEntityType_result(object):
@@ -9265,12 +9715,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -9278,7 +9725,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9292,8 +9739,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9303,7 +9749,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteEntityType_result')
         if self.success is not None:
@@ -9330,6 +9776,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteEntityType_result)
+deleteEntityType_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getEntityType_args(object):
@@ -9337,13 +9788,9 @@
     Attributes:
      - domainId
      - entityTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, entityTypeId=None,):
         self.domainId = domainId
@@ -9351,7 +9798,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9360,12 +9807,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -9375,7 +9822,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getEntityType_args')
         if self.domainId is not None:
@@ -9406,6 +9853,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getEntityType_args)
+getEntityType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 2
+)
 
 
 class getEntityType_result(object):
@@ -9413,12 +9866,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.sharing.ttypes.EntityType, airavata.model.sharing.ttypes.EntityType.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -9426,7 +9876,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9441,8 +9891,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9452,7 +9901,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getEntityType_result')
         if self.success is not None:
@@ -9479,6 +9928,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getEntityType_result)
+getEntityType_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.sharing.ttypes.EntityType, None], None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getEntityTypes_args(object):
@@ -9487,14 +9941,9 @@
      - domainId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'offset', None, None, ),  # 2
-        (3, TType.I32, 'limit', None, None, ),  # 3
-    )
 
     def __init__(self, domainId=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -9503,7 +9952,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9512,7 +9961,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -9532,7 +9981,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getEntityTypes_args')
         if self.domainId is not None:
@@ -9569,6 +10018,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getEntityTypes_args)
+getEntityTypes_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'offset', None, None, ),  # 2
+    (3, TType.I32, 'limit', None, None, ),  # 3
+)
 
 
 class getEntityTypes_result(object):
@@ -9576,12 +10032,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.EntityType, airavata.model.sharing.ttypes.EntityType.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -9589,7 +10042,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9609,8 +10062,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9620,7 +10072,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getEntityTypes_result')
         if self.success is not None:
@@ -9650,25 +10102,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getEntityTypes_result)
+getEntityTypes_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.EntityType, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class createEntity_args(object):
     """
     Attributes:
      - entity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'entity', (airavata.model.sharing.ttypes.Entity, airavata.model.sharing.ttypes.Entity.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, entity=None,):
         self.entity = entity
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9688,7 +10142,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createEntity_args')
         if self.entity is not None:
@@ -9713,6 +10167,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createEntity_args)
+createEntity_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'entity', [airavata.model.sharing.ttypes.Entity, None], None, ),  # 1
+)
 
 
 class createEntity_result(object):
@@ -9720,12 +10179,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -9733,7 +10189,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9742,13 +10198,12 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9758,7 +10213,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createEntity_result')
         if self.success is not None:
@@ -9785,25 +10240,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createEntity_result)
+createEntity_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class updateEntity_args(object):
     """
     Attributes:
      - entity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'entity', (airavata.model.sharing.ttypes.Entity, airavata.model.sharing.ttypes.Entity.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, entity=None,):
         self.entity = entity
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9823,7 +10280,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateEntity_args')
         if self.entity is not None:
@@ -9848,6 +10305,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateEntity_args)
+updateEntity_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'entity', [airavata.model.sharing.ttypes.Entity, None], None, ),  # 1
+)
 
 
 class updateEntity_result(object):
@@ -9855,12 +10317,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -9868,7 +10327,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9882,8 +10341,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -9893,7 +10351,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateEntity_result')
         if self.success is not None:
@@ -9920,6 +10378,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateEntity_result)
+updateEntity_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class isEntityExists_args(object):
@@ -9927,13 +10390,9 @@
     Attributes:
      - domainId
      - entityId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, entityId=None,):
         self.domainId = domainId
@@ -9941,7 +10400,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -9950,12 +10409,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -9965,7 +10424,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isEntityExists_args')
         if self.domainId is not None:
@@ -9996,6 +10455,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isEntityExists_args)
+isEntityExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+)
 
 
 class isEntityExists_result(object):
@@ -10003,12 +10468,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -10016,7 +10478,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10030,8 +10492,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -10041,7 +10502,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isEntityExists_result')
         if self.success is not None:
@@ -10068,6 +10529,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isEntityExists_result)
+isEntityExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class deleteEntity_args(object):
@@ -10075,13 +10541,9 @@
     Attributes:
      - domainId
      - entityId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, entityId=None,):
         self.domainId = domainId
@@ -10089,7 +10551,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10098,12 +10560,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -10113,7 +10575,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteEntity_args')
         if self.domainId is not None:
@@ -10144,6 +10606,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteEntity_args)
+deleteEntity_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+)
 
 
 class deleteEntity_result(object):
@@ -10151,12 +10619,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -10164,7 +10629,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10178,8 +10643,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -10189,7 +10653,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteEntity_result')
         if self.success is not None:
@@ -10216,6 +10680,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteEntity_result)
+deleteEntity_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getEntity_args(object):
@@ -10223,13 +10692,9 @@
     Attributes:
      - domainId
      - entityId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, entityId=None,):
         self.domainId = domainId
@@ -10237,7 +10702,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10246,12 +10711,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -10261,7 +10726,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getEntity_args')
         if self.domainId is not None:
@@ -10292,6 +10757,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getEntity_args)
+getEntity_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+)
 
 
 class getEntity_result(object):
@@ -10299,12 +10770,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.sharing.ttypes.Entity, airavata.model.sharing.ttypes.Entity.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -10312,7 +10780,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10327,8 +10795,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -10338,7 +10805,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getEntity_result')
         if self.success is not None:
@@ -10365,6 +10832,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getEntity_result)
+getEntity_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.sharing.ttypes.Entity, None], None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class searchEntities_args(object):
@@ -10375,16 +10847,9 @@
      - filters
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'filters', (TType.STRUCT, (airavata.model.sharing.ttypes.SearchCriteria, airavata.model.sharing.ttypes.SearchCriteria.thrift_spec), False), None, ),  # 3
-        (4, TType.I32, 'offset', None, None, ),  # 4
-        (5, TType.I32, 'limit', None, None, ),  # 5
-    )
 
     def __init__(self, domainId=None, userId=None, filters=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -10395,7 +10860,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10404,12 +10869,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -10440,7 +10905,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('searchEntities_args')
         if self.domainId is not None:
@@ -10492,6 +10957,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(searchEntities_args)
+searchEntities_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'filters', (TType.STRUCT, [airavata.model.sharing.ttypes.SearchCriteria, None], False), None, ),  # 3
+    (4, TType.I32, 'offset', None, None, ),  # 4
+    (5, TType.I32, 'limit', None, None, ),  # 5
+)
 
 
 class searchEntities_result(object):
@@ -10499,12 +10973,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.Entity, airavata.model.sharing.ttypes.Entity.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -10512,7 +10983,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10532,8 +11003,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -10543,7 +11013,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('searchEntities_result')
         if self.success is not None:
@@ -10573,6 +11043,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(searchEntities_result)
+searchEntities_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.Entity, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getListOfSharedUsers_args(object):
@@ -10581,14 +11056,9 @@
      - domainId
      - entityId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, entityId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -10597,7 +11067,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10606,17 +11076,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -10626,7 +11096,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfSharedUsers_args')
         if self.domainId is not None:
@@ -10663,6 +11133,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfSharedUsers_args)
+getListOfSharedUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
+)
 
 
 class getListOfSharedUsers_result(object):
@@ -10670,12 +11147,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -10683,7 +11157,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10703,8 +11177,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -10714,7 +11187,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfSharedUsers_result')
         if self.success is not None:
@@ -10744,6 +11217,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfSharedUsers_result)
+getListOfSharedUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.User, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getListOfDirectlySharedUsers_args(object):
@@ -10752,14 +11230,9 @@
      - domainId
      - entityId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, entityId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -10768,7 +11241,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10777,17 +11250,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -10797,7 +11270,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfDirectlySharedUsers_args')
         if self.domainId is not None:
@@ -10834,6 +11307,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfDirectlySharedUsers_args)
+getListOfDirectlySharedUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
+)
 
 
 class getListOfDirectlySharedUsers_result(object):
@@ -10841,12 +11321,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.User, airavata.model.sharing.ttypes.User.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -10854,7 +11331,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10874,8 +11351,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -10885,7 +11361,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfDirectlySharedUsers_result')
         if self.success is not None:
@@ -10915,6 +11391,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfDirectlySharedUsers_result)
+getListOfDirectlySharedUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.User, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getListOfSharedGroups_args(object):
@@ -10923,14 +11404,9 @@
      - domainId
      - entityId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, entityId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -10939,7 +11415,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -10948,17 +11424,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -10968,7 +11444,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfSharedGroups_args')
         if self.domainId is not None:
@@ -11005,6 +11481,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfSharedGroups_args)
+getListOfSharedGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
+)
 
 
 class getListOfSharedGroups_result(object):
@@ -11012,12 +11495,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -11025,7 +11505,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11045,8 +11525,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11056,7 +11535,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfSharedGroups_result')
         if self.success is not None:
@@ -11086,6 +11565,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfSharedGroups_result)
+getListOfSharedGroups_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.UserGroup, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getListOfDirectlySharedGroups_args(object):
@@ -11094,14 +11578,9 @@
      - domainId
      - entityId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, domainId=None, entityId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -11110,7 +11589,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11119,17 +11598,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -11139,7 +11618,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfDirectlySharedGroups_args')
         if self.domainId is not None:
@@ -11176,6 +11655,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfDirectlySharedGroups_args)
+getListOfDirectlySharedGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 3
+)
 
 
 class getListOfDirectlySharedGroups_result(object):
@@ -11183,12 +11669,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.UserGroup, airavata.model.sharing.ttypes.UserGroup.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -11196,7 +11679,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11216,8 +11699,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11227,7 +11709,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getListOfDirectlySharedGroups_result')
         if self.success is not None:
@@ -11257,25 +11739,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getListOfDirectlySharedGroups_result)
+getListOfDirectlySharedGroups_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.UserGroup, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class createPermissionType_args(object):
     """
     Attributes:
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'permissionType', (airavata.model.sharing.ttypes.PermissionType, airavata.model.sharing.ttypes.PermissionType.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, permissionType=None,):
         self.permissionType = permissionType
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11295,7 +11779,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createPermissionType_args')
         if self.permissionType is not None:
@@ -11320,6 +11804,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createPermissionType_args)
+createPermissionType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'permissionType', [airavata.model.sharing.ttypes.PermissionType, None], None, ),  # 1
+)
 
 
 class createPermissionType_result(object):
@@ -11328,13 +11817,9 @@
      - success
      - sre
      - dee
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'dee', (airavata.model.sharing.ttypes.DuplicateEntryException, airavata.model.sharing.ttypes.DuplicateEntryException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, sre=None, dee=None,):
         self.success = success
@@ -11343,7 +11828,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11352,19 +11837,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException()
-                    self.dee.read(iprot)
+                    self.dee = airavata.model.sharing.ttypes.DuplicateEntryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11374,7 +11857,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createPermissionType_result')
         if self.success is not None:
@@ -11405,25 +11888,28 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createPermissionType_result)
+createPermissionType_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+    (2, TType.STRUCT, 'dee', [airavata.model.sharing.ttypes.DuplicateEntryException, None], None, ),  # 2
+)
 
 
 class updatePermissionType_args(object):
     """
     Attributes:
      - permissionType
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'permissionType', (airavata.model.sharing.ttypes.PermissionType, airavata.model.sharing.ttypes.PermissionType.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, permissionType=None,):
         self.permissionType = permissionType
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11443,7 +11929,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updatePermissionType_args')
         if self.permissionType is not None:
@@ -11468,6 +11954,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updatePermissionType_args)
+updatePermissionType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'permissionType', [airavata.model.sharing.ttypes.PermissionType, None], None, ),  # 1
+)
 
 
 class updatePermissionType_result(object):
@@ -11475,12 +11966,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -11488,7 +11976,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11502,8 +11990,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11513,7 +12000,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updatePermissionType_result')
         if self.success is not None:
@@ -11540,6 +12027,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updatePermissionType_result)
+updatePermissionType_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class isPermissionExists_args(object):
@@ -11547,13 +12039,9 @@
     Attributes:
      - dimainId
      - permissionId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'dimainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'permissionId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, dimainId=None, permissionId=None,):
         self.dimainId = dimainId
@@ -11561,7 +12049,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11570,12 +12058,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.dimainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dimainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.permissionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -11585,7 +12073,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isPermissionExists_args')
         if self.dimainId is not None:
@@ -11616,6 +12104,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isPermissionExists_args)
+isPermissionExists_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'dimainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'permissionId', 'UTF8', None, ),  # 2
+)
 
 
 class isPermissionExists_result(object):
@@ -11623,12 +12117,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -11636,7 +12127,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11650,8 +12141,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11661,7 +12151,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isPermissionExists_result')
         if self.success is not None:
@@ -11688,6 +12178,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isPermissionExists_result)
+isPermissionExists_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class deletePermissionType_args(object):
@@ -11695,13 +12190,9 @@
     Attributes:
      - domainId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -11709,7 +12200,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11718,12 +12209,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -11733,7 +12224,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deletePermissionType_args')
         if self.domainId is not None:
@@ -11764,6 +12255,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deletePermissionType_args)
+deletePermissionType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 2
+)
 
 
 class deletePermissionType_result(object):
@@ -11771,12 +12268,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -11784,7 +12278,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11798,8 +12292,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11809,7 +12302,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deletePermissionType_result')
         if self.success is not None:
@@ -11836,6 +12329,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deletePermissionType_result)
+deletePermissionType_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getPermissionType_args(object):
@@ -11843,13 +12341,9 @@
     Attributes:
      - domainId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, domainId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -11857,7 +12351,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11866,12 +12360,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -11881,7 +12375,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getPermissionType_args')
         if self.domainId is not None:
@@ -11912,6 +12406,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getPermissionType_args)
+getPermissionType_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 2
+)
 
 
 class getPermissionType_result(object):
@@ -11919,12 +12419,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.sharing.ttypes.PermissionType, airavata.model.sharing.ttypes.PermissionType.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -11932,7 +12429,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -11947,8 +12444,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -11958,7 +12454,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getPermissionType_result')
         if self.success is not None:
@@ -11985,6 +12481,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getPermissionType_result)
+getPermissionType_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.sharing.ttypes.PermissionType, None], None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class getPermissionTypes_args(object):
@@ -11993,14 +12494,9 @@
      - domainId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'offset', None, None, ),  # 2
-        (3, TType.I32, 'limit', None, None, ),  # 3
-    )
 
     def __init__(self, domainId=None, offset=None, limit=None,):
         self.domainId = domainId
@@ -12009,7 +12505,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12018,7 +12514,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -12038,7 +12534,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getPermissionTypes_args')
         if self.domainId is not None:
@@ -12075,6 +12571,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getPermissionTypes_args)
+getPermissionTypes_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'offset', None, None, ),  # 2
+    (3, TType.I32, 'limit', None, None, ),  # 3
+)
 
 
 class getPermissionTypes_result(object):
@@ -12082,12 +12585,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.sharing.ttypes.PermissionType, airavata.model.sharing.ttypes.PermissionType.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -12095,7 +12595,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12115,8 +12615,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -12126,7 +12625,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getPermissionTypes_result')
         if self.success is not None:
@@ -12156,6 +12655,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getPermissionTypes_result)
+getPermissionTypes_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.sharing.ttypes.PermissionType, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class shareEntityWithUsers_args(object):
@@ -12166,16 +12670,9 @@
      - userList
      - permissionTypeId
      - cascadePermission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'userList', (TType.STRING, 'UTF8', False), None, ),  # 3
-        (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
-        (5, TType.BOOL, 'cascadePermission', None, None, ),  # 5
-    )
 
     def __init__(self, domainId=None, entityId=None, userList=None, permissionTypeId=None, cascadePermission=None,):
         self.domainId = domainId
@@ -12186,7 +12683,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12195,12 +12692,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -12208,14 +12705,14 @@
                     self.userList = []
                     (_etype136, _size133) = iprot.readListBegin()
                     for _i137 in range(_size133):
-                        _elem138 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem138 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.userList.append(_elem138)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -12230,7 +12727,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareEntityWithUsers_args')
         if self.domainId is not None:
@@ -12282,6 +12779,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareEntityWithUsers_args)
+shareEntityWithUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'userList', (TType.STRING, 'UTF8', False), None, ),  # 3
+    (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
+    (5, TType.BOOL, 'cascadePermission', None, None, ),  # 5
+)
 
 
 class shareEntityWithUsers_result(object):
@@ -12289,12 +12795,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -12302,7 +12805,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12316,8 +12819,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -12327,7 +12829,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareEntityWithUsers_result')
         if self.success is not None:
@@ -12354,6 +12856,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareEntityWithUsers_result)
+shareEntityWithUsers_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class revokeEntitySharingFromUsers_args(object):
@@ -12363,15 +12870,9 @@
      - entityId
      - userList
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'userList', (TType.STRING, 'UTF8', False), None, ),  # 3
-        (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, domainId=None, entityId=None, userList=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -12381,7 +12882,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12390,12 +12891,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -12403,14 +12904,14 @@
                     self.userList = []
                     (_etype143, _size140) = iprot.readListBegin()
                     for _i144 in range(_size140):
-                        _elem145 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem145 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.userList.append(_elem145)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -12420,7 +12921,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeEntitySharingFromUsers_args')
         if self.domainId is not None:
@@ -12466,6 +12967,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeEntitySharingFromUsers_args)
+revokeEntitySharingFromUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'userList', (TType.STRING, 'UTF8', False), None, ),  # 3
+    (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
+)
 
 
 class revokeEntitySharingFromUsers_result(object):
@@ -12473,12 +12982,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -12486,7 +12992,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12500,8 +13006,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -12511,7 +13016,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeEntitySharingFromUsers_result')
         if self.success is not None:
@@ -12538,6 +13043,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeEntitySharingFromUsers_result)
+revokeEntitySharingFromUsers_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class shareEntityWithGroups_args(object):
@@ -12548,16 +13058,9 @@
      - groupList
      - permissionTypeId
      - cascadePermission
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'groupList', (TType.STRING, 'UTF8', False), None, ),  # 3
-        (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
-        (5, TType.BOOL, 'cascadePermission', None, None, ),  # 5
-    )
 
     def __init__(self, domainId=None, entityId=None, groupList=None, permissionTypeId=None, cascadePermission=None,):
         self.domainId = domainId
@@ -12568,7 +13071,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12577,12 +13080,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -12590,14 +13093,14 @@
                     self.groupList = []
                     (_etype150, _size147) = iprot.readListBegin()
                     for _i151 in range(_size147):
-                        _elem152 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem152 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.groupList.append(_elem152)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -12612,7 +13115,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareEntityWithGroups_args')
         if self.domainId is not None:
@@ -12664,6 +13167,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareEntityWithGroups_args)
+shareEntityWithGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'groupList', (TType.STRING, 'UTF8', False), None, ),  # 3
+    (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
+    (5, TType.BOOL, 'cascadePermission', None, None, ),  # 5
+)
 
 
 class shareEntityWithGroups_result(object):
@@ -12671,12 +13183,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -12684,7 +13193,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12698,8 +13207,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -12709,7 +13217,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('shareEntityWithGroups_result')
         if self.success is not None:
@@ -12736,6 +13244,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(shareEntityWithGroups_result)
+shareEntityWithGroups_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class revokeEntitySharingFromGroups_args(object):
@@ -12745,15 +13258,9 @@
      - entityId
      - groupList
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'groupList', (TType.STRING, 'UTF8', False), None, ),  # 3
-        (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, domainId=None, entityId=None, groupList=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -12763,7 +13270,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12772,12 +13279,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -12785,14 +13292,14 @@
                     self.groupList = []
                     (_etype157, _size154) = iprot.readListBegin()
                     for _i158 in range(_size154):
-                        _elem159 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem159 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.groupList.append(_elem159)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -12802,7 +13309,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeEntitySharingFromGroups_args')
         if self.domainId is not None:
@@ -12848,6 +13355,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeEntitySharingFromGroups_args)
+revokeEntitySharingFromGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'groupList', (TType.STRING, 'UTF8', False), None, ),  # 3
+    (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
+)
 
 
 class revokeEntitySharingFromGroups_result(object):
@@ -12855,12 +13370,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -12868,7 +13380,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12882,8 +13394,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -12893,7 +13404,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('revokeEntitySharingFromGroups_result')
         if self.success is not None:
@@ -12920,6 +13431,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(revokeEntitySharingFromGroups_result)
+revokeEntitySharingFromGroups_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
 
 
 class userHasAccess_args(object):
@@ -12929,15 +13445,9 @@
      - userId
      - entityId
      - permissionTypeId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'entityId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, domainId=None, userId=None, entityId=None, permissionTypeId=None,):
         self.domainId = domainId
@@ -12947,7 +13457,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -12956,22 +13466,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -12981,7 +13491,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('userHasAccess_args')
         if self.domainId is not None:
@@ -13024,6 +13534,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(userHasAccess_args)
+userHasAccess_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'entityId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 4
+)
 
 
 class userHasAccess_result(object):
@@ -13031,12 +13549,9 @@
     Attributes:
      - success
      - sre
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'sre', (airavata.model.sharing.ttypes.SharingRegistryException, airavata.model.sharing.ttypes.SharingRegistryException.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, success=None, sre=None,):
         self.success = success
@@ -13044,7 +13559,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -13058,8 +13573,7 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException()
-                    self.sre.read(iprot)
+                    self.sre = airavata.model.sharing.ttypes.SharingRegistryException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -13069,7 +13583,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('userHasAccess_result')
         if self.success is not None:
@@ -13096,3 +13610,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(userHasAccess_result)
+userHasAccess_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'sre', [airavata.model.sharing.ttypes.SharingRegistryException, None], None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/constants.py
index 6ac9983..0100dc1 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 SHARING_CPI_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/ttypes.py
index 43dc206..0d75158 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/sharing/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,8 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.sharing.ttypes
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/ttypes.py
index 5c809cc..4051a75 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/api/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.api.error.ttypes
 import airavata.model.security.ttypes
@@ -36,3 +38,6 @@
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI-remote
index cdc3ed1..f98b420 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI.py
index 6e5e3ad..d7d5383 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/BaseAPI.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,11 +8,14 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(object):
@@ -59,9 +62,15 @@
         self._handler = handler
         self._processMap = {}
         self._processMap["getAPIVersion"] = Processor.process_getAPIVersion
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -83,11 +92,15 @@
         try:
             result.success = self._handler.getAPIVersion()
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAPIVersion", msg_type, seqid)
         result.write(oprot)
@@ -99,12 +112,10 @@
 
 class getAPIVersion_args(object):
 
-    thrift_spec = (
-    )
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -118,7 +129,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAPIVersion_args')
         oprot.writeFieldStop()
@@ -137,24 +148,25 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAPIVersion_args)
+getAPIVersion_args.thrift_spec = (
+)
 
 
 class getAPIVersion_result(object):
     """
     Attributes:
      - success
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-    )
 
     def __init__(self, success=None,):
         self.success = success
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -163,7 +175,7 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -173,7 +185,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAPIVersion_result')
         if self.success is not None:
@@ -196,3 +208,9 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAPIVersion_result)
+getAPIVersion_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/ttypes.py
index d7e97e9..1f951e7 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/base/api/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,11 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/ttypes.py
index 8d3e95b..5c2eda2 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/accountprovisioning/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class SSHAccountProvisionerConfigParamType(object):
@@ -35,17 +38,11 @@
      - type
      - isOptional
      - description
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'type', None, 0, ),  # 2
-        (3, TType.BOOL, 'isOptional', None, False, ),  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-    )
 
-    def __init__(self, name=None, type=thrift_spec[2][4], isOptional=thrift_spec[3][4], description=None,):
+    def __init__(self, name=None, type=    0, isOptional=False, description=None,):
         self.name = name
         self.type = type
         self.isOptional = isOptional
@@ -53,7 +50,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -62,7 +59,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -77,7 +74,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -87,7 +84,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SSHAccountProvisionerConfigParam')
         if self.name is not None:
@@ -137,15 +134,9 @@
      - canCreateAccount
      - canInstallSSHKey
      - configParams
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
-        (2, TType.BOOL, 'canCreateAccount', None, None, ),  # 2
-        (3, TType.BOOL, 'canInstallSSHKey', None, None, ),  # 3
-        (4, TType.LIST, 'configParams', (TType.STRUCT, (SSHAccountProvisionerConfigParam, SSHAccountProvisionerConfigParam.thrift_spec), False), None, ),  # 4
-    )
 
     def __init__(self, name=None, canCreateAccount=None, canInstallSSHKey=None, configParams=None,):
         self.name = name
@@ -155,7 +146,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -164,7 +155,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -195,7 +186,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SSHAccountProvisioner')
         if self.name is not None:
@@ -241,3 +232,21 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(SSHAccountProvisionerConfigParam)
+SSHAccountProvisionerConfigParam.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'type', None,     0, ),  # 2
+    (3, TType.BOOL, 'isOptional', None, False, ),  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+)
+all_structs.append(SSHAccountProvisioner)
+SSHAccountProvisioner.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+    (2, TType.BOOL, 'canCreateAccount', None, None, ),  # 2
+    (3, TType.BOOL, 'canInstallSSHKey', None, None, ),  # 3
+    (4, TType.LIST, 'configParams', (TType.STRUCT, [SSHAccountProvisionerConfigParam, None], False), None, ),  # 4
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/ttypes.py
index 861f224..cce07a0 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appdeployment/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,11 +8,14 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.appcatalog.parallelism.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class SetEnvPaths(object):
@@ -32,14 +35,9 @@
      - name
      - value
      - envPathOrder
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'envPathOrder', None, None, ),  # 3
-    )
 
     def __init__(self, name=None, value=None, envPathOrder=None,):
         self.name = name
@@ -48,7 +46,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -57,12 +55,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -77,7 +75,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SetEnvPaths')
         if self.name is not None:
@@ -127,13 +125,9 @@
     Attributes:
      - command
      - commandOrder
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'command', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'commandOrder', None, None, ),  # 2
-    )
 
     def __init__(self, command=None, commandOrder=None,):
         self.command = command
@@ -141,7 +135,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -150,7 +144,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.command = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.command = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -165,7 +159,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CommandObject')
         if self.command is not None:
@@ -217,17 +211,11 @@
      - appModuleName
      - appModuleVersion
      - appModuleDescription
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'appModuleId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'appModuleName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'appModuleVersion', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'appModuleDescription', 'UTF8', None, ),  # 4
-    )
 
-    def __init__(self, appModuleId=thrift_spec[1][4], appModuleName=None, appModuleVersion=None, appModuleDescription=None,):
+    def __init__(self, appModuleId="DO_NOT_SET_AT_CLIENTS", appModuleName=None, appModuleVersion=None, appModuleDescription=None,):
         self.appModuleId = appModuleId
         self.appModuleName = appModuleName
         self.appModuleVersion = appModuleVersion
@@ -235,7 +223,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -244,22 +232,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.appModuleVersion = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleVersion = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.appModuleDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -269,7 +257,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ApplicationModule')
         if self.appModuleId is not None:
@@ -355,30 +343,11 @@
      - defaultCPUCount
      - defaultWalltime
      - editableByUser
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'appDeploymentId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'computeHostId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'executablePath', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'parallelism', None, 0, ),  # 5
-        (6, TType.STRING, 'appDeploymentDescription', 'UTF8', None, ),  # 6
-        (7, TType.LIST, 'moduleLoadCmds', (TType.STRUCT, (CommandObject, CommandObject.thrift_spec), False), None, ),  # 7
-        (8, TType.LIST, 'libPrependPaths', (TType.STRUCT, (SetEnvPaths, SetEnvPaths.thrift_spec), False), None, ),  # 8
-        (9, TType.LIST, 'libAppendPaths', (TType.STRUCT, (SetEnvPaths, SetEnvPaths.thrift_spec), False), None, ),  # 9
-        (10, TType.LIST, 'setEnvironment', (TType.STRUCT, (SetEnvPaths, SetEnvPaths.thrift_spec), False), None, ),  # 10
-        (11, TType.LIST, 'preJobCommands', (TType.STRUCT, (CommandObject, CommandObject.thrift_spec), False), None, ),  # 11
-        (12, TType.LIST, 'postJobCommands', (TType.STRUCT, (CommandObject, CommandObject.thrift_spec), False), None, ),  # 12
-        (13, TType.STRING, 'defaultQueueName', 'UTF8', None, ),  # 13
-        (14, TType.I32, 'defaultNodeCount', None, None, ),  # 14
-        (15, TType.I32, 'defaultCPUCount', None, None, ),  # 15
-        (16, TType.I32, 'defaultWalltime', None, None, ),  # 16
-        (17, TType.BOOL, 'editableByUser', None, None, ),  # 17
-    )
 
-    def __init__(self, appDeploymentId=thrift_spec[1][4], appModuleId=None, computeHostId=None, executablePath=None, parallelism=thrift_spec[5][4], appDeploymentDescription=None, moduleLoadCmds=None, libPrependPaths=None, libAppendPaths=None, setEnvironment=None, preJobCommands=None, postJobCommands=None, defaultQueueName=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None, editableByUser=None,):
+    def __init__(self, appDeploymentId="DO_NOT_SET_AT_CLIENTS", appModuleId=None, computeHostId=None, executablePath=None, parallelism=    0, appDeploymentDescription=None, moduleLoadCmds=None, libPrependPaths=None, libAppendPaths=None, setEnvironment=None, preJobCommands=None, postJobCommands=None, defaultQueueName=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None, editableByUser=None,):
         self.appDeploymentId = appDeploymentId
         self.appModuleId = appModuleId
         self.computeHostId = computeHostId
@@ -399,7 +368,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -408,22 +377,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.appDeploymentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appDeploymentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.appModuleId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appModuleId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.computeHostId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeHostId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.executablePath = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.executablePath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -433,7 +402,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.appDeploymentDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.appDeploymentDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -504,7 +473,7 @@
                     iprot.skip(ftype)
             elif fid == 13:
                 if ftype == TType.STRING:
-                    self.defaultQueueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.defaultQueueName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 14:
@@ -534,7 +503,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ApplicationDeploymentDescription')
         if self.appDeploymentId is not None:
@@ -649,3 +618,47 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(SetEnvPaths)
+SetEnvPaths.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'envPathOrder', None, None, ),  # 3
+)
+all_structs.append(CommandObject)
+CommandObject.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'command', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'commandOrder', None, None, ),  # 2
+)
+all_structs.append(ApplicationModule)
+ApplicationModule.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'appModuleId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'appModuleName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'appModuleVersion', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'appModuleDescription', 'UTF8', None, ),  # 4
+)
+all_structs.append(ApplicationDeploymentDescription)
+ApplicationDeploymentDescription.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'appDeploymentId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'appModuleId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'computeHostId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'executablePath', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'parallelism', None,     0, ),  # 5
+    (6, TType.STRING, 'appDeploymentDescription', 'UTF8', None, ),  # 6
+    (7, TType.LIST, 'moduleLoadCmds', (TType.STRUCT, [CommandObject, None], False), None, ),  # 7
+    (8, TType.LIST, 'libPrependPaths', (TType.STRUCT, [SetEnvPaths, None], False), None, ),  # 8
+    (9, TType.LIST, 'libAppendPaths', (TType.STRUCT, [SetEnvPaths, None], False), None, ),  # 9
+    (10, TType.LIST, 'setEnvironment', (TType.STRUCT, [SetEnvPaths, None], False), None, ),  # 10
+    (11, TType.LIST, 'preJobCommands', (TType.STRUCT, [CommandObject, None], False), None, ),  # 11
+    (12, TType.LIST, 'postJobCommands', (TType.STRUCT, [CommandObject, None], False), None, ),  # 12
+    (13, TType.STRING, 'defaultQueueName', 'UTF8', None, ),  # 13
+    (14, TType.I32, 'defaultNodeCount', None, None, ),  # 14
+    (15, TType.I32, 'defaultCPUCount', None, None, ),  # 15
+    (16, TType.I32, 'defaultWalltime', None, None, ),  # 16
+    (17, TType.BOOL, 'editableByUser', None, None, ),  # 17
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py
index acd9fd0..fc03673 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/appinterface/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,11 +8,14 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.application.io.ttypes
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ApplicationInterfaceDescription(object):
@@ -38,21 +41,11 @@
      - applicationOutputs
      - archiveWorkingDirectory
      - hasOptionalFileInputs
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'applicationInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'applicationName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'applicationDescription', 'UTF8', None, ),  # 3
-        (4, TType.LIST, 'applicationModules', (TType.STRING, 'UTF8', False), None, ),  # 4
-        (5, TType.LIST, 'applicationInputs', (TType.STRUCT, (airavata.model.application.io.ttypes.InputDataObjectType, airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ),  # 5
-        (6, TType.LIST, 'applicationOutputs', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 6
-        (7, TType.BOOL, 'archiveWorkingDirectory', None, False, ),  # 7
-        (8, TType.BOOL, 'hasOptionalFileInputs', None, None, ),  # 8
-    )
 
-    def __init__(self, applicationInterfaceId=thrift_spec[1][4], applicationName=None, applicationDescription=None, applicationModules=None, applicationInputs=None, applicationOutputs=None, archiveWorkingDirectory=thrift_spec[7][4], hasOptionalFileInputs=None,):
+    def __init__(self, applicationInterfaceId="DO_NOT_SET_AT_CLIENTS", applicationName=None, applicationDescription=None, applicationModules=None, applicationInputs=None, applicationOutputs=None, archiveWorkingDirectory=False, hasOptionalFileInputs=None,):
         self.applicationInterfaceId = applicationInterfaceId
         self.applicationName = applicationName
         self.applicationDescription = applicationDescription
@@ -64,7 +57,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -73,17 +66,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.applicationInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.applicationName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.applicationDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -91,7 +84,7 @@
                     self.applicationModules = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.applicationModules.append(_elem5)
                     iprot.readListEnd()
                 else:
@@ -135,7 +128,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ApplicationInterfaceDescription')
         if self.applicationInterfaceId is not None:
@@ -199,3 +192,17 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ApplicationInterfaceDescription)
+ApplicationInterfaceDescription.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'applicationInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'applicationName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'applicationDescription', 'UTF8', None, ),  # 3
+    (4, TType.LIST, 'applicationModules', (TType.STRING, 'UTF8', False), None, ),  # 4
+    (5, TType.LIST, 'applicationInputs', (TType.STRUCT, [airavata.model.application.io.ttypes.InputDataObjectType, None], False), None, ),  # 5
+    (6, TType.LIST, 'applicationOutputs', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 6
+    (7, TType.BOOL, 'archiveWorkingDirectory', None, False, ),  # 7
+    (8, TType.BOOL, 'hasOptionalFileInputs', None, None, ),  # 8
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/ttypes.py
index f169394..75dfba6 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/computeresource/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.appcatalog.parallelism.ttypes
 import airavata.model.data.movement.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ResourceJobManagerType(object):
@@ -35,6 +38,7 @@
      * LSF:
      *  IBM Platform Load Sharing Facility is dominantly installed on IBM clusters.
     *
+
     """
     FORK = 0
     PBS = 1
@@ -93,6 +97,7 @@
     SHOW_START:
      Display the start time of the specified job. Ex: showstart
 
+
     """
     SUBMISSION = 0
     JOB_MONITORING = 1
@@ -101,6 +106,9 @@
     SHOW_QUEUE = 4
     SHOW_RESERVATION = 5
     SHOW_START = 6
+    SHOW_CLUSTER_INFO = 7
+    SHOW_NO_OF_RUNNING_JOBS = 8
+    SHOW_NO_OF_PENDING_JOBS = 9
 
     _VALUES_TO_NAMES = {
         0: "SUBMISSION",
@@ -110,6 +118,9 @@
         4: "SHOW_QUEUE",
         5: "SHOW_RESERVATION",
         6: "SHOW_START",
+        7: "SHOW_CLUSTER_INFO",
+        8: "SHOW_NO_OF_RUNNING_JOBS",
+        9: "SHOW_NO_OF_PENDING_JOBS",
     }
 
     _NAMES_TO_VALUES = {
@@ -120,6 +131,9 @@
         "SHOW_QUEUE": 4,
         "SHOW_RESERVATION": 5,
         "SHOW_START": 6,
+        "SHOW_CLUSTER_INFO": 7,
+        "SHOW_NO_OF_RUNNING_JOBS": 8,
+        "SHOW_NO_OF_PENDING_JOBS": 9,
     }
 
 
@@ -139,6 +153,7 @@
     SLURM:
      The Simple Linux Utility for Resource Management is a open source workload manager.
 
+
     """
     HOME = 0
     WORK = 1
@@ -176,6 +191,7 @@
     UNICORE:
      Execute remote jobs via Unicore services
 
+
     """
     LOCAL = 0
     SSH = 1
@@ -217,6 +233,7 @@
     Server will publish job status changes to amqp servert.
 
 
+
     """
     POLL_JOB_MANAGER = 0
     CLOUD_JOB_MONITOR = 1
@@ -263,6 +280,7 @@
     """
     Provider name
 
+
     """
     EC2 = 0
     AWSEC2 = 1
@@ -306,19 +324,11 @@
      - jobManagerBinPath
      - jobManagerCommands
      - parallelismPrefix
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'resourceJobManagerId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'resourceJobManagerType', None, None, ),  # 2
-        (3, TType.STRING, 'pushMonitoringEndpoint', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'jobManagerBinPath', 'UTF8', None, ),  # 4
-        (5, TType.MAP, 'jobManagerCommands', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 5
-        (6, TType.MAP, 'parallelismPrefix', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 6
-    )
 
-    def __init__(self, resourceJobManagerId=thrift_spec[1][4], resourceJobManagerType=None, pushMonitoringEndpoint=None, jobManagerBinPath=None, jobManagerCommands=None, parallelismPrefix=None,):
+    def __init__(self, resourceJobManagerId="DO_NOT_SET_AT_CLIENTS", resourceJobManagerType=None, pushMonitoringEndpoint=None, jobManagerBinPath=None, jobManagerCommands=None, parallelismPrefix=None,):
         self.resourceJobManagerId = resourceJobManagerId
         self.resourceJobManagerType = resourceJobManagerType
         self.pushMonitoringEndpoint = pushMonitoringEndpoint
@@ -328,7 +338,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -337,7 +347,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.resourceJobManagerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceJobManagerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -347,12 +357,12 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.pushMonitoringEndpoint = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.pushMonitoringEndpoint = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.jobManagerBinPath = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobManagerBinPath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -361,7 +371,7 @@
                     (_ktype1, _vtype2, _size0) = iprot.readMapBegin()
                     for _i4 in range(_size0):
                         _key5 = iprot.readI32()
-                        _val6 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _val6 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.jobManagerCommands[_key5] = _val6
                     iprot.readMapEnd()
                 else:
@@ -372,7 +382,7 @@
                     (_ktype8, _vtype9, _size7) = iprot.readMapBegin()
                     for _i11 in range(_size7):
                         _key12 = iprot.readI32()
-                        _val13 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _val13 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.parallelismPrefix[_key12] = _val13
                     iprot.readMapEnd()
                 else:
@@ -384,7 +394,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ResourceJobManager')
         if self.resourceJobManagerId is not None:
@@ -462,24 +472,9 @@
      - defaultWalltime
      - queueSpecificMacros
      - isDefaultQueue
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'queueName', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'queueDescription', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'maxRunTime', None, None, ),  # 3
-        (4, TType.I32, 'maxNodes', None, None, ),  # 4
-        (5, TType.I32, 'maxProcessors', None, None, ),  # 5
-        (6, TType.I32, 'maxJobsInQueue', None, None, ),  # 6
-        (7, TType.I32, 'maxMemory', None, None, ),  # 7
-        (8, TType.I32, 'cpuPerNode', None, None, ),  # 8
-        (9, TType.I32, 'defaultNodeCount', None, None, ),  # 9
-        (10, TType.I32, 'defaultCPUCount', None, None, ),  # 10
-        (11, TType.I32, 'defaultWalltime', None, None, ),  # 11
-        (12, TType.STRING, 'queueSpecificMacros', 'UTF8', None, ),  # 12
-        (13, TType.BOOL, 'isDefaultQueue', None, None, ),  # 13
-    )
 
     def __init__(self, queueName=None, queueDescription=None, maxRunTime=None, maxNodes=None, maxProcessors=None, maxJobsInQueue=None, maxMemory=None, cpuPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None, queueSpecificMacros=None, isDefaultQueue=None,):
         self.queueName = queueName
@@ -498,7 +493,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -507,12 +502,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.queueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.queueDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -562,7 +557,7 @@
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.queueSpecificMacros = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueSpecificMacros = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
@@ -577,7 +572,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('BatchQueue')
         if self.queueName is not None:
@@ -666,23 +661,18 @@
      - jobSubmissionInterfaceId
      - resourceJobManager
      - securityProtocol
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRUCT, 'resourceJobManager', (ResourceJobManager, ResourceJobManager.thrift_spec), None, ),  # 2
-        (3, TType.I32, 'securityProtocol', None, None, ),  # 3
-    )
 
-    def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], resourceJobManager=None, securityProtocol=None,):
+    def __init__(self, jobSubmissionInterfaceId="DO_NOT_SET_AT_CLIENTS", resourceJobManager=None, securityProtocol=None,):
         self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
         self.resourceJobManager = resourceJobManager
         self.securityProtocol = securityProtocol
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -691,7 +681,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -712,7 +702,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('LOCALSubmission')
         if self.jobSubmissionInterfaceId is not None:
@@ -776,20 +766,11 @@
      - sshPort
      - monitorMode
      - batchQueueEmailSenders
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.STRUCT, 'resourceJobManager', (ResourceJobManager, ResourceJobManager.thrift_spec), None, ),  # 3
-        (4, TType.STRING, 'alternativeSSHHostName', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'sshPort', None, 22, ),  # 5
-        (6, TType.I32, 'monitorMode', None, None, ),  # 6
-        (7, TType.LIST, 'batchQueueEmailSenders', (TType.STRING, 'UTF8', False), None, ),  # 7
-    )
 
-    def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, resourceJobManager=None, alternativeSSHHostName=None, sshPort=thrift_spec[5][4], monitorMode=None, batchQueueEmailSenders=None,):
+    def __init__(self, jobSubmissionInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, resourceJobManager=None, alternativeSSHHostName=None, sshPort=22, monitorMode=None, batchQueueEmailSenders=None,):
         self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
         self.securityProtocol = securityProtocol
         self.resourceJobManager = resourceJobManager
@@ -800,7 +781,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -809,7 +790,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -825,7 +806,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.alternativeSSHHostName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.alternativeSSHHostName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -843,7 +824,7 @@
                     self.batchQueueEmailSenders = []
                     (_etype21, _size18) = iprot.readListBegin()
                     for _i22 in range(_size18):
-                        _elem23 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem23 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.batchQueueEmailSenders.append(_elem23)
                     iprot.readListEnd()
                 else:
@@ -855,7 +836,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SSHJobSubmission')
         if self.jobSubmissionInterfaceId is not None:
@@ -919,23 +900,18 @@
      - jobSubmissionInterfaceId
      - securityProtocol
      - globusGateKeeperEndPoint
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.LIST, 'globusGateKeeperEndPoint', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
-    def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, globusGateKeeperEndPoint=None,):
+    def __init__(self, jobSubmissionInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, globusGateKeeperEndPoint=None,):
         self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
         self.securityProtocol = securityProtocol
         self.globusGateKeeperEndPoint = globusGateKeeperEndPoint
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -944,7 +920,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -957,7 +933,7 @@
                     self.globusGateKeeperEndPoint = []
                     (_etype28, _size25) = iprot.readListBegin()
                     for _i29 in range(_size25):
-                        _elem30 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem30 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.globusGateKeeperEndPoint.append(_elem30)
                     iprot.readListEnd()
                 else:
@@ -969,7 +945,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GlobusJobSubmission')
         if self.jobSubmissionInterfaceId is not None:
@@ -1022,23 +998,18 @@
      - jobSubmissionInterfaceId
      - securityProtocol
      - unicoreEndPointURL
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.STRING, 'unicoreEndPointURL', 'UTF8', None, ),  # 3
-    )
 
-    def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, unicoreEndPointURL=None,):
+    def __init__(self, jobSubmissionInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, unicoreEndPointURL=None,):
         self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
         self.securityProtocol = securityProtocol
         self.unicoreEndPointURL = unicoreEndPointURL
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1047,7 +1018,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -1057,7 +1028,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.unicoreEndPointURL = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.unicoreEndPointURL = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1067,7 +1038,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UnicoreJobSubmission')
         if self.jobSubmissionInterfaceId is not None:
@@ -1119,19 +1090,11 @@
      - executableType
      - providerName
      - userAccountName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.STRING, 'nodeId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'executableType', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'providerName', None, None, ),  # 5
-        (6, TType.STRING, 'userAccountName', 'UTF8', None, ),  # 6
-    )
 
-    def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, nodeId=None, executableType=None, providerName=None, userAccountName=None,):
+    def __init__(self, jobSubmissionInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, nodeId=None, executableType=None, providerName=None, userAccountName=None,):
         self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
         self.securityProtocol = securityProtocol
         self.nodeId = nodeId
@@ -1141,7 +1104,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1150,7 +1113,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -1160,12 +1123,12 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.nodeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.nodeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.executableType = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.executableType = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -1175,7 +1138,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.userAccountName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userAccountName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1185,7 +1148,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CloudJobSubmission')
         if self.jobSubmissionInterfaceId is not None:
@@ -1257,23 +1220,18 @@
      - jobSubmissionInterfaceId
      - jobSubmissionProtocol
      - priorityOrder
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'jobSubmissionProtocol', None, None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, 0, ),  # 3
-    )
 
-    def __init__(self, jobSubmissionInterfaceId=None, jobSubmissionProtocol=None, priorityOrder=thrift_spec[3][4],):
+    def __init__(self, jobSubmissionInterfaceId=None, jobSubmissionProtocol=None, priorityOrder=0,):
         self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
         self.jobSubmissionProtocol = jobSubmissionProtocol
         self.priorityOrder = priorityOrder
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1282,7 +1240,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobSubmissionInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -1302,7 +1260,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobSubmissionInterface')
         if self.jobSubmissionInterfaceId is not None:
@@ -1390,31 +1348,11 @@
      - defaultNodeCount
      - defaultCPUCount
      - defaultWalltime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'computeResourceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'hostName', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'hostAliases', (TType.STRING, 'UTF8', False), None, ),  # 3
-        (4, TType.LIST, 'ipAddresses', (TType.STRING, 'UTF8', False), None, ),  # 4
-        (5, TType.STRING, 'resourceDescription', 'UTF8', None, ),  # 5
-        (6, TType.BOOL, 'enabled', None, None, ),  # 6
-        (7, TType.LIST, 'batchQueues', (TType.STRUCT, (BatchQueue, BatchQueue.thrift_spec), False), None, ),  # 7
-        (8, TType.MAP, 'fileSystems', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 8
-        (9, TType.LIST, 'jobSubmissionInterfaces', (TType.STRUCT, (JobSubmissionInterface, JobSubmissionInterface.thrift_spec), False), None, ),  # 9
-        (10, TType.LIST, 'dataMovementInterfaces', (TType.STRUCT, (airavata.model.data.movement.ttypes.DataMovementInterface, airavata.model.data.movement.ttypes.DataMovementInterface.thrift_spec), False), None, ),  # 10
-        (11, TType.I32, 'maxMemoryPerNode', None, None, ),  # 11
-        (12, TType.BOOL, 'gatewayUsageReporting', None, None, ),  # 12
-        (13, TType.STRING, 'gatewayUsageModuleLoadCommand', 'UTF8', None, ),  # 13
-        (14, TType.STRING, 'gatewayUsageExecutable', 'UTF8', None, ),  # 14
-        (15, TType.I32, 'cpusPerNode', None, None, ),  # 15
-        (16, TType.I32, 'defaultNodeCount', None, None, ),  # 16
-        (17, TType.I32, 'defaultCPUCount', None, None, ),  # 17
-        (18, TType.I32, 'defaultWalltime', None, None, ),  # 18
-    )
 
-    def __init__(self, computeResourceId=thrift_spec[1][4], hostName=None, hostAliases=None, ipAddresses=None, resourceDescription=None, enabled=None, batchQueues=None, fileSystems=None, jobSubmissionInterfaces=None, dataMovementInterfaces=None, maxMemoryPerNode=None, gatewayUsageReporting=None, gatewayUsageModuleLoadCommand=None, gatewayUsageExecutable=None, cpusPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None,):
+    def __init__(self, computeResourceId="DO_NOT_SET_AT_CLIENTS", hostName=None, hostAliases=None, ipAddresses=None, resourceDescription=None, enabled=None, batchQueues=None, fileSystems=None, jobSubmissionInterfaces=None, dataMovementInterfaces=None, maxMemoryPerNode=None, gatewayUsageReporting=None, gatewayUsageModuleLoadCommand=None, gatewayUsageExecutable=None, cpusPerNode=None, defaultNodeCount=None, defaultCPUCount=None, defaultWalltime=None,):
         self.computeResourceId = computeResourceId
         self.hostName = hostName
         self.hostAliases = hostAliases
@@ -1436,7 +1374,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1445,12 +1383,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.hostName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.hostName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -1458,7 +1396,7 @@
                     self.hostAliases = []
                     (_etype35, _size32) = iprot.readListBegin()
                     for _i36 in range(_size32):
-                        _elem37 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem37 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.hostAliases.append(_elem37)
                     iprot.readListEnd()
                 else:
@@ -1468,14 +1406,14 @@
                     self.ipAddresses = []
                     (_etype41, _size38) = iprot.readListBegin()
                     for _i42 in range(_size38):
-                        _elem43 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem43 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.ipAddresses.append(_elem43)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.resourceDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -1500,7 +1438,7 @@
                     (_ktype51, _vtype52, _size50) = iprot.readMapBegin()
                     for _i54 in range(_size50):
                         _key55 = iprot.readI32()
-                        _val56 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _val56 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.fileSystems[_key55] = _val56
                     iprot.readMapEnd()
                 else:
@@ -1539,12 +1477,12 @@
                     iprot.skip(ftype)
             elif fid == 13:
                 if ftype == TType.STRING:
-                    self.gatewayUsageModuleLoadCommand = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayUsageModuleLoadCommand = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 14:
                 if ftype == TType.STRING:
-                    self.gatewayUsageExecutable = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayUsageExecutable = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 15:
@@ -1574,7 +1512,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ComputeResourceDescription')
         if self.computeResourceId is not None:
@@ -1688,3 +1626,103 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ResourceJobManager)
+ResourceJobManager.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'resourceJobManagerId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'resourceJobManagerType', None, None, ),  # 2
+    (3, TType.STRING, 'pushMonitoringEndpoint', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'jobManagerBinPath', 'UTF8', None, ),  # 4
+    (5, TType.MAP, 'jobManagerCommands', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 5
+    (6, TType.MAP, 'parallelismPrefix', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 6
+)
+all_structs.append(BatchQueue)
+BatchQueue.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'queueName', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'queueDescription', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'maxRunTime', None, None, ),  # 3
+    (4, TType.I32, 'maxNodes', None, None, ),  # 4
+    (5, TType.I32, 'maxProcessors', None, None, ),  # 5
+    (6, TType.I32, 'maxJobsInQueue', None, None, ),  # 6
+    (7, TType.I32, 'maxMemory', None, None, ),  # 7
+    (8, TType.I32, 'cpuPerNode', None, None, ),  # 8
+    (9, TType.I32, 'defaultNodeCount', None, None, ),  # 9
+    (10, TType.I32, 'defaultCPUCount', None, None, ),  # 10
+    (11, TType.I32, 'defaultWalltime', None, None, ),  # 11
+    (12, TType.STRING, 'queueSpecificMacros', 'UTF8', None, ),  # 12
+    (13, TType.BOOL, 'isDefaultQueue', None, None, ),  # 13
+)
+all_structs.append(LOCALSubmission)
+LOCALSubmission.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRUCT, 'resourceJobManager', [ResourceJobManager, None], None, ),  # 2
+    (3, TType.I32, 'securityProtocol', None, None, ),  # 3
+)
+all_structs.append(SSHJobSubmission)
+SSHJobSubmission.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.STRUCT, 'resourceJobManager', [ResourceJobManager, None], None, ),  # 3
+    (4, TType.STRING, 'alternativeSSHHostName', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'sshPort', None, 22, ),  # 5
+    (6, TType.I32, 'monitorMode', None, None, ),  # 6
+    (7, TType.LIST, 'batchQueueEmailSenders', (TType.STRING, 'UTF8', False), None, ),  # 7
+)
+all_structs.append(GlobusJobSubmission)
+GlobusJobSubmission.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.LIST, 'globusGateKeeperEndPoint', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
+all_structs.append(UnicoreJobSubmission)
+UnicoreJobSubmission.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.STRING, 'unicoreEndPointURL', 'UTF8', None, ),  # 3
+)
+all_structs.append(CloudJobSubmission)
+CloudJobSubmission.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.STRING, 'nodeId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'executableType', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'providerName', None, None, ),  # 5
+    (6, TType.STRING, 'userAccountName', 'UTF8', None, ),  # 6
+)
+all_structs.append(JobSubmissionInterface)
+JobSubmissionInterface.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobSubmissionInterfaceId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'jobSubmissionProtocol', None, None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, 0, ),  # 3
+)
+all_structs.append(ComputeResourceDescription)
+ComputeResourceDescription.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'computeResourceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'hostName', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'hostAliases', (TType.STRING, 'UTF8', False), None, ),  # 3
+    (4, TType.LIST, 'ipAddresses', (TType.STRING, 'UTF8', False), None, ),  # 4
+    (5, TType.STRING, 'resourceDescription', 'UTF8', None, ),  # 5
+    (6, TType.BOOL, 'enabled', None, None, ),  # 6
+    (7, TType.LIST, 'batchQueues', (TType.STRUCT, [BatchQueue, None], False), None, ),  # 7
+    (8, TType.MAP, 'fileSystems', (TType.I32, None, TType.STRING, 'UTF8', False), None, ),  # 8
+    (9, TType.LIST, 'jobSubmissionInterfaces', (TType.STRUCT, [JobSubmissionInterface, None], False), None, ),  # 9
+    (10, TType.LIST, 'dataMovementInterfaces', (TType.STRUCT, [airavata.model.data.movement.ttypes.DataMovementInterface, None], False), None, ),  # 10
+    (11, TType.I32, 'maxMemoryPerNode', None, None, ),  # 11
+    (12, TType.BOOL, 'gatewayUsageReporting', None, None, ),  # 12
+    (13, TType.STRING, 'gatewayUsageModuleLoadCommand', 'UTF8', None, ),  # 13
+    (14, TType.STRING, 'gatewayUsageExecutable', 'UTF8', None, ),  # 14
+    (15, TType.I32, 'cpusPerNode', None, None, ),  # 15
+    (16, TType.I32, 'defaultNodeCount', None, None, ),  # 16
+    (17, TType.I32, 'defaultCPUCount', None, None, ),  # 17
+    (18, TType.I32, 'defaultWalltime', None, None, ),  # 18
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/ttypes.py
index 6b5ffc9..73f026b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewaygroups/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class GatewayGroups(object):
@@ -20,15 +23,9 @@
      - adminsGroupId
      - readOnlyAdminsGroupId
      - defaultGatewayUsersGroupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'adminsGroupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'readOnlyAdminsGroupId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'defaultGatewayUsersGroupId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, gatewayId=None, adminsGroupId=None, readOnlyAdminsGroupId=None, defaultGatewayUsersGroupId=None,):
         self.gatewayId = gatewayId
@@ -38,7 +35,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -47,22 +44,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.adminsGroupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.adminsGroupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.readOnlyAdminsGroupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.readOnlyAdminsGroupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.defaultGatewayUsersGroupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.defaultGatewayUsersGroupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -72,7 +69,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GatewayGroups')
         if self.gatewayId is not None:
@@ -115,3 +112,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(GatewayGroups)
+GatewayGroups.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'adminsGroupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'readOnlyAdminsGroupId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'defaultGatewayUsersGroupId', 'UTF8', None, ),  # 4
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py
index 6908a39..bf5a21c 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/gatewayprofile/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.appcatalog.computeresource.ttypes
 import airavata.model.data.movement.ttypes
 import airavata.model.appcatalog.accountprovisioning.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ComputeResourcePreference(object):
@@ -69,30 +72,11 @@
      - sshAccountProvisioner
      - sshAccountProvisionerConfig
      - sshAccountProvisionerAdditionalInfo
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
-        (2, TType.BOOL, 'overridebyAiravata', None, True, ),  # 2
-        (3, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'preferredJobSubmissionProtocol', None, None, ),  # 4
-        (5, TType.I32, 'preferredDataMovementProtocol', None, None, ),  # 5
-        (6, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'usageReportingGatewayId', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'reservation', 'UTF8', None, ),  # 12
-        (13, TType.I64, 'reservationStartTime', None, None, ),  # 13
-        (14, TType.I64, 'reservationEndTime', None, None, ),  # 14
-        (15, TType.STRING, 'sshAccountProvisioner', 'UTF8', None, ),  # 15
-        (16, TType.MAP, 'sshAccountProvisionerConfig', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 16
-        (17, TType.STRING, 'sshAccountProvisionerAdditionalInfo', 'UTF8', None, ),  # 17
-    )
 
-    def __init__(self, computeResourceId=None, overridebyAiravata=thrift_spec[2][4], loginUserName=None, preferredJobSubmissionProtocol=None, preferredDataMovementProtocol=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, usageReportingGatewayId=None, qualityOfService=None, reservation=None, reservationStartTime=None, reservationEndTime=None, sshAccountProvisioner=None, sshAccountProvisionerConfig=None, sshAccountProvisionerAdditionalInfo=None,):
+    def __init__(self, computeResourceId=None, overridebyAiravata=True, loginUserName=None, preferredJobSubmissionProtocol=None, preferredDataMovementProtocol=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, usageReportingGatewayId=None, qualityOfService=None, reservation=None, reservationStartTime=None, reservationEndTime=None, sshAccountProvisioner=None, sshAccountProvisionerConfig=None, sshAccountProvisionerAdditionalInfo=None,):
         self.computeResourceId = computeResourceId
         self.overridebyAiravata = overridebyAiravata
         self.loginUserName = loginUserName
@@ -113,7 +97,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -122,7 +106,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -132,7 +116,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -147,37 +131,37 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.preferredBatchQueue = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.preferredBatchQueue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.scratchLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.scratchLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.allocationProjectNumber = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.allocationProjectNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.usageReportingGatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.usageReportingGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.qualityOfService = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.qualityOfService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.reservation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reservation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
@@ -192,7 +176,7 @@
                     iprot.skip(ftype)
             elif fid == 15:
                 if ftype == TType.STRING:
-                    self.sshAccountProvisioner = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.sshAccountProvisioner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 16:
@@ -200,15 +184,15 @@
                     self.sshAccountProvisionerConfig = {}
                     (_ktype1, _vtype2, _size0) = iprot.readMapBegin()
                     for _i4 in range(_size0):
-                        _key5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val6 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val6 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.sshAccountProvisionerConfig[_key5] = _val6
                     iprot.readMapEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
                 if ftype == TType.STRING:
-                    self.sshAccountProvisionerAdditionalInfo = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.sshAccountProvisionerAdditionalInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -218,7 +202,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ComputeResourcePreference')
         if self.computeResourceId is not None:
@@ -322,15 +306,9 @@
      - loginUserName
      - fileSystemRootLocation
      - resourceSpecificCredentialStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'fileSystemRootLocation', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, storageResourceId=None, loginUserName=None, fileSystemRootLocation=None, resourceSpecificCredentialStoreToken=None,):
         self.storageResourceId = storageResourceId
@@ -340,7 +318,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -349,22 +327,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.fileSystemRootLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.fileSystemRootLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -374,7 +352,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('StoragePreference')
         if self.storageResourceId is not None:
@@ -438,17 +416,9 @@
      - storagePreferences
      - identityServerTenant
      - identityServerPwdCredToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'credentialStoreToken', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'computeResourcePreferences', (TType.STRUCT, (ComputeResourcePreference, ComputeResourcePreference.thrift_spec), False), None, ),  # 3
-        (4, TType.LIST, 'storagePreferences', (TType.STRUCT, (StoragePreference, StoragePreference.thrift_spec), False), None, ),  # 4
-        (5, TType.STRING, 'identityServerTenant', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'identityServerPwdCredToken', 'UTF8', None, ),  # 6
-    )
 
     def __init__(self, gatewayID=None, credentialStoreToken=None, computeResourcePreferences=None, storagePreferences=None, identityServerTenant=None, identityServerPwdCredToken=None,):
         self.gatewayID = gatewayID
@@ -460,7 +430,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -469,12 +439,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.credentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.credentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -501,12 +471,12 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.identityServerTenant = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerTenant = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.identityServerPwdCredToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerPwdCredToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -516,7 +486,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GatewayResourceProfile')
         if self.gatewayID is not None:
@@ -567,3 +537,44 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ComputeResourcePreference)
+ComputeResourcePreference.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
+    (2, TType.BOOL, 'overridebyAiravata', None, True, ),  # 2
+    (3, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'preferredJobSubmissionProtocol', None, None, ),  # 4
+    (5, TType.I32, 'preferredDataMovementProtocol', None, None, ),  # 5
+    (6, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'usageReportingGatewayId', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'reservation', 'UTF8', None, ),  # 12
+    (13, TType.I64, 'reservationStartTime', None, None, ),  # 13
+    (14, TType.I64, 'reservationEndTime', None, None, ),  # 14
+    (15, TType.STRING, 'sshAccountProvisioner', 'UTF8', None, ),  # 15
+    (16, TType.MAP, 'sshAccountProvisionerConfig', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 16
+    (17, TType.STRING, 'sshAccountProvisionerAdditionalInfo', 'UTF8', None, ),  # 17
+)
+all_structs.append(StoragePreference)
+StoragePreference.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'fileSystemRootLocation', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 4
+)
+all_structs.append(GatewayResourceProfile)
+GatewayResourceProfile.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'credentialStoreToken', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'computeResourcePreferences', (TType.STRUCT, [ComputeResourcePreference, None], False), None, ),  # 3
+    (4, TType.LIST, 'storagePreferences', (TType.STRUCT, [StoragePreference, None], False), None, ),  # 4
+    (5, TType.STRING, 'identityServerTenant', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'identityServerPwdCredToken', 'UTF8', None, ),  # 6
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py
index 61df7f6..aeee3c2 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/groupresourceprofile/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.appcatalog.computeresource.ttypes
 import airavata.model.data.movement.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class GroupAccountSSHProvisionerConfig(object):
@@ -23,17 +26,11 @@
      - groupResourceProfileId
      - configName
      - configValue
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'resourceId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
-        (3, TType.STRING, 'configName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'configValue', 'UTF8', None, ),  # 4
-    )
 
-    def __init__(self, resourceId=None, groupResourceProfileId=thrift_spec[2][4], configName=None, configValue=None,):
+    def __init__(self, resourceId=None, groupResourceProfileId="DO_NOT_SET_AT_CLIENTS", configName=None, configValue=None,):
         self.resourceId = resourceId
         self.groupResourceProfileId = groupResourceProfileId
         self.configName = configName
@@ -41,7 +38,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -50,22 +47,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.resourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.configName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.configName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.configValue = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.configValue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -75,7 +72,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupAccountSSHProvisionerConfig')
         if self.resourceId is not None:
@@ -126,18 +123,11 @@
      - queueNames
      - startTime
      - endTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'reservationId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'reservationName', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'queueNames', (TType.STRING, 'UTF8', False), None, ),  # 3
-        (4, TType.I64, 'startTime', None, None, ),  # 4
-        (5, TType.I64, 'endTime', None, None, ),  # 5
-    )
 
-    def __init__(self, reservationId=thrift_spec[1][4], reservationName=None, queueNames=None, startTime=None, endTime=None,):
+    def __init__(self, reservationId="DO_NOT_SET_AT_CLIENTS", reservationName=None, queueNames=None, startTime=None, endTime=None,):
         self.reservationId = reservationId
         self.reservationName = reservationName
         self.queueNames = queueNames
@@ -146,7 +136,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -155,12 +145,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.reservationId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reservationId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.reservationName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reservationName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -168,7 +158,7 @@
                     self.queueNames = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.queueNames.append(_elem5)
                     iprot.readListEnd()
                 else:
@@ -190,7 +180,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ComputeResourceReservation')
         if self.reservationId is not None:
@@ -263,32 +253,11 @@
      - groupSSHAccountProvisionerConfigs
      - sshAccountProvisionerAdditionalInfo
      - reservations
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
-        (3, TType.BOOL, 'overridebyAiravata', None, True, ),  # 3
-        (4, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'preferredJobSubmissionProtocol', None, None, ),  # 5
-        (6, TType.I32, 'preferredDataMovementProtocol', None, None, ),  # 6
-        (7, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'usageReportingGatewayId', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 12
-        None,  # 13
-        None,  # 14
-        None,  # 15
-        (16, TType.STRING, 'sshAccountProvisioner', 'UTF8', None, ),  # 16
-        (17, TType.LIST, 'groupSSHAccountProvisionerConfigs', (TType.STRUCT, (GroupAccountSSHProvisionerConfig, GroupAccountSSHProvisionerConfig.thrift_spec), False), None, ),  # 17
-        (18, TType.STRING, 'sshAccountProvisionerAdditionalInfo', 'UTF8', None, ),  # 18
-        (19, TType.LIST, 'reservations', (TType.STRUCT, (ComputeResourceReservation, ComputeResourceReservation.thrift_spec), False), None, ),  # 19
-    )
 
-    def __init__(self, computeResourceId=None, groupResourceProfileId=thrift_spec[2][4], overridebyAiravata=thrift_spec[3][4], loginUserName=None, preferredJobSubmissionProtocol=None, preferredDataMovementProtocol=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, usageReportingGatewayId=None, qualityOfService=None, sshAccountProvisioner=None, groupSSHAccountProvisionerConfigs=None, sshAccountProvisionerAdditionalInfo=None, reservations=None,):
+    def __init__(self, computeResourceId=None, groupResourceProfileId="DO_NOT_SET_AT_CLIENTS", overridebyAiravata=True, loginUserName=None, preferredJobSubmissionProtocol=None, preferredDataMovementProtocol=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, usageReportingGatewayId=None, qualityOfService=None, sshAccountProvisioner=None, groupSSHAccountProvisionerConfigs=None, sshAccountProvisionerAdditionalInfo=None, reservations=None,):
         self.computeResourceId = computeResourceId
         self.groupResourceProfileId = groupResourceProfileId
         self.overridebyAiravata = overridebyAiravata
@@ -308,7 +277,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -317,12 +286,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -332,7 +301,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -347,37 +316,37 @@
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.preferredBatchQueue = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.preferredBatchQueue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.scratchLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.scratchLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.allocationProjectNumber = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.allocationProjectNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.usageReportingGatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.usageReportingGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.qualityOfService = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.qualityOfService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 16:
                 if ftype == TType.STRING:
-                    self.sshAccountProvisioner = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.sshAccountProvisioner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
@@ -393,7 +362,7 @@
                     iprot.skip(ftype)
             elif fid == 18:
                 if ftype == TType.STRING:
-                    self.sshAccountProvisionerAdditionalInfo = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.sshAccountProvisionerAdditionalInfo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 19:
@@ -414,7 +383,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupComputeResourcePreference')
         if self.computeResourceId is not None:
@@ -518,17 +487,11 @@
      - computeResourceId
      - groupResourceProfileId
      - allowedBatchQueues
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'resourcePolicyId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 3
-        (4, TType.LIST, 'allowedBatchQueues', (TType.STRING, 'UTF8', False), None, ),  # 4
-    )
 
-    def __init__(self, resourcePolicyId=thrift_spec[1][4], computeResourceId=None, groupResourceProfileId=thrift_spec[3][4], allowedBatchQueues=None,):
+    def __init__(self, resourcePolicyId="DO_NOT_SET_AT_CLIENTS", computeResourceId=None, groupResourceProfileId="DO_NOT_SET_AT_CLIENTS", allowedBatchQueues=None,):
         self.resourcePolicyId = resourcePolicyId
         self.computeResourceId = computeResourceId
         self.groupResourceProfileId = groupResourceProfileId
@@ -536,7 +499,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -545,17 +508,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.resourcePolicyId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourcePolicyId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -563,7 +526,7 @@
                     self.allowedBatchQueues = []
                     (_etype24, _size21) = iprot.readListBegin()
                     for _i25 in range(_size21):
-                        _elem26 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem26 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.allowedBatchQueues.append(_elem26)
                     iprot.readListEnd()
                 else:
@@ -575,7 +538,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ComputeResourcePolicy')
         if self.resourcePolicyId is not None:
@@ -631,20 +594,11 @@
      - maxAllowedNodes
      - maxAllowedCores
      - maxAllowedWalltime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'resourcePolicyId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 3
-        (4, TType.STRING, 'queuename', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'maxAllowedNodes', None, None, ),  # 5
-        (6, TType.I32, 'maxAllowedCores', None, None, ),  # 6
-        (7, TType.I32, 'maxAllowedWalltime', None, None, ),  # 7
-    )
 
-    def __init__(self, resourcePolicyId=thrift_spec[1][4], computeResourceId=None, groupResourceProfileId=thrift_spec[3][4], queuename=None, maxAllowedNodes=None, maxAllowedCores=None, maxAllowedWalltime=None,):
+    def __init__(self, resourcePolicyId="DO_NOT_SET_AT_CLIENTS", computeResourceId=None, groupResourceProfileId="DO_NOT_SET_AT_CLIENTS", queuename=None, maxAllowedNodes=None, maxAllowedCores=None, maxAllowedWalltime=None,):
         self.resourcePolicyId = resourcePolicyId
         self.computeResourceId = computeResourceId
         self.groupResourceProfileId = groupResourceProfileId
@@ -655,7 +609,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -664,22 +618,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.resourcePolicyId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourcePolicyId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.queuename = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queuename = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -704,7 +658,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('BatchQueueResourcePolicy')
         if self.resourcePolicyId is not None:
@@ -791,22 +745,11 @@
      - creationTime
      - updatedTime
      - defaultCredentialStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
-        (3, TType.STRING, 'groupResourceProfileName', 'UTF8', None, ),  # 3
-        (4, TType.LIST, 'computePreferences', (TType.STRUCT, (GroupComputeResourcePreference, GroupComputeResourcePreference.thrift_spec), False), None, ),  # 4
-        (5, TType.LIST, 'computeResourcePolicies', (TType.STRUCT, (ComputeResourcePolicy, ComputeResourcePolicy.thrift_spec), False), None, ),  # 5
-        (6, TType.LIST, 'batchQueueResourcePolicies', (TType.STRUCT, (BatchQueueResourcePolicy, BatchQueueResourcePolicy.thrift_spec), False), None, ),  # 6
-        (7, TType.I64, 'creationTime', None, None, ),  # 7
-        (8, TType.I64, 'updatedTime', None, None, ),  # 8
-        (9, TType.STRING, 'defaultCredentialStoreToken', 'UTF8', None, ),  # 9
-    )
 
-    def __init__(self, gatewayId=None, groupResourceProfileId=thrift_spec[2][4], groupResourceProfileName=None, computePreferences=None, computeResourcePolicies=None, batchQueueResourcePolicies=None, creationTime=None, updatedTime=None, defaultCredentialStoreToken=None,):
+    def __init__(self, gatewayId=None, groupResourceProfileId="DO_NOT_SET_AT_CLIENTS", groupResourceProfileName=None, computePreferences=None, computeResourcePolicies=None, batchQueueResourcePolicies=None, creationTime=None, updatedTime=None, defaultCredentialStoreToken=None,):
         self.gatewayId = gatewayId
         self.groupResourceProfileId = groupResourceProfileId
         self.groupResourceProfileName = groupResourceProfileName
@@ -819,7 +762,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -828,17 +771,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -886,7 +829,7 @@
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.defaultCredentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.defaultCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -896,7 +839,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupResourceProfile')
         if self.gatewayId is not None:
@@ -964,3 +907,77 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(GroupAccountSSHProvisionerConfig)
+GroupAccountSSHProvisionerConfig.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'resourceId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
+    (3, TType.STRING, 'configName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'configValue', 'UTF8', None, ),  # 4
+)
+all_structs.append(ComputeResourceReservation)
+ComputeResourceReservation.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'reservationId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'reservationName', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'queueNames', (TType.STRING, 'UTF8', False), None, ),  # 3
+    (4, TType.I64, 'startTime', None, None, ),  # 4
+    (5, TType.I64, 'endTime', None, None, ),  # 5
+)
+all_structs.append(GroupComputeResourcePreference)
+GroupComputeResourcePreference.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
+    (3, TType.BOOL, 'overridebyAiravata', None, True, ),  # 3
+    (4, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'preferredJobSubmissionProtocol', None, None, ),  # 5
+    (6, TType.I32, 'preferredDataMovementProtocol', None, None, ),  # 6
+    (7, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'usageReportingGatewayId', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 12
+    None,  # 13
+    None,  # 14
+    None,  # 15
+    (16, TType.STRING, 'sshAccountProvisioner', 'UTF8', None, ),  # 16
+    (17, TType.LIST, 'groupSSHAccountProvisionerConfigs', (TType.STRUCT, [GroupAccountSSHProvisionerConfig, None], False), None, ),  # 17
+    (18, TType.STRING, 'sshAccountProvisionerAdditionalInfo', 'UTF8', None, ),  # 18
+    (19, TType.LIST, 'reservations', (TType.STRUCT, [ComputeResourceReservation, None], False), None, ),  # 19
+)
+all_structs.append(ComputeResourcePolicy)
+ComputeResourcePolicy.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'resourcePolicyId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 3
+    (4, TType.LIST, 'allowedBatchQueues', (TType.STRING, 'UTF8', False), None, ),  # 4
+)
+all_structs.append(BatchQueueResourcePolicy)
+BatchQueueResourcePolicy.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'resourcePolicyId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 3
+    (4, TType.STRING, 'queuename', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'maxAllowedNodes', None, None, ),  # 5
+    (6, TType.I32, 'maxAllowedCores', None, None, ),  # 6
+    (7, TType.I32, 'maxAllowedWalltime', None, None, ),  # 7
+)
+all_structs.append(GroupResourceProfile)
+GroupResourceProfile.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'groupResourceProfileId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
+    (3, TType.STRING, 'groupResourceProfileName', 'UTF8', None, ),  # 3
+    (4, TType.LIST, 'computePreferences', (TType.STRUCT, [GroupComputeResourcePreference, None], False), None, ),  # 4
+    (5, TType.LIST, 'computeResourcePolicies', (TType.STRUCT, [ComputeResourcePolicy, None], False), None, ),  # 5
+    (6, TType.LIST, 'batchQueueResourcePolicies', (TType.STRUCT, [BatchQueueResourcePolicy, None], False), None, ),  # 6
+    (7, TType.I64, 'creationTime', None, None, ),  # 7
+    (8, TType.I64, 'updatedTime', None, None, ),  # 8
+    (9, TType.STRING, 'defaultCredentialStoreToken', 'UTF8', None, ),  # 9
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/ttypes.py
index 4acb602..87931e4 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parallelism/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ApplicationParallelismType(object):
@@ -29,6 +32,7 @@
     OPENMP_MPI:
      Hybrid Applications.
 
+
     """
     SERIAL = 0
     MPI = 1
@@ -54,3 +58,5 @@
         "CCM": 4,
         "CRAY_MPI": 5,
     }
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/ttypes.py
index c974177..4a38674 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/parser/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class IOType(object):
@@ -36,16 +39,9 @@
      - requiredInput
      - parserId
      - type
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
-        (3, TType.BOOL, 'requiredInput', None, None, ),  # 3
-        (4, TType.STRING, 'parserId', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'type', None, None, ),  # 5
-    )
 
     def __init__(self, id=None, name=None, requiredInput=None, parserId=None, type=None,):
         self.id = id
@@ -56,7 +52,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -65,12 +61,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -80,7 +76,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.parserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -95,7 +91,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ParserInput')
         if self.id is not None:
@@ -154,16 +150,9 @@
      - requiredOutput
      - parserId
      - type
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
-        (3, TType.BOOL, 'requiredOutput', None, None, ),  # 3
-        (4, TType.STRING, 'parserId', 'UTF8', None, ),  # 4
-        (5, TType.I32, 'type', None, None, ),  # 5
-    )
 
     def __init__(self, id=None, name=None, requiredOutput=None, parserId=None, type=None,):
         self.id = id
@@ -174,7 +163,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -183,12 +172,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -198,7 +187,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.parserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -213,7 +202,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ParserOutput')
         if self.id is not None:
@@ -275,19 +264,9 @@
      - inputFiles
      - outputFiles
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'imageName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'outputDirPath', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'inputDirPath', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'executionCommand', 'UTF8', None, ),  # 5
-        (6, TType.LIST, 'inputFiles', (TType.STRUCT, (ParserInput, ParserInput.thrift_spec), False), None, ),  # 6
-        (7, TType.LIST, 'outputFiles', (TType.STRUCT, (ParserOutput, ParserOutput.thrift_spec), False), None, ),  # 7
-        (8, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 8
-    )
 
     def __init__(self, id=None, imageName=None, outputDirPath=None, inputDirPath=None, executionCommand=None, inputFiles=None, outputFiles=None, gatewayId=None,):
         self.id = id
@@ -301,7 +280,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -310,27 +289,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.imageName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.imageName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.outputDirPath = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.outputDirPath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.inputDirPath = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.inputDirPath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.executionCommand = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.executionCommand = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -357,7 +336,7 @@
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -367,7 +346,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Parser')
         if self.id is not None:
@@ -450,16 +429,9 @@
      - parentOutputId
      - value
      - parserConnectorId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'inputId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'parentOutputId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'value', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'parserConnectorId', 'UTF8', None, ),  # 5
-    )
 
     def __init__(self, id=None, inputId=None, parentOutputId=None, value=None, parserConnectorId=None,):
         self.id = id
@@ -470,7 +442,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -479,27 +451,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.inputId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.inputId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.parentOutputId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parentOutputId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.parserConnectorId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parserConnectorId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -509,7 +481,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ParserConnectorInput')
         if self.id is not None:
@@ -564,16 +536,9 @@
      - childParserId
      - connectorInputs
      - parsingTemplateId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'parentParserId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'childParserId', 'UTF8', None, ),  # 3
-        (4, TType.LIST, 'connectorInputs', (TType.STRUCT, (ParserConnectorInput, ParserConnectorInput.thrift_spec), False), None, ),  # 4
-        (5, TType.STRING, 'parsingTemplateId', 'UTF8', None, ),  # 5
-    )
 
     def __init__(self, id=None, parentParserId=None, childParserId=None, connectorInputs=None, parsingTemplateId=None,):
         self.id = id
@@ -584,7 +549,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -593,17 +558,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.parentParserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parentParserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.childParserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.childParserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -619,7 +584,7 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.parsingTemplateId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parsingTemplateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -629,7 +594,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ParserConnector')
         if self.id is not None:
@@ -691,16 +656,9 @@
      - applicationOutputName
      - value
      - parsingTemplateId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'targetInputId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'applicationOutputName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'value', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'parsingTemplateId', 'UTF8', None, ),  # 5
-    )
 
     def __init__(self, id=None, targetInputId=None, applicationOutputName=None, value=None, parsingTemplateId=None,):
         self.id = id
@@ -711,7 +669,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -720,27 +678,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.targetInputId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.targetInputId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.applicationOutputName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationOutputName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.parsingTemplateId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parsingTemplateId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -750,7 +708,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ParsingTemplateInput')
         if self.id is not None:
@@ -805,16 +763,9 @@
      - initialInputs
      - parserConnections
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'applicationInterface', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'initialInputs', (TType.STRUCT, (ParsingTemplateInput, ParsingTemplateInput.thrift_spec), False), None, ),  # 3
-        (4, TType.LIST, 'parserConnections', (TType.STRUCT, (ParserConnector, ParserConnector.thrift_spec), False), None, ),  # 4
-        (5, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 5
-    )
 
     def __init__(self, id=None, applicationInterface=None, initialInputs=None, parserConnections=None, gatewayId=None,):
         self.id = id
@@ -825,7 +776,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -834,12 +785,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.applicationInterface = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationInterface = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -866,7 +817,7 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -876,7 +827,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ParsingTemplate')
         if self.id is not None:
@@ -931,3 +882,71 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ParserInput)
+ParserInput.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
+    (3, TType.BOOL, 'requiredInput', None, None, ),  # 3
+    (4, TType.STRING, 'parserId', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'type', None, None, ),  # 5
+)
+all_structs.append(ParserOutput)
+ParserOutput.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
+    (3, TType.BOOL, 'requiredOutput', None, None, ),  # 3
+    (4, TType.STRING, 'parserId', 'UTF8', None, ),  # 4
+    (5, TType.I32, 'type', None, None, ),  # 5
+)
+all_structs.append(Parser)
+Parser.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'imageName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'outputDirPath', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'inputDirPath', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'executionCommand', 'UTF8', None, ),  # 5
+    (6, TType.LIST, 'inputFiles', (TType.STRUCT, [ParserInput, None], False), None, ),  # 6
+    (7, TType.LIST, 'outputFiles', (TType.STRUCT, [ParserOutput, None], False), None, ),  # 7
+    (8, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 8
+)
+all_structs.append(ParserConnectorInput)
+ParserConnectorInput.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'inputId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'parentOutputId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'value', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'parserConnectorId', 'UTF8', None, ),  # 5
+)
+all_structs.append(ParserConnector)
+ParserConnector.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'parentParserId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'childParserId', 'UTF8', None, ),  # 3
+    (4, TType.LIST, 'connectorInputs', (TType.STRUCT, [ParserConnectorInput, None], False), None, ),  # 4
+    (5, TType.STRING, 'parsingTemplateId', 'UTF8', None, ),  # 5
+)
+all_structs.append(ParsingTemplateInput)
+ParsingTemplateInput.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'targetInputId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'applicationOutputName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'value', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'parsingTemplateId', 'UTF8', None, ),  # 5
+)
+all_structs.append(ParsingTemplate)
+ParsingTemplate.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'applicationInterface', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'initialInputs', (TType.STRUCT, [ParsingTemplateInput, None], False), None, ),  # 3
+    (4, TType.LIST, 'parserConnections', (TType.STRUCT, [ParserConnector, None], False), None, ),  # 4
+    (5, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 5
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/ttypes.py
index 747540b..22849f7 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/storageresource/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,11 +8,14 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.data.movement.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class StorageResourceDescription(object):
@@ -41,20 +44,11 @@
      - dataMovementInterfaces
      - creationTime
      - updateTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'storageResourceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'hostName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'storageResourceDescription', 'UTF8', None, ),  # 3
-        (4, TType.BOOL, 'enabled', None, None, ),  # 4
-        (5, TType.LIST, 'dataMovementInterfaces', (TType.STRUCT, (airavata.model.data.movement.ttypes.DataMovementInterface, airavata.model.data.movement.ttypes.DataMovementInterface.thrift_spec), False), None, ),  # 5
-        (6, TType.I64, 'creationTime', None, None, ),  # 6
-        (7, TType.I64, 'updateTime', None, None, ),  # 7
-    )
 
-    def __init__(self, storageResourceId=thrift_spec[1][4], hostName=None, storageResourceDescription=None, enabled=None, dataMovementInterfaces=None, creationTime=None, updateTime=None,):
+    def __init__(self, storageResourceId="DO_NOT_SET_AT_CLIENTS", hostName=None, storageResourceDescription=None, enabled=None, dataMovementInterfaces=None, creationTime=None, updateTime=None,):
         self.storageResourceId = storageResourceId
         self.hostName = hostName
         self.storageResourceDescription = storageResourceDescription
@@ -65,7 +59,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -74,17 +68,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.hostName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.hostName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.storageResourceDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -120,7 +114,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('StorageResourceDescription')
         if self.storageResourceId is not None:
@@ -174,3 +168,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(StorageResourceDescription)
+StorageResourceDescription.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'storageResourceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'hostName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'storageResourceDescription', 'UTF8', None, ),  # 3
+    (4, TType.BOOL, 'enabled', None, None, ),  # 4
+    (5, TType.LIST, 'dataMovementInterfaces', (TType.STRUCT, [airavata.model.data.movement.ttypes.DataMovementInterface, None], False), None, ),  # 5
+    (6, TType.I64, 'creationTime', None, None, ),  # 6
+    (7, TType.I64, 'updateTime', None, None, ),  # 7
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py
index 1fdda7b..e0088af 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/appcatalog/userresourceprofile/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.appcatalog.computeresource.ttypes
 import airavata.model.data.movement.ttypes
 import airavata.model.user.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class UserComputeResourcePreference(object):
@@ -61,24 +64,11 @@
      - reservationStartTime
      - reservationEndTime
      - validated
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'reservation', 'UTF8', None, ),  # 8
-        (9, TType.I64, 'reservationStartTime', None, None, ),  # 9
-        (10, TType.I64, 'reservationEndTime', None, None, ),  # 10
-        (11, TType.BOOL, 'validated', None, False, ),  # 11
-    )
 
-    def __init__(self, computeResourceId=None, loginUserName=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, qualityOfService=None, reservation=None, reservationStartTime=None, reservationEndTime=None, validated=thrift_spec[11][4],):
+    def __init__(self, computeResourceId=None, loginUserName=None, preferredBatchQueue=None, scratchLocation=None, allocationProjectNumber=None, resourceSpecificCredentialStoreToken=None, qualityOfService=None, reservation=None, reservationStartTime=None, reservationEndTime=None, validated=False,):
         self.computeResourceId = computeResourceId
         self.loginUserName = loginUserName
         self.preferredBatchQueue = preferredBatchQueue
@@ -93,7 +83,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -102,42 +92,42 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.preferredBatchQueue = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.preferredBatchQueue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.scratchLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.scratchLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.allocationProjectNumber = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.allocationProjectNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.qualityOfService = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.qualityOfService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.reservation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reservation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
@@ -162,7 +152,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserComputeResourcePreference')
         if self.computeResourceId is not None:
@@ -236,15 +226,9 @@
      - loginUserName
      - fileSystemRootLocation
      - resourceSpecificCredentialStoreToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'fileSystemRootLocation', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, storageResourceId=None, loginUserName=None, fileSystemRootLocation=None, resourceSpecificCredentialStoreToken=None,):
         self.storageResourceId = storageResourceId
@@ -254,7 +238,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -263,22 +247,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.fileSystemRootLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.fileSystemRootLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceSpecificCredentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -288,7 +272,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserStoragePreference')
         if self.storageResourceId is not None:
@@ -356,18 +340,9 @@
      - userStoragePreferences
      - identityServerTenant
      - identityServerPwdCredToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'userId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'credentialStoreToken', 'UTF8', None, ),  # 3
-        (4, TType.LIST, 'userComputeResourcePreferences', (TType.STRUCT, (UserComputeResourcePreference, UserComputeResourcePreference.thrift_spec), False), None, ),  # 4
-        (5, TType.LIST, 'userStoragePreferences', (TType.STRUCT, (UserStoragePreference, UserStoragePreference.thrift_spec), False), None, ),  # 5
-        (6, TType.STRING, 'identityServerTenant', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'identityServerPwdCredToken', 'UTF8', None, ),  # 7
-    )
 
     def __init__(self, userId=None, gatewayID=None, credentialStoreToken=None, userComputeResourcePreferences=None, userStoragePreferences=None, identityServerTenant=None, identityServerPwdCredToken=None,):
         self.userId = userId
@@ -380,7 +355,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -389,17 +364,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.credentialStoreToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.credentialStoreToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -426,12 +401,12 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.identityServerTenant = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerTenant = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.identityServerPwdCredToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerPwdCredToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -441,7 +416,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserResourceProfile')
         if self.userId is not None:
@@ -498,3 +473,39 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(UserComputeResourcePreference)
+UserComputeResourcePreference.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'preferredBatchQueue', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'scratchLocation', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'allocationProjectNumber', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'qualityOfService', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'reservation', 'UTF8', None, ),  # 8
+    (9, TType.I64, 'reservationStartTime', None, None, ),  # 9
+    (10, TType.I64, 'reservationEndTime', None, None, ),  # 10
+    (11, TType.BOOL, 'validated', None, False, ),  # 11
+)
+all_structs.append(UserStoragePreference)
+UserStoragePreference.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'fileSystemRootLocation', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'resourceSpecificCredentialStoreToken', 'UTF8', None, ),  # 4
+)
+all_structs.append(UserResourceProfile)
+UserResourceProfile.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'userId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayID', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'credentialStoreToken', 'UTF8', None, ),  # 3
+    (4, TType.LIST, 'userComputeResourcePreferences', (TType.STRUCT, [UserComputeResourcePreference, None], False), None, ),  # 4
+    (5, TType.LIST, 'userStoragePreferences', (TType.STRUCT, [UserStoragePreference, None], False), None, ),  # 5
+    (6, TType.STRING, 'identityServerTenant', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'identityServerPwdCredToken', 'UTF8', None, ),  # 7
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/ttypes.py
index 17f1760..4a3fb20 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/application/io/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,16 +8,20 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.appcatalog.computeresource.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class DataType(object):
     """
     Data Types supported in Airavata. The primitive data types
 
+
     """
     STRING = 0
     INTEGER = 1
@@ -92,25 +96,9 @@
      - storageResourceId
      - isReadOnly
      - overrideFilename
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'type', None, None, ),  # 3
-        (4, TType.STRING, 'applicationArgument', 'UTF8', None, ),  # 4
-        (5, TType.BOOL, 'standardInput', None, None, ),  # 5
-        (6, TType.STRING, 'userFriendlyDescription', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'metaData', 'UTF8', None, ),  # 7
-        (8, TType.I32, 'inputOrder', None, None, ),  # 8
-        (9, TType.BOOL, 'isRequired', None, None, ),  # 9
-        (10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ),  # 10
-        (11, TType.BOOL, 'dataStaged', None, None, ),  # 11
-        (12, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 12
-        (13, TType.BOOL, 'isReadOnly', None, None, ),  # 13
-        (14, TType.STRING, 'overrideFilename', 'UTF8', None, ),  # 14
-    )
 
     def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None, storageResourceId=None, isReadOnly=None, overrideFilename=None,):
         self.name = name
@@ -130,7 +118,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -139,12 +127,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -154,7 +142,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.applicationArgument = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationArgument = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -164,12 +152,12 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.userFriendlyDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userFriendlyDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.metaData = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.metaData = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
@@ -194,7 +182,7 @@
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
@@ -204,7 +192,7 @@
                     iprot.skip(ftype)
             elif fid == 14:
                 if ftype == TType.STRING:
-                    self.overrideFilename = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.overrideFilename = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -214,7 +202,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('InputDataObjectType')
         if self.name is not None:
@@ -333,23 +321,9 @@
      - outputStreaming
      - storageResourceId
      - metaData
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'type', None, None, ),  # 3
-        (4, TType.STRING, 'applicationArgument', 'UTF8', None, ),  # 4
-        (5, TType.BOOL, 'isRequired', None, None, ),  # 5
-        (6, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ),  # 6
-        (7, TType.BOOL, 'dataMovement', None, None, ),  # 7
-        (8, TType.STRING, 'location', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'searchQuery', 'UTF8', None, ),  # 9
-        (10, TType.BOOL, 'outputStreaming', None, None, ),  # 10
-        (11, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'metaData', 'UTF8', None, ),  # 12
-    )
 
     def __init__(self, name=None, value=None, type=None, applicationArgument=None, isRequired=None, requiredToAddedToCommandLine=None, dataMovement=None, location=None, searchQuery=None, outputStreaming=None, storageResourceId=None, metaData=None,):
         self.name = name
@@ -367,7 +341,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -376,12 +350,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -391,7 +365,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.applicationArgument = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationArgument = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -411,12 +385,12 @@
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.location = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.location = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.searchQuery = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.searchQuery = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
@@ -426,12 +400,12 @@
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.metaData = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.metaData = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -441,7 +415,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('OutputDataObjectType')
         if self.name is not None:
@@ -510,3 +484,39 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(InputDataObjectType)
+InputDataObjectType.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'type', None, None, ),  # 3
+    (4, TType.STRING, 'applicationArgument', 'UTF8', None, ),  # 4
+    (5, TType.BOOL, 'standardInput', None, None, ),  # 5
+    (6, TType.STRING, 'userFriendlyDescription', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'metaData', 'UTF8', None, ),  # 7
+    (8, TType.I32, 'inputOrder', None, None, ),  # 8
+    (9, TType.BOOL, 'isRequired', None, None, ),  # 9
+    (10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ),  # 10
+    (11, TType.BOOL, 'dataStaged', None, None, ),  # 11
+    (12, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 12
+    (13, TType.BOOL, 'isReadOnly', None, None, ),  # 13
+    (14, TType.STRING, 'overrideFilename', 'UTF8', None, ),  # 14
+)
+all_structs.append(OutputDataObjectType)
+OutputDataObjectType.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'name', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'type', None, None, ),  # 3
+    (4, TType.STRING, 'applicationArgument', 'UTF8', None, ),  # 4
+    (5, TType.BOOL, 'isRequired', None, None, ),  # 5
+    (6, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ),  # 6
+    (7, TType.BOOL, 'dataMovement', None, None, ),  # 7
+    (8, TType.STRING, 'location', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'searchQuery', 'UTF8', None, ),  # 9
+    (10, TType.BOOL, 'outputStreaming', None, None, ),  # 10
+    (11, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'metaData', 'UTF8', None, ),  # 12
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/constants.py
index 2b09fa9..82268b8 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/ttypes.py
index 3e081fd..e08e947 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/commons/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ErrorModel(object):
@@ -22,19 +25,11 @@
      - userFriendlyMessage
      - transientOrPersistent
      - rootCauseErrorIdList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'errorId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I64, 'creationTime', None, None, ),  # 2
-        (3, TType.STRING, 'actualErrorMessage', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'userFriendlyMessage', 'UTF8', None, ),  # 4
-        (5, TType.BOOL, 'transientOrPersistent', None, False, ),  # 5
-        (6, TType.LIST, 'rootCauseErrorIdList', (TType.STRING, 'UTF8', False), None, ),  # 6
-    )
 
-    def __init__(self, errorId=thrift_spec[1][4], creationTime=None, actualErrorMessage=None, userFriendlyMessage=None, transientOrPersistent=thrift_spec[5][4], rootCauseErrorIdList=None,):
+    def __init__(self, errorId="DO_NOT_SET_AT_CLIENTS", creationTime=None, actualErrorMessage=None, userFriendlyMessage=None, transientOrPersistent=False, rootCauseErrorIdList=None,):
         self.errorId = errorId
         self.creationTime = creationTime
         self.actualErrorMessage = actualErrorMessage
@@ -44,7 +39,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -53,7 +48,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.errorId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.errorId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -63,12 +58,12 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.actualErrorMessage = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.actualErrorMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.userFriendlyMessage = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userFriendlyMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -81,7 +76,7 @@
                     self.rootCauseErrorIdList = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.rootCauseErrorIdList.append(_elem5)
                     iprot.readListEnd()
                 else:
@@ -93,7 +88,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ErrorModel')
         if self.errorId is not None:
@@ -154,13 +149,9 @@
     Attributes:
      - result
      - errorDetails
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.BOOL, 'result', None, None, ),  # 1
-        (2, TType.STRING, 'errorDetails', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, result=None, errorDetails=None,):
         self.result = result
@@ -168,7 +159,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -182,7 +173,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.errorDetails = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.errorDetails = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -192,7 +183,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ValidatorResult')
         if self.result is not None:
@@ -228,13 +219,9 @@
     Attributes:
      - validationState
      - validationResultList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.BOOL, 'validationState', None, None, ),  # 1
-        (2, TType.LIST, 'validationResultList', (TType.STRUCT, (ValidatorResult, ValidatorResult.thrift_spec), False), None, ),  # 2
-    )
 
     def __init__(self, validationState=None, validationResultList=None,):
         self.validationState = validationState
@@ -242,7 +229,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -272,7 +259,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ValidationResults')
         if self.validationState is not None:
@@ -306,3 +293,27 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ErrorModel)
+ErrorModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'errorId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I64, 'creationTime', None, None, ),  # 2
+    (3, TType.STRING, 'actualErrorMessage', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'userFriendlyMessage', 'UTF8', None, ),  # 4
+    (5, TType.BOOL, 'transientOrPersistent', None, False, ),  # 5
+    (6, TType.LIST, 'rootCauseErrorIdList', (TType.STRING, 'UTF8', False), None, ),  # 6
+)
+all_structs.append(ValidatorResult)
+ValidatorResult.thrift_spec = (
+    None,  # 0
+    (1, TType.BOOL, 'result', None, None, ),  # 1
+    (2, TType.STRING, 'errorDetails', 'UTF8', None, ),  # 2
+)
+all_structs.append(ValidationResults)
+ValidationResults.thrift_spec = (
+    None,  # 0
+    (1, TType.BOOL, 'validationState', None, None, ),  # 1
+    (2, TType.LIST, 'validationResultList', (TType.STRUCT, [ValidatorResult, None], False), None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/constants.py
index 2b09fa9..82268b8 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 DEFAULT_ID = "DO_NOT_SET_AT_CLIENTS"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/ttypes.py
index 86e716f..1450795 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/credential/store/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,15 +8,19 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class SummaryType(object):
     """
     Data Types supported in Airavata. The primitive data types
 
+
     """
     SSH = 0
     PASSWD = 1
@@ -46,19 +50,9 @@
      - persistedTime
      - token
      - description
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'passphrase', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'publicKey', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'privateKey', 'UTF8', None, ),  # 5
-        (6, TType.I64, 'persistedTime', None, None, ),  # 6
-        (7, TType.STRING, 'token', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'description', 'UTF8', None, ),  # 8
-    )
 
     def __init__(self, gatewayId=None, username=None, passphrase=None, publicKey=None, privateKey=None, persistedTime=None, token=None, description=None,):
         self.gatewayId = gatewayId
@@ -72,7 +66,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -81,27 +75,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.passphrase = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.passphrase = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.publicKey = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.publicKey = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.privateKey = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.privateKey = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -111,12 +105,12 @@
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.token = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.token = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -126,7 +120,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SSHCredential')
         if self.gatewayId is not None:
@@ -194,18 +188,9 @@
      - persistedTime
      - token
      - description
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'type', None, None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'username', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'publicKey', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'persistedTime', None, None, ),  # 5
-        (6, TType.STRING, 'token', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'description', 'UTF8', None, ),  # 7
-    )
 
     def __init__(self, type=None, gatewayId=None, username=None, publicKey=None, persistedTime=None, token=None, description=None,):
         self.type = type
@@ -218,7 +203,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -232,17 +217,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.publicKey = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.publicKey = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -252,12 +237,12 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.token = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.token = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -267,7 +252,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CredentialSummary')
         if self.type is not None:
@@ -330,14 +315,9 @@
      - gatewayName
      - username
      - userEmail
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayName', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userEmail', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, gatewayName=None, username=None, userEmail=None,):
         self.gatewayName = gatewayName
@@ -346,7 +326,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -355,17 +335,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userEmail = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userEmail = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -375,7 +355,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CommunityUser')
         if self.gatewayName is not None:
@@ -425,19 +405,9 @@
      - notBefore
      - persistedTime
      - token
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'communityUser', (CommunityUser, CommunityUser.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'x509Cert', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'notAfter', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'privateKey', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'lifeTime', None, None, ),  # 5
-        (6, TType.STRING, 'notBefore', 'UTF8', None, ),  # 6
-        (7, TType.I64, 'persistedTime', None, None, ),  # 7
-        (8, TType.STRING, 'token', 'UTF8', None, ),  # 8
-    )
 
     def __init__(self, communityUser=None, x509Cert=None, notAfter=None, privateKey=None, lifeTime=None, notBefore=None, persistedTime=None, token=None,):
         self.communityUser = communityUser
@@ -451,7 +421,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -466,17 +436,17 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.x509Cert = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.x509Cert = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.notAfter = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notAfter = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.privateKey = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.privateKey = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -486,7 +456,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.notBefore = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notBefore = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -496,7 +466,7 @@
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.token = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.token = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -506,7 +476,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CertificateCredential')
         if self.communityUser is not None:
@@ -573,18 +543,9 @@
      - description
      - persistedTime
      - token
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'portalUserName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'password', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'description', 'UTF8', None, ),  # 5
-        (6, TType.I64, 'persistedTime', None, None, ),  # 6
-        (7, TType.STRING, 'token', 'UTF8', None, ),  # 7
-    )
 
     def __init__(self, gatewayId=None, portalUserName=None, loginUserName=None, password=None, description=None, persistedTime=None, token=None,):
         self.gatewayId = gatewayId
@@ -597,7 +558,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -606,27 +567,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.portalUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.portalUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.loginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.loginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.password = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.password = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -636,7 +597,7 @@
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.token = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.token = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -646,7 +607,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('PasswordCredential')
         if self.gatewayId is not None:
@@ -701,3 +662,58 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(SSHCredential)
+SSHCredential.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'passphrase', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'publicKey', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'privateKey', 'UTF8', None, ),  # 5
+    (6, TType.I64, 'persistedTime', None, None, ),  # 6
+    (7, TType.STRING, 'token', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'description', 'UTF8', None, ),  # 8
+)
+all_structs.append(CredentialSummary)
+CredentialSummary.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'type', None, None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'username', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'publicKey', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'persistedTime', None, None, ),  # 5
+    (6, TType.STRING, 'token', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'description', 'UTF8', None, ),  # 7
+)
+all_structs.append(CommunityUser)
+CommunityUser.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayName', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userEmail', 'UTF8', None, ),  # 3
+)
+all_structs.append(CertificateCredential)
+CertificateCredential.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'communityUser', [CommunityUser, None], None, ),  # 1
+    (2, TType.STRING, 'x509Cert', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'notAfter', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'privateKey', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'lifeTime', None, None, ),  # 5
+    (6, TType.STRING, 'notBefore', 'UTF8', None, ),  # 6
+    (7, TType.I64, 'persistedTime', None, None, ),  # 7
+    (8, TType.STRING, 'token', 'UTF8', None, ),  # 8
+)
+all_structs.append(PasswordCredential)
+PasswordCredential.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'portalUserName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'loginUserName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'password', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'description', 'UTF8', None, ),  # 5
+    (6, TType.I64, 'persistedTime', None, None, ),  # 6
+    (7, TType.STRING, 'token', 'UTF8', None, ),  # 7
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/ttypes.py
index bc6f022..559c278 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/movement/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class DMType(object):
@@ -43,6 +46,7 @@
 
     FIXME: Change GSI to a more precise generic security protocol - X509
 
+
     """
     USERNAME_PASSWORD = 0
     SSH_KEYS = 1
@@ -86,6 +90,7 @@
     UNICORE_STORAGE_SERVICE:
      Storage Service Provided by Unicore
 
+
     """
     LOCAL = 0
     SCP = 1
@@ -125,17 +130,11 @@
      - securityProtocol
      - alternativeSCPHostName
      - sshPort
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.STRING, 'alternativeSCPHostName', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'sshPort', None, 22, ),  # 4
-    )
 
-    def __init__(self, dataMovementInterfaceId=thrift_spec[1][4], securityProtocol=None, alternativeSCPHostName=None, sshPort=thrift_spec[4][4],):
+    def __init__(self, dataMovementInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, alternativeSCPHostName=None, sshPort=22,):
         self.dataMovementInterfaceId = dataMovementInterfaceId
         self.securityProtocol = securityProtocol
         self.alternativeSCPHostName = alternativeSCPHostName
@@ -143,7 +142,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -152,7 +151,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -162,7 +161,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.alternativeSCPHostName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.alternativeSCPHostName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -177,7 +176,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SCPDataMovement')
         if self.dataMovementInterfaceId is not None:
@@ -232,23 +231,18 @@
      - dataMovementInterfaceId
      - securityProtocol
      - gridFTPEndPoints
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.LIST, 'gridFTPEndPoints', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
-    def __init__(self, dataMovementInterfaceId=thrift_spec[1][4], securityProtocol=None, gridFTPEndPoints=None,):
+    def __init__(self, dataMovementInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, gridFTPEndPoints=None,):
         self.dataMovementInterfaceId = dataMovementInterfaceId
         self.securityProtocol = securityProtocol
         self.gridFTPEndPoints = gridFTPEndPoints
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -257,7 +251,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -270,7 +264,7 @@
                     self.gridFTPEndPoints = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.gridFTPEndPoints.append(_elem5)
                     iprot.readListEnd()
                 else:
@@ -282,7 +276,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GridFTPDataMovement')
         if self.dataMovementInterfaceId is not None:
@@ -335,23 +329,18 @@
      - dataMovementInterfaceId
      - securityProtocol
      - unicoreEndPointURL
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'securityProtocol', None, None, ),  # 2
-        (3, TType.STRING, 'unicoreEndPointURL', 'UTF8', None, ),  # 3
-    )
 
-    def __init__(self, dataMovementInterfaceId=thrift_spec[1][4], securityProtocol=None, unicoreEndPointURL=None,):
+    def __init__(self, dataMovementInterfaceId="DO_NOT_SET_AT_CLIENTS", securityProtocol=None, unicoreEndPointURL=None,):
         self.dataMovementInterfaceId = dataMovementInterfaceId
         self.securityProtocol = securityProtocol
         self.unicoreEndPointURL = unicoreEndPointURL
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -360,7 +349,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -370,7 +359,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.unicoreEndPointURL = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.unicoreEndPointURL = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -380,7 +369,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UnicoreDataMovement')
         if self.dataMovementInterfaceId is not None:
@@ -431,19 +420,16 @@
 
     Attributes:
      - dataMovementInterfaceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-    )
 
-    def __init__(self, dataMovementInterfaceId=thrift_spec[1][4],):
+    def __init__(self, dataMovementInterfaceId="DO_NOT_SET_AT_CLIENTS",):
         self.dataMovementInterfaceId = dataMovementInterfaceId
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -452,7 +438,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -462,7 +448,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('LOCALDataMovement')
         if self.dataMovementInterfaceId is not None:
@@ -507,19 +493,11 @@
      - creationTime
      - updateTime
      - storageResourceId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'dataMovementProtocol', None, None, ),  # 2
-        (3, TType.I32, 'priorityOrder', None, 0, ),  # 3
-        (4, TType.I64, 'creationTime', None, None, ),  # 4
-        (5, TType.I64, 'updateTime', None, None, ),  # 5
-        (6, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 6
-    )
 
-    def __init__(self, dataMovementInterfaceId=None, dataMovementProtocol=None, priorityOrder=thrift_spec[3][4], creationTime=None, updateTime=None, storageResourceId=None,):
+    def __init__(self, dataMovementInterfaceId=None, dataMovementProtocol=None, priorityOrder=0, creationTime=None, updateTime=None, storageResourceId=None,):
         self.dataMovementInterfaceId = dataMovementInterfaceId
         self.dataMovementProtocol = dataMovementProtocol
         self.priorityOrder = priorityOrder
@@ -529,7 +507,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -538,7 +516,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.dataMovementInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -563,7 +541,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -573,7 +551,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DataMovementInterface')
         if self.dataMovementInterfaceId is not None:
@@ -622,3 +600,42 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(SCPDataMovement)
+SCPDataMovement.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.STRING, 'alternativeSCPHostName', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'sshPort', None, 22, ),  # 4
+)
+all_structs.append(GridFTPDataMovement)
+GridFTPDataMovement.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.LIST, 'gridFTPEndPoints', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
+all_structs.append(UnicoreDataMovement)
+UnicoreDataMovement.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'securityProtocol', None, None, ),  # 2
+    (3, TType.STRING, 'unicoreEndPointURL', 'UTF8', None, ),  # 3
+)
+all_structs.append(LOCALDataMovement)
+LOCALDataMovement.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+)
+all_structs.append(DataMovementInterface)
+DataMovementInterface.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'dataMovementInterfaceId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'dataMovementProtocol', None, None, ),  # 2
+    (3, TType.I32, 'priorityOrder', None, 0, ),  # 3
+    (4, TType.I64, 'creationTime', None, None, ),  # 4
+    (5, TType.I64, 'updateTime', None, None, ),  # 5
+    (6, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 6
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/ttypes.py
index ca2ecbb..3a22c90 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/data/replica/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ReplicaLocationCategory(object):
@@ -79,23 +82,9 @@
      - storageResourceId
      - filePath
      - replicaMetadata
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'replicaId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'replicaName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'replicaDescription', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'creationTime', None, None, ),  # 5
-        (6, TType.I64, 'lastModifiedTime', None, None, ),  # 6
-        (7, TType.I64, 'validUntilTime', None, None, ),  # 7
-        (8, TType.I32, 'replicaLocationCategory', None, None, ),  # 8
-        (9, TType.I32, 'replicaPersistentType', None, None, ),  # 9
-        (10, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'filePath', 'UTF8', None, ),  # 11
-        (12, TType.MAP, 'replicaMetadata', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 12
-    )
 
     def __init__(self, replicaId=None, productUri=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, filePath=None, replicaMetadata=None,):
         self.replicaId = replicaId
@@ -113,7 +102,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -122,22 +111,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.replicaId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.replicaId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.replicaName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.replicaName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.replicaDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.replicaDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -167,12 +156,12 @@
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.filePath = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.filePath = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
@@ -180,8 +169,8 @@
                     self.replicaMetadata = {}
                     (_ktype1, _vtype2, _size0) = iprot.readMapBegin()
                     for _i4 in range(_size0):
-                        _key5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val6 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val6 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.replicaMetadata[_key5] = _val6
                     iprot.readMapEnd()
                 else:
@@ -193,7 +182,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DataReplicaLocationModel')
         if self.replicaId is not None:
@@ -281,23 +270,9 @@
      - lastModifiedTime
      - productMetadata
      - replicaLocations
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'productUri', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'parentProductUri', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'productName', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'productDescription', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'ownerName', 'UTF8', None, ),  # 6
-        (7, TType.I32, 'dataProductType', None, None, ),  # 7
-        (8, TType.I32, 'productSize', None, None, ),  # 8
-        (9, TType.I64, 'creationTime', None, None, ),  # 9
-        (10, TType.I64, 'lastModifiedTime', None, None, ),  # 10
-        (11, TType.MAP, 'productMetadata', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 11
-        (12, TType.LIST, 'replicaLocations', (TType.STRUCT, (DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec), False), None, ),  # 12
-    )
 
     def __init__(self, productUri=None, gatewayId=None, parentProductUri=None, productName=None, productDescription=None, ownerName=None, dataProductType=None, productSize=None, creationTime=None, lastModifiedTime=None, productMetadata=None, replicaLocations=None,):
         self.productUri = productUri
@@ -315,7 +290,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -324,32 +299,32 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.productUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.parentProductUri = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parentProductUri = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.productName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.productDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.productDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.ownerName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -377,8 +352,8 @@
                     self.productMetadata = {}
                     (_ktype10, _vtype11, _size9) = iprot.readMapBegin()
                     for _i13 in range(_size9):
-                        _key14 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val15 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key14 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val15 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.productMetadata[_key14] = _val15
                     iprot.readMapEnd()
                 else:
@@ -401,7 +376,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DataProductModel')
         if self.productUri is not None:
@@ -475,3 +450,37 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(DataReplicaLocationModel)
+DataReplicaLocationModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'replicaId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'productUri', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'replicaName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'replicaDescription', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'creationTime', None, None, ),  # 5
+    (6, TType.I64, 'lastModifiedTime', None, None, ),  # 6
+    (7, TType.I64, 'validUntilTime', None, None, ),  # 7
+    (8, TType.I32, 'replicaLocationCategory', None, None, ),  # 8
+    (9, TType.I32, 'replicaPersistentType', None, None, ),  # 9
+    (10, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'filePath', 'UTF8', None, ),  # 11
+    (12, TType.MAP, 'replicaMetadata', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 12
+)
+all_structs.append(DataProductModel)
+DataProductModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'productUri', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'parentProductUri', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'productName', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'productDescription', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'ownerName', 'UTF8', None, ),  # 6
+    (7, TType.I32, 'dataProductType', None, None, ),  # 7
+    (8, TType.I32, 'productSize', None, None, ),  # 8
+    (9, TType.I64, 'creationTime', None, None, ),  # 9
+    (10, TType.I64, 'lastModifiedTime', None, None, ),  # 10
+    (11, TType.MAP, 'productMetadata', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 11
+    (12, TType.LIST, 'replicaLocations', (TType.STRUCT, [DataReplicaLocationModel, None], False), None, ),  # 12
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/ttypes.py
index d33f0df..0b3205d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/dbevent/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class CrudType(object):
@@ -88,14 +91,9 @@
      - crudType
      - entityType
      - entityDataModel
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'crudType', None, None, ),  # 1
-        (2, TType.I32, 'entityType', None, None, ),  # 2
-        (3, TType.STRING, 'entityDataModel', 'BINARY', None, ),  # 3
-    )
 
     def __init__(self, crudType=None, entityType=None, entityDataModel=None,):
         self.crudType = crudType
@@ -104,7 +102,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -133,7 +131,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DBEventPublisherContext')
         if self.crudType is not None:
@@ -176,19 +174,16 @@
     """
     Attributes:
      - publisherContext
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'publisherContext', (DBEventPublisherContext, DBEventPublisherContext.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, publisherContext=None,):
         self.publisherContext = publisherContext
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -208,7 +203,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DBEventPublisher')
         if self.publisherContext is not None:
@@ -239,19 +234,16 @@
     """
     Attributes:
      - subscriberService
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'subscriberService', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, subscriberService=None,):
         self.subscriberService = subscriberService
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -260,7 +252,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.subscriberService = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.subscriberService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -270,7 +262,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DBEventSubscriber')
         if self.subscriberService is not None:
@@ -302,13 +294,9 @@
     Attributes:
      - publisher
      - subscriber
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'publisher', (DBEventPublisher, DBEventPublisher.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'subscriber', (DBEventSubscriber, DBEventSubscriber.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, publisher=None, subscriber=None,):
         self.publisher = publisher
@@ -316,7 +304,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -342,7 +330,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DBEventMessageContext')
         if self.publisher is not None:
@@ -377,14 +365,9 @@
      - dbEventType
      - messageContext
      - publisherService
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'dbEventType', None, None, ),  # 1
-        (2, TType.STRUCT, 'messageContext', (DBEventMessageContext, DBEventMessageContext.thrift_spec), None, ),  # 2
-        (3, TType.STRING, 'publisherService', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, dbEventType=None, messageContext=None, publisherService=None,):
         self.dbEventType = dbEventType
@@ -393,7 +376,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -413,7 +396,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.publisherService = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.publisherService = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -423,7 +406,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DBEventMessage')
         if self.dbEventType is not None:
@@ -460,3 +443,35 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(DBEventPublisherContext)
+DBEventPublisherContext.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'crudType', None, None, ),  # 1
+    (2, TType.I32, 'entityType', None, None, ),  # 2
+    (3, TType.STRING, 'entityDataModel', 'BINARY', None, ),  # 3
+)
+all_structs.append(DBEventPublisher)
+DBEventPublisher.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'publisherContext', [DBEventPublisherContext, None], None, ),  # 1
+)
+all_structs.append(DBEventSubscriber)
+DBEventSubscriber.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'subscriberService', 'UTF8', None, ),  # 1
+)
+all_structs.append(DBEventMessageContext)
+DBEventMessageContext.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'publisher', [DBEventPublisher, None], None, ),  # 1
+    (2, TType.STRUCT, 'subscriber', [DBEventSubscriber, None], None, ),  # 2
+)
+all_structs.append(DBEventMessage)
+DBEventMessage.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'dbEventType', None, None, ),  # 1
+    (2, TType.STRUCT, 'messageContext', [DBEventMessageContext, None], None, ),  # 2
+    (3, TType.STRING, 'publisherService', 'UTF8', None, ),  # 3
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/ttypes.py
index d5cb425..4316b56 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/experiment/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.application.io.ttypes
@@ -17,6 +19,7 @@
 import airavata.model.workflow.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ExperimentType(object):
@@ -103,24 +106,12 @@
      - experimentDataDir
      - useUserCRPref
      - groupResourceProfileId
+     - autoScheduledCompResourceSchedulingList
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.BOOL, 'airavataAutoSchedule', None, False, ),  # 1
-        (2, TType.BOOL, 'overrideManualScheduledParams', None, False, ),  # 2
-        (3, TType.BOOL, 'shareExperimentPublicly', None, False, ),  # 3
-        (4, TType.STRUCT, 'computationalResourceScheduling', (airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ),  # 4
-        (5, TType.BOOL, 'throttleResources', None, False, ),  # 5
-        (6, TType.STRING, 'userDN', 'UTF8', None, ),  # 6
-        (7, TType.BOOL, 'generateCert', None, False, ),  # 7
-        (8, TType.STRING, 'storageId', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'experimentDataDir', 'UTF8', None, ),  # 9
-        (10, TType.BOOL, 'useUserCRPref', None, None, ),  # 10
-        (11, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 11
-    )
 
-    def __init__(self, airavataAutoSchedule=thrift_spec[1][4], overrideManualScheduledParams=thrift_spec[2][4], shareExperimentPublicly=thrift_spec[3][4], computationalResourceScheduling=None, throttleResources=thrift_spec[5][4], userDN=None, generateCert=thrift_spec[7][4], storageId=None, experimentDataDir=None, useUserCRPref=None, groupResourceProfileId=None,):
+    def __init__(self, airavataAutoSchedule=False, overrideManualScheduledParams=False, shareExperimentPublicly=False, computationalResourceScheduling=None, throttleResources=False, userDN=None, generateCert=False, storageId=None, experimentDataDir=None, useUserCRPref=None, groupResourceProfileId=None, autoScheduledCompResourceSchedulingList=None,):
         self.airavataAutoSchedule = airavataAutoSchedule
         self.overrideManualScheduledParams = overrideManualScheduledParams
         self.shareExperimentPublicly = shareExperimentPublicly
@@ -132,10 +123,11 @@
         self.experimentDataDir = experimentDataDir
         self.useUserCRPref = useUserCRPref
         self.groupResourceProfileId = groupResourceProfileId
+        self.autoScheduledCompResourceSchedulingList = autoScheduledCompResourceSchedulingList
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -170,7 +162,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.userDN = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userDN = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -180,12 +172,12 @@
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.storageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.experimentDataDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentDataDir = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
@@ -195,7 +187,18 @@
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 12:
+                if ftype == TType.LIST:
+                    self.autoScheduledCompResourceSchedulingList = []
+                    (_etype3, _size0) = iprot.readListBegin()
+                    for _i4 in range(_size0):
+                        _elem5 = airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel()
+                        _elem5.read(iprot)
+                        self.autoScheduledCompResourceSchedulingList.append(_elem5)
+                    iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             else:
@@ -205,7 +208,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserConfigurationDataModel')
         if self.airavataAutoSchedule is not None:
@@ -252,6 +255,13 @@
             oprot.writeFieldBegin('groupResourceProfileId', TType.STRING, 11)
             oprot.writeString(self.groupResourceProfileId.encode('utf-8') if sys.version_info[0] == 2 else self.groupResourceProfileId)
             oprot.writeFieldEnd()
+        if self.autoScheduledCompResourceSchedulingList is not None:
+            oprot.writeFieldBegin('autoScheduledCompResourceSchedulingList', TType.LIST, 12)
+            oprot.writeListBegin(TType.STRUCT, len(self.autoScheduledCompResourceSchedulingList))
+            for iter6 in self.autoScheduledCompResourceSchedulingList:
+                iter6.write(oprot)
+            oprot.writeListEnd()
+            oprot.writeFieldEnd()
         oprot.writeFieldStop()
         oprot.writeStructEnd()
 
@@ -312,33 +322,11 @@
      - errors
      - processes
      - workflow
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'experimentId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'experimentType', None, 0, ),  # 4
-        (5, TType.STRING, 'userName', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'experimentName', 'UTF8', None, ),  # 6
-        (7, TType.I64, 'creationTime', None, None, ),  # 7
-        (8, TType.STRING, 'description', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'executionId', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'gatewayExecutionId', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'gatewayInstanceId', 'UTF8', None, ),  # 11
-        (12, TType.BOOL, 'enableEmailNotification', None, None, ),  # 12
-        (13, TType.LIST, 'emailAddresses', (TType.STRING, 'UTF8', False), None, ),  # 13
-        (14, TType.STRUCT, 'userConfigurationData', (UserConfigurationDataModel, UserConfigurationDataModel.thrift_spec), None, ),  # 14
-        (15, TType.LIST, 'experimentInputs', (TType.STRUCT, (airavata.model.application.io.ttypes.InputDataObjectType, airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ),  # 15
-        (16, TType.LIST, 'experimentOutputs', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 16
-        (17, TType.LIST, 'experimentStatus', (TType.STRUCT, (airavata.model.status.ttypes.ExperimentStatus, airavata.model.status.ttypes.ExperimentStatus.thrift_spec), False), None, ),  # 17
-        (18, TType.LIST, 'errors', (TType.STRUCT, (airavata.model.commons.ttypes.ErrorModel, airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 18
-        (19, TType.LIST, 'processes', (TType.STRUCT, (airavata.model.process.ttypes.ProcessModel, airavata.model.process.ttypes.ProcessModel.thrift_spec), False), None, ),  # 19
-        (20, TType.STRUCT, 'workflow', (airavata.model.workflow.ttypes.AiravataWorkflow, airavata.model.workflow.ttypes.AiravataWorkflow.thrift_spec), None, ),  # 20
-    )
 
-    def __init__(self, experimentId=thrift_spec[1][4], projectId=None, gatewayId=None, experimentType=thrift_spec[4][4], userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, gatewayInstanceId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None, processes=None, workflow=None,):
+    def __init__(self, experimentId="DO_NOT_SET_AT_CLIENTS", projectId=None, gatewayId=None, experimentType=    0, userName=None, experimentName=None, creationTime=None, description=None, executionId=None, gatewayExecutionId=None, gatewayInstanceId=None, enableEmailNotification=None, emailAddresses=None, userConfigurationData=None, experimentInputs=None, experimentOutputs=None, experimentStatus=None, errors=None, processes=None, workflow=None,):
         self.experimentId = experimentId
         self.projectId = projectId
         self.gatewayId = gatewayId
@@ -362,7 +350,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -371,17 +359,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -391,12 +379,12 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.experimentName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -406,22 +394,22 @@
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.executionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.executionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.gatewayExecutionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayExecutionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.gatewayInstanceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayInstanceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
@@ -432,10 +420,10 @@
             elif fid == 13:
                 if ftype == TType.LIST:
                     self.emailAddresses = []
-                    (_etype3, _size0) = iprot.readListBegin()
-                    for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        self.emailAddresses.append(_elem5)
+                    (_etype10, _size7) = iprot.readListBegin()
+                    for _i11 in range(_size7):
+                        _elem12 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        self.emailAddresses.append(_elem12)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -448,55 +436,55 @@
             elif fid == 15:
                 if ftype == TType.LIST:
                     self.experimentInputs = []
-                    (_etype9, _size6) = iprot.readListBegin()
-                    for _i10 in range(_size6):
-                        _elem11 = airavata.model.application.io.ttypes.InputDataObjectType()
-                        _elem11.read(iprot)
-                        self.experimentInputs.append(_elem11)
+                    (_etype16, _size13) = iprot.readListBegin()
+                    for _i17 in range(_size13):
+                        _elem18 = airavata.model.application.io.ttypes.InputDataObjectType()
+                        _elem18.read(iprot)
+                        self.experimentInputs.append(_elem18)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 16:
                 if ftype == TType.LIST:
                     self.experimentOutputs = []
-                    (_etype15, _size12) = iprot.readListBegin()
-                    for _i16 in range(_size12):
-                        _elem17 = airavata.model.application.io.ttypes.OutputDataObjectType()
-                        _elem17.read(iprot)
-                        self.experimentOutputs.append(_elem17)
+                    (_etype22, _size19) = iprot.readListBegin()
+                    for _i23 in range(_size19):
+                        _elem24 = airavata.model.application.io.ttypes.OutputDataObjectType()
+                        _elem24.read(iprot)
+                        self.experimentOutputs.append(_elem24)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
                 if ftype == TType.LIST:
                     self.experimentStatus = []
-                    (_etype21, _size18) = iprot.readListBegin()
-                    for _i22 in range(_size18):
-                        _elem23 = airavata.model.status.ttypes.ExperimentStatus()
-                        _elem23.read(iprot)
-                        self.experimentStatus.append(_elem23)
+                    (_etype28, _size25) = iprot.readListBegin()
+                    for _i29 in range(_size25):
+                        _elem30 = airavata.model.status.ttypes.ExperimentStatus()
+                        _elem30.read(iprot)
+                        self.experimentStatus.append(_elem30)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 18:
                 if ftype == TType.LIST:
                     self.errors = []
-                    (_etype27, _size24) = iprot.readListBegin()
-                    for _i28 in range(_size24):
-                        _elem29 = airavata.model.commons.ttypes.ErrorModel()
-                        _elem29.read(iprot)
-                        self.errors.append(_elem29)
+                    (_etype34, _size31) = iprot.readListBegin()
+                    for _i35 in range(_size31):
+                        _elem36 = airavata.model.commons.ttypes.ErrorModel()
+                        _elem36.read(iprot)
+                        self.errors.append(_elem36)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 19:
                 if ftype == TType.LIST:
                     self.processes = []
-                    (_etype33, _size30) = iprot.readListBegin()
-                    for _i34 in range(_size30):
-                        _elem35 = airavata.model.process.ttypes.ProcessModel()
-                        _elem35.read(iprot)
-                        self.processes.append(_elem35)
+                    (_etype40, _size37) = iprot.readListBegin()
+                    for _i41 in range(_size37):
+                        _elem42 = airavata.model.process.ttypes.ProcessModel()
+                        _elem42.read(iprot)
+                        self.processes.append(_elem42)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -513,7 +501,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentModel')
         if self.experimentId is not None:
@@ -567,8 +555,8 @@
         if self.emailAddresses is not None:
             oprot.writeFieldBegin('emailAddresses', TType.LIST, 13)
             oprot.writeListBegin(TType.STRING, len(self.emailAddresses))
-            for iter36 in self.emailAddresses:
-                oprot.writeString(iter36.encode('utf-8') if sys.version_info[0] == 2 else iter36)
+            for iter43 in self.emailAddresses:
+                oprot.writeString(iter43.encode('utf-8') if sys.version_info[0] == 2 else iter43)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.userConfigurationData is not None:
@@ -578,36 +566,36 @@
         if self.experimentInputs is not None:
             oprot.writeFieldBegin('experimentInputs', TType.LIST, 15)
             oprot.writeListBegin(TType.STRUCT, len(self.experimentInputs))
-            for iter37 in self.experimentInputs:
-                iter37.write(oprot)
+            for iter44 in self.experimentInputs:
+                iter44.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.experimentOutputs is not None:
             oprot.writeFieldBegin('experimentOutputs', TType.LIST, 16)
             oprot.writeListBegin(TType.STRUCT, len(self.experimentOutputs))
-            for iter38 in self.experimentOutputs:
-                iter38.write(oprot)
+            for iter45 in self.experimentOutputs:
+                iter45.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.experimentStatus is not None:
             oprot.writeFieldBegin('experimentStatus', TType.LIST, 17)
             oprot.writeListBegin(TType.STRUCT, len(self.experimentStatus))
-            for iter39 in self.experimentStatus:
-                iter39.write(oprot)
+            for iter46 in self.experimentStatus:
+                iter46.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.errors is not None:
             oprot.writeFieldBegin('errors', TType.LIST, 18)
             oprot.writeListBegin(TType.STRUCT, len(self.errors))
-            for iter40 in self.errors:
-                iter40.write(oprot)
+            for iter47 in self.errors:
+                iter47.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.processes is not None:
             oprot.writeFieldBegin('processes', TType.LIST, 19)
             oprot.writeListBegin(TType.STRUCT, len(self.processes))
-            for iter41 in self.processes:
-                iter41.write(oprot)
+            for iter48 in self.processes:
+                iter48.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.workflow is not None:
@@ -658,23 +646,9 @@
      - resourceHostId
      - experimentStatus
      - statusUpdateTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-        (4, TType.I64, 'creationTime', None, None, ),  # 4
-        (5, TType.STRING, 'userName', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'name', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'description', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'executionId', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'resourceHostId', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'experimentStatus', 'UTF8', None, ),  # 10
-        None,  # 11
-        (12, TType.I64, 'statusUpdateTime', None, None, ),  # 12
-    )
 
     def __init__(self, experimentId=None, projectId=None, gatewayId=None, creationTime=None, userName=None, name=None, description=None, executionId=None, resourceHostId=None, experimentStatus=None, statusUpdateTime=None,):
         self.experimentId = experimentId
@@ -691,7 +665,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -700,17 +674,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.projectId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -720,32 +694,32 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.executionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.executionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.resourceHostId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceHostId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.experimentStatus = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentStatus = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
@@ -760,7 +734,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentSummaryModel')
         if self.experimentId is not None:
@@ -850,23 +824,9 @@
      - cancelledExperiments
      - createdExperiments
      - runningExperiments
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'allExperimentCount', None, None, ),  # 1
-        (2, TType.I32, 'completedExperimentCount', None, None, ),  # 2
-        (3, TType.I32, 'cancelledExperimentCount', None, None, ),  # 3
-        (4, TType.I32, 'failedExperimentCount', None, None, ),  # 4
-        (5, TType.I32, 'createdExperimentCount', None, None, ),  # 5
-        (6, TType.I32, 'runningExperimentCount', None, None, ),  # 6
-        (7, TType.LIST, 'allExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ),  # 7
-        (8, TType.LIST, 'completedExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ),  # 8
-        (9, TType.LIST, 'failedExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ),  # 9
-        (10, TType.LIST, 'cancelledExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ),  # 10
-        (11, TType.LIST, 'createdExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ),  # 11
-        (12, TType.LIST, 'runningExperiments', (TType.STRUCT, (ExperimentSummaryModel, ExperimentSummaryModel.thrift_spec), False), None, ),  # 12
-    )
 
     def __init__(self, allExperimentCount=None, completedExperimentCount=None, cancelledExperimentCount=None, failedExperimentCount=None, createdExperimentCount=None, runningExperimentCount=None, allExperiments=None, completedExperiments=None, failedExperiments=None, cancelledExperiments=None, createdExperiments=None, runningExperiments=None,):
         self.allExperimentCount = allExperimentCount
@@ -884,7 +844,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -924,66 +884,66 @@
             elif fid == 7:
                 if ftype == TType.LIST:
                     self.allExperiments = []
-                    (_etype45, _size42) = iprot.readListBegin()
-                    for _i46 in range(_size42):
-                        _elem47 = ExperimentSummaryModel()
-                        _elem47.read(iprot)
-                        self.allExperiments.append(_elem47)
+                    (_etype52, _size49) = iprot.readListBegin()
+                    for _i53 in range(_size49):
+                        _elem54 = ExperimentSummaryModel()
+                        _elem54.read(iprot)
+                        self.allExperiments.append(_elem54)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.LIST:
                     self.completedExperiments = []
-                    (_etype51, _size48) = iprot.readListBegin()
-                    for _i52 in range(_size48):
-                        _elem53 = ExperimentSummaryModel()
-                        _elem53.read(iprot)
-                        self.completedExperiments.append(_elem53)
+                    (_etype58, _size55) = iprot.readListBegin()
+                    for _i59 in range(_size55):
+                        _elem60 = ExperimentSummaryModel()
+                        _elem60.read(iprot)
+                        self.completedExperiments.append(_elem60)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.LIST:
                     self.failedExperiments = []
-                    (_etype57, _size54) = iprot.readListBegin()
-                    for _i58 in range(_size54):
-                        _elem59 = ExperimentSummaryModel()
-                        _elem59.read(iprot)
-                        self.failedExperiments.append(_elem59)
+                    (_etype64, _size61) = iprot.readListBegin()
+                    for _i65 in range(_size61):
+                        _elem66 = ExperimentSummaryModel()
+                        _elem66.read(iprot)
+                        self.failedExperiments.append(_elem66)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.LIST:
                     self.cancelledExperiments = []
-                    (_etype63, _size60) = iprot.readListBegin()
-                    for _i64 in range(_size60):
-                        _elem65 = ExperimentSummaryModel()
-                        _elem65.read(iprot)
-                        self.cancelledExperiments.append(_elem65)
+                    (_etype70, _size67) = iprot.readListBegin()
+                    for _i71 in range(_size67):
+                        _elem72 = ExperimentSummaryModel()
+                        _elem72.read(iprot)
+                        self.cancelledExperiments.append(_elem72)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.LIST:
                     self.createdExperiments = []
-                    (_etype69, _size66) = iprot.readListBegin()
-                    for _i70 in range(_size66):
-                        _elem71 = ExperimentSummaryModel()
-                        _elem71.read(iprot)
-                        self.createdExperiments.append(_elem71)
+                    (_etype76, _size73) = iprot.readListBegin()
+                    for _i77 in range(_size73):
+                        _elem78 = ExperimentSummaryModel()
+                        _elem78.read(iprot)
+                        self.createdExperiments.append(_elem78)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.LIST:
                     self.runningExperiments = []
-                    (_etype75, _size72) = iprot.readListBegin()
-                    for _i76 in range(_size72):
-                        _elem77 = ExperimentSummaryModel()
-                        _elem77.read(iprot)
-                        self.runningExperiments.append(_elem77)
+                    (_etype82, _size79) = iprot.readListBegin()
+                    for _i83 in range(_size79):
+                        _elem84 = ExperimentSummaryModel()
+                        _elem84.read(iprot)
+                        self.runningExperiments.append(_elem84)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
@@ -994,7 +954,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentStatistics')
         if self.allExperimentCount is not None:
@@ -1024,43 +984,43 @@
         if self.allExperiments is not None:
             oprot.writeFieldBegin('allExperiments', TType.LIST, 7)
             oprot.writeListBegin(TType.STRUCT, len(self.allExperiments))
-            for iter78 in self.allExperiments:
-                iter78.write(oprot)
+            for iter85 in self.allExperiments:
+                iter85.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.completedExperiments is not None:
             oprot.writeFieldBegin('completedExperiments', TType.LIST, 8)
             oprot.writeListBegin(TType.STRUCT, len(self.completedExperiments))
-            for iter79 in self.completedExperiments:
-                iter79.write(oprot)
+            for iter86 in self.completedExperiments:
+                iter86.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.failedExperiments is not None:
             oprot.writeFieldBegin('failedExperiments', TType.LIST, 9)
             oprot.writeListBegin(TType.STRUCT, len(self.failedExperiments))
-            for iter80 in self.failedExperiments:
-                iter80.write(oprot)
+            for iter87 in self.failedExperiments:
+                iter87.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.cancelledExperiments is not None:
             oprot.writeFieldBegin('cancelledExperiments', TType.LIST, 10)
             oprot.writeListBegin(TType.STRUCT, len(self.cancelledExperiments))
-            for iter81 in self.cancelledExperiments:
-                iter81.write(oprot)
+            for iter88 in self.cancelledExperiments:
+                iter88.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.createdExperiments is not None:
             oprot.writeFieldBegin('createdExperiments', TType.LIST, 11)
             oprot.writeListBegin(TType.STRUCT, len(self.createdExperiments))
-            for iter82 in self.createdExperiments:
-                iter82.write(oprot)
+            for iter89 in self.createdExperiments:
+                iter89.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         if self.runningExperiments is not None:
             oprot.writeFieldBegin('runningExperiments', TType.LIST, 12)
             oprot.writeListBegin(TType.STRUCT, len(self.runningExperiments))
-            for iter83 in self.runningExperiments:
-                iter83.write(oprot)
+            for iter90 in self.runningExperiments:
+                iter90.write(oprot)
             oprot.writeListEnd()
             oprot.writeFieldEnd()
         oprot.writeFieldStop()
@@ -1091,3 +1051,77 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(UserConfigurationDataModel)
+UserConfigurationDataModel.thrift_spec = (
+    None,  # 0
+    (1, TType.BOOL, 'airavataAutoSchedule', None, False, ),  # 1
+    (2, TType.BOOL, 'overrideManualScheduledParams', None, False, ),  # 2
+    (3, TType.BOOL, 'shareExperimentPublicly', None, False, ),  # 3
+    (4, TType.STRUCT, 'computationalResourceScheduling', [airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, None], None, ),  # 4
+    (5, TType.BOOL, 'throttleResources', None, False, ),  # 5
+    (6, TType.STRING, 'userDN', 'UTF8', None, ),  # 6
+    (7, TType.BOOL, 'generateCert', None, False, ),  # 7
+    (8, TType.STRING, 'storageId', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'experimentDataDir', 'UTF8', None, ),  # 9
+    (10, TType.BOOL, 'useUserCRPref', None, None, ),  # 10
+    (11, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 11
+    (12, TType.LIST, 'autoScheduledCompResourceSchedulingList', (TType.STRUCT, [airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, None], False), None, ),  # 12
+)
+all_structs.append(ExperimentModel)
+ExperimentModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'experimentId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'experimentType', None,     0, ),  # 4
+    (5, TType.STRING, 'userName', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'experimentName', 'UTF8', None, ),  # 6
+    (7, TType.I64, 'creationTime', None, None, ),  # 7
+    (8, TType.STRING, 'description', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'executionId', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'gatewayExecutionId', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'gatewayInstanceId', 'UTF8', None, ),  # 11
+    (12, TType.BOOL, 'enableEmailNotification', None, None, ),  # 12
+    (13, TType.LIST, 'emailAddresses', (TType.STRING, 'UTF8', False), None, ),  # 13
+    (14, TType.STRUCT, 'userConfigurationData', [UserConfigurationDataModel, None], None, ),  # 14
+    (15, TType.LIST, 'experimentInputs', (TType.STRUCT, [airavata.model.application.io.ttypes.InputDataObjectType, None], False), None, ),  # 15
+    (16, TType.LIST, 'experimentOutputs', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 16
+    (17, TType.LIST, 'experimentStatus', (TType.STRUCT, [airavata.model.status.ttypes.ExperimentStatus, None], False), None, ),  # 17
+    (18, TType.LIST, 'errors', (TType.STRUCT, [airavata.model.commons.ttypes.ErrorModel, None], False), None, ),  # 18
+    (19, TType.LIST, 'processes', (TType.STRUCT, [airavata.model.process.ttypes.ProcessModel, None], False), None, ),  # 19
+    (20, TType.STRUCT, 'workflow', [airavata.model.workflow.ttypes.AiravataWorkflow, None], None, ),  # 20
+)
+all_structs.append(ExperimentSummaryModel)
+ExperimentSummaryModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'projectId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+    (4, TType.I64, 'creationTime', None, None, ),  # 4
+    (5, TType.STRING, 'userName', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'name', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'description', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'executionId', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'resourceHostId', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'experimentStatus', 'UTF8', None, ),  # 10
+    None,  # 11
+    (12, TType.I64, 'statusUpdateTime', None, None, ),  # 12
+)
+all_structs.append(ExperimentStatistics)
+ExperimentStatistics.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'allExperimentCount', None, None, ),  # 1
+    (2, TType.I32, 'completedExperimentCount', None, None, ),  # 2
+    (3, TType.I32, 'cancelledExperimentCount', None, None, ),  # 3
+    (4, TType.I32, 'failedExperimentCount', None, None, ),  # 4
+    (5, TType.I32, 'createdExperimentCount', None, None, ),  # 5
+    (6, TType.I32, 'runningExperimentCount', None, None, ),  # 6
+    (7, TType.LIST, 'allExperiments', (TType.STRUCT, [ExperimentSummaryModel, None], False), None, ),  # 7
+    (8, TType.LIST, 'completedExperiments', (TType.STRUCT, [ExperimentSummaryModel, None], False), None, ),  # 8
+    (9, TType.LIST, 'failedExperiments', (TType.STRUCT, [ExperimentSummaryModel, None], False), None, ),  # 9
+    (10, TType.LIST, 'cancelledExperiments', (TType.STRUCT, [ExperimentSummaryModel, None], False), None, ),  # 10
+    (11, TType.LIST, 'createdExperiments', (TType.STRUCT, [ExperimentSummaryModel, None], False), None, ),  # 11
+    (12, TType.LIST, 'runningExperiments', (TType.STRUCT, [ExperimentSummaryModel, None], False), None, ),  # 12
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/ttypes.py
index 8bce444..6103b44 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/group/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ResourceType(object):
@@ -74,17 +77,9 @@
      - description
      - members
      - admins: Note: each admin must also be a member of the group.
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-        (5, TType.LIST, 'members', (TType.STRING, 'UTF8', False), None, ),  # 5
-        (6, TType.LIST, 'admins', (TType.STRING, 'UTF8', False), None, ),  # 6
-    )
 
     def __init__(self, id=None, name=None, ownerId=None, description=None, members=None, admins=None,):
         self.id = id
@@ -96,7 +91,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -105,22 +100,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -128,7 +123,7 @@
                     self.members = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.members.append(_elem5)
                     iprot.readListEnd()
                 else:
@@ -138,7 +133,7 @@
                     self.admins = []
                     (_etype9, _size6) = iprot.readListBegin()
                     for _i10 in range(_size6):
-                        _elem11 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem11 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.admins.append(_elem11)
                     iprot.readListEnd()
                 else:
@@ -150,7 +145,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupModel')
         if self.id is not None:
@@ -199,3 +194,15 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(GroupModel)
+GroupModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+    (5, TType.LIST, 'members', (TType.STRING, 'UTF8', False), None, ),  # 5
+    (6, TType.LIST, 'admins', (TType.STRING, 'UTF8', False), None, ),  # 6
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/ttypes.py
index 1e16680..e63a127 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/job/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.status.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class JobModel(object):
@@ -29,23 +32,9 @@
      - stdOut
      - stdErr
      - exitCode
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'taskId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'processId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'jobDescription', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'creationTime', None, None, ),  # 5
-        (6, TType.LIST, 'jobStatuses', (TType.STRUCT, (airavata.model.status.ttypes.JobStatus, airavata.model.status.ttypes.JobStatus.thrift_spec), False), None, ),  # 6
-        (7, TType.STRING, 'computeResourceConsumed', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'jobName', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'workingDir', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'stdOut', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'stdErr', 'UTF8', None, ),  # 11
-        (12, TType.I32, 'exitCode', None, None, ),  # 12
-    )
 
     def __init__(self, jobId=None, taskId=None, processId=None, jobDescription=None, creationTime=None, jobStatuses=None, computeResourceConsumed=None, jobName=None, workingDir=None, stdOut=None, stdErr=None, exitCode=None,):
         self.jobId = jobId
@@ -63,7 +52,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -72,22 +61,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.taskId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.taskId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.jobDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -108,27 +97,27 @@
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.computeResourceConsumed = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceConsumed = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.jobName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.workingDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.workingDir = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.stdOut = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.stdOut = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.stdErr = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.stdErr = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
@@ -143,7 +132,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobModel')
         if self.jobId is not None:
@@ -221,3 +210,21 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(JobModel)
+JobModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'taskId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'processId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'jobDescription', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'creationTime', None, None, ),  # 5
+    (6, TType.LIST, 'jobStatuses', (TType.STRUCT, [airavata.model.status.ttypes.JobStatus, None], False), None, ),  # 6
+    (7, TType.STRING, 'computeResourceConsumed', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'jobName', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'workingDir', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'stdOut', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'stdErr', 'UTF8', None, ),  # 11
+    (12, TType.I32, 'exitCode', None, None, ),  # 12
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/ttypes.py
index 8a4447d..1c314f5 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/messaging/event/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.status.ttypes
 import airavata.model.application.io.ttypes
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class MessageLevel(object):
@@ -82,14 +85,9 @@
      - state
      - experimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, state=None, experimentId=None, gatewayId=None,):
         self.state = state
@@ -98,7 +96,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -112,12 +110,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -127,7 +125,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentStatusChangeEvent')
         if self.state is not None:
@@ -172,14 +170,9 @@
      - processId
      - experimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, processId=None, experimentId=None, gatewayId=None,):
         self.processId = processId
@@ -188,7 +181,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -197,17 +190,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -217,7 +210,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessIdentifier')
         if self.processId is not None:
@@ -263,15 +256,9 @@
      - processId
      - experimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'taskId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'processId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, taskId=None, processId=None, experimentId=None, gatewayId=None,):
         self.taskId = taskId
@@ -281,7 +268,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -290,22 +277,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.taskId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.taskId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -315,7 +302,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TaskIdentifier')
         if self.taskId is not None:
@@ -365,13 +352,9 @@
     Attributes:
      - state
      - taskIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRUCT, 'taskIdentity', (TaskIdentifier, TaskIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, state=None, taskIdentity=None,):
         self.state = state
@@ -379,7 +362,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -404,7 +387,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TaskStatusChangeEvent')
         if self.state is not None:
@@ -442,13 +425,9 @@
     Attributes:
      - state
      - taskIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRUCT, 'taskIdentity', (TaskIdentifier, TaskIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, state=None, taskIdentity=None,):
         self.state = state
@@ -456,7 +435,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -481,7 +460,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TaskStatusChangeRequestEvent')
         if self.state is not None:
@@ -519,13 +498,9 @@
     Attributes:
      - state
      - processIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRUCT, 'processIdentity', (ProcessIdentifier, ProcessIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, state=None, processIdentity=None,):
         self.state = state
@@ -533,7 +508,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -558,7 +533,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessStatusChangeEvent')
         if self.state is not None:
@@ -596,13 +571,9 @@
     Attributes:
      - state
      - processIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRUCT, 'processIdentity', (ProcessIdentifier, ProcessIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, state=None, processIdentity=None,):
         self.state = state
@@ -610,7 +581,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -635,7 +606,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessStatusChangeRequestEvent')
         if self.state is not None:
@@ -673,13 +644,9 @@
     Attributes:
      - output
      - taskIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.LIST, 'output', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 1
-        (2, TType.STRUCT, 'taskIdentity', (TaskIdentifier, TaskIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, output=None, taskIdentity=None,):
         self.output = output
@@ -687,7 +654,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -718,7 +685,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TaskOutputChangeEvent')
         if self.output is not None:
@@ -762,16 +729,9 @@
      - processId
      - experimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'jobId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'taskId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'processId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'experimentId', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 5
-    )
 
     def __init__(self, jobId=None, taskId=None, processId=None, experimentId=None, gatewayId=None,):
         self.jobId = jobId
@@ -782,7 +742,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -791,27 +751,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.jobId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.taskId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.taskId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -821,7 +781,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobIdentifier')
         if self.jobId is not None:
@@ -877,13 +837,9 @@
     Attributes:
      - experimentId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, experimentId=None, gatewayId=None,):
         self.experimentId = experimentId
@@ -891,7 +847,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -900,12 +856,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -915,7 +871,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentSubmitEvent')
         if self.experimentId is not None:
@@ -955,15 +911,9 @@
      - gatewayId
      - experimentId
      - tokenId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'tokenId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, processId=None, gatewayId=None, experimentId=None, tokenId=None,):
         self.processId = processId
@@ -973,7 +923,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -982,22 +932,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1007,7 +957,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessSubmitEvent')
         if self.processId is not None:
@@ -1058,14 +1008,9 @@
      - processId
      - gatewayId
      - tokenId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'tokenId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, processId=None, gatewayId=None, tokenId=None,):
         self.processId = processId
@@ -1074,7 +1019,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1083,17 +1028,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.tokenId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tokenId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1103,7 +1048,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessTerminateEvent')
         if self.processId is not None:
@@ -1147,13 +1092,9 @@
     Attributes:
      - state
      - jobIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRUCT, 'jobIdentity', (JobIdentifier, JobIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, state=None, jobIdentity=None,):
         self.state = state
@@ -1161,7 +1102,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1186,7 +1127,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobStatusChangeEvent')
         if self.state is not None:
@@ -1224,13 +1165,9 @@
     Attributes:
      - state
      - jobIdentity
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.STRUCT, 'jobIdentity', (JobIdentifier, JobIdentifier.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, state=None, jobIdentity=None,):
         self.state = state
@@ -1238,7 +1175,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1263,7 +1200,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobStatusChangeRequestEvent')
         if self.state is not None:
@@ -1302,14 +1239,9 @@
      - experimentId
      - gatewayId
      - outputNames
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'outputNames', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, experimentId=None, gatewayId=None, outputNames=None,):
         self.experimentId = experimentId
@@ -1318,7 +1250,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1327,12 +1259,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -1340,7 +1272,7 @@
                     self.outputNames = []
                     (_etype10, _size7) = iprot.readListBegin()
                     for _i11 in range(_size7):
-                        _elem12 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem12 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.outputNames.append(_elem12)
                     iprot.readListEnd()
                 else:
@@ -1352,7 +1284,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentIntermediateOutputsEvent')
         if self.experimentId is not None:
@@ -1402,18 +1334,11 @@
      - messageType
      - updatedTime
      - messageLevel
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'event', 'BINARY', None, ),  # 1
-        (2, TType.STRING, 'messageId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
-        (3, TType.I32, 'messageType', None, None, ),  # 3
-        (4, TType.I64, 'updatedTime', None, None, ),  # 4
-        (5, TType.I32, 'messageLevel', None, None, ),  # 5
-    )
 
-    def __init__(self, event=None, messageId=thrift_spec[2][4], messageType=None, updatedTime=None, messageLevel=None,):
+    def __init__(self, event=None, messageId="DO_NOT_SET_AT_CLIENTS", messageType=None, updatedTime=None, messageLevel=None,):
         self.event = event
         self.messageId = messageId
         self.messageType = messageType
@@ -1422,7 +1347,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1436,7 +1361,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.messageId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.messageId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -1461,7 +1386,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Message')
         if self.event is not None:
@@ -1506,3 +1431,115 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ExperimentStatusChangeEvent)
+ExperimentStatusChangeEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
+all_structs.append(ProcessIdentifier)
+ProcessIdentifier.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
+all_structs.append(TaskIdentifier)
+TaskIdentifier.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'taskId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'processId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
+)
+all_structs.append(TaskStatusChangeEvent)
+TaskStatusChangeEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRUCT, 'taskIdentity', [TaskIdentifier, None], None, ),  # 2
+)
+all_structs.append(TaskStatusChangeRequestEvent)
+TaskStatusChangeRequestEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRUCT, 'taskIdentity', [TaskIdentifier, None], None, ),  # 2
+)
+all_structs.append(ProcessStatusChangeEvent)
+ProcessStatusChangeEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRUCT, 'processIdentity', [ProcessIdentifier, None], None, ),  # 2
+)
+all_structs.append(ProcessStatusChangeRequestEvent)
+ProcessStatusChangeRequestEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRUCT, 'processIdentity', [ProcessIdentifier, None], None, ),  # 2
+)
+all_structs.append(TaskOutputChangeEvent)
+TaskOutputChangeEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.LIST, 'output', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 1
+    (2, TType.STRUCT, 'taskIdentity', [TaskIdentifier, None], None, ),  # 2
+)
+all_structs.append(JobIdentifier)
+JobIdentifier.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'jobId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'taskId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'processId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'experimentId', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 5
+)
+all_structs.append(ExperimentSubmitEvent)
+ExperimentSubmitEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
+all_structs.append(ProcessSubmitEvent)
+ProcessSubmitEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'experimentId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'tokenId', 'UTF8', None, ),  # 4
+)
+all_structs.append(ProcessTerminateEvent)
+ProcessTerminateEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'tokenId', 'UTF8', None, ),  # 3
+)
+all_structs.append(JobStatusChangeEvent)
+JobStatusChangeEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRUCT, 'jobIdentity', [JobIdentifier, None], None, ),  # 2
+)
+all_structs.append(JobStatusChangeRequestEvent)
+JobStatusChangeRequestEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.STRUCT, 'jobIdentity', [JobIdentifier, None], None, ),  # 2
+)
+all_structs.append(ExperimentIntermediateOutputsEvent)
+ExperimentIntermediateOutputsEvent.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'experimentId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'outputNames', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
+all_structs.append(Message)
+Message.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'event', 'BINARY', None, ),  # 1
+    (2, TType.STRING, 'messageId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
+    (3, TType.I32, 'messageType', None, None, ),  # 3
+    (4, TType.I64, 'updatedTime', None, None, ),  # 4
+    (5, TType.I32, 'messageLevel', None, None, ),  # 5
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/ttypes.py
index e9be0bf..b3a88bc 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/process/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.application.io.ttypes
@@ -16,6 +18,7 @@
 import airavata.model.scheduling.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ProcessWorkflow(object):
@@ -25,15 +28,9 @@
      - workflowId
      - creationTime
      - type
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'workflowId', 'UTF8', None, ),  # 2
-        (3, TType.I64, 'creationTime', None, None, ),  # 3
-        (4, TType.STRING, 'type', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, processId=None, workflowId=None, creationTime=None, type=None,):
         self.processId = processId
@@ -43,7 +40,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -52,12 +49,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.workflowId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.workflowId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -67,7 +64,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.type = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.type = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -77,7 +74,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessWorkflow')
         if self.processId is not None:
@@ -155,39 +152,11 @@
      - useUserCRPref
      - groupResourceProfileId
      - processWorkflows
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'processId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-        (3, TType.I64, 'creationTime', None, None, ),  # 3
-        (4, TType.I64, 'lastUpdateTime', None, None, ),  # 4
-        (5, TType.LIST, 'processStatuses', (TType.STRUCT, (airavata.model.status.ttypes.ProcessStatus, airavata.model.status.ttypes.ProcessStatus.thrift_spec), False), None, ),  # 5
-        (6, TType.STRING, 'processDetail', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'applicationInterfaceId', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'applicationDeploymentId', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 9
-        (10, TType.LIST, 'processInputs', (TType.STRUCT, (airavata.model.application.io.ttypes.InputDataObjectType, airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ),  # 10
-        (11, TType.LIST, 'processOutputs', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 11
-        (12, TType.STRUCT, 'processResourceSchedule', (airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel.thrift_spec), None, ),  # 12
-        (13, TType.LIST, 'tasks', (TType.STRUCT, (airavata.model.task.ttypes.TaskModel, airavata.model.task.ttypes.TaskModel.thrift_spec), False), None, ),  # 13
-        (14, TType.STRING, 'taskDag', 'UTF8', None, ),  # 14
-        (15, TType.LIST, 'processErrors', (TType.STRUCT, (airavata.model.commons.ttypes.ErrorModel, airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 15
-        (16, TType.STRING, 'gatewayExecutionId', 'UTF8', None, ),  # 16
-        (17, TType.BOOL, 'enableEmailNotification', None, None, ),  # 17
-        (18, TType.LIST, 'emailAddresses', (TType.STRING, 'UTF8', False), None, ),  # 18
-        (19, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 19
-        (20, TType.STRING, 'userDn', 'UTF8', None, ),  # 20
-        (21, TType.BOOL, 'generateCert', None, False, ),  # 21
-        (22, TType.STRING, 'experimentDataDir', 'UTF8', None, ),  # 22
-        (23, TType.STRING, 'userName', 'UTF8', None, ),  # 23
-        (24, TType.BOOL, 'useUserCRPref', None, None, ),  # 24
-        (25, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 25
-        (26, TType.LIST, 'processWorkflows', (TType.STRUCT, (ProcessWorkflow, ProcessWorkflow.thrift_spec), False), None, ),  # 26
-    )
 
-    def __init__(self, processId=thrift_spec[1][4], experimentId=None, creationTime=None, lastUpdateTime=None, processStatuses=None, processDetail=None, applicationInterfaceId=None, applicationDeploymentId=None, computeResourceId=None, processInputs=None, processOutputs=None, processResourceSchedule=None, tasks=None, taskDag=None, processErrors=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, storageResourceId=None, userDn=None, generateCert=thrift_spec[21][4], experimentDataDir=None, userName=None, useUserCRPref=None, groupResourceProfileId=None, processWorkflows=None,):
+    def __init__(self, processId="DO_NOT_SET_AT_CLIENTS", experimentId=None, creationTime=None, lastUpdateTime=None, processStatuses=None, processDetail=None, applicationInterfaceId=None, applicationDeploymentId=None, computeResourceId=None, processInputs=None, processOutputs=None, processResourceSchedule=None, tasks=None, taskDag=None, processErrors=None, gatewayExecutionId=None, enableEmailNotification=None, emailAddresses=None, storageResourceId=None, userDn=None, generateCert=False, experimentDataDir=None, userName=None, useUserCRPref=None, groupResourceProfileId=None, processWorkflows=None,):
         self.processId = processId
         self.experimentId = experimentId
         self.creationTime = creationTime
@@ -217,7 +186,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -226,12 +195,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -257,22 +226,22 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.processDetail = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processDetail = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.applicationInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.applicationDeploymentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationDeploymentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
@@ -316,7 +285,7 @@
                     iprot.skip(ftype)
             elif fid == 14:
                 if ftype == TType.STRING:
-                    self.taskDag = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.taskDag = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 15:
@@ -332,7 +301,7 @@
                     iprot.skip(ftype)
             elif fid == 16:
                 if ftype == TType.STRING:
-                    self.gatewayExecutionId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayExecutionId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
@@ -345,19 +314,19 @@
                     self.emailAddresses = []
                     (_etype33, _size30) = iprot.readListBegin()
                     for _i34 in range(_size30):
-                        _elem35 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem35 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.emailAddresses.append(_elem35)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 19:
                 if ftype == TType.STRING:
-                    self.storageResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 20:
                 if ftype == TType.STRING:
-                    self.userDn = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userDn = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 21:
@@ -367,12 +336,12 @@
                     iprot.skip(ftype)
             elif fid == 22:
                 if ftype == TType.STRING:
-                    self.experimentDataDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentDataDir = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 23:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 24:
@@ -382,7 +351,7 @@
                     iprot.skip(ftype)
             elif fid == 25:
                 if ftype == TType.STRING:
-                    self.groupResourceProfileId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupResourceProfileId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 26:
@@ -403,7 +372,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessModel')
         if self.processId is not None:
@@ -551,3 +520,43 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ProcessWorkflow)
+ProcessWorkflow.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'processId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'workflowId', 'UTF8', None, ),  # 2
+    (3, TType.I64, 'creationTime', None, None, ),  # 3
+    (4, TType.STRING, 'type', 'UTF8', None, ),  # 4
+)
+all_structs.append(ProcessModel)
+ProcessModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'processId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+    (3, TType.I64, 'creationTime', None, None, ),  # 3
+    (4, TType.I64, 'lastUpdateTime', None, None, ),  # 4
+    (5, TType.LIST, 'processStatuses', (TType.STRUCT, [airavata.model.status.ttypes.ProcessStatus, None], False), None, ),  # 5
+    (6, TType.STRING, 'processDetail', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'applicationInterfaceId', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'applicationDeploymentId', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 9
+    (10, TType.LIST, 'processInputs', (TType.STRUCT, [airavata.model.application.io.ttypes.InputDataObjectType, None], False), None, ),  # 10
+    (11, TType.LIST, 'processOutputs', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 11
+    (12, TType.STRUCT, 'processResourceSchedule', [airavata.model.scheduling.ttypes.ComputationalResourceSchedulingModel, None], None, ),  # 12
+    (13, TType.LIST, 'tasks', (TType.STRUCT, [airavata.model.task.ttypes.TaskModel, None], False), None, ),  # 13
+    (14, TType.STRING, 'taskDag', 'UTF8', None, ),  # 14
+    (15, TType.LIST, 'processErrors', (TType.STRUCT, [airavata.model.commons.ttypes.ErrorModel, None], False), None, ),  # 15
+    (16, TType.STRING, 'gatewayExecutionId', 'UTF8', None, ),  # 16
+    (17, TType.BOOL, 'enableEmailNotification', None, None, ),  # 17
+    (18, TType.LIST, 'emailAddresses', (TType.STRING, 'UTF8', False), None, ),  # 18
+    (19, TType.STRING, 'storageResourceId', 'UTF8', None, ),  # 19
+    (20, TType.STRING, 'userDn', 'UTF8', None, ),  # 20
+    (21, TType.BOOL, 'generateCert', None, False, ),  # 21
+    (22, TType.STRING, 'experimentDataDir', 'UTF8', None, ),  # 22
+    (23, TType.STRING, 'userName', 'UTF8', None, ),  # 23
+    (24, TType.BOOL, 'useUserCRPref', None, None, ),  # 24
+    (25, TType.STRING, 'groupResourceProfileId', 'UTF8', None, ),  # 25
+    (26, TType.LIST, 'processWorkflows', (TType.STRUCT, [ProcessWorkflow, None], False), None, ),  # 26
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/ttypes.py
index fcdae4c..3fbf0ba 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/scheduling/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ComputationalResourceSchedulingModel(object):
@@ -32,25 +35,12 @@
      - overrideLoginUserName
      - overrideScratchLocation
      - overrideAllocationProjectNumber
+     - mGroupCount
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'resourceHostId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'totalCPUCount', None, None, ),  # 2
-        (3, TType.I32, 'nodeCount', None, None, ),  # 3
-        (4, TType.I32, 'numberOfThreads', None, None, ),  # 4
-        (5, TType.STRING, 'queueName', 'UTF8', None, ),  # 5
-        (6, TType.I32, 'wallTimeLimit', None, None, ),  # 6
-        (7, TType.I32, 'totalPhysicalMemory', None, None, ),  # 7
-        (8, TType.STRING, 'chessisNumber', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'staticWorkingDir', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'overrideLoginUserName', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'overrideScratchLocation', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'overrideAllocationProjectNumber', 'UTF8', None, ),  # 12
-    )
 
-    def __init__(self, resourceHostId=None, totalCPUCount=None, nodeCount=None, numberOfThreads=None, queueName=None, wallTimeLimit=None, totalPhysicalMemory=None, chessisNumber=None, staticWorkingDir=None, overrideLoginUserName=None, overrideScratchLocation=None, overrideAllocationProjectNumber=None,):
+    def __init__(self, resourceHostId=None, totalCPUCount=None, nodeCount=None, numberOfThreads=None, queueName=None, wallTimeLimit=None, totalPhysicalMemory=None, chessisNumber=None, staticWorkingDir=None, overrideLoginUserName=None, overrideScratchLocation=None, overrideAllocationProjectNumber=None, mGroupCount=None,):
         self.resourceHostId = resourceHostId
         self.totalCPUCount = totalCPUCount
         self.nodeCount = nodeCount
@@ -63,10 +53,11 @@
         self.overrideLoginUserName = overrideLoginUserName
         self.overrideScratchLocation = overrideScratchLocation
         self.overrideAllocationProjectNumber = overrideAllocationProjectNumber
+        self.mGroupCount = mGroupCount
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -75,7 +66,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.resourceHostId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.resourceHostId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -95,7 +86,7 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.queueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -110,27 +101,32 @@
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.chessisNumber = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.chessisNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.staticWorkingDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.staticWorkingDir = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.overrideLoginUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.overrideLoginUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.overrideScratchLocation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.overrideScratchLocation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.overrideAllocationProjectNumber = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.overrideAllocationProjectNumber = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 13:
+                if ftype == TType.I32:
+                    self.mGroupCount = iprot.readI32()
                 else:
                     iprot.skip(ftype)
             else:
@@ -140,7 +136,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ComputationalResourceSchedulingModel')
         if self.resourceHostId is not None:
@@ -191,6 +187,10 @@
             oprot.writeFieldBegin('overrideAllocationProjectNumber', TType.STRING, 12)
             oprot.writeString(self.overrideAllocationProjectNumber.encode('utf-8') if sys.version_info[0] == 2 else self.overrideAllocationProjectNumber)
             oprot.writeFieldEnd()
+        if self.mGroupCount is not None:
+            oprot.writeFieldBegin('mGroupCount', TType.I32, 13)
+            oprot.writeI32(self.mGroupCount)
+            oprot.writeFieldEnd()
         oprot.writeFieldStop()
         oprot.writeStructEnd()
 
@@ -207,3 +207,22 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ComputationalResourceSchedulingModel)
+ComputationalResourceSchedulingModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'resourceHostId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'totalCPUCount', None, None, ),  # 2
+    (3, TType.I32, 'nodeCount', None, None, ),  # 3
+    (4, TType.I32, 'numberOfThreads', None, None, ),  # 4
+    (5, TType.STRING, 'queueName', 'UTF8', None, ),  # 5
+    (6, TType.I32, 'wallTimeLimit', None, None, ),  # 6
+    (7, TType.I32, 'totalPhysicalMemory', None, None, ),  # 7
+    (8, TType.STRING, 'chessisNumber', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'staticWorkingDir', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'overrideLoginUserName', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'overrideScratchLocation', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'overrideAllocationProjectNumber', 'UTF8', None, ),  # 12
+    (13, TType.I32, 'mGroupCount', None, None, ),  # 13
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/ttypes.py
index 596f6ed..66eec1b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/security/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class AuthzToken(object):
@@ -18,13 +21,9 @@
     Attributes:
      - accessToken
      - claimsMap
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'accessToken', 'UTF8', None, ),  # 1
-        (2, TType.MAP, 'claimsMap', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 2
-    )
 
     def __init__(self, accessToken=None, claimsMap=None,):
         self.accessToken = accessToken
@@ -32,7 +31,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -41,7 +40,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.accessToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.accessToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -49,8 +48,8 @@
                     self.claimsMap = {}
                     (_ktype1, _vtype2, _size0) = iprot.readMapBegin()
                     for _i4 in range(_size0):
-                        _key5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                        _val6 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _key5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                        _val6 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.claimsMap[_key5] = _val6
                     iprot.readMapEnd()
                 else:
@@ -62,7 +61,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('AuthzToken')
         if self.accessToken is not None:
@@ -95,3 +94,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(AuthzToken)
+AuthzToken.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'accessToken', 'UTF8', None, ),  # 1
+    (2, TType.MAP, 'claimsMap', (TType.STRING, 'UTF8', TType.STRING, 'UTF8', False), None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/constants.py
index f4184ce..19bbcda 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 DO_NOT_SET_AT_CLIENTS_ID = "DO_NOT_SET_AT_CLIENTS_ID"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/ttypes.py
index 661367f..7c2e319 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/sharing/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class GroupCardinality(object):
@@ -18,6 +21,7 @@
     <p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
     considered as a group in it's own right for implementation ease</p>
 
+
     """
     SINGLE_USER = 0
     MULTI_USER = 1
@@ -37,6 +41,7 @@
     """
     <p>Group types can be either user level or domain level groups.</p>
 
+
     """
     DOMAIN_LEVEL_GROUP = 0
     USER_LEVEL_GROUP = 1
@@ -56,6 +61,7 @@
     """
     <p>System internal data type to match group child types</p>
 
+
     """
     USER = 0
     GROUP = 1
@@ -83,6 +89,7 @@
     <li>UPDATED_TIME : Updated time of the entity</li>
     <li>SHARED_COUNT : Number of directly shared users and groups</li>
 
+
     """
     NAME = 0
     DESCRIPTION = 1
@@ -131,6 +138,7 @@
     <li>GTE : Greater than or equal. Only applicable for created time, updated time and shared count.</li>
     <li>LTE : Less than or equal. Only applicable for created time, updated time and shared count.</li>
 
+
     """
     EQUAL = 0
     LIKE = 1
@@ -162,6 +170,7 @@
     """
     <p>This is an internal enum type for managing sharings</p>
 
+
     """
     DIRECT_NON_CASCADING = 0
     DIRECT_CASCADING = 1
@@ -200,19 +209,11 @@
      - createdTime
      - updatedTime
      - initialUserGroupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'domainId', 'UTF8', "DO_NOT_SET_AT_CLIENTS_ID", ),  # 1
-        (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
-        (4, TType.I64, 'createdTime', None, None, ),  # 4
-        (5, TType.I64, 'updatedTime', None, None, ),  # 5
-        (6, TType.STRING, 'initialUserGroupId', 'UTF8', None, ),  # 6
-    )
 
-    def __init__(self, domainId=thrift_spec[1][4], name=None, description=None, createdTime=None, updatedTime=None, initialUserGroupId=None,):
+    def __init__(self, domainId="DO_NOT_SET_AT_CLIENTS_ID", name=None, description=None, createdTime=None, updatedTime=None, initialUserGroupId=None,):
         self.domainId = domainId
         self.name = name
         self.description = description
@@ -222,7 +223,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -231,17 +232,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -256,7 +257,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.initialUserGroupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.initialUserGroupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -266,7 +267,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Domain')
         if self.domainId is not None:
@@ -336,20 +337,9 @@
      - icon
      - createdTime
      - updatedTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'userId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'firstName', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'lastName', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'email', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'icon', 'BINARY', None, ),  # 7
-        (8, TType.I64, 'createdTime', None, None, ),  # 8
-        (9, TType.I64, 'updatedTime', None, None, ),  # 9
-    )
 
     def __init__(self, userId=None, domainId=None, userName=None, firstName=None, lastName=None, email=None, icon=None, createdTime=None, updatedTime=None,):
         self.userId = userId
@@ -364,7 +354,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -373,32 +363,32 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.firstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.firstName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.lastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.lastName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.email = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.email = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -423,7 +413,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('User')
         if self.userId is not None:
@@ -486,14 +476,9 @@
      - groupId
      - domainId
      - adminId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'groupId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'adminId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, groupId=None, domainId=None, adminId=None,):
         self.groupId = groupId
@@ -502,7 +487,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -511,17 +496,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.adminId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.adminId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -531,7 +516,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupAdmin')
         if self.groupId is not None:
@@ -590,21 +575,9 @@
      - createdTime
      - updatedTime
      - groupAdmins
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'groupId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'ownerId', 'UTF8', None, ),  # 5
-        (6, TType.I32, 'groupType', None, None, ),  # 6
-        (7, TType.I32, 'groupCardinality', None, None, ),  # 7
-        (8, TType.I64, 'createdTime', None, None, ),  # 8
-        (9, TType.I64, 'updatedTime', None, None, ),  # 9
-        (10, TType.LIST, 'groupAdmins', (TType.STRUCT, (GroupAdmin, GroupAdmin.thrift_spec), False), None, ),  # 10
-    )
 
     def __init__(self, groupId=None, domainId=None, name=None, description=None, ownerId=None, groupType=None, groupCardinality=None, createdTime=None, updatedTime=None, groupAdmins=None,):
         self.groupId = groupId
@@ -620,7 +593,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -629,27 +602,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -690,7 +663,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserGroup')
         if self.groupId is not None:
@@ -766,17 +739,9 @@
      - childType
      - createdTime
      - updatedTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'parentId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'childId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'domainId', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'childType', None, None, ),  # 4
-        (5, TType.I64, 'createdTime', None, None, ),  # 5
-        (6, TType.I64, 'updatedTime', None, None, ),  # 6
-    )
 
     def __init__(self, parentId=None, childId=None, domainId=None, childType=None, createdTime=None, updatedTime=None,):
         self.parentId = parentId
@@ -788,7 +753,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -797,17 +762,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.parentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.childId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.childId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -832,7 +797,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupMembership')
         if self.parentId is not None:
@@ -895,17 +860,9 @@
      - description
      - createdTime
      - updatedTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'createdTime', None, None, ),  # 5
-        (6, TType.I64, 'updatedTime', None, None, ),  # 6
-    )
 
     def __init__(self, entityTypeId=None, domainId=None, name=None, description=None, createdTime=None, updatedTime=None,):
         self.entityTypeId = entityTypeId
@@ -917,7 +874,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -926,22 +883,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.entityTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -961,7 +918,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('EntityType')
         if self.entityTypeId is not None:
@@ -1018,14 +975,9 @@
      - searchField
      - value
      - searchCondition
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'searchField', None, None, ),  # 1
-        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'searchCondition', None, None, ),  # 3
-    )
 
     def __init__(self, searchField=None, value=None, searchCondition=None,):
         self.searchField = searchField
@@ -1034,7 +986,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1048,7 +1000,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -1063,7 +1015,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SearchCriteria')
         if self.searchField is not None:
@@ -1128,26 +1080,11 @@
      - originalEntityCreationTime
      - createdTime
      - updatedTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'entityId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'ownerId', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'parentEntityId', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'name', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'description', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'binaryData', 'BINARY', None, ),  # 8
-        (9, TType.STRING, 'fullText', 'UTF8', None, ),  # 9
-        (10, TType.I64, 'sharedCount', None, 0, ),  # 10
-        (11, TType.I64, 'originalEntityCreationTime', None, None, ),  # 11
-        (12, TType.I64, 'createdTime', None, None, ),  # 12
-        (13, TType.I64, 'updatedTime', None, None, ),  # 13
-    )
 
-    def __init__(self, entityId=None, domainId=None, entityTypeId=None, ownerId=None, parentEntityId=None, name=None, description=None, binaryData=None, fullText=None, sharedCount=thrift_spec[10][4], originalEntityCreationTime=None, createdTime=None, updatedTime=None,):
+    def __init__(self, entityId=None, domainId=None, entityTypeId=None, ownerId=None, parentEntityId=None, name=None, description=None, binaryData=None, fullText=None, sharedCount=0, originalEntityCreationTime=None, createdTime=None, updatedTime=None,):
         self.entityId = entityId
         self.domainId = domainId
         self.entityTypeId = entityTypeId
@@ -1164,7 +1101,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1173,37 +1110,37 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.entityTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.parentEntityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parentEntityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
@@ -1213,7 +1150,7 @@
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.fullText = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.fullText = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
@@ -1243,7 +1180,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Entity')
         if self.entityId is not None:
@@ -1334,17 +1271,9 @@
      - description
      - createdTime
      - updatedTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'createdTime', None, None, ),  # 5
-        (6, TType.I64, 'updatedTime', None, None, ),  # 6
-    )
 
     def __init__(self, permissionTypeId=None, domainId=None, name=None, description=None, createdTime=None, updatedTime=None,):
         self.permissionTypeId = permissionTypeId
@@ -1356,7 +1285,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1365,22 +1294,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -1400,7 +1329,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('PermissionType')
         if self.permissionTypeId is not None:
@@ -1459,19 +1388,9 @@
      - inheritedParentId
      - createdTime
      - updatedTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-        (4, TType.I32, 'sharingType', None, None, ),  # 4
-        (5, TType.STRING, 'domainId', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'inheritedParentId', 'UTF8', None, ),  # 6
-        (7, TType.I64, 'createdTime', None, None, ),  # 7
-        (8, TType.I64, 'updatedTime', None, None, ),  # 8
-    )
 
     def __init__(self, permissionTypeId=None, entityId=None, groupId=None, sharingType=None, domainId=None, inheritedParentId=None, createdTime=None, updatedTime=None,):
         self.permissionTypeId = permissionTypeId
@@ -1485,7 +1404,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1494,17 +1413,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.permissionTypeId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.permissionTypeId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.entityId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.entityId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -1514,12 +1433,12 @@
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.domainId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domainId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.inheritedParentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.inheritedParentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -1539,7 +1458,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Sharing')
         if self.permissionTypeId is not None:
@@ -1599,38 +1518,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(SharingRegistryException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('SharingRegistryException')
         if self.message is not None:
@@ -1670,38 +1599,48 @@
 
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(DuplicateEntryException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DuplicateEntryException')
         if self.message is not None:
@@ -1729,3 +1668,125 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(Domain)
+Domain.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'domainId', 'UTF8', "DO_NOT_SET_AT_CLIENTS_ID", ),  # 1
+    (2, TType.STRING, 'name', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
+    (4, TType.I64, 'createdTime', None, None, ),  # 4
+    (5, TType.I64, 'updatedTime', None, None, ),  # 5
+    (6, TType.STRING, 'initialUserGroupId', 'UTF8', None, ),  # 6
+)
+all_structs.append(User)
+User.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'userId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'firstName', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'lastName', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'email', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'icon', 'BINARY', None, ),  # 7
+    (8, TType.I64, 'createdTime', None, None, ),  # 8
+    (9, TType.I64, 'updatedTime', None, None, ),  # 9
+)
+all_structs.append(GroupAdmin)
+GroupAdmin.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'groupId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'adminId', 'UTF8', None, ),  # 3
+)
+all_structs.append(UserGroup)
+UserGroup.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'groupId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'ownerId', 'UTF8', None, ),  # 5
+    (6, TType.I32, 'groupType', None, None, ),  # 6
+    (7, TType.I32, 'groupCardinality', None, None, ),  # 7
+    (8, TType.I64, 'createdTime', None, None, ),  # 8
+    (9, TType.I64, 'updatedTime', None, None, ),  # 9
+    (10, TType.LIST, 'groupAdmins', (TType.STRUCT, [GroupAdmin, None], False), None, ),  # 10
+)
+all_structs.append(GroupMembership)
+GroupMembership.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'parentId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'childId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'domainId', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'childType', None, None, ),  # 4
+    (5, TType.I64, 'createdTime', None, None, ),  # 5
+    (6, TType.I64, 'updatedTime', None, None, ),  # 6
+)
+all_structs.append(EntityType)
+EntityType.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'createdTime', None, None, ),  # 5
+    (6, TType.I64, 'updatedTime', None, None, ),  # 6
+)
+all_structs.append(SearchCriteria)
+SearchCriteria.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'searchField', None, None, ),  # 1
+    (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'searchCondition', None, None, ),  # 3
+)
+all_structs.append(Entity)
+Entity.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'entityId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'entityTypeId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'ownerId', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'parentEntityId', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'name', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'description', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'binaryData', 'BINARY', None, ),  # 8
+    (9, TType.STRING, 'fullText', 'UTF8', None, ),  # 9
+    (10, TType.I64, 'sharedCount', None, 0, ),  # 10
+    (11, TType.I64, 'originalEntityCreationTime', None, None, ),  # 11
+    (12, TType.I64, 'createdTime', None, None, ),  # 12
+    (13, TType.I64, 'updatedTime', None, None, ),  # 13
+)
+all_structs.append(PermissionType)
+PermissionType.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'domainId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'createdTime', None, None, ),  # 5
+    (6, TType.I64, 'updatedTime', None, None, ),  # 6
+)
+all_structs.append(Sharing)
+Sharing.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'permissionTypeId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'entityId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+    (4, TType.I32, 'sharingType', None, None, ),  # 4
+    (5, TType.STRING, 'domainId', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'inheritedParentId', 'UTF8', None, ),  # 6
+    (7, TType.I64, 'createdTime', None, None, ),  # 7
+    (8, TType.I64, 'updatedTime', None, None, ),  # 8
+)
+all_structs.append(SharingRegistryException)
+SharingRegistryException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+all_structs.append(DuplicateEntryException)
+DuplicateEntryException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/ttypes.py
index 7dda202..1b368bf 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/status/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,9 +8,12 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ExperimentState(object):
@@ -88,6 +91,9 @@
     FAILED = 11
     CANCELLING = 12
     CANCELED = 13
+    QUEUED = 14
+    DEQUEUING = 15
+    REQUEUED = 16
 
     _VALUES_TO_NAMES = {
         0: "CREATED",
@@ -104,6 +110,9 @@
         11: "FAILED",
         12: "CANCELLING",
         13: "CANCELED",
+        14: "QUEUED",
+        15: "DEQUEUING",
+        16: "REQUEUED",
     }
 
     _NAMES_TO_VALUES = {
@@ -121,6 +130,9 @@
         "FAILED": 11,
         "CANCELLING": 12,
         "CANCELED": 13,
+        "QUEUED": 14,
+        "DEQUEUING": 15,
+        "REQUEUED": 16,
     }
 
 
@@ -179,15 +191,9 @@
      - timeOfStateChange
      - reason
      - statusId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
-        (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, state=None, timeOfStateChange=None, reason=None, statusId=None,):
         self.state = state
@@ -197,7 +203,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -216,12 +222,12 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.reason = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.statusId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.statusId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -231,7 +237,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ExperimentStatus')
         if self.state is not None:
@@ -277,25 +283,21 @@
      - timeOfStateChange
      - reason
      - statusId
+     - processId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
-        (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
-    )
 
-    def __init__(self, state=None, timeOfStateChange=None, reason=None, statusId=None,):
+    def __init__(self, state=None, timeOfStateChange=None, reason=None, statusId=None, processId=None,):
         self.state = state
         self.timeOfStateChange = timeOfStateChange
         self.reason = reason
         self.statusId = statusId
+        self.processId = processId
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -314,12 +316,17 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.reason = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.statusId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.statusId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
+                else:
+                    iprot.skip(ftype)
+            elif fid == 5:
+                if ftype == TType.STRING:
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -329,7 +336,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ProcessStatus')
         if self.state is not None:
@@ -348,6 +355,10 @@
             oprot.writeFieldBegin('statusId', TType.STRING, 4)
             oprot.writeString(self.statusId.encode('utf-8') if sys.version_info[0] == 2 else self.statusId)
             oprot.writeFieldEnd()
+        if self.processId is not None:
+            oprot.writeFieldBegin('processId', TType.STRING, 5)
+            oprot.writeString(self.processId.encode('utf-8') if sys.version_info[0] == 2 else self.processId)
+            oprot.writeFieldEnd()
         oprot.writeFieldStop()
         oprot.writeStructEnd()
 
@@ -375,15 +386,9 @@
      - timeOfStateChange
      - reason
      - statusId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'state', None, None, ),  # 1
-        (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
-        (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, state=None, timeOfStateChange=None, reason=None, statusId=None,):
         self.state = state
@@ -393,7 +398,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -412,12 +417,12 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.reason = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.statusId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.statusId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -427,7 +432,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TaskStatus')
         if self.state is not None:
@@ -473,15 +478,9 @@
      - timeOfStateChange
      - reason
      - statusId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'jobState', None, None, ),  # 1
-        (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
-        (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, jobState=None, timeOfStateChange=None, reason=None, statusId=None,):
         self.jobState = jobState
@@ -491,7 +490,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -510,12 +509,12 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.reason = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.statusId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.statusId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -525,7 +524,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobStatus')
         if self.jobState is not None:
@@ -573,17 +572,9 @@
      - runningJobs
      - queuedJobs
      - time
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'hostName', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'queueName', 'UTF8', None, ),  # 2
-        (3, TType.BOOL, 'queueUp', None, None, ),  # 3
-        (4, TType.I32, 'runningJobs', None, None, ),  # 4
-        (5, TType.I32, 'queuedJobs', None, None, ),  # 5
-        (6, TType.I64, 'time', None, None, ),  # 6
-    )
 
     def __init__(self, hostName=None, queueName=None, queueUp=None, runningJobs=None, queuedJobs=None, time=None,):
         self.hostName = hostName
@@ -595,7 +586,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -604,12 +595,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.hostName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.hostName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.queueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -639,7 +630,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('QueueStatusModel')
         if self.hostName is not None:
@@ -694,3 +685,48 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ExperimentStatus)
+ExperimentStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
+    (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
+)
+all_structs.append(ProcessStatus)
+ProcessStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
+    (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'processId', 'UTF8', None, ),  # 5
+)
+all_structs.append(TaskStatus)
+TaskStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'state', None, None, ),  # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
+    (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
+)
+all_structs.append(JobStatus)
+JobStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'jobState', None, None, ),  # 1
+    (2, TType.I64, 'timeOfStateChange', None, None, ),  # 2
+    (3, TType.STRING, 'reason', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'statusId', 'UTF8', None, ),  # 4
+)
+all_structs.append(QueueStatusModel)
+QueueStatusModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'hostName', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'queueName', 'UTF8', None, ),  # 2
+    (3, TType.BOOL, 'queueUp', None, None, ),  # 3
+    (4, TType.I32, 'runningJobs', None, None, ),  # 4
+    (5, TType.I32, 'queuedJobs', None, None, ),  # 5
+    (6, TType.I64, 'time', None, None, ),  # 6
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/ttypes.py
index c066efe..7323417 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/task/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.appcatalog.computeresource.ttypes
@@ -17,12 +19,14 @@
 import airavata.model.job.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class TaskTypes(object):
     """
     TaskTypes: An enumerated list of TaskTypes. Task being generic, the task type will provide the concrete interpretation.
 
+
     """
     ENV_SETUP = 0
     DATA_STAGING = 1
@@ -57,6 +61,7 @@
     Source and Destination locations includes standard representation of protocol, host, port and path
       A friendly description of the task, usally used to communicate information to users.
 
+
     """
     INPUT = 0
     OUPUT = 1
@@ -98,25 +103,11 @@
      - jobs
      - maxRetry
      - currentRetry
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'taskId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.I32, 'taskType', None, None, ),  # 2
-        (3, TType.STRING, 'parentProcessId', 'UTF8', None, ),  # 3
-        (4, TType.I64, 'creationTime', None, None, ),  # 4
-        (5, TType.I64, 'lastUpdateTime', None, None, ),  # 5
-        (6, TType.LIST, 'taskStatuses', (TType.STRUCT, (airavata.model.status.ttypes.TaskStatus, airavata.model.status.ttypes.TaskStatus.thrift_spec), False), None, ),  # 6
-        (7, TType.STRING, 'taskDetail', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'subTaskModel', 'BINARY', None, ),  # 8
-        (9, TType.LIST, 'taskErrors', (TType.STRUCT, (airavata.model.commons.ttypes.ErrorModel, airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 9
-        (10, TType.LIST, 'jobs', (TType.STRUCT, (airavata.model.job.ttypes.JobModel, airavata.model.job.ttypes.JobModel.thrift_spec), False), None, ),  # 10
-        (11, TType.I32, 'maxRetry', None, None, ),  # 11
-        (12, TType.I32, 'currentRetry', None, None, ),  # 12
-    )
 
-    def __init__(self, taskId=thrift_spec[1][4], taskType=None, parentProcessId=None, creationTime=None, lastUpdateTime=None, taskStatuses=None, taskDetail=None, subTaskModel=None, taskErrors=None, jobs=None, maxRetry=None, currentRetry=None,):
+    def __init__(self, taskId="DO_NOT_SET_AT_CLIENTS", taskType=None, parentProcessId=None, creationTime=None, lastUpdateTime=None, taskStatuses=None, taskDetail=None, subTaskModel=None, taskErrors=None, jobs=None, maxRetry=None, currentRetry=None,):
         self.taskId = taskId
         self.taskType = taskType
         self.parentProcessId = parentProcessId
@@ -132,7 +123,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -141,7 +132,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.taskId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.taskId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -151,7 +142,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.parentProcessId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.parentProcessId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -177,7 +168,7 @@
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.taskDetail = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.taskDetail = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
@@ -224,7 +215,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TaskModel')
         if self.taskId is not None:
@@ -325,19 +316,9 @@
      - transferRate
      - processInput
      - processOutput
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'source', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'destination', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'type', None, None, ),  # 3
-        (4, TType.I64, 'transferStartTime', None, None, ),  # 4
-        (5, TType.I64, 'transferEndTime', None, None, ),  # 5
-        (6, TType.STRING, 'transferRate', 'UTF8', None, ),  # 6
-        (7, TType.STRUCT, 'processInput', (airavata.model.application.io.ttypes.InputDataObjectType, airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), None, ),  # 7
-        (8, TType.STRUCT, 'processOutput', (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), None, ),  # 8
-    )
 
     def __init__(self, source=None, destination=None, type=None, transferStartTime=None, transferEndTime=None, transferRate=None, processInput=None, processOutput=None,):
         self.source = source
@@ -351,7 +332,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -360,12 +341,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.source = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.source = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.destination = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.destination = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -385,7 +366,7 @@
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.transferRate = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.transferRate = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
@@ -407,7 +388,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DataStagingTaskModel')
         if self.source is not None:
@@ -474,13 +455,9 @@
     Attributes:
      - location
      - protocol
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'location', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'protocol', None, None, ),  # 2
-    )
 
     def __init__(self, location=None, protocol=None,):
         self.location = location
@@ -488,7 +465,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -497,7 +474,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.location = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.location = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -512,7 +489,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('EnvironmentSetupTaskModel')
         if self.location is not None:
@@ -551,14 +528,9 @@
      - jobSubmissionProtocol
      - monitorMode
      - wallTime
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'jobSubmissionProtocol', None, None, ),  # 1
-        (2, TType.I32, 'monitorMode', None, None, ),  # 2
-        (3, TType.I32, 'wallTime', None, None, ),  # 3
-    )
 
     def __init__(self, jobSubmissionProtocol=None, monitorMode=None, wallTime=None,):
         self.jobSubmissionProtocol = jobSubmissionProtocol
@@ -567,7 +539,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -596,7 +568,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('JobSubmissionTaskModel')
         if self.jobSubmissionProtocol is not None:
@@ -637,19 +609,16 @@
     """
     Attributes:
      - monitorMode
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.I32, 'monitorMode', None, None, ),  # 1
-    )
 
     def __init__(self, monitorMode=None,):
         self.monitorMode = monitorMode
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -668,7 +637,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('MonitorTaskModel')
         if self.monitorMode is not None:
@@ -693,3 +662,51 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(TaskModel)
+TaskModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'taskId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.I32, 'taskType', None, None, ),  # 2
+    (3, TType.STRING, 'parentProcessId', 'UTF8', None, ),  # 3
+    (4, TType.I64, 'creationTime', None, None, ),  # 4
+    (5, TType.I64, 'lastUpdateTime', None, None, ),  # 5
+    (6, TType.LIST, 'taskStatuses', (TType.STRUCT, [airavata.model.status.ttypes.TaskStatus, None], False), None, ),  # 6
+    (7, TType.STRING, 'taskDetail', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'subTaskModel', 'BINARY', None, ),  # 8
+    (9, TType.LIST, 'taskErrors', (TType.STRUCT, [airavata.model.commons.ttypes.ErrorModel, None], False), None, ),  # 9
+    (10, TType.LIST, 'jobs', (TType.STRUCT, [airavata.model.job.ttypes.JobModel, None], False), None, ),  # 10
+    (11, TType.I32, 'maxRetry', None, None, ),  # 11
+    (12, TType.I32, 'currentRetry', None, None, ),  # 12
+)
+all_structs.append(DataStagingTaskModel)
+DataStagingTaskModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'source', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'destination', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'type', None, None, ),  # 3
+    (4, TType.I64, 'transferStartTime', None, None, ),  # 4
+    (5, TType.I64, 'transferEndTime', None, None, ),  # 5
+    (6, TType.STRING, 'transferRate', 'UTF8', None, ),  # 6
+    (7, TType.STRUCT, 'processInput', [airavata.model.application.io.ttypes.InputDataObjectType, None], None, ),  # 7
+    (8, TType.STRUCT, 'processOutput', [airavata.model.application.io.ttypes.OutputDataObjectType, None], None, ),  # 8
+)
+all_structs.append(EnvironmentSetupTaskModel)
+EnvironmentSetupTaskModel.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'location', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'protocol', None, None, ),  # 2
+)
+all_structs.append(JobSubmissionTaskModel)
+JobSubmissionTaskModel.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'jobSubmissionProtocol', None, None, ),  # 1
+    (2, TType.I32, 'monitorMode', None, None, ),  # 2
+    (3, TType.I32, 'wallTime', None, None, ),  # 3
+)
+all_structs.append(MonitorTaskModel)
+MonitorTaskModel.thrift_spec = (
+    None,  # 0
+    (1, TType.I32, 'monitorMode', None, None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/ttypes.py
index bd2bee1..227f4ea 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/tenant/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class TenantApprovalStatus(object):
@@ -53,23 +56,9 @@
      - tenantAdminFirstName
      - tenantAdminLastName
      - tenantAdminEmail
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        None,  # 1
-        None,  # 2
-        None,  # 3
-        None,  # 4
-        None,  # 5
-        None,  # 6
-        None,  # 7
-        None,  # 8
-        None,  # 9
-        (10, TType.STRING, 'tenantAdminFirstName', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'tenantAdminLastName', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'tenantAdminEmail', 'UTF8', None, ),  # 12
-    )
 
     def __init__(self, tenantAdminFirstName=None, tenantAdminLastName=None, tenantAdminEmail=None,):
         self.tenantAdminFirstName = tenantAdminFirstName
@@ -78,7 +67,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -87,17 +76,17 @@
                 break
             if fid == 10:
                 if ftype == TType.STRING:
-                    self.tenantAdminFirstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantAdminFirstName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.tenantAdminLastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantAdminLastName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.tenantAdminEmail = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantAdminEmail = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -107,7 +96,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TenantPreferences')
         if self.tenantAdminFirstName is not None:
@@ -147,28 +136,9 @@
      - oauthClientSecret
      - identityServerUserName
      - identityServerPasswordToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        None,  # 1
-        None,  # 2
-        None,  # 3
-        None,  # 4
-        None,  # 5
-        None,  # 6
-        None,  # 7
-        None,  # 8
-        None,  # 9
-        None,  # 10
-        None,  # 11
-        None,  # 12
-        (13, TType.STRING, 'identityServerUserName', 'UTF8', None, ),  # 13
-        (14, TType.STRING, 'identityServerPasswordToken', 'UTF8', None, ),  # 14
-        None,  # 15
-        (16, TType.STRING, 'oauthClientId', 'UTF8', None, ),  # 16
-        (17, TType.STRING, 'oauthClientSecret', 'UTF8', None, ),  # 17
-    )
 
     def __init__(self, oauthClientId=None, oauthClientSecret=None, identityServerUserName=None, identityServerPasswordToken=None,):
         self.oauthClientId = oauthClientId
@@ -178,7 +148,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -187,22 +157,22 @@
                 break
             if fid == 16:
                 if ftype == TType.STRING:
-                    self.oauthClientId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.oauthClientId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
                 if ftype == TType.STRING:
-                    self.oauthClientSecret = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.oauthClientSecret = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
                 if ftype == TType.STRING:
-                    self.identityServerUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 14:
                 if ftype == TType.STRING:
-                    self.identityServerPasswordToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerPasswordToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -212,7 +182,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TenantConfig')
         if self.identityServerUserName is not None:
@@ -264,30 +234,9 @@
      - declinedReason
      - requestCreationTime
      - requesterUsername
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'tenantId', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'tenantApprovalStatus', None, None, ),  # 2
-        (3, TType.STRING, 'tenantName', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'domain', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'emailAddress', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'tenantAcronym', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'tenantURL', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'tenantPublicAbstract', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'reviewProposalDescription', 'UTF8', None, ),  # 9
-        None,  # 10
-        None,  # 11
-        None,  # 12
-        None,  # 13
-        None,  # 14
-        (15, TType.STRING, 'declinedReason', 'UTF8', None, ),  # 15
-        None,  # 16
-        None,  # 17
-        (18, TType.I64, 'requestCreationTime', None, None, ),  # 18
-        (19, TType.STRING, 'requesterUsername', 'UTF8', None, ),  # 19
-    )
 
     def __init__(self, tenantId=None, tenantApprovalStatus=None, tenantName=None, domain=None, emailAddress=None, tenantAcronym=None, tenantURL=None, tenantPublicAbstract=None, reviewProposalDescription=None, declinedReason=None, requestCreationTime=None, requesterUsername=None,):
         self.tenantId = tenantId
@@ -305,7 +254,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -314,7 +263,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.tenantId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -324,42 +273,42 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.tenantName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.domain = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domain = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.emailAddress = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.emailAddress = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.tenantAcronym = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantAcronym = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.tenantURL = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantURL = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.tenantPublicAbstract = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.tenantPublicAbstract = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.reviewProposalDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reviewProposalDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 15:
                 if ftype == TType.STRING:
-                    self.declinedReason = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.declinedReason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 18:
@@ -369,7 +318,7 @@
                     iprot.skip(ftype)
             elif fid == 19:
                 if ftype == TType.STRING:
-                    self.requesterUsername = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.requesterUsername = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -379,7 +328,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Tenant')
         if self.tenantId is not None:
@@ -450,3 +399,65 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(TenantPreferences)
+TenantPreferences.thrift_spec = (
+    None,  # 0
+    None,  # 1
+    None,  # 2
+    None,  # 3
+    None,  # 4
+    None,  # 5
+    None,  # 6
+    None,  # 7
+    None,  # 8
+    None,  # 9
+    (10, TType.STRING, 'tenantAdminFirstName', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'tenantAdminLastName', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'tenantAdminEmail', 'UTF8', None, ),  # 12
+)
+all_structs.append(TenantConfig)
+TenantConfig.thrift_spec = (
+    None,  # 0
+    None,  # 1
+    None,  # 2
+    None,  # 3
+    None,  # 4
+    None,  # 5
+    None,  # 6
+    None,  # 7
+    None,  # 8
+    None,  # 9
+    None,  # 10
+    None,  # 11
+    None,  # 12
+    (13, TType.STRING, 'identityServerUserName', 'UTF8', None, ),  # 13
+    (14, TType.STRING, 'identityServerPasswordToken', 'UTF8', None, ),  # 14
+    None,  # 15
+    (16, TType.STRING, 'oauthClientId', 'UTF8', None, ),  # 16
+    (17, TType.STRING, 'oauthClientSecret', 'UTF8', None, ),  # 17
+)
+all_structs.append(Tenant)
+Tenant.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'tenantId', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'tenantApprovalStatus', None, None, ),  # 2
+    (3, TType.STRING, 'tenantName', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'domain', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'emailAddress', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'tenantAcronym', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'tenantURL', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'tenantPublicAbstract', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'reviewProposalDescription', 'UTF8', None, ),  # 9
+    None,  # 10
+    None,  # 11
+    None,  # 12
+    None,  # 13
+    None,  # 14
+    (15, TType.STRING, 'declinedReason', 'UTF8', None, ),  # 15
+    None,  # 16
+    None,  # 17
+    (18, TType.I64, 'requestCreationTime', None, None, ),  # 18
+    (19, TType.STRING, 'requesterUsername', 'UTF8', None, ),  # 19
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/ttypes.py
index 4a98c34..b876d1d 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.workspace.ttypes
@@ -30,3 +32,6 @@
 import airavata.model.appcatalog.gatewaygroups.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/constants.py
index fcc6e7c..e2e04e3 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 USER_PROFILE_VERSION = "1.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/ttypes.py
index fc7958b..a59be0e 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/user/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Status(object):
@@ -69,6 +72,7 @@
     """
     U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
 
+
     """
     US_CITIZEN = 0
     US_PERMANENT_RESIDENT = 1
@@ -92,6 +96,7 @@
     Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or
      Central American, or other Spanish culture or origin, regardless of race.
 
+
     """
     HISPANIC_LATINO = 0
     NOT_HISPANIC_LATINO = 1
@@ -122,6 +127,7 @@
     *      peoples of Hawaii, Guan, Samoa, or other Pacific Islands.
     * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
     *
+
     """
     ASIAN = 0
     AMERICAN_INDIAN_OR_ALASKAN_NATIVE = 1
@@ -180,19 +186,11 @@
      - ethnicities
      - races
      - disabilities
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'gender', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'usCitizenship', None, None, ),  # 3
-        (4, TType.LIST, 'ethnicities', (TType.I32, None, False), None, ),  # 4
-        (5, TType.LIST, 'races', (TType.I32, None, False), None, ),  # 5
-        (6, TType.LIST, 'disabilities', (TType.I32, None, False), None, ),  # 6
-    )
 
-    def __init__(self, airavataInternalUserId=thrift_spec[1][4], gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,):
+    def __init__(self, airavataInternalUserId="DO_NOT_SET_AT_CLIENTS", gender=None, usCitizenship=None, ethnicities=None, races=None, disabilities=None,):
         self.airavataInternalUserId = airavataInternalUserId
         self.gender = gender
         self.usCitizenship = usCitizenship
@@ -202,7 +200,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -211,12 +209,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.airavataInternalUserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalUserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gender = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gender = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -261,7 +259,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('NSFDemographics')
         if self.airavataInternalUserId is not None:
@@ -349,38 +347,11 @@
      - outputs
      - storageDir
      - errors
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'project', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'owner', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'application', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'computeResource', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'jobName', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'jobId', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'jobStatus', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'jobCreationTime', 'UTF8', None, ),  # 12
-        (13, TType.STRING, 'notificationsTo', 'UTF8', None, ),  # 13
-        (14, TType.STRING, 'workingDir', 'UTF8', None, ),  # 14
-        (15, TType.STRING, 'jobDescription', 'UTF8', None, ),  # 15
-        (16, TType.STRING, 'creationTime', 'UTF8', None, ),  # 16
-        (17, TType.STRING, 'lastModifiedTime', 'UTF8', None, ),  # 17
-        (18, TType.STRING, 'wallTime', 'UTF8', None, ),  # 18
-        (19, TType.STRING, 'cpuCount', 'UTF8', None, ),  # 19
-        (20, TType.STRING, 'nodeCount', 'UTF8', None, ),  # 20
-        (21, TType.STRING, 'queue', 'UTF8', None, ),  # 21
-        (22, TType.STRING, 'inputs', 'UTF8', None, ),  # 22
-        (23, TType.STRING, 'outputs', 'UTF8', None, ),  # 23
-        (24, TType.STRING, 'storageDir', 'UTF8', None, ),  # 24
-        (25, TType.STRING, 'errors', 'UTF8', None, ),  # 25
-    )
 
-    def __init__(self, airavataInternalUserId=thrift_spec[1][4], experimentId=None, name=None, description=None, project=None, owner=None, application=None, computeResource=None, jobName=None, jobId=None, jobStatus=None, jobCreationTime=None, notificationsTo=None, workingDir=None, jobDescription=None, creationTime=None, lastModifiedTime=None, wallTime=None, cpuCount=None, nodeCount=None, queue=None, inputs=None, outputs=None, storageDir=None, errors=None,):
+    def __init__(self, airavataInternalUserId="DO_NOT_SET_AT_CLIENTS", experimentId=None, name=None, description=None, project=None, owner=None, application=None, computeResource=None, jobName=None, jobId=None, jobStatus=None, jobCreationTime=None, notificationsTo=None, workingDir=None, jobDescription=None, creationTime=None, lastModifiedTime=None, wallTime=None, cpuCount=None, nodeCount=None, queue=None, inputs=None, outputs=None, storageDir=None, errors=None,):
         self.airavataInternalUserId = airavataInternalUserId
         self.experimentId = experimentId
         self.name = name
@@ -409,7 +380,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -418,127 +389,127 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.airavataInternalUserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalUserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.project = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.project = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.owner = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.owner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.application = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.application = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.computeResource = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResource = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.jobName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.jobId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.jobStatus = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobStatus = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.jobCreationTime = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobCreationTime = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
                 if ftype == TType.STRING:
-                    self.notificationsTo = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notificationsTo = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 14:
                 if ftype == TType.STRING:
-                    self.workingDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.workingDir = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 15:
                 if ftype == TType.STRING:
-                    self.jobDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.jobDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 16:
                 if ftype == TType.STRING:
-                    self.creationTime = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.creationTime = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
                 if ftype == TType.STRING:
-                    self.lastModifiedTime = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.lastModifiedTime = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 18:
                 if ftype == TType.STRING:
-                    self.wallTime = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.wallTime = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 19:
                 if ftype == TType.STRING:
-                    self.cpuCount = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.cpuCount = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 20:
                 if ftype == TType.STRING:
-                    self.nodeCount = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.nodeCount = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 21:
                 if ftype == TType.STRING:
-                    self.queue = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queue = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 22:
                 if ftype == TType.STRING:
-                    self.inputs = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.inputs = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 23:
                 if ftype == TType.STRING:
-                    self.outputs = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.outputs = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 24:
                 if ftype == TType.STRING:
-                    self.storageDir = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.storageDir = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 25:
                 if ftype == TType.STRING:
-                    self.errors = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.errors = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -548,7 +519,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('CustomDashboard')
         if self.airavataInternalUserId is not None:
@@ -757,39 +728,11 @@
      - timeZone
      - nsfDemographics
      - customDashboard
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'userModelVersion', 'UTF8', "1.0", ),  # 1
-        (2, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
-        (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
-        (5, TType.LIST, 'emails', (TType.STRING, 'UTF8', False), None, ),  # 5
-        (6, TType.STRING, 'firstName', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'lastName', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'middleName', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'namePrefix', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'nameSuffix', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'orcidId', 'UTF8', None, ),  # 11
-        (12, TType.LIST, 'phones', (TType.STRING, 'UTF8', False), None, ),  # 12
-        (13, TType.STRING, 'country', 'UTF8', None, ),  # 13
-        (14, TType.LIST, 'nationality', (TType.STRING, 'UTF8', False), None, ),  # 14
-        (15, TType.STRING, 'homeOrganization', 'UTF8', None, ),  # 15
-        (16, TType.STRING, 'orginationAffiliation', 'UTF8', None, ),  # 16
-        (17, TType.I64, 'creationTime', None, None, ),  # 17
-        (18, TType.I64, 'lastAccessTime', None, None, ),  # 18
-        (19, TType.I64, 'validUntil', None, None, ),  # 19
-        (20, TType.I32, 'State', None, None, ),  # 20
-        (21, TType.STRING, 'comments', 'UTF8', None, ),  # 21
-        (22, TType.LIST, 'labeledURI', (TType.STRING, 'UTF8', False), None, ),  # 22
-        (23, TType.STRING, 'gpgKey', 'UTF8', None, ),  # 23
-        (24, TType.STRING, 'timeZone', 'UTF8', None, ),  # 24
-        (25, TType.STRUCT, 'nsfDemographics', (NSFDemographics, NSFDemographics.thrift_spec), None, ),  # 25
-        (26, TType.STRUCT, 'customDashboard', (CustomDashboard, CustomDashboard.thrift_spec), None, ),  # 26
-    )
 
-    def __init__(self, userModelVersion=thrift_spec[1][4], airavataInternalUserId=thrift_spec[2][4], userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None, customDashboard=None,):
+    def __init__(self, userModelVersion="1.0", airavataInternalUserId="DO_NOT_SET_AT_CLIENTS", userId=None, gatewayId=None, emails=None, firstName=None, lastName=None, middleName=None, namePrefix=None, nameSuffix=None, orcidId=None, phones=None, country=None, nationality=None, homeOrganization=None, orginationAffiliation=None, creationTime=None, lastAccessTime=None, validUntil=None, State=None, comments=None, labeledURI=None, gpgKey=None, timeZone=None, nsfDemographics=None, customDashboard=None,):
         self.userModelVersion = userModelVersion
         self.airavataInternalUserId = airavataInternalUserId
         self.userId = userId
@@ -819,7 +762,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -828,22 +771,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.userModelVersion = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userModelVersion = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataInternalUserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalUserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -851,39 +794,39 @@
                     self.emails = []
                     (_etype24, _size21) = iprot.readListBegin()
                     for _i25 in range(_size21):
-                        _elem26 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem26 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.emails.append(_elem26)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.firstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.firstName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.lastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.lastName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.middleName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.middleName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.namePrefix = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.namePrefix = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.nameSuffix = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.nameSuffix = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.orcidId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.orcidId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
@@ -891,14 +834,14 @@
                     self.phones = []
                     (_etype30, _size27) = iprot.readListBegin()
                     for _i31 in range(_size27):
-                        _elem32 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem32 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.phones.append(_elem32)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
                 if ftype == TType.STRING:
-                    self.country = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.country = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 14:
@@ -906,19 +849,19 @@
                     self.nationality = []
                     (_etype36, _size33) = iprot.readListBegin()
                     for _i37 in range(_size33):
-                        _elem38 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem38 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.nationality.append(_elem38)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 15:
                 if ftype == TType.STRING:
-                    self.homeOrganization = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.homeOrganization = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 16:
                 if ftype == TType.STRING:
-                    self.orginationAffiliation = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.orginationAffiliation = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
@@ -943,7 +886,7 @@
                     iprot.skip(ftype)
             elif fid == 21:
                 if ftype == TType.STRING:
-                    self.comments = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.comments = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 22:
@@ -951,19 +894,19 @@
                     self.labeledURI = []
                     (_etype42, _size39) = iprot.readListBegin()
                     for _i43 in range(_size39):
-                        _elem44 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem44 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.labeledURI.append(_elem44)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 23:
                 if ftype == TType.STRING:
-                    self.gpgKey = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gpgKey = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 24:
                 if ftype == TType.STRING:
-                    self.timeZone = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.timeZone = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 25:
@@ -985,7 +928,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserProfile')
         if self.userModelVersion is not None:
@@ -1142,3 +1085,74 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(NSFDemographics)
+NSFDemographics.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'gender', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'usCitizenship', None, None, ),  # 3
+    (4, TType.LIST, 'ethnicities', (TType.I32, None, False), None, ),  # 4
+    (5, TType.LIST, 'races', (TType.I32, None, False), None, ),  # 5
+    (6, TType.LIST, 'disabilities', (TType.I32, None, False), None, ),  # 6
+)
+all_structs.append(CustomDashboard)
+CustomDashboard.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'name', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'description', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'project', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'owner', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'application', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'computeResource', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'jobName', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'jobId', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'jobStatus', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'jobCreationTime', 'UTF8', None, ),  # 12
+    (13, TType.STRING, 'notificationsTo', 'UTF8', None, ),  # 13
+    (14, TType.STRING, 'workingDir', 'UTF8', None, ),  # 14
+    (15, TType.STRING, 'jobDescription', 'UTF8', None, ),  # 15
+    (16, TType.STRING, 'creationTime', 'UTF8', None, ),  # 16
+    (17, TType.STRING, 'lastModifiedTime', 'UTF8', None, ),  # 17
+    (18, TType.STRING, 'wallTime', 'UTF8', None, ),  # 18
+    (19, TType.STRING, 'cpuCount', 'UTF8', None, ),  # 19
+    (20, TType.STRING, 'nodeCount', 'UTF8', None, ),  # 20
+    (21, TType.STRING, 'queue', 'UTF8', None, ),  # 21
+    (22, TType.STRING, 'inputs', 'UTF8', None, ),  # 22
+    (23, TType.STRING, 'outputs', 'UTF8', None, ),  # 23
+    (24, TType.STRING, 'storageDir', 'UTF8', None, ),  # 24
+    (25, TType.STRING, 'errors', 'UTF8', None, ),  # 25
+)
+all_structs.append(UserProfile)
+UserProfile.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'userModelVersion', 'UTF8', "1.0", ),  # 1
+    (2, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 2
+    (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 4
+    (5, TType.LIST, 'emails', (TType.STRING, 'UTF8', False), None, ),  # 5
+    (6, TType.STRING, 'firstName', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'lastName', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'middleName', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'namePrefix', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'nameSuffix', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'orcidId', 'UTF8', None, ),  # 11
+    (12, TType.LIST, 'phones', (TType.STRING, 'UTF8', False), None, ),  # 12
+    (13, TType.STRING, 'country', 'UTF8', None, ),  # 13
+    (14, TType.LIST, 'nationality', (TType.STRING, 'UTF8', False), None, ),  # 14
+    (15, TType.STRING, 'homeOrganization', 'UTF8', None, ),  # 15
+    (16, TType.STRING, 'orginationAffiliation', 'UTF8', None, ),  # 16
+    (17, TType.I64, 'creationTime', None, None, ),  # 17
+    (18, TType.I64, 'lastAccessTime', None, None, ),  # 18
+    (19, TType.I64, 'validUntil', None, None, ),  # 19
+    (20, TType.I32, 'State', None, None, ),  # 20
+    (21, TType.STRING, 'comments', 'UTF8', None, ),  # 21
+    (22, TType.LIST, 'labeledURI', (TType.STRING, 'UTF8', False), None, ),  # 22
+    (23, TType.STRING, 'gpgKey', 'UTF8', None, ),  # 23
+    (24, TType.STRING, 'timeZone', 'UTF8', None, ),  # 24
+    (25, TType.STRUCT, 'nsfDemographics', [NSFDemographics, None], None, ),  # 25
+    (26, TType.STRUCT, 'customDashboard', [CustomDashboard, None], None, ),  # 26
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/ttypes.py
index 70f7497..1954f76 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workflow/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,11 +8,14 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 import airavata.model.application.io.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class ApplicationState(object):
@@ -169,15 +172,9 @@
      - state
      - description
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'state', None, None, ),  # 2
-        (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
-        (4, TType.I64, 'updatedAt', None, None, ),  # 4
-    )
 
     def __init__(self, id=None, state=None, description=None, updatedAt=None,):
         self.id = id
@@ -187,7 +184,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -196,7 +193,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -206,7 +203,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -221,7 +218,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('ApplicationStatus')
         if self.id is not None:
@@ -276,24 +273,9 @@
      - errors
      - createdAt
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'processId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'applicationInterfaceId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'queueName', 'UTF8', None, ),  # 5
-        (6, TType.I32, 'nodeCount', None, None, ),  # 6
-        (7, TType.I32, 'coreCount', None, None, ),  # 7
-        (8, TType.I32, 'wallTimeLimit', None, None, ),  # 8
-        (9, TType.I32, 'physicalMemory', None, None, ),  # 9
-        (10, TType.LIST, 'statuses', (TType.STRUCT, (ApplicationStatus, ApplicationStatus.thrift_spec), False), None, ),  # 10
-        (11, TType.LIST, 'errors', (TType.STRUCT, (airavata.model.commons.ttypes.ErrorModel, airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 11
-        (12, TType.I64, 'createdAt', None, None, ),  # 12
-        (13, TType.I64, 'updatedAt', None, None, ),  # 13
-    )
 
     def __init__(self, id=None, processId=None, applicationInterfaceId=None, computeResourceId=None, queueName=None, nodeCount=None, coreCount=None, wallTimeLimit=None, physicalMemory=None, statuses=None, errors=None, createdAt=None, updatedAt=None,):
         self.id = id
@@ -312,7 +294,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -321,27 +303,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.processId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.processId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.applicationInterfaceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.applicationInterfaceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.queueName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.queueName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -403,7 +385,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('WorkflowApplication')
         if self.id is not None:
@@ -492,16 +474,9 @@
      - type
      - createdAt
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'type', None, None, ),  # 3
-        (4, TType.I64, 'createdAt', None, None, ),  # 4
-        (5, TType.I64, 'updatedAt', None, None, ),  # 5
-    )
 
     def __init__(self, id=None, value=None, type=None, createdAt=None, updatedAt=None,):
         self.id = id
@@ -512,7 +487,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -521,12 +496,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.value = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.value = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -551,7 +526,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('DataBlock')
         if self.id is not None:
@@ -607,23 +582,11 @@
      - toInputName
      - createdAt
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRUCT, 'dataBlock', (DataBlock, DataBlock.thrift_spec), None, ),  # 2
-        (3, TType.I32, 'fromType', None, None, ),  # 3
-        (4, TType.STRING, 'fromId', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'fromOutputName', 'UTF8', None, ),  # 5
-        (6, TType.I32, 'toType', None, None, ),  # 6
-        (7, TType.STRING, 'toId', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'toInputName', 'UTF8', None, ),  # 8
-        (9, TType.I64, 'createdAt', None, None, ),  # 9
-        (10, TType.I64, 'updatedAt', None, None, ),  # 10
-    )
 
-    def __init__(self, id=thrift_spec[1][4], dataBlock=None, fromType=None, fromId=None, fromOutputName=None, toType=None, toId=None, toInputName=None, createdAt=None, updatedAt=None,):
+    def __init__(self, id="DO_NOT_SET_AT_CLIENTS", dataBlock=None, fromType=None, fromId=None, fromOutputName=None, toType=None, toId=None, toInputName=None, createdAt=None, updatedAt=None,):
         self.id = id
         self.dataBlock = dataBlock
         self.fromType = fromType
@@ -637,7 +600,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -646,7 +609,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -662,12 +625,12 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.fromId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.fromId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.fromOutputName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.fromOutputName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -677,12 +640,12 @@
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.toId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.toId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.toInputName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.toInputName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
@@ -702,7 +665,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('WorkflowConnection')
         if self.id is not None:
@@ -784,15 +747,9 @@
      - state
      - description
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'state', None, None, ),  # 2
-        (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
-        (4, TType.I64, 'updatedAt', None, None, ),  # 4
-    )
 
     def __init__(self, id=None, state=None, description=None, updatedAt=None,):
         self.id = id
@@ -802,7 +759,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -811,7 +768,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -821,7 +778,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -836,7 +793,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('HandlerStatus')
         if self.id is not None:
@@ -886,19 +843,9 @@
      - errors
      - createdAt
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'type', None, None, ),  # 2
-        (3, TType.LIST, 'inputs', (TType.STRUCT, (airavata.model.application.io.ttypes.InputDataObjectType, airavata.model.application.io.ttypes.InputDataObjectType.thrift_spec), False), None, ),  # 3
-        (4, TType.LIST, 'outputs', (TType.STRUCT, (airavata.model.application.io.ttypes.OutputDataObjectType, airavata.model.application.io.ttypes.OutputDataObjectType.thrift_spec), False), None, ),  # 4
-        (5, TType.LIST, 'statuses', (TType.STRUCT, (HandlerStatus, HandlerStatus.thrift_spec), False), None, ),  # 5
-        (6, TType.LIST, 'errors', (TType.STRUCT, (airavata.model.commons.ttypes.ErrorModel, airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 6
-        (7, TType.I64, 'createdAt', None, None, ),  # 7
-        (8, TType.I64, 'updatedAt', None, None, ),  # 8
-    )
 
     def __init__(self, id=None, type=None, inputs=None, outputs=None, statuses=None, errors=None, createdAt=None, updatedAt=None,):
         self.id = id
@@ -912,7 +859,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -921,7 +868,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -990,7 +937,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('WorkflowHandler')
         if self.id is not None:
@@ -1066,15 +1013,9 @@
      - state
      - description
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
-        (2, TType.I32, 'state', None, None, ),  # 2
-        (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
-        (4, TType.I64, 'updatedAt', None, None, ),  # 4
-    )
 
     def __init__(self, id=None, state=None, description=None, updatedAt=None,):
         self.id = id
@@ -1084,7 +1025,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1093,7 +1034,7 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
@@ -1103,7 +1044,7 @@
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -1118,7 +1059,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('WorkflowStatus')
         if self.id is not None:
@@ -1170,23 +1111,11 @@
      - errors
      - createdAt
      - updatedAt
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'id', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
-        (4, TType.LIST, 'applications', (TType.STRUCT, (WorkflowApplication, WorkflowApplication.thrift_spec), False), None, ),  # 4
-        (5, TType.LIST, 'handlers', (TType.STRUCT, (WorkflowHandler, WorkflowHandler.thrift_spec), False), None, ),  # 5
-        (6, TType.LIST, 'connections', (TType.STRUCT, (WorkflowConnection, WorkflowConnection.thrift_spec), False), None, ),  # 6
-        (7, TType.LIST, 'statuses', (TType.STRUCT, (WorkflowStatus, WorkflowStatus.thrift_spec), False), None, ),  # 7
-        (8, TType.LIST, 'errors', (TType.STRUCT, (airavata.model.commons.ttypes.ErrorModel, airavata.model.commons.ttypes.ErrorModel.thrift_spec), False), None, ),  # 8
-        (9, TType.I64, 'createdAt', None, None, ),  # 9
-        (10, TType.I64, 'updatedAt', None, None, ),  # 10
-    )
 
-    def __init__(self, id=thrift_spec[1][4], experimentId=None, description=None, applications=None, handlers=None, connections=None, statuses=None, errors=None, createdAt=None, updatedAt=None,):
+    def __init__(self, id="DO_NOT_SET_AT_CLIENTS", experimentId=None, description=None, applications=None, handlers=None, connections=None, statuses=None, errors=None, createdAt=None, updatedAt=None,):
         self.id = id
         self.experimentId = experimentId
         self.description = description
@@ -1200,7 +1129,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1209,17 +1138,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.id = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.id = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.experimentId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.experimentId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
@@ -1294,7 +1223,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('AiravataWorkflow')
         if self.id is not None:
@@ -1372,3 +1301,95 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(ApplicationStatus)
+ApplicationStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'state', None, None, ),  # 2
+    (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
+    (4, TType.I64, 'updatedAt', None, None, ),  # 4
+)
+all_structs.append(WorkflowApplication)
+WorkflowApplication.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'processId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'applicationInterfaceId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'queueName', 'UTF8', None, ),  # 5
+    (6, TType.I32, 'nodeCount', None, None, ),  # 6
+    (7, TType.I32, 'coreCount', None, None, ),  # 7
+    (8, TType.I32, 'wallTimeLimit', None, None, ),  # 8
+    (9, TType.I32, 'physicalMemory', None, None, ),  # 9
+    (10, TType.LIST, 'statuses', (TType.STRUCT, [ApplicationStatus, None], False), None, ),  # 10
+    (11, TType.LIST, 'errors', (TType.STRUCT, [airavata.model.commons.ttypes.ErrorModel, None], False), None, ),  # 11
+    (12, TType.I64, 'createdAt', None, None, ),  # 12
+    (13, TType.I64, 'updatedAt', None, None, ),  # 13
+)
+all_structs.append(DataBlock)
+DataBlock.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'value', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'type', None, None, ),  # 3
+    (4, TType.I64, 'createdAt', None, None, ),  # 4
+    (5, TType.I64, 'updatedAt', None, None, ),  # 5
+)
+all_structs.append(WorkflowConnection)
+WorkflowConnection.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRUCT, 'dataBlock', [DataBlock, None], None, ),  # 2
+    (3, TType.I32, 'fromType', None, None, ),  # 3
+    (4, TType.STRING, 'fromId', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'fromOutputName', 'UTF8', None, ),  # 5
+    (6, TType.I32, 'toType', None, None, ),  # 6
+    (7, TType.STRING, 'toId', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'toInputName', 'UTF8', None, ),  # 8
+    (9, TType.I64, 'createdAt', None, None, ),  # 9
+    (10, TType.I64, 'updatedAt', None, None, ),  # 10
+)
+all_structs.append(HandlerStatus)
+HandlerStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'state', None, None, ),  # 2
+    (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
+    (4, TType.I64, 'updatedAt', None, None, ),  # 4
+)
+all_structs.append(WorkflowHandler)
+WorkflowHandler.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'type', None, None, ),  # 2
+    (3, TType.LIST, 'inputs', (TType.STRUCT, [airavata.model.application.io.ttypes.InputDataObjectType, None], False), None, ),  # 3
+    (4, TType.LIST, 'outputs', (TType.STRUCT, [airavata.model.application.io.ttypes.OutputDataObjectType, None], False), None, ),  # 4
+    (5, TType.LIST, 'statuses', (TType.STRUCT, [HandlerStatus, None], False), None, ),  # 5
+    (6, TType.LIST, 'errors', (TType.STRUCT, [airavata.model.commons.ttypes.ErrorModel, None], False), None, ),  # 6
+    (7, TType.I64, 'createdAt', None, None, ),  # 7
+    (8, TType.I64, 'updatedAt', None, None, ),  # 8
+)
+all_structs.append(WorkflowStatus)
+WorkflowStatus.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', None, ),  # 1
+    (2, TType.I32, 'state', None, None, ),  # 2
+    (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
+    (4, TType.I64, 'updatedAt', None, None, ),  # 4
+)
+all_structs.append(AiravataWorkflow)
+AiravataWorkflow.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'id', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'experimentId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'description', 'UTF8', None, ),  # 3
+    (4, TType.LIST, 'applications', (TType.STRUCT, [WorkflowApplication, None], False), None, ),  # 4
+    (5, TType.LIST, 'handlers', (TType.STRUCT, [WorkflowHandler, None], False), None, ),  # 5
+    (6, TType.LIST, 'connections', (TType.STRUCT, [WorkflowConnection, None], False), None, ),  # 6
+    (7, TType.LIST, 'statuses', (TType.STRUCT, [WorkflowStatus, None], False), None, ),  # 7
+    (8, TType.LIST, 'errors', (TType.STRUCT, [airavata.model.commons.ttypes.ErrorModel, None], False), None, ),  # 8
+    (9, TType.I64, 'createdAt', None, None, ),  # 9
+    (10, TType.I64, 'updatedAt', None, None, ),  # 10
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/ttypes.py
index 2dd3484..6cee275 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/model/workspace/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,10 +8,13 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.model.commons.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class GatewayApprovalStatus(object):
@@ -70,13 +73,9 @@
     Attributes:
      - groupName
      - description
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'groupName', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'description', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, groupName=None, description=None,):
         self.groupName = groupName
@@ -84,7 +83,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -93,12 +92,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.groupName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -108,7 +107,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Group')
         if self.groupName is not None:
@@ -150,21 +149,11 @@
      - creationTime
      - sharedUsers
      - sharedGroups
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'projectID', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'owner', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'name', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'description', 'UTF8', None, ),  # 5
-        (6, TType.I64, 'creationTime', None, None, ),  # 6
-        (7, TType.LIST, 'sharedUsers', (TType.STRING, 'UTF8', False), None, ),  # 7
-        (8, TType.LIST, 'sharedGroups', (TType.STRING, 'UTF8', False), None, ),  # 8
-    )
 
-    def __init__(self, projectID=thrift_spec[1][4], owner=None, gatewayId=None, name=None, description=None, creationTime=None, sharedUsers=None, sharedGroups=None,):
+    def __init__(self, projectID="DO_NOT_SET_AT_CLIENTS", owner=None, gatewayId=None, name=None, description=None, creationTime=None, sharedUsers=None, sharedGroups=None,):
         self.projectID = projectID
         self.owner = owner
         self.gatewayId = gatewayId
@@ -176,7 +165,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -185,27 +174,27 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.projectID = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.projectID = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.owner = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.owner = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.name = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.name = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.description = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.description = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
@@ -218,7 +207,7 @@
                     self.sharedUsers = []
                     (_etype3, _size0) = iprot.readListBegin()
                     for _i4 in range(_size0):
-                        _elem5 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem5 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.sharedUsers.append(_elem5)
                     iprot.readListEnd()
                 else:
@@ -228,7 +217,7 @@
                     self.sharedGroups = []
                     (_etype9, _size6) = iprot.readListBegin()
                     for _i10 in range(_size6):
-                        _elem11 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem11 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.sharedGroups.append(_elem11)
                     iprot.readListEnd()
                 else:
@@ -240,7 +229,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Project')
         if self.projectID is not None:
@@ -316,19 +305,11 @@
      - firstName
      - lastName
      - email
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
-        (2, TType.STRING, 'userName', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'firstName', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'lastName', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'email', 'UTF8', None, ),  # 6
-    )
 
-    def __init__(self, airavataInternalUserId=thrift_spec[1][4], userName=None, gatewayId=None, firstName=None, lastName=None, email=None,):
+    def __init__(self, airavataInternalUserId="DO_NOT_SET_AT_CLIENTS", userName=None, gatewayId=None, firstName=None, lastName=None, email=None,):
         self.airavataInternalUserId = airavataInternalUserId
         self.userName = userName
         self.gatewayId = gatewayId
@@ -338,7 +319,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -347,32 +328,32 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.airavataInternalUserId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalUserId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.firstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.firstName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.lastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.lastName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.email = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.email = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -382,7 +363,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('User')
         if self.airavataInternalUserId is not None:
@@ -454,31 +435,9 @@
      - oauthClientSecret
      - requestCreationTime
      - requesterUsername
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'airavataInternalGatewayId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'gatewayApprovalStatus', None, None, ),  # 3
-        (4, TType.STRING, 'gatewayName', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'domain', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'emailAddress', 'UTF8', None, ),  # 6
-        (7, TType.STRING, 'gatewayAcronym', 'UTF8', None, ),  # 7
-        (8, TType.STRING, 'gatewayURL', 'UTF8', None, ),  # 8
-        (9, TType.STRING, 'gatewayPublicAbstract', 'UTF8', None, ),  # 9
-        (10, TType.STRING, 'reviewProposalDescription', 'UTF8', None, ),  # 10
-        (11, TType.STRING, 'gatewayAdminFirstName', 'UTF8', None, ),  # 11
-        (12, TType.STRING, 'gatewayAdminLastName', 'UTF8', None, ),  # 12
-        (13, TType.STRING, 'gatewayAdminEmail', 'UTF8', None, ),  # 13
-        (14, TType.STRING, 'identityServerUserName', 'UTF8', None, ),  # 14
-        (15, TType.STRING, 'identityServerPasswordToken', 'UTF8', None, ),  # 15
-        (16, TType.STRING, 'declinedReason', 'UTF8', None, ),  # 16
-        (17, TType.STRING, 'oauthClientId', 'UTF8', None, ),  # 17
-        (18, TType.STRING, 'oauthClientSecret', 'UTF8', None, ),  # 18
-        (19, TType.I64, 'requestCreationTime', None, None, ),  # 19
-        (20, TType.STRING, 'requesterUsername', 'UTF8', None, ),  # 20
-    )
 
     def __init__(self, airavataInternalGatewayId=None, gatewayId=None, gatewayApprovalStatus=None, gatewayName=None, domain=None, emailAddress=None, gatewayAcronym=None, gatewayURL=None, gatewayPublicAbstract=None, reviewProposalDescription=None, gatewayAdminFirstName=None, gatewayAdminLastName=None, gatewayAdminEmail=None, identityServerUserName=None, identityServerPasswordToken=None, declinedReason=None, oauthClientId=None, oauthClientSecret=None, requestCreationTime=None, requesterUsername=None,):
         self.airavataInternalGatewayId = airavataInternalGatewayId
@@ -504,7 +463,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -513,12 +472,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.airavataInternalGatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -528,77 +487,77 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.gatewayName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.domain = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.domain = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.emailAddress = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.emailAddress = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 7:
                 if ftype == TType.STRING:
-                    self.gatewayAcronym = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayAcronym = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 8:
                 if ftype == TType.STRING:
-                    self.gatewayURL = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayURL = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 9:
                 if ftype == TType.STRING:
-                    self.gatewayPublicAbstract = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayPublicAbstract = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 10:
                 if ftype == TType.STRING:
-                    self.reviewProposalDescription = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.reviewProposalDescription = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 11:
                 if ftype == TType.STRING:
-                    self.gatewayAdminFirstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayAdminFirstName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 12:
                 if ftype == TType.STRING:
-                    self.gatewayAdminLastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayAdminLastName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 13:
                 if ftype == TType.STRING:
-                    self.gatewayAdminEmail = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayAdminEmail = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 14:
                 if ftype == TType.STRING:
-                    self.identityServerUserName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerUserName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 15:
                 if ftype == TType.STRING:
-                    self.identityServerPasswordToken = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.identityServerPasswordToken = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 16:
                 if ftype == TType.STRING:
-                    self.declinedReason = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.declinedReason = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 17:
                 if ftype == TType.STRING:
-                    self.oauthClientId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.oauthClientId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 18:
                 if ftype == TType.STRING:
-                    self.oauthClientSecret = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.oauthClientSecret = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 19:
@@ -608,7 +567,7 @@
                     iprot.skip(ftype)
             elif fid == 20:
                 if ftype == TType.STRING:
-                    self.requesterUsername = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.requesterUsername = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -618,7 +577,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Gateway')
         if self.airavataInternalGatewayId is not None:
@@ -729,14 +688,9 @@
      - gatewayId
      - computeResourceId
      - command
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'command', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, gatewayId=None, computeResourceId=None, command=None,):
         self.gatewayId = gatewayId
@@ -745,7 +699,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -754,17 +708,17 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.computeResourceId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.computeResourceId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.command = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.command = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -774,7 +728,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GatewayUsageReportingCommand')
         if self.gatewayId is not None:
@@ -824,19 +778,9 @@
      - publishedTime
      - expirationTime
      - priority
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'notificationId', 'UTF8', None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'title', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'notificationMessage', 'UTF8', None, ),  # 4
-        (5, TType.I64, 'creationTime', None, None, ),  # 5
-        (6, TType.I64, 'publishedTime', None, None, ),  # 6
-        (7, TType.I64, 'expirationTime', None, None, ),  # 7
-        (8, TType.I32, 'priority', None, None, ),  # 8
-    )
 
     def __init__(self, notificationId=None, gatewayId=None, title=None, notificationMessage=None, creationTime=None, publishedTime=None, expirationTime=None, priority=None,):
         self.notificationId = notificationId
@@ -850,7 +794,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -859,22 +803,22 @@
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.notificationId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notificationId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.title = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.title = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.notificationMessage = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.notificationMessage = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
@@ -904,7 +848,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('Notification')
         if self.notificationId is not None:
@@ -961,3 +905,76 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(Group)
+Group.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'groupName', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'description', 'UTF8', None, ),  # 2
+)
+all_structs.append(Project)
+Project.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'projectID', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'owner', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'name', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'description', 'UTF8', None, ),  # 5
+    (6, TType.I64, 'creationTime', None, None, ),  # 6
+    (7, TType.LIST, 'sharedUsers', (TType.STRING, 'UTF8', False), None, ),  # 7
+    (8, TType.LIST, 'sharedGroups', (TType.STRING, 'UTF8', False), None, ),  # 8
+)
+all_structs.append(User)
+User.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'airavataInternalUserId', 'UTF8', "DO_NOT_SET_AT_CLIENTS", ),  # 1
+    (2, TType.STRING, 'userName', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'firstName', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'lastName', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'email', 'UTF8', None, ),  # 6
+)
+all_structs.append(Gateway)
+Gateway.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'airavataInternalGatewayId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'gatewayApprovalStatus', None, None, ),  # 3
+    (4, TType.STRING, 'gatewayName', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'domain', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'emailAddress', 'UTF8', None, ),  # 6
+    (7, TType.STRING, 'gatewayAcronym', 'UTF8', None, ),  # 7
+    (8, TType.STRING, 'gatewayURL', 'UTF8', None, ),  # 8
+    (9, TType.STRING, 'gatewayPublicAbstract', 'UTF8', None, ),  # 9
+    (10, TType.STRING, 'reviewProposalDescription', 'UTF8', None, ),  # 10
+    (11, TType.STRING, 'gatewayAdminFirstName', 'UTF8', None, ),  # 11
+    (12, TType.STRING, 'gatewayAdminLastName', 'UTF8', None, ),  # 12
+    (13, TType.STRING, 'gatewayAdminEmail', 'UTF8', None, ),  # 13
+    (14, TType.STRING, 'identityServerUserName', 'UTF8', None, ),  # 14
+    (15, TType.STRING, 'identityServerPasswordToken', 'UTF8', None, ),  # 15
+    (16, TType.STRING, 'declinedReason', 'UTF8', None, ),  # 16
+    (17, TType.STRING, 'oauthClientId', 'UTF8', None, ),  # 17
+    (18, TType.STRING, 'oauthClientSecret', 'UTF8', None, ),  # 18
+    (19, TType.I64, 'requestCreationTime', None, None, ),  # 19
+    (20, TType.STRING, 'requesterUsername', 'UTF8', None, ),  # 20
+)
+all_structs.append(GatewayUsageReportingCommand)
+GatewayUsageReportingCommand.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'computeResourceId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'command', 'UTF8', None, ),  # 3
+)
+all_structs.append(Notification)
+Notification.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'notificationId', 'UTF8', None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'title', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'notificationMessage', 'UTF8', None, ),  # 4
+    (5, TType.I64, 'creationTime', None, None, ),  # 5
+    (6, TType.I64, 'publishedTime', None, None, ),  # 6
+    (7, TType.I64, 'expirationTime', None, None, ),  # 7
+    (8, TType.I32, 'priority', None, None, ),  # 8
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService-remote
index fcc0a27..33fe414 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -24,7 +24,6 @@
     print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] [-novalidate] [-ca_certs certs] [-keyfile keyfile] [-certfile certfile] function [arg1 [arg2...]]')
     print('')
     print('Functions:')
-    print('  string getAPIVersion()')
     print('  string createGroup(AuthzToken authzToken, GroupModel groupModel)')
     print('  bool updateGroup(AuthzToken authzToken, GroupModel groupModel)')
     print('  bool deleteGroup(AuthzToken authzToken, string groupId, string ownerId)')
@@ -118,13 +117,7 @@
 client = GroupManagerService.Client(protocol)
 transport.open()
 
-if cmd == 'getAPIVersion':
-    if len(args) != 0:
-        print('getAPIVersion requires 0 args')
-        sys.exit(1)
-    pp.pprint(client.getAPIVersion())
-
-elif cmd == 'createGroup':
+if cmd == 'createGroup':
     if len(args) != 2:
         print('createGroup requires 2 args')
         sys.exit(1)
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService.py
index 0bc86da..06affac 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/GroupManagerService.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,23 +8,24 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
-    def getAPIVersion(self):
-        pass
-
     def createGroup(self, authzToken, groupModel):
         """
         Parameters:
          - authzToken
          - groupModel
+
         """
         pass
 
@@ -33,6 +34,7 @@
         Parameters:
          - authzToken
          - groupModel
+
         """
         pass
 
@@ -42,6 +44,7 @@
          - authzToken
          - groupId
          - ownerId
+
         """
         pass
 
@@ -50,6 +53,7 @@
         Parameters:
          - authzToken
          - groupId
+
         """
         pass
 
@@ -57,6 +61,7 @@
         """
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -65,6 +70,7 @@
         Parameters:
          - authzToken
          - userName
+
         """
         pass
 
@@ -74,6 +80,7 @@
          - authzToken
          - userIds
          - groupId
+
         """
         pass
 
@@ -83,6 +90,7 @@
          - authzToken
          - userIds
          - groupId
+
         """
         pass
 
@@ -92,6 +100,7 @@
          - authzToken
          - groupId
          - newOwnerId
+
         """
         pass
 
@@ -101,6 +110,7 @@
          - authzToken
          - groupId
          - adminIds
+
         """
         pass
 
@@ -110,6 +120,7 @@
          - authzToken
          - groupId
          - adminIds
+
         """
         pass
 
@@ -119,6 +130,7 @@
          - authzToken
          - groupId
          - adminId
+
         """
         pass
 
@@ -128,6 +140,7 @@
          - authzToken
          - groupId
          - ownerId
+
         """
         pass
 
@@ -136,39 +149,12 @@
     def __init__(self, iprot, oprot=None):
         airavata.base.api.BaseAPI.Client.__init__(self, iprot, oprot)
 
-    def getAPIVersion(self):
-        self.send_getAPIVersion()
-        return self.recv_getAPIVersion()
-
-    def send_getAPIVersion(self):
-        self._oprot.writeMessageBegin('getAPIVersion', TMessageType.CALL, self._seqid)
-        args = getAPIVersion_args()
-        args.write(self._oprot)
-        self._oprot.writeMessageEnd()
-        self._oprot.trans.flush()
-
-    def recv_getAPIVersion(self):
-        iprot = self._iprot
-        (fname, mtype, rseqid) = iprot.readMessageBegin()
-        if mtype == TMessageType.EXCEPTION:
-            x = TApplicationException()
-            x.read(iprot)
-            iprot.readMessageEnd()
-            raise x
-        result = getAPIVersion_result()
-        result.read(iprot)
-        iprot.readMessageEnd()
-        if result.success is not None:
-            return result.success
-        if result.gse is not None:
-            raise result.gse
-        raise TApplicationException(TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result")
-
     def createGroup(self, authzToken, groupModel):
         """
         Parameters:
          - authzToken
          - groupModel
+
         """
         self.send_createGroup(authzToken, groupModel)
         return self.recv_createGroup()
@@ -206,6 +192,7 @@
         Parameters:
          - authzToken
          - groupModel
+
         """
         self.send_updateGroup(authzToken, groupModel)
         return self.recv_updateGroup()
@@ -244,6 +231,7 @@
          - authzToken
          - groupId
          - ownerId
+
         """
         self.send_deleteGroup(authzToken, groupId, ownerId)
         return self.recv_deleteGroup()
@@ -282,6 +270,7 @@
         Parameters:
          - authzToken
          - groupId
+
         """
         self.send_getGroup(authzToken, groupId)
         return self.recv_getGroup()
@@ -318,6 +307,7 @@
         """
         Parameters:
          - authzToken
+
         """
         self.send_getGroups(authzToken)
         return self.recv_getGroups()
@@ -354,6 +344,7 @@
         Parameters:
          - authzToken
          - userName
+
         """
         self.send_getAllGroupsUserBelongs(authzToken, userName)
         return self.recv_getAllGroupsUserBelongs()
@@ -392,6 +383,7 @@
          - authzToken
          - userIds
          - groupId
+
         """
         self.send_addUsersToGroup(authzToken, userIds, groupId)
         return self.recv_addUsersToGroup()
@@ -431,6 +423,7 @@
          - authzToken
          - userIds
          - groupId
+
         """
         self.send_removeUsersFromGroup(authzToken, userIds, groupId)
         return self.recv_removeUsersFromGroup()
@@ -470,6 +463,7 @@
          - authzToken
          - groupId
          - newOwnerId
+
         """
         self.send_transferGroupOwnership(authzToken, groupId, newOwnerId)
         return self.recv_transferGroupOwnership()
@@ -509,6 +503,7 @@
          - authzToken
          - groupId
          - adminIds
+
         """
         self.send_addGroupAdmins(authzToken, groupId, adminIds)
         return self.recv_addGroupAdmins()
@@ -548,6 +543,7 @@
          - authzToken
          - groupId
          - adminIds
+
         """
         self.send_removeGroupAdmins(authzToken, groupId, adminIds)
         return self.recv_removeGroupAdmins()
@@ -587,6 +583,7 @@
          - authzToken
          - groupId
          - adminId
+
         """
         self.send_hasAdminAccess(authzToken, groupId, adminId)
         return self.recv_hasAdminAccess()
@@ -626,6 +623,7 @@
          - authzToken
          - groupId
          - ownerId
+
         """
         self.send_hasOwnerAccess(authzToken, groupId, ownerId)
         return self.recv_hasOwnerAccess()
@@ -663,7 +661,6 @@
 class Processor(airavata.base.api.BaseAPI.Processor, Iface, TProcessor):
     def __init__(self, handler):
         airavata.base.api.BaseAPI.Processor.__init__(self, handler)
-        self._processMap["getAPIVersion"] = Processor.process_getAPIVersion
         self._processMap["createGroup"] = Processor.process_createGroup
         self._processMap["updateGroup"] = Processor.process_updateGroup
         self._processMap["deleteGroup"] = Processor.process_deleteGroup
@@ -677,9 +674,15 @@
         self._processMap["removeGroupAdmins"] = Processor.process_removeGroupAdmins
         self._processMap["hasAdminAccess"] = Processor.process_hasAdminAccess
         self._processMap["hasOwnerAccess"] = Processor.process_hasOwnerAccess
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -693,28 +696,6 @@
             self._processMap[name](self, seqid, iprot, oprot)
         return True
 
-    def process_getAPIVersion(self, seqid, iprot, oprot):
-        args = getAPIVersion_args()
-        args.read(iprot)
-        iprot.readMessageEnd()
-        result = getAPIVersion_result()
-        try:
-            result.success = self._handler.getAPIVersion()
-            msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-            raise
-        except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
-            msg_type = TMessageType.REPLY
-            result.gse = gse
-        except Exception as ex:
-            msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
-            result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-        oprot.writeMessageBegin("getAPIVersion", msg_type, seqid)
-        result.write(oprot)
-        oprot.writeMessageEnd()
-        oprot.trans.flush()
-
     def process_createGroup(self, seqid, iprot, oprot):
         args = createGroup_args()
         args.read(iprot)
@@ -723,7 +704,7 @@
         try:
             result.success = self._handler.createGroup(args.authzToken, args.groupModel)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -731,9 +712,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("createGroup", msg_type, seqid)
         result.write(oprot)
@@ -748,7 +733,7 @@
         try:
             result.success = self._handler.updateGroup(args.authzToken, args.groupModel)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -756,9 +741,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGroup", msg_type, seqid)
         result.write(oprot)
@@ -773,7 +762,7 @@
         try:
             result.success = self._handler.deleteGroup(args.authzToken, args.groupId, args.ownerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -781,9 +770,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGroup", msg_type, seqid)
         result.write(oprot)
@@ -798,7 +791,7 @@
         try:
             result.success = self._handler.getGroup(args.authzToken, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -806,9 +799,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroup", msg_type, seqid)
         result.write(oprot)
@@ -823,7 +820,7 @@
         try:
             result.success = self._handler.getGroups(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -831,9 +828,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGroups", msg_type, seqid)
         result.write(oprot)
@@ -848,7 +849,7 @@
         try:
             result.success = self._handler.getAllGroupsUserBelongs(args.authzToken, args.userName)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -856,9 +857,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGroupsUserBelongs", msg_type, seqid)
         result.write(oprot)
@@ -873,7 +878,7 @@
         try:
             result.success = self._handler.addUsersToGroup(args.authzToken, args.userIds, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -881,9 +886,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUsersToGroup", msg_type, seqid)
         result.write(oprot)
@@ -898,7 +907,7 @@
         try:
             result.success = self._handler.removeUsersFromGroup(args.authzToken, args.userIds, args.groupId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -906,9 +915,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeUsersFromGroup", msg_type, seqid)
         result.write(oprot)
@@ -923,7 +936,7 @@
         try:
             result.success = self._handler.transferGroupOwnership(args.authzToken, args.groupId, args.newOwnerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -931,9 +944,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("transferGroupOwnership", msg_type, seqid)
         result.write(oprot)
@@ -948,7 +965,7 @@
         try:
             result.success = self._handler.addGroupAdmins(args.authzToken, args.groupId, args.adminIds)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -956,9 +973,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGroupAdmins", msg_type, seqid)
         result.write(oprot)
@@ -973,7 +994,7 @@
         try:
             result.success = self._handler.removeGroupAdmins(args.authzToken, args.groupId, args.adminIds)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -981,9 +1002,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeGroupAdmins", msg_type, seqid)
         result.write(oprot)
@@ -998,7 +1023,7 @@
         try:
             result.success = self._handler.hasAdminAccess(args.authzToken, args.groupId, args.adminId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -1006,9 +1031,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("hasAdminAccess", msg_type, seqid)
         result.write(oprot)
@@ -1023,7 +1052,7 @@
         try:
             result.success = self._handler.hasOwnerAccess(args.authzToken, args.groupId, args.ownerId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException as gse:
             msg_type = TMessageType.REPLY
@@ -1031,9 +1060,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("hasOwnerAccess", msg_type, seqid)
         result.write(oprot)
@@ -1043,132 +1076,14 @@
 # HELPER FUNCTIONS AND STRUCTURES
 
 
-class getAPIVersion_args(object):
-
-    thrift_spec = (
-    )
-
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
-        iprot.readStructBegin()
-        while True:
-            (fname, ftype, fid) = iprot.readFieldBegin()
-            if ftype == TType.STOP:
-                break
-            else:
-                iprot.skip(ftype)
-            iprot.readFieldEnd()
-        iprot.readStructEnd()
-
-    def write(self, oprot):
-        if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
-            return
-        oprot.writeStructBegin('getAPIVersion_args')
-        oprot.writeFieldStop()
-        oprot.writeStructEnd()
-
-    def validate(self):
-        return
-
-    def __repr__(self):
-        L = ['%s=%r' % (key, value)
-             for key, value in self.__dict__.items()]
-        return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-    def __eq__(self, other):
-        return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-    def __ne__(self, other):
-        return not (self == other)
-
-
-class getAPIVersion_result(object):
-    """
-    Attributes:
-     - success
-     - gse
-    """
-
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-    )
-
-    def __init__(self, success=None, gse=None,):
-        self.success = success
-        self.gse = gse
-
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
-        iprot.readStructBegin()
-        while True:
-            (fname, ftype, fid) = iprot.readFieldBegin()
-            if ftype == TType.STOP:
-                break
-            if fid == 0:
-                if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                else:
-                    iprot.skip(ftype)
-            elif fid == 1:
-                if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
-                else:
-                    iprot.skip(ftype)
-            else:
-                iprot.skip(ftype)
-            iprot.readFieldEnd()
-        iprot.readStructEnd()
-
-    def write(self, oprot):
-        if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
-            return
-        oprot.writeStructBegin('getAPIVersion_result')
-        if self.success is not None:
-            oprot.writeFieldBegin('success', TType.STRING, 0)
-            oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
-            oprot.writeFieldEnd()
-        if self.gse is not None:
-            oprot.writeFieldBegin('gse', TType.STRUCT, 1)
-            self.gse.write(oprot)
-            oprot.writeFieldEnd()
-        oprot.writeFieldStop()
-        oprot.writeStructEnd()
-
-    def validate(self):
-        return
-
-    def __repr__(self):
-        L = ['%s=%r' % (key, value)
-             for key, value in self.__dict__.items()]
-        return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-    def __eq__(self, other):
-        return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-    def __ne__(self, other):
-        return not (self == other)
-
-
 class createGroup_args(object):
     """
     Attributes:
      - authzToken
      - groupModel
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'groupModel', (airavata.model.group.ttypes.GroupModel, airavata.model.group.ttypes.GroupModel.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupModel=None,):
         self.authzToken = authzToken
@@ -1176,7 +1091,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1202,7 +1117,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createGroup_args')
         if self.authzToken is not None:
@@ -1233,6 +1148,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createGroup_args)
+createGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'groupModel', [airavata.model.group.ttypes.GroupModel, None], None, ),  # 2
+)
 
 
 class createGroup_result(object):
@@ -1241,13 +1162,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -1256,7 +1173,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1265,19 +1182,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1287,7 +1202,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('createGroup_result')
         if self.success is not None:
@@ -1318,6 +1233,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(createGroup_result)
+createGroup_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class updateGroup_args(object):
@@ -1325,13 +1246,9 @@
     Attributes:
      - authzToken
      - groupModel
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'groupModel', (airavata.model.group.ttypes.GroupModel, airavata.model.group.ttypes.GroupModel.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupModel=None,):
         self.authzToken = authzToken
@@ -1339,7 +1256,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1365,7 +1282,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGroup_args')
         if self.authzToken is not None:
@@ -1396,6 +1313,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGroup_args)
+updateGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'groupModel', [airavata.model.group.ttypes.GroupModel, None], None, ),  # 2
+)
 
 
 class updateGroup_result(object):
@@ -1404,13 +1327,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -1419,7 +1338,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1433,14 +1352,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1450,7 +1367,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGroup_result')
         if self.success is not None:
@@ -1481,6 +1398,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGroup_result)
+updateGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class deleteGroup_args(object):
@@ -1489,14 +1412,9 @@
      - authzToken
      - groupId
      - ownerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, groupId=None, ownerId=None,):
         self.authzToken = authzToken
@@ -1505,7 +1423,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1520,12 +1438,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1535,7 +1453,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGroup_args')
         if self.authzToken is not None:
@@ -1572,6 +1490,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGroup_args)
+deleteGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteGroup_result(object):
@@ -1580,13 +1505,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -1595,7 +1516,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1609,14 +1530,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1626,7 +1545,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGroup_result')
         if self.success is not None:
@@ -1657,6 +1576,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGroup_result)
+deleteGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getGroup_args(object):
@@ -1664,13 +1589,9 @@
     Attributes:
      - authzToken
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, groupId=None,):
         self.authzToken = authzToken
@@ -1678,7 +1599,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1693,7 +1614,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1703,7 +1624,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroup_args')
         if self.authzToken is not None:
@@ -1734,6 +1655,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroup_args)
+getGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+)
 
 
 class getGroup_result(object):
@@ -1742,13 +1669,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.group.ttypes.GroupModel, airavata.model.group.ttypes.GroupModel.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -1757,7 +1680,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1772,14 +1695,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1789,7 +1710,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroup_result')
         if self.success is not None:
@@ -1820,25 +1741,28 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroup_result)
+getGroup_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.group.ttypes.GroupModel, None], None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getGroups_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1858,7 +1782,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroups_args')
         if self.authzToken is not None:
@@ -1883,6 +1807,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroups_args)
+getGroups_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getGroups_result(object):
@@ -1891,13 +1820,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.group.ttypes.GroupModel, airavata.model.group.ttypes.GroupModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -1906,7 +1831,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1926,14 +1851,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1943,7 +1866,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGroups_result')
         if self.success is not None:
@@ -1977,6 +1900,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGroups_result)
+getGroups_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.group.ttypes.GroupModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getAllGroupsUserBelongs_args(object):
@@ -1984,13 +1913,9 @@
     Attributes:
      - authzToken
      - userName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userName', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, userName=None,):
         self.authzToken = authzToken
@@ -1998,7 +1923,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2013,7 +1938,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2023,7 +1948,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGroupsUserBelongs_args')
         if self.authzToken is not None:
@@ -2054,6 +1979,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGroupsUserBelongs_args)
+getAllGroupsUserBelongs_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userName', 'UTF8', None, ),  # 2
+)
 
 
 class getAllGroupsUserBelongs_result(object):
@@ -2062,13 +1993,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.group.ttypes.GroupModel, airavata.model.group.ttypes.GroupModel.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -2077,7 +2004,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2097,14 +2024,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2114,7 +2039,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGroupsUserBelongs_result')
         if self.success is not None:
@@ -2148,6 +2073,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGroupsUserBelongs_result)
+getAllGroupsUserBelongs_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.group.ttypes.GroupModel, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class addUsersToGroup_args(object):
@@ -2156,14 +2087,9 @@
      - authzToken
      - userIds
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userIds=None, groupId=None,):
         self.authzToken = authzToken
@@ -2172,7 +2098,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2190,14 +2116,14 @@
                     self.userIds = []
                     (_etype17, _size14) = iprot.readListBegin()
                     for _i18 in range(_size14):
-                        _elem19 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem19 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.userIds.append(_elem19)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2207,7 +2133,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUsersToGroup_args')
         if self.authzToken is not None:
@@ -2247,6 +2173,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUsersToGroup_args)
+addUsersToGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+)
 
 
 class addUsersToGroup_result(object):
@@ -2255,13 +2188,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -2270,7 +2199,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2284,14 +2213,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2301,7 +2228,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUsersToGroup_result')
         if self.success is not None:
@@ -2332,6 +2259,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUsersToGroup_result)
+addUsersToGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class removeUsersFromGroup_args(object):
@@ -2340,14 +2273,9 @@
      - authzToken
      - userIds
      - groupId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
-        (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userIds=None, groupId=None,):
         self.authzToken = authzToken
@@ -2356,7 +2284,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2374,14 +2302,14 @@
                     self.userIds = []
                     (_etype24, _size21) = iprot.readListBegin()
                     for _i25 in range(_size21):
-                        _elem26 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem26 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.userIds.append(_elem26)
                     iprot.readListEnd()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2391,7 +2319,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeUsersFromGroup_args')
         if self.authzToken is not None:
@@ -2431,6 +2359,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeUsersFromGroup_args)
+removeUsersFromGroup_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.LIST, 'userIds', (TType.STRING, 'UTF8', False), None, ),  # 2
+    (3, TType.STRING, 'groupId', 'UTF8', None, ),  # 3
+)
 
 
 class removeUsersFromGroup_result(object):
@@ -2439,13 +2374,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -2454,7 +2385,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2468,14 +2399,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2485,7 +2414,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeUsersFromGroup_result')
         if self.success is not None:
@@ -2516,6 +2445,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeUsersFromGroup_result)
+removeUsersFromGroup_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class transferGroupOwnership_args(object):
@@ -2524,14 +2459,9 @@
      - authzToken
      - groupId
      - newOwnerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'newOwnerId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, groupId=None, newOwnerId=None,):
         self.authzToken = authzToken
@@ -2540,7 +2470,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2555,12 +2485,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.newOwnerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newOwnerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2570,7 +2500,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('transferGroupOwnership_args')
         if self.authzToken is not None:
@@ -2607,6 +2537,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(transferGroupOwnership_args)
+transferGroupOwnership_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'newOwnerId', 'UTF8', None, ),  # 3
+)
 
 
 class transferGroupOwnership_result(object):
@@ -2615,13 +2552,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -2630,7 +2563,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2644,14 +2577,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2661,7 +2592,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('transferGroupOwnership_result')
         if self.success is not None:
@@ -2692,6 +2623,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(transferGroupOwnership_result)
+transferGroupOwnership_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class addGroupAdmins_args(object):
@@ -2700,14 +2637,9 @@
      - authzToken
      - groupId
      - adminIds
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, groupId=None, adminIds=None,):
         self.authzToken = authzToken
@@ -2716,7 +2648,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2731,7 +2663,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -2739,7 +2671,7 @@
                     self.adminIds = []
                     (_etype31, _size28) = iprot.readListBegin()
                     for _i32 in range(_size28):
-                        _elem33 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem33 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.adminIds.append(_elem33)
                     iprot.readListEnd()
                 else:
@@ -2751,7 +2683,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGroupAdmins_args')
         if self.authzToken is not None:
@@ -2791,6 +2723,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGroupAdmins_args)
+addGroupAdmins_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
 
 
 class addGroupAdmins_result(object):
@@ -2799,13 +2738,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -2814,7 +2749,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2828,14 +2763,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2845,7 +2778,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGroupAdmins_result')
         if self.success is not None:
@@ -2876,6 +2809,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGroupAdmins_result)
+addGroupAdmins_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class removeGroupAdmins_args(object):
@@ -2884,14 +2823,9 @@
      - authzToken
      - groupId
      - adminIds
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, groupId=None, adminIds=None,):
         self.authzToken = authzToken
@@ -2900,7 +2834,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2915,7 +2849,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -2923,7 +2857,7 @@
                     self.adminIds = []
                     (_etype38, _size35) = iprot.readListBegin()
                     for _i39 in range(_size35):
-                        _elem40 = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                        _elem40 = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                         self.adminIds.append(_elem40)
                     iprot.readListEnd()
                 else:
@@ -2935,7 +2869,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupAdmins_args')
         if self.authzToken is not None:
@@ -2975,6 +2909,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupAdmins_args)
+removeGroupAdmins_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.LIST, 'adminIds', (TType.STRING, 'UTF8', False), None, ),  # 3
+)
 
 
 class removeGroupAdmins_result(object):
@@ -2983,13 +2924,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -2998,7 +2935,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3012,14 +2949,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3029,7 +2964,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeGroupAdmins_result')
         if self.success is not None:
@@ -3060,6 +2995,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeGroupAdmins_result)
+removeGroupAdmins_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class hasAdminAccess_args(object):
@@ -3068,14 +3009,9 @@
      - authzToken
      - groupId
      - adminId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'adminId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, groupId=None, adminId=None,):
         self.authzToken = authzToken
@@ -3084,7 +3020,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3099,12 +3035,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.adminId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.adminId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -3114,7 +3050,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasAdminAccess_args')
         if self.authzToken is not None:
@@ -3151,6 +3087,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasAdminAccess_args)
+hasAdminAccess_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'adminId', 'UTF8', None, ),  # 3
+)
 
 
 class hasAdminAccess_result(object):
@@ -3159,13 +3102,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -3174,7 +3113,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3188,14 +3127,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3205,7 +3142,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasAdminAccess_result')
         if self.success is not None:
@@ -3236,6 +3173,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasAdminAccess_result)
+hasAdminAccess_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class hasOwnerAccess_args(object):
@@ -3244,14 +3187,9 @@
      - authzToken
      - groupId
      - ownerId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, groupId=None, ownerId=None,):
         self.authzToken = authzToken
@@ -3260,7 +3198,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3275,12 +3213,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.groupId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.groupId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.ownerId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.ownerId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -3290,7 +3228,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasOwnerAccess_args')
         if self.authzToken is not None:
@@ -3327,6 +3265,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasOwnerAccess_args)
+hasOwnerAccess_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'groupId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'ownerId', 'UTF8', None, ),  # 3
+)
 
 
 class hasOwnerAccess_result(object):
@@ -3335,13 +3280,9 @@
      - success
      - gse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'gse', (airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, gse=None, ae=None,):
         self.success = success
@@ -3350,7 +3291,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3364,14 +3305,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException()
-                    self.gse.read(iprot)
+                    self.gse = airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3381,7 +3320,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('hasOwnerAccess_result')
         if self.success is not None:
@@ -3412,3 +3351,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(hasOwnerAccess_result)
+hasOwnerAccess_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'gse', [airavata.service.profile.groupmanager.cpi.error.ttypes.GroupManagerServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/constants.py
index bdceed5..01567e7 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 GROUP_MANAGER_CPI_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/ttypes.py
index 82a0777..41ea9f2 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/error/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,47 +8,60 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class GroupManagerServiceException(TException):
     """
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(GroupManagerServiceException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('GroupManagerServiceException')
         if self.message is not None:
@@ -76,3 +89,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(GroupManagerServiceException)
+GroupManagerServiceException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py
index 0904d71..d620c6f 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/groupmanager/cpi/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.api.error.ttypes
 import airavata.model.security.ttypes
@@ -16,3 +18,6 @@
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote
index 876c1a7..f10a739 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
index 4b0701c..2feb6b9 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
@@ -22,6 +25,7 @@
         Parameters:
          - authzToken
          - gateway
+
         """
         pass
 
@@ -30,6 +34,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         pass
 
@@ -42,6 +47,7 @@
          - firstName
          - lastName
          - newPassword
+
         """
         pass
 
@@ -50,6 +56,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         pass
 
@@ -58,6 +65,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         pass
 
@@ -66,6 +74,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         pass
 
@@ -74,6 +83,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         pass
 
@@ -84,6 +94,7 @@
          - offset
          - limit
          - search
+
         """
         pass
 
@@ -93,6 +104,7 @@
          - authzToken
          - username
          - newPassword
+
         """
         pass
 
@@ -102,6 +114,7 @@
          - authzToken
          - email
          - userId
+
         """
         pass
 
@@ -110,6 +123,7 @@
         Parameters:
          - authzToken
          - userDetails
+
         """
         pass
 
@@ -118,6 +132,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         pass
 
@@ -127,6 +142,7 @@
          - authzToken
          - username
          - roleName
+
         """
         pass
 
@@ -136,6 +152,7 @@
          - authzToken
          - username
          - roleName
+
         """
         pass
 
@@ -144,6 +161,7 @@
         Parameters:
          - authzToken
          - roleName
+
         """
         pass
 
@@ -157,6 +175,7 @@
         Parameters:
          - authzToken
          - gateway
+
         """
         self.send_setUpGateway(authzToken, gateway)
         return self.recv_setUpGateway()
@@ -194,6 +213,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         self.send_isUsernameAvailable(authzToken, username)
         return self.recv_isUsernameAvailable()
@@ -235,6 +255,7 @@
          - firstName
          - lastName
          - newPassword
+
         """
         self.send_registerUser(authzToken, username, emailAddress, firstName, lastName, newPassword)
         return self.recv_registerUser()
@@ -276,6 +297,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         self.send_enableUser(authzToken, username)
         return self.recv_enableUser()
@@ -313,6 +335,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         self.send_isUserEnabled(authzToken, username)
         return self.recv_isUserEnabled()
@@ -350,6 +373,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         self.send_isUserExist(authzToken, username)
         return self.recv_isUserExist()
@@ -387,6 +411,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         self.send_getUser(authzToken, username)
         return self.recv_getUser()
@@ -426,6 +451,7 @@
          - offset
          - limit
          - search
+
         """
         self.send_getUsers(authzToken, offset, limit, search)
         return self.recv_getUsers()
@@ -466,6 +492,7 @@
          - authzToken
          - username
          - newPassword
+
         """
         self.send_resetUserPassword(authzToken, username, newPassword)
         return self.recv_resetUserPassword()
@@ -505,6 +532,7 @@
          - authzToken
          - email
          - userId
+
         """
         self.send_findUsers(authzToken, email, userId)
         return self.recv_findUsers()
@@ -543,6 +571,7 @@
         Parameters:
          - authzToken
          - userDetails
+
         """
         self.send_updateUserProfile(authzToken, userDetails)
         self.recv_updateUserProfile()
@@ -578,6 +607,7 @@
         Parameters:
          - authzToken
          - username
+
         """
         self.send_deleteUser(authzToken, username)
         return self.recv_deleteUser()
@@ -616,6 +646,7 @@
          - authzToken
          - username
          - roleName
+
         """
         self.send_addRoleToUser(authzToken, username, roleName)
         return self.recv_addRoleToUser()
@@ -655,6 +686,7 @@
          - authzToken
          - username
          - roleName
+
         """
         self.send_removeRoleFromUser(authzToken, username, roleName)
         return self.recv_removeRoleFromUser()
@@ -693,6 +725,7 @@
         Parameters:
          - authzToken
          - roleName
+
         """
         self.send_getUsersWithRole(authzToken, roleName)
         return self.recv_getUsersWithRole()
@@ -744,9 +777,15 @@
         self._processMap["addRoleToUser"] = Processor.process_addRoleToUser
         self._processMap["removeRoleFromUser"] = Processor.process_removeRoleFromUser
         self._processMap["getUsersWithRole"] = Processor.process_getUsersWithRole
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -768,7 +807,7 @@
         try:
             result.success = self._handler.setUpGateway(args.authzToken, args.gateway)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -776,9 +815,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("setUpGateway", msg_type, seqid)
         result.write(oprot)
@@ -793,7 +836,7 @@
         try:
             result.success = self._handler.isUsernameAvailable(args.authzToken, args.username)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -801,9 +844,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isUsernameAvailable", msg_type, seqid)
         result.write(oprot)
@@ -818,7 +865,7 @@
         try:
             result.success = self._handler.registerUser(args.authzToken, args.username, args.emailAddress, args.firstName, args.lastName, args.newPassword)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -826,9 +873,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("registerUser", msg_type, seqid)
         result.write(oprot)
@@ -843,7 +894,7 @@
         try:
             result.success = self._handler.enableUser(args.authzToken, args.username)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -851,9 +902,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("enableUser", msg_type, seqid)
         result.write(oprot)
@@ -868,7 +923,7 @@
         try:
             result.success = self._handler.isUserEnabled(args.authzToken, args.username)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -876,9 +931,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isUserEnabled", msg_type, seqid)
         result.write(oprot)
@@ -893,7 +952,7 @@
         try:
             result.success = self._handler.isUserExist(args.authzToken, args.username)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -901,9 +960,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isUserExist", msg_type, seqid)
         result.write(oprot)
@@ -918,7 +981,7 @@
         try:
             result.success = self._handler.getUser(args.authzToken, args.username)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -926,9 +989,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUser", msg_type, seqid)
         result.write(oprot)
@@ -943,7 +1010,7 @@
         try:
             result.success = self._handler.getUsers(args.authzToken, args.offset, args.limit, args.search)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -951,9 +1018,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUsers", msg_type, seqid)
         result.write(oprot)
@@ -968,7 +1039,7 @@
         try:
             result.success = self._handler.resetUserPassword(args.authzToken, args.username, args.newPassword)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -976,9 +1047,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("resetUserPassword", msg_type, seqid)
         result.write(oprot)
@@ -993,7 +1068,7 @@
         try:
             result.success = self._handler.findUsers(args.authzToken, args.email, args.userId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -1001,9 +1076,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("findUsers", msg_type, seqid)
         result.write(oprot)
@@ -1018,7 +1097,7 @@
         try:
             self._handler.updateUserProfile(args.authzToken, args.userDetails)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -1026,9 +1105,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUserProfile", msg_type, seqid)
         result.write(oprot)
@@ -1043,7 +1126,7 @@
         try:
             result.success = self._handler.deleteUser(args.authzToken, args.username)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -1051,9 +1134,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteUser", msg_type, seqid)
         result.write(oprot)
@@ -1068,7 +1155,7 @@
         try:
             result.success = self._handler.addRoleToUser(args.authzToken, args.username, args.roleName)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -1076,9 +1163,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addRoleToUser", msg_type, seqid)
         result.write(oprot)
@@ -1093,7 +1184,7 @@
         try:
             result.success = self._handler.removeRoleFromUser(args.authzToken, args.username, args.roleName)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -1101,9 +1192,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("removeRoleFromUser", msg_type, seqid)
         result.write(oprot)
@@ -1118,7 +1213,7 @@
         try:
             result.success = self._handler.getUsersWithRole(args.authzToken, args.roleName)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException as Idse:
             msg_type = TMessageType.REPLY
@@ -1126,9 +1221,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUsersWithRole", msg_type, seqid)
         result.write(oprot)
@@ -1143,13 +1242,9 @@
     Attributes:
      - authzToken
      - gateway
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'gateway', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gateway=None,):
         self.authzToken = authzToken
@@ -1157,7 +1252,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1183,7 +1278,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('setUpGateway_args')
         if self.authzToken is not None:
@@ -1214,6 +1309,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(setUpGateway_args)
+setUpGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'gateway', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 2
+)
 
 
 class setUpGateway_result(object):
@@ -1222,13 +1323,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -1237,7 +1334,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1252,14 +1349,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1269,7 +1364,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('setUpGateway_result')
         if self.success is not None:
@@ -1300,6 +1395,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(setUpGateway_result)
+setUpGateway_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class isUsernameAvailable_args(object):
@@ -1307,13 +1408,9 @@
     Attributes:
      - authzToken
      - username
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, username=None,):
         self.authzToken = authzToken
@@ -1321,7 +1418,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1336,7 +1433,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1346,7 +1443,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUsernameAvailable_args')
         if self.authzToken is not None:
@@ -1377,6 +1474,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUsernameAvailable_args)
+isUsernameAvailable_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+)
 
 
 class isUsernameAvailable_result(object):
@@ -1385,13 +1488,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -1400,7 +1499,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1414,14 +1513,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1431,7 +1528,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUsernameAvailable_result')
         if self.success is not None:
@@ -1462,6 +1559,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUsernameAvailable_result)
+isUsernameAvailable_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class registerUser_args(object):
@@ -1473,17 +1576,9 @@
      - firstName
      - lastName
      - newPassword
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'emailAddress', 'UTF8', None, ),  # 3
-        (4, TType.STRING, 'firstName', 'UTF8', None, ),  # 4
-        (5, TType.STRING, 'lastName', 'UTF8', None, ),  # 5
-        (6, TType.STRING, 'newPassword', 'UTF8', None, ),  # 6
-    )
 
     def __init__(self, authzToken=None, username=None, emailAddress=None, firstName=None, lastName=None, newPassword=None,):
         self.authzToken = authzToken
@@ -1495,7 +1590,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1510,27 +1605,27 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.emailAddress = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.emailAddress = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.firstName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.firstName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 5:
                 if ftype == TType.STRING:
-                    self.lastName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.lastName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 6:
                 if ftype == TType.STRING:
-                    self.newPassword = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newPassword = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1540,7 +1635,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerUser_args')
         if self.authzToken is not None:
@@ -1595,6 +1690,16 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerUser_args)
+registerUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'emailAddress', 'UTF8', None, ),  # 3
+    (4, TType.STRING, 'firstName', 'UTF8', None, ),  # 4
+    (5, TType.STRING, 'lastName', 'UTF8', None, ),  # 5
+    (6, TType.STRING, 'newPassword', 'UTF8', None, ),  # 6
+)
 
 
 class registerUser_result(object):
@@ -1603,13 +1708,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -1618,7 +1719,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1632,14 +1733,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1649,7 +1748,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('registerUser_result')
         if self.success is not None:
@@ -1680,6 +1779,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(registerUser_result)
+registerUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class enableUser_args(object):
@@ -1687,13 +1792,9 @@
     Attributes:
      - authzToken
      - username
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, username=None,):
         self.authzToken = authzToken
@@ -1701,7 +1802,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1716,7 +1817,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1726,7 +1827,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('enableUser_args')
         if self.authzToken is not None:
@@ -1757,6 +1858,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(enableUser_args)
+enableUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+)
 
 
 class enableUser_result(object):
@@ -1765,13 +1872,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -1780,7 +1883,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1794,14 +1897,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1811,7 +1912,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('enableUser_result')
         if self.success is not None:
@@ -1842,6 +1943,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(enableUser_result)
+enableUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class isUserEnabled_args(object):
@@ -1849,13 +1956,9 @@
     Attributes:
      - authzToken
      - username
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, username=None,):
         self.authzToken = authzToken
@@ -1863,7 +1966,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1878,7 +1981,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1888,7 +1991,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserEnabled_args')
         if self.authzToken is not None:
@@ -1919,6 +2022,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserEnabled_args)
+isUserEnabled_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+)
 
 
 class isUserEnabled_result(object):
@@ -1927,13 +2036,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -1942,7 +2047,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1956,14 +2061,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1973,7 +2076,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserEnabled_result')
         if self.success is not None:
@@ -2004,6 +2107,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserEnabled_result)
+isUserEnabled_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class isUserExist_args(object):
@@ -2011,13 +2120,9 @@
     Attributes:
      - authzToken
      - username
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, username=None,):
         self.authzToken = authzToken
@@ -2025,7 +2130,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2040,7 +2145,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2050,7 +2155,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserExist_args')
         if self.authzToken is not None:
@@ -2081,6 +2186,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserExist_args)
+isUserExist_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+)
 
 
 class isUserExist_result(object):
@@ -2089,13 +2200,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -2104,7 +2211,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2118,14 +2225,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2135,7 +2240,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isUserExist_result')
         if self.success is not None:
@@ -2166,6 +2271,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isUserExist_result)
+isUserExist_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getUser_args(object):
@@ -2173,13 +2284,9 @@
     Attributes:
      - authzToken
      - username
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, username=None,):
         self.authzToken = authzToken
@@ -2187,7 +2294,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2202,7 +2309,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2212,7 +2319,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUser_args')
         if self.authzToken is not None:
@@ -2243,6 +2350,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUser_args)
+getUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+)
 
 
 class getUser_result(object):
@@ -2251,13 +2364,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -2266,7 +2375,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2281,14 +2390,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2298,7 +2405,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUser_result')
         if self.success is not None:
@@ -2329,6 +2436,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUser_result)
+getUser_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.user.ttypes.UserProfile, None], None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getUsers_args(object):
@@ -2338,15 +2451,9 @@
      - offset
      - limit
      - search
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.I32, 'offset', None, None, ),  # 2
-        (3, TType.I32, 'limit', None, None, ),  # 3
-        (4, TType.STRING, 'search', 'UTF8', None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, offset=None, limit=None, search=None,):
         self.authzToken = authzToken
@@ -2356,7 +2463,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2381,7 +2488,7 @@
                     iprot.skip(ftype)
             elif fid == 4:
                 if ftype == TType.STRING:
-                    self.search = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.search = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2391,7 +2498,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUsers_args')
         if self.authzToken is not None:
@@ -2432,6 +2539,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUsers_args)
+getUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.I32, 'offset', None, None, ),  # 2
+    (3, TType.I32, 'limit', None, None, ),  # 3
+    (4, TType.STRING, 'search', 'UTF8', None, ),  # 4
+)
 
 
 class getUsers_result(object):
@@ -2440,13 +2555,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -2455,7 +2566,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2475,14 +2586,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2492,7 +2601,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUsers_result')
         if self.success is not None:
@@ -2526,6 +2635,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUsers_result)
+getUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.user.ttypes.UserProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class resetUserPassword_args(object):
@@ -2534,14 +2649,9 @@
      - authzToken
      - username
      - newPassword
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'newPassword', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, username=None, newPassword=None,):
         self.authzToken = authzToken
@@ -2550,7 +2660,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2565,12 +2675,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.newPassword = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.newPassword = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2580,7 +2690,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('resetUserPassword_args')
         if self.authzToken is not None:
@@ -2617,6 +2727,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(resetUserPassword_args)
+resetUserPassword_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'newPassword', 'UTF8', None, ),  # 3
+)
 
 
 class resetUserPassword_result(object):
@@ -2625,13 +2742,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -2640,7 +2753,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2654,14 +2767,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2671,7 +2782,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('resetUserPassword_result')
         if self.success is not None:
@@ -2702,6 +2813,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(resetUserPassword_result)
+resetUserPassword_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class findUsers_args(object):
@@ -2710,14 +2827,9 @@
      - authzToken
      - email
      - userId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'email', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, email=None, userId=None,):
         self.authzToken = authzToken
@@ -2726,7 +2838,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2741,12 +2853,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.email = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.email = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -2756,7 +2868,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('findUsers_args')
         if self.authzToken is not None:
@@ -2793,6 +2905,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(findUsers_args)
+findUsers_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'email', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'userId', 'UTF8', None, ),  # 3
+)
 
 
 class findUsers_result(object):
@@ -2801,13 +2920,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -2816,7 +2931,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2836,14 +2951,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -2853,7 +2966,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('findUsers_result')
         if self.success is not None:
@@ -2887,6 +3000,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(findUsers_result)
+findUsers_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.user.ttypes.UserProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class updateUserProfile_args(object):
@@ -2894,13 +3013,9 @@
     Attributes:
      - authzToken
      - userDetails
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'userDetails', (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, userDetails=None,):
         self.authzToken = authzToken
@@ -2908,7 +3023,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2934,7 +3049,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserProfile_args')
         if self.authzToken is not None:
@@ -2965,6 +3080,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserProfile_args)
+updateUserProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'userDetails', [airavata.model.user.ttypes.UserProfile, None], None, ),  # 2
+)
 
 
 class updateUserProfile_result(object):
@@ -2972,13 +3093,9 @@
     Attributes:
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, Idse=None, ae=None,):
         self.Idse = Idse
@@ -2986,7 +3103,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -2995,14 +3112,12 @@
                 break
             if fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3012,7 +3127,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserProfile_result')
         if self.Idse is not None:
@@ -3039,6 +3154,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserProfile_result)
+updateUserProfile_result.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class deleteUser_args(object):
@@ -3046,13 +3167,9 @@
     Attributes:
      - authzToken
      - username
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, username=None,):
         self.authzToken = authzToken
@@ -3060,7 +3177,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3075,7 +3192,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -3085,7 +3202,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUser_args')
         if self.authzToken is not None:
@@ -3116,6 +3233,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUser_args)
+deleteUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+)
 
 
 class deleteUser_result(object):
@@ -3124,13 +3247,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -3139,7 +3258,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3153,14 +3272,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3170,7 +3287,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUser_result')
         if self.success is not None:
@@ -3201,6 +3318,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUser_result)
+deleteUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class addRoleToUser_args(object):
@@ -3209,14 +3332,9 @@
      - authzToken
      - username
      - roleName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'roleName', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, username=None, roleName=None,):
         self.authzToken = authzToken
@@ -3225,7 +3343,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3240,12 +3358,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.roleName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.roleName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -3255,7 +3373,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addRoleToUser_args')
         if self.authzToken is not None:
@@ -3292,6 +3410,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addRoleToUser_args)
+addRoleToUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'roleName', 'UTF8', None, ),  # 3
+)
 
 
 class addRoleToUser_result(object):
@@ -3300,13 +3425,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -3315,7 +3436,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3329,14 +3450,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3346,7 +3465,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addRoleToUser_result')
         if self.success is not None:
@@ -3377,6 +3496,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addRoleToUser_result)
+addRoleToUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class removeRoleFromUser_args(object):
@@ -3385,14 +3510,9 @@
      - authzToken
      - username
      - roleName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'roleName', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, username=None, roleName=None,):
         self.authzToken = authzToken
@@ -3401,7 +3521,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3416,12 +3536,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.username = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.username = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.roleName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.roleName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -3431,7 +3551,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeRoleFromUser_args')
         if self.authzToken is not None:
@@ -3468,6 +3588,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeRoleFromUser_args)
+removeRoleFromUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'username', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'roleName', 'UTF8', None, ),  # 3
+)
 
 
 class removeRoleFromUser_result(object):
@@ -3476,13 +3603,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -3491,7 +3614,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3505,14 +3628,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3522,7 +3643,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('removeRoleFromUser_result')
         if self.success is not None:
@@ -3553,6 +3674,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(removeRoleFromUser_result)
+removeRoleFromUser_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getUsersWithRole_args(object):
@@ -3560,13 +3687,9 @@
     Attributes:
      - authzToken
      - roleName
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'roleName', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, roleName=None,):
         self.authzToken = authzToken
@@ -3574,7 +3697,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3589,7 +3712,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.roleName = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.roleName = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -3599,7 +3722,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUsersWithRole_args')
         if self.authzToken is not None:
@@ -3630,6 +3753,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUsersWithRole_args)
+getUsersWithRole_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'roleName', 'UTF8', None, ),  # 2
+)
 
 
 class getUsersWithRole_result(object):
@@ -3638,13 +3767,9 @@
      - success
      - Idse
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'Idse', (airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, Idse=None, ae=None,):
         self.success = success
@@ -3653,7 +3778,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -3673,14 +3798,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException()
-                    self.Idse.read(iprot)
+                    self.Idse = airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -3690,7 +3813,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUsersWithRole_result')
         if self.success is not None:
@@ -3724,3 +3847,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUsersWithRole_result)
+getUsersWithRole_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.user.ttypes.UserProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'Idse', [airavata.service.profile.iam.admin.services.cpi.error.ttypes.IamAdminServicesException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/constants.py
index bf5320d..64d463f 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 IAM_ADMIN_SERVICES_CPI_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/ttypes.py
index 4629ab9..64ea0f5 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/error/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,47 +8,60 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class IamAdminServicesException(TException):
     """
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(IamAdminServicesException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('IamAdminServicesException')
         if self.message is not None:
@@ -76,3 +89,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(IamAdminServicesException)
+IamAdminServicesException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py
index a564541..8849757 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/iam/admin/services/cpi/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.api.error.ttypes
 import airavata.model.security.ttypes
@@ -18,3 +20,6 @@
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService-remote
index 4283ca1..cde5b6d 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService.py
index be0a5ec..c1d67db 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/TenantProfileService.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,12 +8,15 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
@@ -24,6 +27,7 @@
         Parameters:
          - authzToken
          - gateway
+
         """
         pass
 
@@ -32,6 +36,7 @@
         Parameters:
          - authzToken
          - updatedGateway
+
         """
         pass
 
@@ -40,6 +45,7 @@
         Parameters:
          - authzToken
          - airavataInternalGatewayId
+
         """
         pass
 
@@ -49,6 +55,7 @@
          - authzToken
          - airavataInternalGatewayId
          - gatewayId
+
         """
         pass
 
@@ -56,6 +63,7 @@
         """
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -64,6 +72,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         pass
 
@@ -72,6 +81,7 @@
         Parameters:
          - authzToken
          - requesterUsername
+
         """
         pass
 
@@ -87,6 +97,7 @@
         Parameters:
          - authzToken
          - gateway
+
         """
         self.send_addGateway(authzToken, gateway)
         return self.recv_addGateway()
@@ -124,6 +135,7 @@
         Parameters:
          - authzToken
          - updatedGateway
+
         """
         self.send_updateGateway(authzToken, updatedGateway)
         return self.recv_updateGateway()
@@ -161,6 +173,7 @@
         Parameters:
          - authzToken
          - airavataInternalGatewayId
+
         """
         self.send_getGateway(authzToken, airavataInternalGatewayId)
         return self.recv_getGateway()
@@ -199,6 +212,7 @@
          - authzToken
          - airavataInternalGatewayId
          - gatewayId
+
         """
         self.send_deleteGateway(authzToken, airavataInternalGatewayId, gatewayId)
         return self.recv_deleteGateway()
@@ -236,6 +250,7 @@
         """
         Parameters:
          - authzToken
+
         """
         self.send_getAllGateways(authzToken)
         return self.recv_getAllGateways()
@@ -272,6 +287,7 @@
         Parameters:
          - authzToken
          - gatewayId
+
         """
         self.send_isGatewayExist(authzToken, gatewayId)
         return self.recv_isGatewayExist()
@@ -309,6 +325,7 @@
         Parameters:
          - authzToken
          - requesterUsername
+
         """
         self.send_getAllGatewaysForUser(authzToken, requesterUsername)
         return self.recv_getAllGatewaysForUser()
@@ -352,9 +369,15 @@
         self._processMap["getAllGateways"] = Processor.process_getAllGateways
         self._processMap["isGatewayExist"] = Processor.process_isGatewayExist
         self._processMap["getAllGatewaysForUser"] = Processor.process_getAllGatewaysForUser
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -376,7 +399,7 @@
         try:
             result.success = self._handler.addGateway(args.authzToken, args.gateway)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -384,9 +407,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addGateway", msg_type, seqid)
         result.write(oprot)
@@ -401,7 +428,7 @@
         try:
             result.success = self._handler.updateGateway(args.authzToken, args.updatedGateway)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -409,9 +436,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateGateway", msg_type, seqid)
         result.write(oprot)
@@ -426,7 +457,7 @@
         try:
             result.success = self._handler.getGateway(args.authzToken, args.airavataInternalGatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -434,9 +465,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getGateway", msg_type, seqid)
         result.write(oprot)
@@ -451,7 +486,7 @@
         try:
             result.success = self._handler.deleteGateway(args.authzToken, args.airavataInternalGatewayId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -459,9 +494,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteGateway", msg_type, seqid)
         result.write(oprot)
@@ -476,7 +515,7 @@
         try:
             result.success = self._handler.getAllGateways(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -484,9 +523,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGateways", msg_type, seqid)
         result.write(oprot)
@@ -501,7 +544,7 @@
         try:
             result.success = self._handler.isGatewayExist(args.authzToken, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -509,9 +552,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("isGatewayExist", msg_type, seqid)
         result.write(oprot)
@@ -526,7 +573,7 @@
         try:
             result.success = self._handler.getAllGatewaysForUser(args.authzToken, args.requesterUsername)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException as tpe:
             msg_type = TMessageType.REPLY
@@ -534,9 +581,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllGatewaysForUser", msg_type, seqid)
         result.write(oprot)
@@ -551,13 +602,9 @@
     Attributes:
      - authzToken
      - gateway
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'gateway', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gateway=None,):
         self.authzToken = authzToken
@@ -565,7 +612,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -591,7 +638,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGateway_args')
         if self.authzToken is not None:
@@ -622,6 +669,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGateway_args)
+addGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'gateway', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 2
+)
 
 
 class addGateway_result(object):
@@ -630,13 +683,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -645,7 +694,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -654,19 +703,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -676,7 +723,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addGateway_result')
         if self.success is not None:
@@ -707,6 +754,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addGateway_result)
+addGateway_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class updateGateway_args(object):
@@ -714,13 +767,9 @@
     Attributes:
      - authzToken
      - updatedGateway
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'updatedGateway', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, updatedGateway=None,):
         self.authzToken = authzToken
@@ -728,7 +777,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -754,7 +803,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGateway_args')
         if self.authzToken is not None:
@@ -785,6 +834,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGateway_args)
+updateGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'updatedGateway', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 2
+)
 
 
 class updateGateway_result(object):
@@ -793,13 +848,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -808,7 +859,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -822,14 +873,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -839,7 +888,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateGateway_result')
         if self.success is not None:
@@ -870,6 +919,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateGateway_result)
+updateGateway_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getGateway_args(object):
@@ -877,13 +932,9 @@
     Attributes:
      - authzToken
      - airavataInternalGatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataInternalGatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, airavataInternalGatewayId=None,):
         self.authzToken = authzToken
@@ -891,7 +942,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -906,7 +957,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataInternalGatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -916,7 +967,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGateway_args')
         if self.authzToken is not None:
@@ -947,6 +998,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGateway_args)
+getGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataInternalGatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class getGateway_result(object):
@@ -955,13 +1012,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -970,7 +1023,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -985,14 +1038,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1002,7 +1053,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getGateway_result')
         if self.success is not None:
@@ -1033,6 +1084,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getGateway_result)
+getGateway_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.workspace.ttypes.Gateway, None], None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class deleteGateway_args(object):
@@ -1041,14 +1098,9 @@
      - authzToken
      - airavataInternalGatewayId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'airavataInternalGatewayId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, airavataInternalGatewayId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -1057,7 +1109,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1072,12 +1124,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.airavataInternalGatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.airavataInternalGatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1087,7 +1139,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGateway_args')
         if self.authzToken is not None:
@@ -1124,6 +1176,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGateway_args)
+deleteGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'airavataInternalGatewayId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteGateway_result(object):
@@ -1132,13 +1191,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -1147,7 +1202,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1161,14 +1216,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1178,7 +1231,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteGateway_result')
         if self.success is not None:
@@ -1209,25 +1262,28 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteGateway_result)
+deleteGateway_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getAllGateways_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1247,7 +1303,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGateways_args')
         if self.authzToken is not None:
@@ -1272,6 +1328,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGateways_args)
+getAllGateways_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class getAllGateways_result(object):
@@ -1280,13 +1341,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -1295,7 +1352,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1315,14 +1372,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1332,7 +1387,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGateways_result')
         if self.success is not None:
@@ -1366,6 +1421,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGateways_result)
+getAllGateways_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.workspace.ttypes.Gateway, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class isGatewayExist_args(object):
@@ -1373,13 +1434,9 @@
     Attributes:
      - authzToken
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -1387,7 +1444,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1402,7 +1459,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1412,7 +1469,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isGatewayExist_args')
         if self.authzToken is not None:
@@ -1443,6 +1500,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isGatewayExist_args)
+isGatewayExist_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+)
 
 
 class isGatewayExist_result(object):
@@ -1451,13 +1514,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -1466,7 +1525,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1480,14 +1539,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1497,7 +1554,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('isGatewayExist_result')
         if self.success is not None:
@@ -1528,6 +1585,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(isGatewayExist_result)
+isGatewayExist_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getAllGatewaysForUser_args(object):
@@ -1535,13 +1598,9 @@
     Attributes:
      - authzToken
      - requesterUsername
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'requesterUsername', 'UTF8', None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, requesterUsername=None,):
         self.authzToken = authzToken
@@ -1549,7 +1608,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1564,7 +1623,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.requesterUsername = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.requesterUsername = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1574,7 +1633,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewaysForUser_args')
         if self.authzToken is not None:
@@ -1605,6 +1664,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewaysForUser_args)
+getAllGatewaysForUser_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'requesterUsername', 'UTF8', None, ),  # 2
+)
 
 
 class getAllGatewaysForUser_result(object):
@@ -1613,13 +1678,9 @@
      - success
      - tpe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.workspace.ttypes.Gateway, airavata.model.workspace.ttypes.Gateway.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'tpe', (airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, tpe=None, ae=None,):
         self.success = success
@@ -1628,7 +1689,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1648,14 +1709,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException()
-                    self.tpe.read(iprot)
+                    self.tpe = airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1665,7 +1724,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllGatewaysForUser_result')
         if self.success is not None:
@@ -1699,3 +1758,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllGatewaysForUser_result)
+getAllGatewaysForUser_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.workspace.ttypes.Gateway, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'tpe', [airavata.service.profile.tenant.cpi.error.ttypes.TenantProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/constants.py
index c863ee3..a0b3c38 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 TENANT_PROFILE_CPI_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/ttypes.py
index ff11c57..4b2ebd4 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/error/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,47 +8,60 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class TenantProfileServiceException(TException):
     """
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(TenantProfileServiceException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('TenantProfileServiceException')
         if self.message is not None:
@@ -76,3 +89,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(TenantProfileServiceException)
+TenantProfileServiceException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
index 0ff6cbb..985bab3 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/tenant/cpi/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.api.error.ttypes
 import airavata.model.security.ttypes
@@ -16,3 +18,6 @@
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/ttypes.py
index 3bf806e..b10ff95 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.service.profile.user.cpi.ttypes
 import airavata.service.profile.tenant.cpi.ttypes
@@ -16,3 +18,6 @@
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService-remote b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService-remote
index 728ade5..1c80e93 100755
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService-remote
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService-remote
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -24,7 +24,6 @@
     print('Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] [-s[sl]] [-novalidate] [-ca_certs certs] [-keyfile keyfile] [-certfile certfile] function [arg1 [arg2...]]')
     print('')
     print('Functions:')
-    print('  string getAPIVersion()')
     print('  string initializeUserProfile(AuthzToken authzToken)')
     print('  string addUserProfile(AuthzToken authzToken, UserProfile userProfile)')
     print('  bool updateUserProfile(AuthzToken authzToken, UserProfile userProfile)')
@@ -112,13 +111,7 @@
 client = UserProfileService.Client(protocol)
 transport.open()
 
-if cmd == 'getAPIVersion':
-    if len(args) != 0:
-        print('getAPIVersion requires 0 args')
-        sys.exit(1)
-    pp.pprint(client.getAPIVersion())
-
-elif cmd == 'initializeUserProfile':
+if cmd == 'initializeUserProfile':
     if len(args) != 1:
         print('initializeUserProfile requires 1 args')
         sys.exit(1)
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService.py
index 98f33fb..168037c 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/UserProfileService.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,24 +8,25 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.base.api.BaseAPI
 import logging
 from .ttypes import *
 from thrift.Thrift import TProcessor
 from thrift.transport import TTransport
+all_structs = []
 
 
 class Iface(airavata.base.api.BaseAPI.Iface):
-    def getAPIVersion(self):
-        pass
-
     def initializeUserProfile(self, authzToken):
         """
         Create an initial UserProfile based on information in the IAM service for this user.
 
         Parameters:
          - authzToken
+
         """
         pass
 
@@ -38,6 +39,7 @@
         Parameters:
          - authzToken
          - userProfile
+
         """
         pass
 
@@ -46,6 +48,7 @@
         Parameters:
          - authzToken
          - userProfile
+
         """
         pass
 
@@ -55,6 +58,7 @@
          - authzToken
          - userId
          - gatewayId
+
         """
         pass
 
@@ -64,6 +68,7 @@
          - authzToken
          - userId
          - gatewayId
+
         """
         pass
 
@@ -74,6 +79,7 @@
          - gatewayId
          - offset
          - limit
+
         """
         pass
 
@@ -83,6 +89,7 @@
          - authzToken
          - userId
          - gatewayId
+
         """
         pass
 
@@ -91,40 +98,13 @@
     def __init__(self, iprot, oprot=None):
         airavata.base.api.BaseAPI.Client.__init__(self, iprot, oprot)
 
-    def getAPIVersion(self):
-        self.send_getAPIVersion()
-        return self.recv_getAPIVersion()
-
-    def send_getAPIVersion(self):
-        self._oprot.writeMessageBegin('getAPIVersion', TMessageType.CALL, self._seqid)
-        args = getAPIVersion_args()
-        args.write(self._oprot)
-        self._oprot.writeMessageEnd()
-        self._oprot.trans.flush()
-
-    def recv_getAPIVersion(self):
-        iprot = self._iprot
-        (fname, mtype, rseqid) = iprot.readMessageBegin()
-        if mtype == TMessageType.EXCEPTION:
-            x = TApplicationException()
-            x.read(iprot)
-            iprot.readMessageEnd()
-            raise x
-        result = getAPIVersion_result()
-        result.read(iprot)
-        iprot.readMessageEnd()
-        if result.success is not None:
-            return result.success
-        if result.upe is not None:
-            raise result.upe
-        raise TApplicationException(TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result")
-
     def initializeUserProfile(self, authzToken):
         """
         Create an initial UserProfile based on information in the IAM service for this user.
 
         Parameters:
          - authzToken
+
         """
         self.send_initializeUserProfile(authzToken)
         return self.recv_initializeUserProfile()
@@ -165,6 +145,7 @@
         Parameters:
          - authzToken
          - userProfile
+
         """
         self.send_addUserProfile(authzToken, userProfile)
         return self.recv_addUserProfile()
@@ -202,6 +183,7 @@
         Parameters:
          - authzToken
          - userProfile
+
         """
         self.send_updateUserProfile(authzToken, userProfile)
         return self.recv_updateUserProfile()
@@ -240,6 +222,7 @@
          - authzToken
          - userId
          - gatewayId
+
         """
         self.send_getUserProfileById(authzToken, userId, gatewayId)
         return self.recv_getUserProfileById()
@@ -279,6 +262,7 @@
          - authzToken
          - userId
          - gatewayId
+
         """
         self.send_deleteUserProfile(authzToken, userId, gatewayId)
         return self.recv_deleteUserProfile()
@@ -319,6 +303,7 @@
          - gatewayId
          - offset
          - limit
+
         """
         self.send_getAllUserProfilesInGateway(authzToken, gatewayId, offset, limit)
         return self.recv_getAllUserProfilesInGateway()
@@ -359,6 +344,7 @@
          - authzToken
          - userId
          - gatewayId
+
         """
         self.send_doesUserExist(authzToken, userId, gatewayId)
         return self.recv_doesUserExist()
@@ -396,7 +382,6 @@
 class Processor(airavata.base.api.BaseAPI.Processor, Iface, TProcessor):
     def __init__(self, handler):
         airavata.base.api.BaseAPI.Processor.__init__(self, handler)
-        self._processMap["getAPIVersion"] = Processor.process_getAPIVersion
         self._processMap["initializeUserProfile"] = Processor.process_initializeUserProfile
         self._processMap["addUserProfile"] = Processor.process_addUserProfile
         self._processMap["updateUserProfile"] = Processor.process_updateUserProfile
@@ -404,9 +389,15 @@
         self._processMap["deleteUserProfile"] = Processor.process_deleteUserProfile
         self._processMap["getAllUserProfilesInGateway"] = Processor.process_getAllUserProfilesInGateway
         self._processMap["doesUserExist"] = Processor.process_doesUserExist
+        self._on_message_begin = None
+
+    def on_message_begin(self, func):
+        self._on_message_begin = func
 
     def process(self, iprot, oprot):
         (name, type, seqid) = iprot.readMessageBegin()
+        if self._on_message_begin:
+            self._on_message_begin(name, type, seqid)
         if name not in self._processMap:
             iprot.skip(TType.STRUCT)
             iprot.readMessageEnd()
@@ -420,28 +411,6 @@
             self._processMap[name](self, seqid, iprot, oprot)
         return True
 
-    def process_getAPIVersion(self, seqid, iprot, oprot):
-        args = getAPIVersion_args()
-        args.read(iprot)
-        iprot.readMessageEnd()
-        result = getAPIVersion_result()
-        try:
-            result.success = self._handler.getAPIVersion()
-            msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
-            raise
-        except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
-            msg_type = TMessageType.REPLY
-            result.upe = upe
-        except Exception as ex:
-            msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
-            result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
-        oprot.writeMessageBegin("getAPIVersion", msg_type, seqid)
-        result.write(oprot)
-        oprot.writeMessageEnd()
-        oprot.trans.flush()
-
     def process_initializeUserProfile(self, seqid, iprot, oprot):
         args = initializeUserProfile_args()
         args.read(iprot)
@@ -450,7 +419,7 @@
         try:
             result.success = self._handler.initializeUserProfile(args.authzToken)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -458,9 +427,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("initializeUserProfile", msg_type, seqid)
         result.write(oprot)
@@ -475,7 +448,7 @@
         try:
             result.success = self._handler.addUserProfile(args.authzToken, args.userProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -483,9 +456,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("addUserProfile", msg_type, seqid)
         result.write(oprot)
@@ -500,7 +477,7 @@
         try:
             result.success = self._handler.updateUserProfile(args.authzToken, args.userProfile)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -508,9 +485,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("updateUserProfile", msg_type, seqid)
         result.write(oprot)
@@ -525,7 +506,7 @@
         try:
             result.success = self._handler.getUserProfileById(args.authzToken, args.userId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -533,9 +514,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getUserProfileById", msg_type, seqid)
         result.write(oprot)
@@ -550,7 +535,7 @@
         try:
             result.success = self._handler.deleteUserProfile(args.authzToken, args.userId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -558,9 +543,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("deleteUserProfile", msg_type, seqid)
         result.write(oprot)
@@ -575,7 +564,7 @@
         try:
             result.success = self._handler.getAllUserProfilesInGateway(args.authzToken, args.gatewayId, args.offset, args.limit)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -583,9 +572,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("getAllUserProfilesInGateway", msg_type, seqid)
         result.write(oprot)
@@ -600,7 +593,7 @@
         try:
             result.success = self._handler.doesUserExist(args.authzToken, args.userId, args.gatewayId)
             msg_type = TMessageType.REPLY
-        except (TTransport.TTransportException, KeyboardInterrupt, SystemExit):
+        except TTransport.TTransportException:
             raise
         except airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException as upe:
             msg_type = TMessageType.REPLY
@@ -608,9 +601,13 @@
         except airavata.api.error.ttypes.AuthorizationException as ae:
             msg_type = TMessageType.REPLY
             result.ae = ae
-        except Exception as ex:
+        except TApplicationException as ex:
+            logging.exception('TApplication exception in handler')
             msg_type = TMessageType.EXCEPTION
-            logging.exception(ex)
+            result = ex
+        except Exception:
+            logging.exception('Unexpected exception in handler')
+            msg_type = TMessageType.EXCEPTION
             result = TApplicationException(TApplicationException.INTERNAL_ERROR, 'Internal error')
         oprot.writeMessageBegin("doesUserExist", msg_type, seqid)
         result.write(oprot)
@@ -620,137 +617,20 @@
 # HELPER FUNCTIONS AND STRUCTURES
 
 
-class getAPIVersion_args(object):
-
-    thrift_spec = (
-    )
-
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
-        iprot.readStructBegin()
-        while True:
-            (fname, ftype, fid) = iprot.readFieldBegin()
-            if ftype == TType.STOP:
-                break
-            else:
-                iprot.skip(ftype)
-            iprot.readFieldEnd()
-        iprot.readStructEnd()
-
-    def write(self, oprot):
-        if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
-            return
-        oprot.writeStructBegin('getAPIVersion_args')
-        oprot.writeFieldStop()
-        oprot.writeStructEnd()
-
-    def validate(self):
-        return
-
-    def __repr__(self):
-        L = ['%s=%r' % (key, value)
-             for key, value in self.__dict__.items()]
-        return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-    def __eq__(self, other):
-        return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-    def __ne__(self, other):
-        return not (self == other)
-
-
-class getAPIVersion_result(object):
-    """
-    Attributes:
-     - success
-     - upe
-    """
-
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-    )
-
-    def __init__(self, success=None, upe=None,):
-        self.success = success
-        self.upe = upe
-
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
-        iprot.readStructBegin()
-        while True:
-            (fname, ftype, fid) = iprot.readFieldBegin()
-            if ftype == TType.STOP:
-                break
-            if fid == 0:
-                if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
-                else:
-                    iprot.skip(ftype)
-            elif fid == 1:
-                if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
-                else:
-                    iprot.skip(ftype)
-            else:
-                iprot.skip(ftype)
-            iprot.readFieldEnd()
-        iprot.readStructEnd()
-
-    def write(self, oprot):
-        if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
-            return
-        oprot.writeStructBegin('getAPIVersion_result')
-        if self.success is not None:
-            oprot.writeFieldBegin('success', TType.STRING, 0)
-            oprot.writeString(self.success.encode('utf-8') if sys.version_info[0] == 2 else self.success)
-            oprot.writeFieldEnd()
-        if self.upe is not None:
-            oprot.writeFieldBegin('upe', TType.STRUCT, 1)
-            self.upe.write(oprot)
-            oprot.writeFieldEnd()
-        oprot.writeFieldStop()
-        oprot.writeStructEnd()
-
-    def validate(self):
-        return
-
-    def __repr__(self):
-        L = ['%s=%r' % (key, value)
-             for key, value in self.__dict__.items()]
-        return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-    def __eq__(self, other):
-        return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-    def __ne__(self, other):
-        return not (self == other)
-
-
 class initializeUserProfile_args(object):
     """
     Attributes:
      - authzToken
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-    )
 
     def __init__(self, authzToken=None,):
         self.authzToken = authzToken
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -770,7 +650,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('initializeUserProfile_args')
         if self.authzToken is not None:
@@ -795,6 +675,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(initializeUserProfile_args)
+initializeUserProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+)
 
 
 class initializeUserProfile_result(object):
@@ -803,13 +688,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -818,7 +699,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -827,19 +708,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -849,7 +728,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('initializeUserProfile_result')
         if self.success is not None:
@@ -880,6 +759,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(initializeUserProfile_result)
+initializeUserProfile_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class addUserProfile_args(object):
@@ -887,13 +772,9 @@
     Attributes:
      - authzToken
      - userProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'userProfile', (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, userProfile=None,):
         self.authzToken = authzToken
@@ -901,7 +782,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -927,7 +808,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUserProfile_args')
         if self.authzToken is not None:
@@ -958,6 +839,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUserProfile_args)
+addUserProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'userProfile', [airavata.model.user.ttypes.UserProfile, None], None, ),  # 2
+)
 
 
 class addUserProfile_result(object):
@@ -966,13 +853,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -981,7 +864,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -990,19 +873,17 @@
                 break
             if fid == 0:
                 if ftype == TType.STRING:
-                    self.success = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.success = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1012,7 +893,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('addUserProfile_result')
         if self.success is not None:
@@ -1043,6 +924,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(addUserProfile_result)
+addUserProfile_result.thrift_spec = (
+    (0, TType.STRING, 'success', 'UTF8', None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class updateUserProfile_args(object):
@@ -1050,13 +937,9 @@
     Attributes:
      - authzToken
      - userProfile
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'userProfile', (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, authzToken=None, userProfile=None,):
         self.authzToken = authzToken
@@ -1064,7 +947,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1090,7 +973,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserProfile_args')
         if self.authzToken is not None:
@@ -1121,6 +1004,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserProfile_args)
+updateUserProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRUCT, 'userProfile', [airavata.model.user.ttypes.UserProfile, None], None, ),  # 2
+)
 
 
 class updateUserProfile_result(object):
@@ -1129,13 +1018,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -1144,7 +1029,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1158,14 +1043,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1175,7 +1058,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('updateUserProfile_result')
         if self.success is not None:
@@ -1206,6 +1089,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(updateUserProfile_result)
+updateUserProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getUserProfileById_args(object):
@@ -1214,14 +1103,9 @@
      - authzToken
      - userId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -1230,7 +1114,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1245,12 +1129,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1260,7 +1144,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserProfileById_args')
         if self.authzToken is not None:
@@ -1297,6 +1181,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserProfileById_args)
+getUserProfileById_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class getUserProfileById_result(object):
@@ -1305,13 +1196,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.STRUCT, 'success', (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -1320,7 +1207,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1335,14 +1222,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1352,7 +1237,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getUserProfileById_result')
         if self.success is not None:
@@ -1383,6 +1268,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getUserProfileById_result)
+getUserProfileById_result.thrift_spec = (
+    (0, TType.STRUCT, 'success', [airavata.model.user.ttypes.UserProfile, None], None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class deleteUserProfile_args(object):
@@ -1391,14 +1282,9 @@
      - authzToken
      - userId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -1407,7 +1293,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1422,12 +1308,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1437,7 +1323,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserProfile_args')
         if self.authzToken is not None:
@@ -1474,6 +1360,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserProfile_args)
+deleteUserProfile_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class deleteUserProfile_result(object):
@@ -1482,13 +1375,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -1497,7 +1386,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1511,14 +1400,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1528,7 +1415,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('deleteUserProfile_result')
         if self.success is not None:
@@ -1559,6 +1446,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(deleteUserProfile_result)
+deleteUserProfile_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class getAllUserProfilesInGateway_args(object):
@@ -1568,15 +1461,9 @@
      - gatewayId
      - offset
      - limit
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
-        (3, TType.I32, 'offset', None, None, ),  # 3
-        (4, TType.I32, 'limit', None, None, ),  # 4
-    )
 
     def __init__(self, authzToken=None, gatewayId=None, offset=None, limit=None,):
         self.authzToken = authzToken
@@ -1586,7 +1473,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1601,7 +1488,7 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
@@ -1621,7 +1508,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserProfilesInGateway_args')
         if self.authzToken is not None:
@@ -1664,6 +1551,14 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserProfilesInGateway_args)
+getAllUserProfilesInGateway_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 2
+    (3, TType.I32, 'offset', None, None, ),  # 3
+    (4, TType.I32, 'limit', None, None, ),  # 4
+)
 
 
 class getAllUserProfilesInGateway_result(object):
@@ -1672,13 +1567,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.LIST, 'success', (TType.STRUCT, (airavata.model.user.ttypes.UserProfile, airavata.model.user.ttypes.UserProfile.thrift_spec), False), None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -1687,7 +1578,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1707,14 +1598,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1724,7 +1613,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('getAllUserProfilesInGateway_result')
         if self.success is not None:
@@ -1758,6 +1647,12 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(getAllUserProfilesInGateway_result)
+getAllUserProfilesInGateway_result.thrift_spec = (
+    (0, TType.LIST, 'success', (TType.STRUCT, [airavata.model.user.ttypes.UserProfile, None], False), None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
 
 
 class doesUserExist_args(object):
@@ -1766,14 +1661,9 @@
      - authzToken
      - userId
      - gatewayId
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRUCT, 'authzToken', (airavata.model.security.ttypes.AuthzToken, airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ),  # 1
-        (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
-        (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
-    )
 
     def __init__(self, authzToken=None, userId=None, gatewayId=None,):
         self.authzToken = authzToken
@@ -1782,7 +1672,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1797,12 +1687,12 @@
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRING:
-                    self.userId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.userId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             elif fid == 3:
                 if ftype == TType.STRING:
-                    self.gatewayId = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    self.gatewayId = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
@@ -1812,7 +1702,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('doesUserExist_args')
         if self.authzToken is not None:
@@ -1849,6 +1739,13 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(doesUserExist_args)
+doesUserExist_args.thrift_spec = (
+    None,  # 0
+    (1, TType.STRUCT, 'authzToken', [airavata.model.security.ttypes.AuthzToken, None], None, ),  # 1
+    (2, TType.STRING, 'userId', 'UTF8', None, ),  # 2
+    (3, TType.STRING, 'gatewayId', 'UTF8', None, ),  # 3
+)
 
 
 class doesUserExist_result(object):
@@ -1857,13 +1754,9 @@
      - success
      - upe
      - ae
+
     """
 
-    thrift_spec = (
-        (0, TType.BOOL, 'success', None, None, ),  # 0
-        (1, TType.STRUCT, 'upe', (airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.thrift_spec), None, ),  # 1
-        (2, TType.STRUCT, 'ae', (airavata.api.error.ttypes.AuthorizationException, airavata.api.error.ttypes.AuthorizationException.thrift_spec), None, ),  # 2
-    )
 
     def __init__(self, success=None, upe=None, ae=None,):
         self.success = success
@@ -1872,7 +1765,7 @@
 
     def read(self, iprot):
         if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
+            iprot._fast_decode(self, iprot, [self.__class__, self.thrift_spec])
             return
         iprot.readStructBegin()
         while True:
@@ -1886,14 +1779,12 @@
                     iprot.skip(ftype)
             elif fid == 1:
                 if ftype == TType.STRUCT:
-                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException()
-                    self.upe.read(iprot)
+                    self.upe = airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException.read(iprot)
                 else:
                     iprot.skip(ftype)
             elif fid == 2:
                 if ftype == TType.STRUCT:
-                    self.ae = airavata.api.error.ttypes.AuthorizationException()
-                    self.ae.read(iprot)
+                    self.ae = airavata.api.error.ttypes.AuthorizationException.read(iprot)
                 else:
                     iprot.skip(ftype)
             else:
@@ -1903,7 +1794,7 @@
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('doesUserExist_result')
         if self.success is not None:
@@ -1934,3 +1825,11 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(doesUserExist_result)
+doesUserExist_result.thrift_spec = (
+    (0, TType.BOOL, 'success', None, None, ),  # 0
+    (1, TType.STRUCT, 'upe', [airavata.service.profile.user.cpi.error.ttypes.UserProfileServiceException, None], None, ),  # 1
+    (2, TType.STRUCT, 'ae', [airavata.api.error.ttypes.AuthorizationException, None], None, ),  # 2
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/constants.py
index e2feb32..d30ce4e 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
 USER_PROFILE_CPI_VERSION = "0.18.0"
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/constants.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/constants.py
index eb0d35a..a352d6b 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/constants.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/constants.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,5 +8,7 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 from .ttypes import *
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/ttypes.py
index fe9ec99..a9b4c99 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/error/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,47 +8,60 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 
 from thrift.transport import TTransport
+all_structs = []
 
 
 class UserProfileServiceException(TException):
     """
     Attributes:
      - message
+
     """
 
-    thrift_spec = (
-        None,  # 0
-        (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
-    )
 
     def __init__(self, message=None,):
-        self.message = message
+        super(UserProfileServiceException, self).__setattr__('message', message)
 
-    def read(self, iprot):
-        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None:
-            iprot._fast_decode(self, iprot, (self.__class__, self.thrift_spec))
-            return
+    def __setattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __delattr__(self, *args):
+        raise TypeError("can't modify immutable instance")
+
+    def __hash__(self):
+        return hash(self.__class__) ^ hash((self.message, ))
+
+    @classmethod
+    def read(cls, iprot):
+        if iprot._fast_decode is not None and isinstance(iprot.trans, TTransport.CReadableTransport) and cls.thrift_spec is not None:
+            return iprot._fast_decode(None, iprot, [cls, cls.thrift_spec])
         iprot.readStructBegin()
+        message = None
         while True:
             (fname, ftype, fid) = iprot.readFieldBegin()
             if ftype == TType.STOP:
                 break
             if fid == 1:
                 if ftype == TType.STRING:
-                    self.message = iprot.readString().decode('utf-8') if sys.version_info[0] == 2 else iprot.readString()
+                    message = iprot.readString().decode('utf-8', errors='replace') if sys.version_info[0] == 2 else iprot.readString()
                 else:
                     iprot.skip(ftype)
             else:
                 iprot.skip(ftype)
             iprot.readFieldEnd()
         iprot.readStructEnd()
+        return cls(
+            message=message,
+        )
 
     def write(self, oprot):
         if oprot._fast_encode is not None and self.thrift_spec is not None:
-            oprot.trans.write(oprot._fast_encode(self, (self.__class__, self.thrift_spec)))
+            oprot.trans.write(oprot._fast_encode(self, [self.__class__, self.thrift_spec]))
             return
         oprot.writeStructBegin('UserProfileServiceException')
         if self.message is not None:
@@ -76,3 +89,10 @@
 
     def __ne__(self, other):
         return not (self == other)
+all_structs.append(UserProfileServiceException)
+UserProfileServiceException.thrift_spec = (
+    None,  # 0
+    (1, TType.STRING, 'message', 'UTF8', None, ),  # 1
+)
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py
index 980f2b5..ddf95d2 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata/service/profile/user/cpi/ttypes.py
@@ -1,5 +1,5 @@
 #
-# Autogenerated by Thrift Compiler (0.10.0)
+# Autogenerated by Thrift Compiler (0.18.1)
 #
 # DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 #
@@ -8,6 +8,8 @@
 
 from thrift.Thrift import TType, TMessageType, TFrozenDict, TException, TApplicationException
 from thrift.protocol.TProtocol import TProtocolException
+from thrift.TRecursive import fix_spec
+
 import sys
 import airavata.api.error.ttypes
 import airavata.model.security.ttypes
@@ -16,3 +18,6 @@
 import airavata.base.api.ttypes
 
 from thrift.transport import TTransport
+all_structs = []
+fix_spec(all_structs)
+del all_structs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/data_model_creation_util.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/data_model_creation_util.py
index e5ad231..3aed933 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/data_model_creation_util.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/data_model_creation_util.py
@@ -73,7 +73,7 @@
                                                   group_resource_profile_name,
                                                   storageId,
                                                   node_count, total_cpu_count, queue_name, wall_time_limit,
-                                                  experiment_dir_path):
+                                                  experiment_dir_path, auto_schedule=False):
         resource_host_id = self.airavata_util.get_resource_host_id(computation_resource_name)
         groupResourceProfileId = self.airavata_util.get_group_resource_profile_id(group_resource_profile_name)
         computRes = ComputationalResourceSchedulingModel()
@@ -90,7 +90,7 @@
         userConfigData.storageId = storageId
 
         userConfigData.experimentDataDir = experiment_dir_path
-
+        userConfigData.airavataAutoSchedule = auto_schedule
         experiment_model.userConfigurationData = userConfigData
 
         return experiment_model
@@ -121,7 +121,7 @@
         if (len(file_mapping.keys()) == 0):
             count = 0
             for obj in inputs:
-                if isinstance(inputs[count], InputDataObjectType):
+                if isinstance(inputs[count], InputDataObjectType) and len(input_files) > count:
                     inputs[count].value = input_files[count]
                     count = count + 1
             configured_inputs = inputs
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/experiment_handler_util.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/experiment_handler_util.py
index 2476f6d..ad25ff7 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/experiment_handler_util.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/airavata_sdk/clients/utils/experiment_handler_util.py
@@ -70,7 +70,7 @@
 
     def launch_experiment(self, experiment_name="default_exp", description="this is default exp",
                           local_input_path="/tmp", input_file_mapping={}, computation_resource_name=None,
-                          queue_name=None, node_count=1, cpu_count=1, walltime=30, output_path='.'):
+                          queue_name=None, node_count=1, cpu_count=1, walltime=30, auto_schedule=False, output_path='.'):
         execution_id = self.airavata_util.get_execution_id(self.experiment_conf.APPLICATION_NAME)
         project_id = self.airavata_util.get_project_id(self.experiment_conf.PROJECT_NAME)
         hosts = self.experiment_conf.COMPUTE_HOST_DOMAIN.split(",")
@@ -120,7 +120,8 @@
                                                                                       total_cpu_count=int(cpu_count),
                                                                                       wall_time_limit=int(walltime),
                                                                                       queue_name=queue_name,
-                                                                                      experiment_dir_path=path)
+                                                                                      experiment_dir_path=path,
+                                                                                      auto_schedule=auto_schedule)
         input_files = []
         if (len(input_file_mapping.keys()) > 0):
             new_file_mapping = {}
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
index 5015794..296cf09 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ComponentState implements org.apache.thrift.TEnum {
   CREATED(0),
   WAITING(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ComponentState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
index bbe4e6a..fe0760d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ComponentStatus implements org.apache.thrift.TBase<ComponentStatus, ComponentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentStatus");
 
@@ -35,8 +35,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ComponentStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ComponentStatusTupleSchemeFactory();
 
-  private ComponentState state; // required
-  private java.lang.String reason; // optional
+  private @org.apache.thrift.annotation.Nullable ComponentState state; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String reason; // optional
   private long timeofStateChange; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -60,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -86,6 +87,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -98,10 +100,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -150,6 +154,7 @@
     this.timeofStateChange = other.timeofStateChange;
   }
 
+  @Override
   public ComponentStatus deepCopy() {
     return new ComponentStatus(this);
   }
@@ -167,6 +172,7 @@
    * 
    * @see ComponentState
    */
+  @org.apache.thrift.annotation.Nullable
   public ComponentState getState() {
     return this.state;
   }
@@ -175,7 +181,7 @@
    * 
    * @see ComponentState
    */
-  public void setState(ComponentState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable ComponentState state) {
     this.state = state;
   }
 
@@ -194,11 +200,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReason() {
     return this.reason;
   }
 
-  public void setReason(java.lang.String reason) {
+  public void setReason(@org.apache.thrift.annotation.Nullable java.lang.String reason) {
     this.reason = reason;
   }
 
@@ -239,7 +246,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -268,6 +276,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -284,6 +294,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -302,8 +313,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ComponentStatus)
       return this.equals((ComponentStatus)that);
     return false;
@@ -372,7 +381,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -382,7 +391,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+    lastComparison = java.lang.Boolean.compare(isSetReason(), other.isSetReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -392,7 +401,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeofStateChange()).compareTo(other.isSetTimeofStateChange());
+    lastComparison = java.lang.Boolean.compare(isSetTimeofStateChange(), other.isSetTimeofStateChange());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -405,14 +414,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -477,6 +490,7 @@
   }
 
   private static class ComponentStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComponentStatusStandardScheme getScheme() {
       return new ComponentStatusStandardScheme();
     }
@@ -484,6 +498,7 @@
 
   private static class ComponentStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<ComponentStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ComponentStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -527,6 +542,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ComponentStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -555,6 +571,7 @@
   }
 
   private static class ComponentStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComponentStatusTupleScheme getScheme() {
       return new ComponentStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
index 6262132..b8de4eb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class EdgeModel implements org.apache.thrift.TBase<EdgeModel, EdgeModel._Fields>, java.io.Serializable, Cloneable, Comparable<EdgeModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EdgeModel");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new EdgeModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new EdgeModelTupleSchemeFactory();
 
-  private java.lang.String edgeId; // required
-  private java.lang.String name; // optional
-  private ComponentStatus status; // optional
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String edgeId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  private @org.apache.thrift.annotation.Nullable ComponentStatus status; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EDGE_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -155,6 +159,7 @@
     }
   }
 
+  @Override
   public EdgeModel deepCopy() {
     return new EdgeModel(this);
   }
@@ -168,11 +173,12 @@
     this.description = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEdgeId() {
     return this.edgeId;
   }
 
-  public void setEdgeId(java.lang.String edgeId) {
+  public void setEdgeId(@org.apache.thrift.annotation.Nullable java.lang.String edgeId) {
     this.edgeId = edgeId;
   }
 
@@ -191,11 +197,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -214,11 +221,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ComponentStatus getStatus() {
     return this.status;
   }
 
-  public void setStatus(ComponentStatus status) {
+  public void setStatus(@org.apache.thrift.annotation.Nullable ComponentStatus status) {
     this.status = status;
   }
 
@@ -237,11 +245,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -260,7 +269,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EDGE_ID:
       if (value == null) {
@@ -297,6 +307,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EDGE_ID:
@@ -316,6 +328,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -336,8 +349,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof EdgeModel)
       return this.equals((EdgeModel)that);
     return false;
@@ -419,7 +430,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetEdgeId()).compareTo(other.isSetEdgeId());
+    lastComparison = java.lang.Boolean.compare(isSetEdgeId(), other.isSetEdgeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -429,7 +440,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +450,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+    lastComparison = java.lang.Boolean.compare(isSetStatus(), other.isSetStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +460,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -462,14 +473,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -549,6 +564,7 @@
   }
 
   private static class EdgeModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EdgeModelStandardScheme getScheme() {
       return new EdgeModelStandardScheme();
     }
@@ -556,6 +572,7 @@
 
   private static class EdgeModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<EdgeModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, EdgeModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -608,6 +625,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, EdgeModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -645,6 +663,7 @@
   }
 
   private static class EdgeModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EdgeModelTupleScheme getScheme() {
       return new EdgeModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
index 9063a00..f8d2b90 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._Fields>, java.io.Serializable, Cloneable, Comparable<NodeModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NodeModel");
 
@@ -38,12 +38,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NodeModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NodeModelTupleSchemeFactory();
 
-  private java.lang.String nodeId; // required
-  private java.lang.String name; // optional
-  private java.lang.String applicationId; // optional
-  private java.lang.String applicationName; // optional
-  private ComponentStatus status; // optional
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String nodeId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationName; // optional
+  private @org.apache.thrift.annotation.Nullable ComponentStatus status; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -65,6 +65,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NODE_ID
@@ -97,6 +98,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -109,10 +111,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -175,6 +179,7 @@
     }
   }
 
+  @Override
   public NodeModel deepCopy() {
     return new NodeModel(this);
   }
@@ -190,11 +195,12 @@
     this.description = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNodeId() {
     return this.nodeId;
   }
 
-  public void setNodeId(java.lang.String nodeId) {
+  public void setNodeId(@org.apache.thrift.annotation.Nullable java.lang.String nodeId) {
     this.nodeId = nodeId;
   }
 
@@ -213,11 +219,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -236,11 +243,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationId() {
     return this.applicationId;
   }
 
-  public void setApplicationId(java.lang.String applicationId) {
+  public void setApplicationId(@org.apache.thrift.annotation.Nullable java.lang.String applicationId) {
     this.applicationId = applicationId;
   }
 
@@ -259,11 +267,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationName() {
     return this.applicationName;
   }
 
-  public void setApplicationName(java.lang.String applicationName) {
+  public void setApplicationName(@org.apache.thrift.annotation.Nullable java.lang.String applicationName) {
     this.applicationName = applicationName;
   }
 
@@ -282,11 +291,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ComponentStatus getStatus() {
     return this.status;
   }
 
-  public void setStatus(ComponentStatus status) {
+  public void setStatus(@org.apache.thrift.annotation.Nullable ComponentStatus status) {
     this.status = status;
   }
 
@@ -305,11 +315,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -328,7 +339,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NODE_ID:
       if (value == null) {
@@ -381,6 +393,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NODE_ID:
@@ -406,6 +420,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -430,8 +445,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof NodeModel)
       return this.equals((NodeModel)that);
     return false;
@@ -539,7 +552,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetNodeId()).compareTo(other.isSetNodeId());
+    lastComparison = java.lang.Boolean.compare(isSetNodeId(), other.isSetNodeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -549,7 +562,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -559,7 +572,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationId()).compareTo(other.isSetApplicationId());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationId(), other.isSetApplicationId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -569,7 +582,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationName()).compareTo(other.isSetApplicationName());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationName(), other.isSetApplicationName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -579,7 +592,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+    lastComparison = java.lang.Boolean.compare(isSetStatus(), other.isSetStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -589,7 +602,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -602,14 +615,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -709,6 +726,7 @@
   }
 
   private static class NodeModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public NodeModelStandardScheme getScheme() {
       return new NodeModelStandardScheme();
     }
@@ -716,6 +734,7 @@
 
   private static class NodeModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<NodeModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, NodeModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -784,6 +803,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, NodeModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -835,6 +855,7 @@
   }
 
   private static class NodeModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public NodeModelTupleScheme getScheme() {
       return new NodeModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index f619cbf..8a44cf3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._Fields>, java.io.Serializable, Cloneable, Comparable<PortModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PortModel");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new PortModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new PortModelTupleSchemeFactory();
 
-  private java.lang.String portId; // required
-  private java.lang.String name; // optional
-  private ComponentStatus status; // optional
-  private java.lang.String value; // optional
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String portId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  private @org.apache.thrift.annotation.Nullable ComponentStatus status; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PORT_ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -165,6 +169,7 @@
     }
   }
 
+  @Override
   public PortModel deepCopy() {
     return new PortModel(this);
   }
@@ -179,11 +184,12 @@
     this.description = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPortId() {
     return this.portId;
   }
 
-  public void setPortId(java.lang.String portId) {
+  public void setPortId(@org.apache.thrift.annotation.Nullable java.lang.String portId) {
     this.portId = portId;
   }
 
@@ -202,11 +208,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -225,11 +232,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ComponentStatus getStatus() {
     return this.status;
   }
 
-  public void setStatus(ComponentStatus status) {
+  public void setStatus(@org.apache.thrift.annotation.Nullable ComponentStatus status) {
     this.status = status;
   }
 
@@ -248,11 +256,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -271,11 +280,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -294,7 +304,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PORT_ID:
       if (value == null) {
@@ -339,6 +350,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PORT_ID:
@@ -361,6 +374,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -383,8 +397,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof PortModel)
       return this.equals((PortModel)that);
     return false;
@@ -479,7 +491,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetPortId()).compareTo(other.isSetPortId());
+    lastComparison = java.lang.Boolean.compare(isSetPortId(), other.isSetPortId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -489,7 +501,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -499,7 +511,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatus()).compareTo(other.isSetStatus());
+    lastComparison = java.lang.Boolean.compare(isSetStatus(), other.isSetStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -509,7 +521,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -519,7 +531,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -532,14 +544,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -629,6 +645,7 @@
   }
 
   private static class PortModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public PortModelStandardScheme getScheme() {
       return new PortModelStandardScheme();
     }
@@ -636,6 +653,7 @@
 
   private static class PortModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<PortModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, PortModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -696,6 +714,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, PortModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -740,6 +759,7 @@
   }
 
   private static class PortModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public PortModelTupleScheme getScheme() {
       return new PortModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
index 12f8a9b..f9771d0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, WorkflowModel._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowModel");
 
@@ -41,14 +41,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new WorkflowModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new WorkflowModelTupleSchemeFactory();
 
-  private java.lang.String templateId; // required
-  private java.lang.String name; // required
-  private java.lang.String graph; // required
-  private java.lang.String gatewayId; // required
-  private java.lang.String createdUser; // required
-  private java.nio.ByteBuffer image; // optional
-  private java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs; // optional
-  private java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String templateId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String graph; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String createdUser; // required
+  private @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer image; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs; // optional
   private long creationTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -74,6 +74,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TEMPLATE_ID
@@ -112,6 +113,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -124,10 +126,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -224,6 +228,7 @@
     this.creationTime = other.creationTime;
   }
 
+  @Override
   public WorkflowModel deepCopy() {
     return new WorkflowModel(this);
   }
@@ -243,11 +248,12 @@
     this.creationTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTemplateId() {
     return this.templateId;
   }
 
-  public void setTemplateId(java.lang.String templateId) {
+  public void setTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String templateId) {
     this.templateId = templateId;
   }
 
@@ -266,11 +272,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -289,11 +296,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGraph() {
     return this.graph;
   }
 
-  public void setGraph(java.lang.String graph) {
+  public void setGraph(@org.apache.thrift.annotation.Nullable java.lang.String graph) {
     this.graph = graph;
   }
 
@@ -312,11 +320,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -335,11 +344,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCreatedUser() {
     return this.createdUser;
   }
 
-  public void setCreatedUser(java.lang.String createdUser) {
+  public void setCreatedUser(@org.apache.thrift.annotation.Nullable java.lang.String createdUser) {
     this.createdUser = createdUser;
   }
 
@@ -368,10 +378,10 @@
   }
 
   public void setImage(byte[] image) {
-    this.image = image == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(image.clone());
+    this.image = image == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(image.clone());
   }
 
-  public void setImage(java.nio.ByteBuffer image) {
+  public void setImage(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer image) {
     this.image = org.apache.thrift.TBaseHelper.copyBinary(image);
   }
 
@@ -394,6 +404,7 @@
     return (this.workflowInputs == null) ? 0 : this.workflowInputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getWorkflowInputsIterator() {
     return (this.workflowInputs == null) ? null : this.workflowInputs.iterator();
   }
@@ -405,11 +416,12 @@
     this.workflowInputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getWorkflowInputs() {
     return this.workflowInputs;
   }
 
-  public void setWorkflowInputs(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs) {
+  public void setWorkflowInputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> workflowInputs) {
     this.workflowInputs = workflowInputs;
   }
 
@@ -432,6 +444,7 @@
     return (this.workflowOutputs == null) ? 0 : this.workflowOutputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getWorkflowOutputsIterator() {
     return (this.workflowOutputs == null) ? null : this.workflowOutputs.iterator();
   }
@@ -443,11 +456,12 @@
     this.workflowOutputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getWorkflowOutputs() {
     return this.workflowOutputs;
   }
 
-  public void setWorkflowOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs) {
+  public void setWorkflowOutputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> workflowOutputs) {
     this.workflowOutputs = workflowOutputs;
   }
 
@@ -488,7 +502,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TEMPLATE_ID:
       if (value == null) {
@@ -569,6 +584,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TEMPLATE_ID:
@@ -603,6 +620,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -633,8 +651,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof WorkflowModel)
       return this.equals((WorkflowModel)that);
     return false;
@@ -781,7 +797,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
+    lastComparison = java.lang.Boolean.compare(isSetTemplateId(), other.isSetTemplateId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -791,7 +807,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -801,7 +817,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGraph()).compareTo(other.isSetGraph());
+    lastComparison = java.lang.Boolean.compare(isSetGraph(), other.isSetGraph());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -811,7 +827,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -821,7 +837,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedUser()).compareTo(other.isSetCreatedUser());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedUser(), other.isSetCreatedUser());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -831,7 +847,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetImage()).compareTo(other.isSetImage());
+    lastComparison = java.lang.Boolean.compare(isSetImage(), other.isSetImage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -841,7 +857,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWorkflowInputs()).compareTo(other.isSetWorkflowInputs());
+    lastComparison = java.lang.Boolean.compare(isSetWorkflowInputs(), other.isSetWorkflowInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -851,7 +867,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWorkflowOutputs()).compareTo(other.isSetWorkflowOutputs());
+    lastComparison = java.lang.Boolean.compare(isSetWorkflowOutputs(), other.isSetWorkflowOutputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -861,7 +877,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -874,14 +890,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1014,6 +1034,7 @@
   }
 
   private static class WorkflowModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowModelStandardScheme getScheme() {
       return new WorkflowModelStandardScheme();
     }
@@ -1021,6 +1042,7 @@
 
   private static class WorkflowModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<WorkflowModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1084,7 +1106,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.workflowInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list0.size);
-                org.apache.airavata.model.application.io.InputDataObjectType _elem1;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -1103,7 +1125,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.workflowOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list3.size);
-                org.apache.airavata.model.application.io.OutputDataObjectType _elem4;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -1134,6 +1156,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1210,6 +1233,7 @@
   }
 
   private static class WorkflowModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowModelTupleScheme getScheme() {
       return new WorkflowModelTupleScheme();
     }
@@ -1285,9 +1309,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.workflowInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list10.size);
-          org.apache.airavata.model.application.io.InputDataObjectType _elem11;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem11;
           for (int _i12 = 0; _i12 < _list10.size; ++_i12)
           {
             _elem11 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -1299,9 +1323,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.workflowOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list13.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem14;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem14;
           for (int _i15 = 0; _i15 < _list13.size; ++_i15)
           {
             _elem14 = new org.apache.airavata.model.application.io.OutputDataObjectType();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
index 7348214..61a26f1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum WorkflowState implements org.apache.thrift.TEnum {
   CREATED(0),
   STARTED(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static WorkflowState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
index 6b642f1..0eb3d20 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class WorkflowStatus implements org.apache.thrift.TBase<WorkflowStatus, WorkflowStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowStatus");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new WorkflowStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new WorkflowStatusTupleSchemeFactory();
 
-  private WorkflowState state; // required
+  private @org.apache.thrift.annotation.Nullable WorkflowState state; // required
   private long timeOfStateChange; // optional
-  private java.lang.String reason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reason; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -60,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -86,6 +87,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -98,10 +100,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -148,6 +152,7 @@
     }
   }
 
+  @Override
   public WorkflowStatus deepCopy() {
     return new WorkflowStatus(this);
   }
@@ -164,6 +169,7 @@
    * 
    * @see WorkflowState
    */
+  @org.apache.thrift.annotation.Nullable
   public WorkflowState getState() {
     return this.state;
   }
@@ -172,7 +178,7 @@
    * 
    * @see WorkflowState
    */
-  public void setState(WorkflowState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable WorkflowState state) {
     this.state = state;
   }
 
@@ -213,11 +219,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReason() {
     return this.reason;
   }
 
-  public void setReason(java.lang.String reason) {
+  public void setReason(@org.apache.thrift.annotation.Nullable java.lang.String reason) {
     this.reason = reason;
   }
 
@@ -236,7 +243,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -265,6 +273,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -281,6 +291,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -299,8 +310,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof WorkflowStatus)
       return this.equals((WorkflowStatus)that);
     return false;
@@ -369,7 +378,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -379,7 +388,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    lastComparison = java.lang.Boolean.compare(isSetTimeOfStateChange(), other.isSetTimeOfStateChange());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -389,7 +398,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+    lastComparison = java.lang.Boolean.compare(isSetReason(), other.isSetReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -402,14 +411,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -474,6 +487,7 @@
   }
 
   private static class WorkflowStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowStatusStandardScheme getScheme() {
       return new WorkflowStatusStandardScheme();
     }
@@ -481,6 +495,7 @@
 
   private static class WorkflowStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<WorkflowStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -524,6 +539,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -552,6 +568,7 @@
   }
 
   private static class WorkflowStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowStatusTupleScheme getScheme() {
       return new WorkflowStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisioner.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisioner.java
index 0a4d046..2f25267 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisioner.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisioner.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.accountprovisioning;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SSHAccountProvisioner implements org.apache.thrift.TBase<SSHAccountProvisioner, SSHAccountProvisioner._Fields>, java.io.Serializable, Cloneable, Comparable<SSHAccountProvisioner> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHAccountProvisioner");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SSHAccountProvisionerStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SSHAccountProvisionerTupleSchemeFactory();
 
-  private java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
   private boolean canCreateAccount; // required
   private boolean canInstallSSHKey; // required
-  private java.util.List<SSHAccountProvisionerConfigParam> configParams; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<SSHAccountProvisionerConfigParam> configParams; // 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 {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NAME
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -165,6 +169,7 @@
     }
   }
 
+  @Override
   public SSHAccountProvisioner deepCopy() {
     return new SSHAccountProvisioner(this);
   }
@@ -179,11 +184,12 @@
     this.configParams = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -250,6 +256,7 @@
     return (this.configParams == null) ? 0 : this.configParams.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<SSHAccountProvisionerConfigParam> getConfigParamsIterator() {
     return (this.configParams == null) ? null : this.configParams.iterator();
   }
@@ -261,11 +268,12 @@
     this.configParams.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<SSHAccountProvisionerConfigParam> getConfigParams() {
     return this.configParams;
   }
 
-  public void setConfigParams(java.util.List<SSHAccountProvisionerConfigParam> configParams) {
+  public void setConfigParams(@org.apache.thrift.annotation.Nullable java.util.List<SSHAccountProvisionerConfigParam> configParams) {
     this.configParams = configParams;
   }
 
@@ -284,7 +292,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NAME:
       if (value == null) {
@@ -321,6 +330,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NAME:
@@ -340,6 +351,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -360,8 +372,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SSHAccountProvisioner)
       return this.equals((SSHAccountProvisioner)that);
     return false;
@@ -439,7 +449,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCanCreateAccount()).compareTo(other.isSetCanCreateAccount());
+    lastComparison = java.lang.Boolean.compare(isSetCanCreateAccount(), other.isSetCanCreateAccount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +469,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCanInstallSSHKey()).compareTo(other.isSetCanInstallSSHKey());
+    lastComparison = java.lang.Boolean.compare(isSetCanInstallSSHKey(), other.isSetCanInstallSSHKey());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -469,7 +479,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetConfigParams()).compareTo(other.isSetConfigParams());
+    lastComparison = java.lang.Boolean.compare(isSetConfigParams(), other.isSetConfigParams());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -482,14 +492,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -566,6 +580,7 @@
   }
 
   private static class SSHAccountProvisionerStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHAccountProvisionerStandardScheme getScheme() {
       return new SSHAccountProvisionerStandardScheme();
     }
@@ -573,6 +588,7 @@
 
   private static class SSHAccountProvisionerStandardScheme extends org.apache.thrift.scheme.StandardScheme<SSHAccountProvisioner> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SSHAccountProvisioner struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,7 +628,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.configParams = new java.util.ArrayList<SSHAccountProvisionerConfigParam>(_list0.size);
-                SSHAccountProvisionerConfigParam _elem1;
+                @org.apache.thrift.annotation.Nullable SSHAccountProvisionerConfigParam _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new SSHAccountProvisionerConfigParam();
@@ -635,6 +651,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SSHAccountProvisioner struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -669,6 +686,7 @@
   }
 
   private static class SSHAccountProvisionerTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHAccountProvisionerTupleScheme getScheme() {
       return new SSHAccountProvisionerTupleScheme();
     }
@@ -701,9 +719,9 @@
       struct.canInstallSSHKey = iprot.readBool();
       struct.setCanInstallSSHKeyIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.configParams = new java.util.ArrayList<SSHAccountProvisionerConfigParam>(_list5.size);
-        SSHAccountProvisionerConfigParam _elem6;
+        @org.apache.thrift.annotation.Nullable SSHAccountProvisionerConfigParam _elem6;
         for (int _i7 = 0; _i7 < _list5.size; ++_i7)
         {
           _elem6 = new SSHAccountProvisionerConfigParam();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParam.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParam.java
index 5dd5264..bda763c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParam.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParam.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.accountprovisioning;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SSHAccountProvisionerConfigParam implements org.apache.thrift.TBase<SSHAccountProvisionerConfigParam, SSHAccountProvisionerConfigParam._Fields>, java.io.Serializable, Cloneable, Comparable<SSHAccountProvisionerConfigParam> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHAccountProvisionerConfigParam");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SSHAccountProvisionerConfigParamStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SSHAccountProvisionerConfigParamTupleSchemeFactory();
 
-  private java.lang.String name; // required
-  private SSHAccountProvisionerConfigParamType type; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable SSHAccountProvisionerConfigParamType type; // required
   private boolean isOptional; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -63,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NAME
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -167,6 +171,7 @@
     }
   }
 
+  @Override
   public SSHAccountProvisionerConfigParam deepCopy() {
     return new SSHAccountProvisionerConfigParam(this);
   }
@@ -181,11 +186,12 @@
     this.description = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -208,6 +214,7 @@
    * 
    * @see SSHAccountProvisionerConfigParamType
    */
+  @org.apache.thrift.annotation.Nullable
   public SSHAccountProvisionerConfigParamType getType() {
     return this.type;
   }
@@ -216,7 +223,7 @@
    * 
    * @see SSHAccountProvisionerConfigParamType
    */
-  public void setType(SSHAccountProvisionerConfigParamType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable SSHAccountProvisionerConfigParamType type) {
     this.type = type;
   }
 
@@ -257,11 +264,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ISOPTIONAL_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -280,7 +288,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NAME:
       if (value == null) {
@@ -317,6 +326,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NAME:
@@ -336,6 +347,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -356,8 +368,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SSHAccountProvisionerConfigParam)
       return this.equals((SSHAccountProvisionerConfigParam)that);
     return false;
@@ -437,7 +447,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -447,7 +457,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -457,7 +467,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsOptional()).compareTo(other.isSetIsOptional());
+    lastComparison = java.lang.Boolean.compare(isSetIsOptional(), other.isSetIsOptional());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -467,7 +477,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -480,14 +490,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -566,6 +580,7 @@
   }
 
   private static class SSHAccountProvisionerConfigParamStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHAccountProvisionerConfigParamStandardScheme getScheme() {
       return new SSHAccountProvisionerConfigParamStandardScheme();
     }
@@ -573,6 +588,7 @@
 
   private static class SSHAccountProvisionerConfigParamStandardScheme extends org.apache.thrift.scheme.StandardScheme<SSHAccountProvisionerConfigParam> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SSHAccountProvisionerConfigParam struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -624,6 +640,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SSHAccountProvisionerConfigParam struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -655,6 +672,7 @@
   }
 
   private static class SSHAccountProvisionerConfigParamTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHAccountProvisionerConfigParamTupleScheme getScheme() {
       return new SSHAccountProvisionerConfigParamTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParamType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParamType.java
index f1d1e5a..a3b8b3b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParamType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/accountprovisioning/SSHAccountProvisionerConfigParamType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.appcatalog.accountprovisioning;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum SSHAccountProvisionerConfigParamType implements org.apache.thrift.TEnum {
   STRING(0),
   CRED_STORE_PASSWORD_TOKEN(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static SSHAccountProvisionerConfigParamType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index 3ddd318..b6d2f5e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.appdeployment;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Application Deployment Description
  * 
@@ -50,7 +49,8 @@
  *  assigns to the environment variable "NAME" the value
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
 
@@ -75,19 +75,19 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ApplicationDeploymentDescriptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ApplicationDeploymentDescriptionTupleSchemeFactory();
 
-  private java.lang.String appDeploymentId; // required
-  private java.lang.String appModuleId; // required
-  private java.lang.String computeHostId; // required
-  private java.lang.String executablePath; // required
-  private org.apache.airavata.model.parallelism.ApplicationParallelismType parallelism; // required
-  private java.lang.String appDeploymentDescription; // optional
-  private java.util.List<CommandObject> moduleLoadCmds; // optional
-  private java.util.List<SetEnvPaths> libPrependPaths; // optional
-  private java.util.List<SetEnvPaths> libAppendPaths; // optional
-  private java.util.List<SetEnvPaths> setEnvironment; // optional
-  private java.util.List<CommandObject> preJobCommands; // optional
-  private java.util.List<CommandObject> postJobCommands; // optional
-  private java.lang.String defaultQueueName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeHostId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String executablePath; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.parallelism.ApplicationParallelismType parallelism; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<CommandObject> moduleLoadCmds; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<SetEnvPaths> libPrependPaths; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<SetEnvPaths> libAppendPaths; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<SetEnvPaths> setEnvironment; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<CommandObject> preJobCommands; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<CommandObject> postJobCommands; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String defaultQueueName; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
   private int defaultWalltime; // optional
@@ -128,6 +128,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // APP_DEPLOYMENT_ID
@@ -182,6 +183,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -194,10 +196,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -353,6 +357,7 @@
     this.editableByUser = other.editableByUser;
   }
 
+  @Override
   public ApplicationDeploymentDescription deepCopy() {
     return new ApplicationDeploymentDescription(this);
   }
@@ -384,11 +389,12 @@
     this.editableByUser = false;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppDeploymentId() {
     return this.appDeploymentId;
   }
 
-  public void setAppDeploymentId(java.lang.String appDeploymentId) {
+  public void setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
     this.appDeploymentId = appDeploymentId;
   }
 
@@ -407,11 +413,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppModuleId() {
     return this.appModuleId;
   }
 
-  public void setAppModuleId(java.lang.String appModuleId) {
+  public void setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
     this.appModuleId = appModuleId;
   }
 
@@ -430,11 +437,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeHostId() {
     return this.computeHostId;
   }
 
-  public void setComputeHostId(java.lang.String computeHostId) {
+  public void setComputeHostId(@org.apache.thrift.annotation.Nullable java.lang.String computeHostId) {
     this.computeHostId = computeHostId;
   }
 
@@ -453,11 +461,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExecutablePath() {
     return this.executablePath;
   }
 
-  public void setExecutablePath(java.lang.String executablePath) {
+  public void setExecutablePath(@org.apache.thrift.annotation.Nullable java.lang.String executablePath) {
     this.executablePath = executablePath;
   }
 
@@ -480,6 +489,7 @@
    * 
    * @see org.apache.airavata.model.parallelism.ApplicationParallelismType
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.parallelism.ApplicationParallelismType getParallelism() {
     return this.parallelism;
   }
@@ -488,7 +498,7 @@
    * 
    * @see org.apache.airavata.model.parallelism.ApplicationParallelismType
    */
-  public void setParallelism(org.apache.airavata.model.parallelism.ApplicationParallelismType parallelism) {
+  public void setParallelism(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.parallelism.ApplicationParallelismType parallelism) {
     this.parallelism = parallelism;
   }
 
@@ -507,11 +517,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppDeploymentDescription() {
     return this.appDeploymentDescription;
   }
 
-  public void setAppDeploymentDescription(java.lang.String appDeploymentDescription) {
+  public void setAppDeploymentDescription(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentDescription) {
     this.appDeploymentDescription = appDeploymentDescription;
   }
 
@@ -534,6 +545,7 @@
     return (this.moduleLoadCmds == null) ? 0 : this.moduleLoadCmds.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<CommandObject> getModuleLoadCmdsIterator() {
     return (this.moduleLoadCmds == null) ? null : this.moduleLoadCmds.iterator();
   }
@@ -545,11 +557,12 @@
     this.moduleLoadCmds.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<CommandObject> getModuleLoadCmds() {
     return this.moduleLoadCmds;
   }
 
-  public void setModuleLoadCmds(java.util.List<CommandObject> moduleLoadCmds) {
+  public void setModuleLoadCmds(@org.apache.thrift.annotation.Nullable java.util.List<CommandObject> moduleLoadCmds) {
     this.moduleLoadCmds = moduleLoadCmds;
   }
 
@@ -572,6 +585,7 @@
     return (this.libPrependPaths == null) ? 0 : this.libPrependPaths.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<SetEnvPaths> getLibPrependPathsIterator() {
     return (this.libPrependPaths == null) ? null : this.libPrependPaths.iterator();
   }
@@ -583,11 +597,12 @@
     this.libPrependPaths.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<SetEnvPaths> getLibPrependPaths() {
     return this.libPrependPaths;
   }
 
-  public void setLibPrependPaths(java.util.List<SetEnvPaths> libPrependPaths) {
+  public void setLibPrependPaths(@org.apache.thrift.annotation.Nullable java.util.List<SetEnvPaths> libPrependPaths) {
     this.libPrependPaths = libPrependPaths;
   }
 
@@ -610,6 +625,7 @@
     return (this.libAppendPaths == null) ? 0 : this.libAppendPaths.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<SetEnvPaths> getLibAppendPathsIterator() {
     return (this.libAppendPaths == null) ? null : this.libAppendPaths.iterator();
   }
@@ -621,11 +637,12 @@
     this.libAppendPaths.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<SetEnvPaths> getLibAppendPaths() {
     return this.libAppendPaths;
   }
 
-  public void setLibAppendPaths(java.util.List<SetEnvPaths> libAppendPaths) {
+  public void setLibAppendPaths(@org.apache.thrift.annotation.Nullable java.util.List<SetEnvPaths> libAppendPaths) {
     this.libAppendPaths = libAppendPaths;
   }
 
@@ -648,6 +665,7 @@
     return (this.setEnvironment == null) ? 0 : this.setEnvironment.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<SetEnvPaths> getSetEnvironmentIterator() {
     return (this.setEnvironment == null) ? null : this.setEnvironment.iterator();
   }
@@ -659,11 +677,12 @@
     this.setEnvironment.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<SetEnvPaths> getSetEnvironment() {
     return this.setEnvironment;
   }
 
-  public void setSetEnvironment(java.util.List<SetEnvPaths> setEnvironment) {
+  public void setSetEnvironment(@org.apache.thrift.annotation.Nullable java.util.List<SetEnvPaths> setEnvironment) {
     this.setEnvironment = setEnvironment;
   }
 
@@ -686,6 +705,7 @@
     return (this.preJobCommands == null) ? 0 : this.preJobCommands.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<CommandObject> getPreJobCommandsIterator() {
     return (this.preJobCommands == null) ? null : this.preJobCommands.iterator();
   }
@@ -697,11 +717,12 @@
     this.preJobCommands.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<CommandObject> getPreJobCommands() {
     return this.preJobCommands;
   }
 
-  public void setPreJobCommands(java.util.List<CommandObject> preJobCommands) {
+  public void setPreJobCommands(@org.apache.thrift.annotation.Nullable java.util.List<CommandObject> preJobCommands) {
     this.preJobCommands = preJobCommands;
   }
 
@@ -724,6 +745,7 @@
     return (this.postJobCommands == null) ? 0 : this.postJobCommands.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<CommandObject> getPostJobCommandsIterator() {
     return (this.postJobCommands == null) ? null : this.postJobCommands.iterator();
   }
@@ -735,11 +757,12 @@
     this.postJobCommands.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<CommandObject> getPostJobCommands() {
     return this.postJobCommands;
   }
 
-  public void setPostJobCommands(java.util.List<CommandObject> postJobCommands) {
+  public void setPostJobCommands(@org.apache.thrift.annotation.Nullable java.util.List<CommandObject> postJobCommands) {
     this.postJobCommands = postJobCommands;
   }
 
@@ -758,11 +781,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDefaultQueueName() {
     return this.defaultQueueName;
   }
 
-  public void setDefaultQueueName(java.lang.String defaultQueueName) {
+  public void setDefaultQueueName(@org.apache.thrift.annotation.Nullable java.lang.String defaultQueueName) {
     this.defaultQueueName = defaultQueueName;
   }
 
@@ -869,7 +893,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __EDITABLEBYUSER_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case APP_DEPLOYMENT_ID:
       if (value == null) {
@@ -1010,6 +1035,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case APP_DEPLOYMENT_ID:
@@ -1068,6 +1095,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1114,8 +1142,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ApplicationDeploymentDescription)
       return this.equals((ApplicationDeploymentDescription)that);
     return false;
@@ -1366,7 +1392,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+    lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1376,7 +1402,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+    lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1386,7 +1412,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeHostId()).compareTo(other.isSetComputeHostId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeHostId(), other.isSetComputeHostId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1396,7 +1422,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExecutablePath()).compareTo(other.isSetExecutablePath());
+    lastComparison = java.lang.Boolean.compare(isSetExecutablePath(), other.isSetExecutablePath());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1406,7 +1432,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParallelism()).compareTo(other.isSetParallelism());
+    lastComparison = java.lang.Boolean.compare(isSetParallelism(), other.isSetParallelism());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1416,7 +1442,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentDescription()).compareTo(other.isSetAppDeploymentDescription());
+    lastComparison = java.lang.Boolean.compare(isSetAppDeploymentDescription(), other.isSetAppDeploymentDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1426,7 +1452,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetModuleLoadCmds()).compareTo(other.isSetModuleLoadCmds());
+    lastComparison = java.lang.Boolean.compare(isSetModuleLoadCmds(), other.isSetModuleLoadCmds());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1436,7 +1462,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLibPrependPaths()).compareTo(other.isSetLibPrependPaths());
+    lastComparison = java.lang.Boolean.compare(isSetLibPrependPaths(), other.isSetLibPrependPaths());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1446,7 +1472,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLibAppendPaths()).compareTo(other.isSetLibAppendPaths());
+    lastComparison = java.lang.Boolean.compare(isSetLibAppendPaths(), other.isSetLibAppendPaths());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1456,7 +1482,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSetEnvironment()).compareTo(other.isSetSetEnvironment());
+    lastComparison = java.lang.Boolean.compare(isSetSetEnvironment(), other.isSetSetEnvironment());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1466,7 +1492,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreJobCommands()).compareTo(other.isSetPreJobCommands());
+    lastComparison = java.lang.Boolean.compare(isSetPreJobCommands(), other.isSetPreJobCommands());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1476,7 +1502,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPostJobCommands()).compareTo(other.isSetPostJobCommands());
+    lastComparison = java.lang.Boolean.compare(isSetPostJobCommands(), other.isSetPostJobCommands());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1486,7 +1512,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultQueueName()).compareTo(other.isSetDefaultQueueName());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultQueueName(), other.isSetDefaultQueueName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1496,7 +1522,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultNodeCount()).compareTo(other.isSetDefaultNodeCount());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultNodeCount(), other.isSetDefaultNodeCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1506,7 +1532,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultCPUCount()).compareTo(other.isSetDefaultCPUCount());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultCPUCount(), other.isSetDefaultCPUCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1516,7 +1542,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultWalltime(), other.isSetDefaultWalltime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1526,7 +1552,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEditableByUser()).compareTo(other.isSetEditableByUser());
+    lastComparison = java.lang.Boolean.compare(isSetEditableByUser(), other.isSetEditableByUser());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1539,14 +1565,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1747,6 +1777,7 @@
   }
 
   private static class ApplicationDeploymentDescriptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationDeploymentDescriptionStandardScheme getScheme() {
       return new ApplicationDeploymentDescriptionStandardScheme();
     }
@@ -1754,6 +1785,7 @@
 
   private static class ApplicationDeploymentDescriptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<ApplicationDeploymentDescription> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationDeploymentDescription struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1817,7 +1849,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.moduleLoadCmds = new java.util.ArrayList<CommandObject>(_list0.size);
-                CommandObject _elem1;
+                @org.apache.thrift.annotation.Nullable CommandObject _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new CommandObject();
@@ -1836,7 +1868,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.libPrependPaths = new java.util.ArrayList<SetEnvPaths>(_list3.size);
-                SetEnvPaths _elem4;
+                @org.apache.thrift.annotation.Nullable SetEnvPaths _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new SetEnvPaths();
@@ -1855,7 +1887,7 @@
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
                 struct.libAppendPaths = new java.util.ArrayList<SetEnvPaths>(_list6.size);
-                SetEnvPaths _elem7;
+                @org.apache.thrift.annotation.Nullable SetEnvPaths _elem7;
                 for (int _i8 = 0; _i8 < _list6.size; ++_i8)
                 {
                   _elem7 = new SetEnvPaths();
@@ -1874,7 +1906,7 @@
               {
                 org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
                 struct.setEnvironment = new java.util.ArrayList<SetEnvPaths>(_list9.size);
-                SetEnvPaths _elem10;
+                @org.apache.thrift.annotation.Nullable SetEnvPaths _elem10;
                 for (int _i11 = 0; _i11 < _list9.size; ++_i11)
                 {
                   _elem10 = new SetEnvPaths();
@@ -1893,7 +1925,7 @@
               {
                 org.apache.thrift.protocol.TList _list12 = iprot.readListBegin();
                 struct.preJobCommands = new java.util.ArrayList<CommandObject>(_list12.size);
-                CommandObject _elem13;
+                @org.apache.thrift.annotation.Nullable CommandObject _elem13;
                 for (int _i14 = 0; _i14 < _list12.size; ++_i14)
                 {
                   _elem13 = new CommandObject();
@@ -1912,7 +1944,7 @@
               {
                 org.apache.thrift.protocol.TList _list15 = iprot.readListBegin();
                 struct.postJobCommands = new java.util.ArrayList<CommandObject>(_list15.size);
-                CommandObject _elem16;
+                @org.apache.thrift.annotation.Nullable CommandObject _elem16;
                 for (int _i17 = 0; _i17 < _list15.size; ++_i17)
                 {
                   _elem16 = new CommandObject();
@@ -1975,6 +2007,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ApplicationDeploymentDescription struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2129,6 +2162,7 @@
   }
 
   private static class ApplicationDeploymentDescriptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationDeploymentDescriptionTupleScheme getScheme() {
       return new ApplicationDeploymentDescriptionTupleScheme();
     }
@@ -2276,9 +2310,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list30 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list30 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.moduleLoadCmds = new java.util.ArrayList<CommandObject>(_list30.size);
-          CommandObject _elem31;
+          @org.apache.thrift.annotation.Nullable CommandObject _elem31;
           for (int _i32 = 0; _i32 < _list30.size; ++_i32)
           {
             _elem31 = new CommandObject();
@@ -2290,9 +2324,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list33 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list33 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.libPrependPaths = new java.util.ArrayList<SetEnvPaths>(_list33.size);
-          SetEnvPaths _elem34;
+          @org.apache.thrift.annotation.Nullable SetEnvPaths _elem34;
           for (int _i35 = 0; _i35 < _list33.size; ++_i35)
           {
             _elem34 = new SetEnvPaths();
@@ -2304,9 +2338,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list36 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list36 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.libAppendPaths = new java.util.ArrayList<SetEnvPaths>(_list36.size);
-          SetEnvPaths _elem37;
+          @org.apache.thrift.annotation.Nullable SetEnvPaths _elem37;
           for (int _i38 = 0; _i38 < _list36.size; ++_i38)
           {
             _elem37 = new SetEnvPaths();
@@ -2318,9 +2352,9 @@
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list39 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list39 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.setEnvironment = new java.util.ArrayList<SetEnvPaths>(_list39.size);
-          SetEnvPaths _elem40;
+          @org.apache.thrift.annotation.Nullable SetEnvPaths _elem40;
           for (int _i41 = 0; _i41 < _list39.size; ++_i41)
           {
             _elem40 = new SetEnvPaths();
@@ -2332,9 +2366,9 @@
       }
       if (incoming.get(5)) {
         {
-          org.apache.thrift.protocol.TList _list42 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list42 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.preJobCommands = new java.util.ArrayList<CommandObject>(_list42.size);
-          CommandObject _elem43;
+          @org.apache.thrift.annotation.Nullable CommandObject _elem43;
           for (int _i44 = 0; _i44 < _list42.size; ++_i44)
           {
             _elem43 = new CommandObject();
@@ -2346,9 +2380,9 @@
       }
       if (incoming.get(6)) {
         {
-          org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list45 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.postJobCommands = new java.util.ArrayList<CommandObject>(_list45.size);
-          CommandObject _elem46;
+          @org.apache.thrift.annotation.Nullable CommandObject _elem46;
           for (int _i47 = 0; _i47 < _list45.size; ++_i47)
           {
             _elem46 = new CommandObject();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index 746df51..0399ef8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.appdeployment;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Application Module Information. A module has to be registered before registering a deployment.
  * 
@@ -39,7 +38,8 @@
  *    Descriprion of the Module
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
 
@@ -51,10 +51,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ApplicationModuleStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ApplicationModuleTupleSchemeFactory();
 
-  private java.lang.String appModuleId; // required
-  private java.lang.String appModuleName; // required
-  private java.lang.String appModuleVersion; // optional
-  private java.lang.String appModuleDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String appModuleName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String appModuleVersion; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String appModuleDescription; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -74,6 +74,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // APP_MODULE_ID
@@ -102,6 +103,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -114,10 +116,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -172,6 +176,7 @@
     }
   }
 
+  @Override
   public ApplicationModule deepCopy() {
     return new ApplicationModule(this);
   }
@@ -185,11 +190,12 @@
     this.appModuleDescription = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppModuleId() {
     return this.appModuleId;
   }
 
-  public void setAppModuleId(java.lang.String appModuleId) {
+  public void setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
     this.appModuleId = appModuleId;
   }
 
@@ -208,11 +214,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppModuleName() {
     return this.appModuleName;
   }
 
-  public void setAppModuleName(java.lang.String appModuleName) {
+  public void setAppModuleName(@org.apache.thrift.annotation.Nullable java.lang.String appModuleName) {
     this.appModuleName = appModuleName;
   }
 
@@ -231,11 +238,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppModuleVersion() {
     return this.appModuleVersion;
   }
 
-  public void setAppModuleVersion(java.lang.String appModuleVersion) {
+  public void setAppModuleVersion(@org.apache.thrift.annotation.Nullable java.lang.String appModuleVersion) {
     this.appModuleVersion = appModuleVersion;
   }
 
@@ -254,11 +262,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAppModuleDescription() {
     return this.appModuleDescription;
   }
 
-  public void setAppModuleDescription(java.lang.String appModuleDescription) {
+  public void setAppModuleDescription(@org.apache.thrift.annotation.Nullable java.lang.String appModuleDescription) {
     this.appModuleDescription = appModuleDescription;
   }
 
@@ -277,7 +286,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case APP_MODULE_ID:
       if (value == null) {
@@ -314,6 +324,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case APP_MODULE_ID:
@@ -333,6 +345,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -353,8 +366,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ApplicationModule)
       return this.equals((ApplicationModule)that);
     return false;
@@ -436,7 +447,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+    lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -446,7 +457,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAppModuleName()).compareTo(other.isSetAppModuleName());
+    lastComparison = java.lang.Boolean.compare(isSetAppModuleName(), other.isSetAppModuleName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -456,7 +467,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAppModuleVersion()).compareTo(other.isSetAppModuleVersion());
+    lastComparison = java.lang.Boolean.compare(isSetAppModuleVersion(), other.isSetAppModuleVersion());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -466,7 +477,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAppModuleDescription()).compareTo(other.isSetAppModuleDescription());
+    lastComparison = java.lang.Boolean.compare(isSetAppModuleDescription(), other.isSetAppModuleDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -479,14 +490,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -565,6 +580,7 @@
   }
 
   private static class ApplicationModuleStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationModuleStandardScheme getScheme() {
       return new ApplicationModuleStandardScheme();
     }
@@ -572,6 +588,7 @@
 
   private static class ApplicationModuleStandardScheme extends org.apache.thrift.scheme.StandardScheme<ApplicationModule> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationModule struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -623,6 +640,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ApplicationModule struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -658,6 +676,7 @@
   }
 
   private static class ApplicationModuleTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationModuleTupleScheme getScheme() {
       return new ApplicationModuleTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index 86e849f..96879b9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.appdeployment;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Job commands to be used in Pre Job, Post Job and Module Load Commands
  * 
@@ -33,7 +32,8 @@
  * commandOrder:
  *   Order of the command in the multiple command situation
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CommandObject implements org.apache.thrift.TBase<CommandObject, CommandObject._Fields>, java.io.Serializable, Cloneable, Comparable<CommandObject> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommandObject");
 
@@ -43,7 +43,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CommandObjectStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CommandObjectTupleSchemeFactory();
 
-  private java.lang.String command; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String command; // required
   private int commandOrder; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COMMAND
@@ -86,6 +87,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -98,10 +100,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -143,6 +147,7 @@
     this.commandOrder = other.commandOrder;
   }
 
+  @Override
   public CommandObject deepCopy() {
     return new CommandObject(this);
   }
@@ -154,11 +159,12 @@
     this.commandOrder = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCommand() {
     return this.command;
   }
 
-  public void setCommand(java.lang.String command) {
+  public void setCommand(@org.apache.thrift.annotation.Nullable java.lang.String command) {
     this.command = command;
   }
 
@@ -199,7 +205,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __COMMANDORDER_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COMMAND:
       if (value == null) {
@@ -220,6 +227,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COMMAND:
@@ -233,6 +242,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -249,8 +259,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CommandObject)
       return this.equals((CommandObject)that);
     return false;
@@ -306,7 +314,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetCommand()).compareTo(other.isSetCommand());
+    lastComparison = java.lang.Boolean.compare(isSetCommand(), other.isSetCommand());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -316,7 +324,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCommandOrder()).compareTo(other.isSetCommandOrder());
+    lastComparison = java.lang.Boolean.compare(isSetCommandOrder(), other.isSetCommandOrder());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -329,14 +337,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -391,6 +403,7 @@
   }
 
   private static class CommandObjectStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CommandObjectStandardScheme getScheme() {
       return new CommandObjectStandardScheme();
     }
@@ -398,6 +411,7 @@
 
   private static class CommandObjectStandardScheme extends org.apache.thrift.scheme.StandardScheme<CommandObject> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CommandObject struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -433,6 +447,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CommandObject struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -454,6 +469,7 @@
   }
 
   private static class CommandObjectTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CommandObjectTupleScheme getScheme() {
       return new CommandObjectTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index 91e3cc1..5ac4e8b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.appdeployment;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Key Value pairs to be used to set environments
  * 
@@ -36,7 +35,8 @@
  * envPathOrder:
  *   The order of the setting of the env variables when there are multiple env variables
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
 
@@ -47,8 +47,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SetEnvPathsStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SetEnvPathsTupleSchemeFactory();
 
-  private java.lang.String name; // required
-  private java.lang.String value; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // required
   private int envPathOrder; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -68,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NAME
@@ -94,6 +95,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -106,10 +108,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     this.envPathOrder = other.envPathOrder;
   }
 
+  @Override
   public SetEnvPaths deepCopy() {
     return new SetEnvPaths(this);
   }
@@ -170,11 +175,12 @@
     this.envPathOrder = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -193,11 +199,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -238,7 +245,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ENVPATHORDER_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NAME:
       if (value == null) {
@@ -267,6 +275,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NAME:
@@ -283,6 +293,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -301,8 +312,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SetEnvPaths)
       return this.equals((SetEnvPaths)that);
     return false;
@@ -371,7 +380,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -381,7 +390,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -391,7 +400,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEnvPathOrder()).compareTo(other.isSetEnvPathOrder());
+    lastComparison = java.lang.Boolean.compare(isSetEnvPathOrder(), other.isSetEnvPathOrder());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -404,14 +413,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -478,6 +491,7 @@
   }
 
   private static class SetEnvPathsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SetEnvPathsStandardScheme getScheme() {
       return new SetEnvPathsStandardScheme();
     }
@@ -485,6 +499,7 @@
 
   private static class SetEnvPathsStandardScheme extends org.apache.thrift.scheme.StandardScheme<SetEnvPaths> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SetEnvPaths struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -528,6 +543,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SetEnvPaths struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -554,6 +570,7 @@
   }
 
   private static class SetEnvPathsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SetEnvPathsTupleScheme getScheme() {
       return new SetEnvPathsTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index 061da15..c9dfc31 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.appinterface;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Application Interface Description
  * 
@@ -37,7 +36,8 @@
  *   Outputs generated from the application
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
 
@@ -53,12 +53,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ApplicationInterfaceDescriptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ApplicationInterfaceDescriptionTupleSchemeFactory();
 
-  private java.lang.String applicationInterfaceId; // required
-  private java.lang.String applicationName; // required
-  private java.lang.String applicationDescription; // optional
-  private java.util.List<java.lang.String> applicationModules; // optional
-  private java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> applicationInputs; // optional
-  private java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> applicationOutputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> applicationModules; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> applicationInputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> applicationOutputs; // optional
   private boolean archiveWorkingDirectory; // optional
   private boolean hasOptionalFileInputs; // optional
 
@@ -84,6 +84,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // APPLICATION_INTERFACE_ID
@@ -120,6 +121,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -132,10 +134,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -224,6 +228,7 @@
     this.hasOptionalFileInputs = other.hasOptionalFileInputs;
   }
 
+  @Override
   public ApplicationInterfaceDescription deepCopy() {
     return new ApplicationInterfaceDescription(this);
   }
@@ -243,11 +248,12 @@
     this.hasOptionalFileInputs = false;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationInterfaceId() {
     return this.applicationInterfaceId;
   }
 
-  public void setApplicationInterfaceId(java.lang.String applicationInterfaceId) {
+  public void setApplicationInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String applicationInterfaceId) {
     this.applicationInterfaceId = applicationInterfaceId;
   }
 
@@ -266,11 +272,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationName() {
     return this.applicationName;
   }
 
-  public void setApplicationName(java.lang.String applicationName) {
+  public void setApplicationName(@org.apache.thrift.annotation.Nullable java.lang.String applicationName) {
     this.applicationName = applicationName;
   }
 
@@ -289,11 +296,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationDescription() {
     return this.applicationDescription;
   }
 
-  public void setApplicationDescription(java.lang.String applicationDescription) {
+  public void setApplicationDescription(@org.apache.thrift.annotation.Nullable java.lang.String applicationDescription) {
     this.applicationDescription = applicationDescription;
   }
 
@@ -316,6 +324,7 @@
     return (this.applicationModules == null) ? 0 : this.applicationModules.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getApplicationModulesIterator() {
     return (this.applicationModules == null) ? null : this.applicationModules.iterator();
   }
@@ -327,11 +336,12 @@
     this.applicationModules.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getApplicationModules() {
     return this.applicationModules;
   }
 
-  public void setApplicationModules(java.util.List<java.lang.String> applicationModules) {
+  public void setApplicationModules(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> applicationModules) {
     this.applicationModules = applicationModules;
   }
 
@@ -354,6 +364,7 @@
     return (this.applicationInputs == null) ? 0 : this.applicationInputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputsIterator() {
     return (this.applicationInputs == null) ? null : this.applicationInputs.iterator();
   }
@@ -365,11 +376,12 @@
     this.applicationInputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs() {
     return this.applicationInputs;
   }
 
-  public void setApplicationInputs(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> applicationInputs) {
+  public void setApplicationInputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> applicationInputs) {
     this.applicationInputs = applicationInputs;
   }
 
@@ -392,6 +404,7 @@
     return (this.applicationOutputs == null) ? 0 : this.applicationOutputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputsIterator() {
     return (this.applicationOutputs == null) ? null : this.applicationOutputs.iterator();
   }
@@ -403,11 +416,12 @@
     this.applicationOutputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs() {
     return this.applicationOutputs;
   }
 
-  public void setApplicationOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> applicationOutputs) {
+  public void setApplicationOutputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> applicationOutputs) {
     this.applicationOutputs = applicationOutputs;
   }
 
@@ -470,7 +484,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __HASOPTIONALFILEINPUTS_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case APPLICATION_INTERFACE_ID:
       if (value == null) {
@@ -539,6 +554,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case APPLICATION_INTERFACE_ID:
@@ -570,6 +587,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -598,8 +616,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ApplicationInterfaceDescription)
       return this.equals((ApplicationInterfaceDescription)that);
     return false;
@@ -733,7 +749,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterfaceId()).compareTo(other.isSetApplicationInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationInterfaceId(), other.isSetApplicationInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -743,7 +759,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationName()).compareTo(other.isSetApplicationName());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationName(), other.isSetApplicationName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -753,7 +769,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationDescription()).compareTo(other.isSetApplicationDescription());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationDescription(), other.isSetApplicationDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -763,7 +779,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationModules()).compareTo(other.isSetApplicationModules());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationModules(), other.isSetApplicationModules());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -773,7 +789,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationInputs()).compareTo(other.isSetApplicationInputs());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationInputs(), other.isSetApplicationInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -783,7 +799,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationOutputs()).compareTo(other.isSetApplicationOutputs());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationOutputs(), other.isSetApplicationOutputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -793,7 +809,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetArchiveWorkingDirectory()).compareTo(other.isSetArchiveWorkingDirectory());
+    lastComparison = java.lang.Boolean.compare(isSetArchiveWorkingDirectory(), other.isSetArchiveWorkingDirectory());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -803,7 +819,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetHasOptionalFileInputs()).compareTo(other.isSetHasOptionalFileInputs());
+    lastComparison = java.lang.Boolean.compare(isSetHasOptionalFileInputs(), other.isSetHasOptionalFileInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -816,14 +832,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -936,6 +956,7 @@
   }
 
   private static class ApplicationInterfaceDescriptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationInterfaceDescriptionStandardScheme getScheme() {
       return new ApplicationInterfaceDescriptionStandardScheme();
     }
@@ -943,6 +964,7 @@
 
   private static class ApplicationInterfaceDescriptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<ApplicationInterfaceDescription> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationInterfaceDescription struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -982,7 +1004,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.applicationModules = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -1000,7 +1022,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.applicationInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list3.size);
-                org.apache.airavata.model.application.io.InputDataObjectType _elem4;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -1019,7 +1041,7 @@
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
                 struct.applicationOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list6.size);
-                org.apache.airavata.model.application.io.OutputDataObjectType _elem7;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem7;
                 for (int _i8 = 0; _i8 < _list6.size; ++_i8)
                 {
                   _elem7 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -1058,6 +1080,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ApplicationInterfaceDescription struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1138,6 +1161,7 @@
   }
 
   private static class ApplicationInterfaceDescriptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationInterfaceDescriptionTupleScheme getScheme() {
       return new ApplicationInterfaceDescriptionTupleScheme();
     }
@@ -1222,9 +1246,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list15 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.applicationModules = new java.util.ArrayList<java.lang.String>(_list15.size);
-          java.lang.String _elem16;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem16;
           for (int _i17 = 0; _i17 < _list15.size; ++_i17)
           {
             _elem16 = iprot.readString();
@@ -1235,9 +1259,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list18 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list18 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.applicationInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list18.size);
-          org.apache.airavata.model.application.io.InputDataObjectType _elem19;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem19;
           for (int _i20 = 0; _i20 < _list18.size; ++_i20)
           {
             _elem19 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -1249,9 +1273,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.applicationOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list21.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem22;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem22;
           for (int _i23 = 0; _i23 < _list21.size; ++_i23)
           {
             _elem22 = new org.apache.airavata.model.application.io.OutputDataObjectType();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index a0d495e..f920b80 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -16,21 +16,21 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Batch Queue Information on SuperComputers
  * 
  * maxRunTime:
  *  Maximum allowed run time in hours.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
 
@@ -51,8 +51,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new BatchQueueStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new BatchQueueTupleSchemeFactory();
 
-  private java.lang.String queueName; // required
-  private java.lang.String queueDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String queueName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String queueDescription; // optional
   private int maxRunTime; // optional
   private int maxNodes; // optional
   private int maxProcessors; // optional
@@ -62,7 +62,7 @@
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
   private int defaultWalltime; // optional
-  private java.lang.String queueSpecificMacros; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String queueSpecificMacros; // optional
   private boolean isDefaultQueue; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -92,6 +92,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // QUEUE_NAME
@@ -138,6 +139,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -150,10 +152,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -241,6 +245,7 @@
     this.isDefaultQueue = other.isDefaultQueue;
   }
 
+  @Override
   public BatchQueue deepCopy() {
     return new BatchQueue(this);
   }
@@ -272,11 +277,12 @@
     this.isDefaultQueue = false;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueueName() {
     return this.queueName;
   }
 
-  public void setQueueName(java.lang.String queueName) {
+  public void setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
     this.queueName = queueName;
   }
 
@@ -295,11 +301,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueueDescription() {
     return this.queueDescription;
   }
 
-  public void setQueueDescription(java.lang.String queueDescription) {
+  public void setQueueDescription(@org.apache.thrift.annotation.Nullable java.lang.String queueDescription) {
     this.queueDescription = queueDescription;
   }
 
@@ -516,11 +523,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueueSpecificMacros() {
     return this.queueSpecificMacros;
   }
 
-  public void setQueueSpecificMacros(java.lang.String queueSpecificMacros) {
+  public void setQueueSpecificMacros(@org.apache.thrift.annotation.Nullable java.lang.String queueSpecificMacros) {
     this.queueSpecificMacros = queueSpecificMacros;
   }
 
@@ -561,7 +569,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ISDEFAULTQUEUE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case QUEUE_NAME:
       if (value == null) {
@@ -670,6 +679,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case QUEUE_NAME:
@@ -716,6 +727,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -754,8 +766,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof BatchQueue)
       return this.equals((BatchQueue)that);
     return false;
@@ -954,7 +964,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
+    lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -964,7 +974,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueDescription()).compareTo(other.isSetQueueDescription());
+    lastComparison = java.lang.Boolean.compare(isSetQueueDescription(), other.isSetQueueDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -974,7 +984,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxRunTime()).compareTo(other.isSetMaxRunTime());
+    lastComparison = java.lang.Boolean.compare(isSetMaxRunTime(), other.isSetMaxRunTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -984,7 +994,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxNodes()).compareTo(other.isSetMaxNodes());
+    lastComparison = java.lang.Boolean.compare(isSetMaxNodes(), other.isSetMaxNodes());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -994,7 +1004,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxProcessors()).compareTo(other.isSetMaxProcessors());
+    lastComparison = java.lang.Boolean.compare(isSetMaxProcessors(), other.isSetMaxProcessors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1004,7 +1014,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxJobsInQueue()).compareTo(other.isSetMaxJobsInQueue());
+    lastComparison = java.lang.Boolean.compare(isSetMaxJobsInQueue(), other.isSetMaxJobsInQueue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1014,7 +1024,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxMemory()).compareTo(other.isSetMaxMemory());
+    lastComparison = java.lang.Boolean.compare(isSetMaxMemory(), other.isSetMaxMemory());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1024,7 +1034,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCpuPerNode()).compareTo(other.isSetCpuPerNode());
+    lastComparison = java.lang.Boolean.compare(isSetCpuPerNode(), other.isSetCpuPerNode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1034,7 +1044,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultNodeCount()).compareTo(other.isSetDefaultNodeCount());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultNodeCount(), other.isSetDefaultNodeCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1044,7 +1054,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultCPUCount()).compareTo(other.isSetDefaultCPUCount());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultCPUCount(), other.isSetDefaultCPUCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1054,7 +1064,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultWalltime(), other.isSetDefaultWalltime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1064,7 +1074,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueSpecificMacros()).compareTo(other.isSetQueueSpecificMacros());
+    lastComparison = java.lang.Boolean.compare(isSetQueueSpecificMacros(), other.isSetQueueSpecificMacros());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1074,7 +1084,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsDefaultQueue()).compareTo(other.isSetIsDefaultQueue());
+    lastComparison = java.lang.Boolean.compare(isSetIsDefaultQueue(), other.isSetIsDefaultQueue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1087,14 +1097,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1223,6 +1237,7 @@
   }
 
   private static class BatchQueueStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public BatchQueueStandardScheme getScheme() {
       return new BatchQueueStandardScheme();
     }
@@ -1230,6 +1245,7 @@
 
   private static class BatchQueueStandardScheme extends org.apache.thrift.scheme.StandardScheme<BatchQueue> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, BatchQueue struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1353,6 +1369,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, BatchQueue struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1433,6 +1450,7 @@
   }
 
   private static class BatchQueueTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public BatchQueueTupleScheme getScheme() {
       return new BatchQueueTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index ac6b0f9..df8ff3c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Cloud Job Submission
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
 
@@ -43,12 +43,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CloudJobSubmissionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CloudJobSubmissionTupleSchemeFactory();
 
-  private java.lang.String jobSubmissionInterfaceId; // required
-  private org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
-  private java.lang.String nodeId; // required
-  private java.lang.String executableType; // required
-  private ProviderName providerName; // required
-  private java.lang.String userAccountName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String nodeId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String executableType; // required
+  private @org.apache.thrift.annotation.Nullable ProviderName providerName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String userAccountName; // 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 {
@@ -78,6 +78,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -110,6 +111,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -122,10 +124,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -197,6 +201,7 @@
     }
   }
 
+  @Override
   public CloudJobSubmission deepCopy() {
     return new CloudJobSubmission(this);
   }
@@ -212,11 +217,12 @@
     this.userAccountName = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobSubmissionInterfaceId() {
     return this.jobSubmissionInterfaceId;
   }
 
-  public void setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+  public void setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
     this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
   }
 
@@ -239,6 +245,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -247,7 +254,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
-  public void setSecurityProtocol(org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -266,11 +273,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNodeId() {
     return this.nodeId;
   }
 
-  public void setNodeId(java.lang.String nodeId) {
+  public void setNodeId(@org.apache.thrift.annotation.Nullable java.lang.String nodeId) {
     this.nodeId = nodeId;
   }
 
@@ -289,11 +297,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExecutableType() {
     return this.executableType;
   }
 
-  public void setExecutableType(java.lang.String executableType) {
+  public void setExecutableType(@org.apache.thrift.annotation.Nullable java.lang.String executableType) {
     this.executableType = executableType;
   }
 
@@ -316,6 +325,7 @@
    * 
    * @see ProviderName
    */
+  @org.apache.thrift.annotation.Nullable
   public ProviderName getProviderName() {
     return this.providerName;
   }
@@ -324,7 +334,7 @@
    * 
    * @see ProviderName
    */
-  public void setProviderName(ProviderName providerName) {
+  public void setProviderName(@org.apache.thrift.annotation.Nullable ProviderName providerName) {
     this.providerName = providerName;
   }
 
@@ -343,11 +353,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserAccountName() {
     return this.userAccountName;
   }
 
-  public void setUserAccountName(java.lang.String userAccountName) {
+  public void setUserAccountName(@org.apache.thrift.annotation.Nullable java.lang.String userAccountName) {
     this.userAccountName = userAccountName;
   }
 
@@ -366,7 +377,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
       if (value == null) {
@@ -419,6 +431,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -444,6 +458,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -468,8 +483,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CloudJobSubmission)
       return this.equals((CloudJobSubmission)that);
     return false;
@@ -577,7 +590,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -587,7 +600,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -597,7 +610,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNodeId()).compareTo(other.isSetNodeId());
+    lastComparison = java.lang.Boolean.compare(isSetNodeId(), other.isSetNodeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -607,7 +620,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExecutableType()).compareTo(other.isSetExecutableType());
+    lastComparison = java.lang.Boolean.compare(isSetExecutableType(), other.isSetExecutableType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -617,7 +630,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProviderName()).compareTo(other.isSetProviderName());
+    lastComparison = java.lang.Boolean.compare(isSetProviderName(), other.isSetProviderName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -627,7 +640,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserAccountName()).compareTo(other.isSetUserAccountName());
+    lastComparison = java.lang.Boolean.compare(isSetUserAccountName(), other.isSetUserAccountName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -640,14 +653,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -754,6 +771,7 @@
   }
 
   private static class CloudJobSubmissionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CloudJobSubmissionStandardScheme getScheme() {
       return new CloudJobSubmissionStandardScheme();
     }
@@ -761,6 +779,7 @@
 
   private static class CloudJobSubmissionStandardScheme extends org.apache.thrift.scheme.StandardScheme<CloudJobSubmission> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CloudJobSubmission struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -828,6 +847,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CloudJobSubmission struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -869,6 +889,7 @@
   }
 
   private static class CloudJobSubmissionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CloudJobSubmissionTupleScheme getScheme() {
       return new CloudJobSubmissionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 9b804da..b86edbb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Computational Resource Description
  * 
@@ -53,7 +52,8 @@
  *  Map of file systems type and the path.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
 
@@ -79,20 +79,20 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ComputeResourceDescriptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ComputeResourceDescriptionTupleSchemeFactory();
 
-  private java.lang.String computeResourceId; // required
-  private java.lang.String hostName; // required
-  private java.util.List<java.lang.String> hostAliases; // optional
-  private java.util.List<java.lang.String> ipAddresses; // optional
-  private java.lang.String resourceDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String hostName; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> hostAliases; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> ipAddresses; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceDescription; // optional
   private boolean enabled; // optional
-  private java.util.List<BatchQueue> batchQueues; // optional
-  private java.util.Map<FileSystems,java.lang.String> fileSystems; // optional
-  private java.util.List<JobSubmissionInterface> jobSubmissionInterfaces; // optional
-  private java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<BatchQueue> batchQueues; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.Map<FileSystems,java.lang.String> fileSystems; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<JobSubmissionInterface> jobSubmissionInterfaces; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces; // optional
   private int maxMemoryPerNode; // optional
   private boolean gatewayUsageReporting; // optional
-  private java.lang.String gatewayUsageModuleLoadCommand; // optional
-  private java.lang.String gatewayUsageExecutable; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayUsageModuleLoadCommand; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayUsageExecutable; // optional
   private int cpusPerNode; // optional
   private int defaultNodeCount; // optional
   private int defaultCPUCount; // optional
@@ -130,6 +130,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COMPUTE_RESOURCE_ID
@@ -186,6 +187,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -198,10 +200,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -312,7 +316,7 @@
       this.batchQueues = __this__batchQueues;
     }
     if (other.isSetFileSystems()) {
-      java.util.Map<FileSystems,java.lang.String> __this__fileSystems = new java.util.HashMap<FileSystems,java.lang.String>(other.fileSystems.size());
+      java.util.Map<FileSystems,java.lang.String> __this__fileSystems = new java.util.EnumMap<FileSystems,java.lang.String>(FileSystems.class);
       for (java.util.Map.Entry<FileSystems, java.lang.String> other_element : other.fileSystems.entrySet()) {
 
         FileSystems other_element_key = other_element.getKey();
@@ -354,6 +358,7 @@
     this.defaultWalltime = other.defaultWalltime;
   }
 
+  @Override
   public ComputeResourceDescription deepCopy() {
     return new ComputeResourceDescription(this);
   }
@@ -388,11 +393,12 @@
     this.defaultWalltime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -411,11 +417,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getHostName() {
     return this.hostName;
   }
 
-  public void setHostName(java.lang.String hostName) {
+  public void setHostName(@org.apache.thrift.annotation.Nullable java.lang.String hostName) {
     this.hostName = hostName;
   }
 
@@ -438,6 +445,7 @@
     return (this.hostAliases == null) ? 0 : this.hostAliases.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getHostAliasesIterator() {
     return (this.hostAliases == null) ? null : this.hostAliases.iterator();
   }
@@ -449,11 +457,12 @@
     this.hostAliases.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getHostAliases() {
     return this.hostAliases;
   }
 
-  public void setHostAliases(java.util.List<java.lang.String> hostAliases) {
+  public void setHostAliases(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> hostAliases) {
     this.hostAliases = hostAliases;
   }
 
@@ -476,6 +485,7 @@
     return (this.ipAddresses == null) ? 0 : this.ipAddresses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getIpAddressesIterator() {
     return (this.ipAddresses == null) ? null : this.ipAddresses.iterator();
   }
@@ -487,11 +497,12 @@
     this.ipAddresses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getIpAddresses() {
     return this.ipAddresses;
   }
 
-  public void setIpAddresses(java.util.List<java.lang.String> ipAddresses) {
+  public void setIpAddresses(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> ipAddresses) {
     this.ipAddresses = ipAddresses;
   }
 
@@ -510,11 +521,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceDescription() {
     return this.resourceDescription;
   }
 
-  public void setResourceDescription(java.lang.String resourceDescription) {
+  public void setResourceDescription(@org.apache.thrift.annotation.Nullable java.lang.String resourceDescription) {
     this.resourceDescription = resourceDescription;
   }
 
@@ -559,6 +571,7 @@
     return (this.batchQueues == null) ? 0 : this.batchQueues.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<BatchQueue> getBatchQueuesIterator() {
     return (this.batchQueues == null) ? null : this.batchQueues.iterator();
   }
@@ -570,11 +583,12 @@
     this.batchQueues.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<BatchQueue> getBatchQueues() {
     return this.batchQueues;
   }
 
-  public void setBatchQueues(java.util.List<BatchQueue> batchQueues) {
+  public void setBatchQueues(@org.apache.thrift.annotation.Nullable java.util.List<BatchQueue> batchQueues) {
     this.batchQueues = batchQueues;
   }
 
@@ -599,16 +613,17 @@
 
   public void putToFileSystems(FileSystems key, java.lang.String val) {
     if (this.fileSystems == null) {
-      this.fileSystems = new java.util.HashMap<FileSystems,java.lang.String>();
+      this.fileSystems = new java.util.EnumMap<FileSystems,java.lang.String>(FileSystems.class);
     }
     this.fileSystems.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<FileSystems,java.lang.String> getFileSystems() {
     return this.fileSystems;
   }
 
-  public void setFileSystems(java.util.Map<FileSystems,java.lang.String> fileSystems) {
+  public void setFileSystems(@org.apache.thrift.annotation.Nullable java.util.Map<FileSystems,java.lang.String> fileSystems) {
     this.fileSystems = fileSystems;
   }
 
@@ -631,6 +646,7 @@
     return (this.jobSubmissionInterfaces == null) ? 0 : this.jobSubmissionInterfaces.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<JobSubmissionInterface> getJobSubmissionInterfacesIterator() {
     return (this.jobSubmissionInterfaces == null) ? null : this.jobSubmissionInterfaces.iterator();
   }
@@ -642,11 +658,12 @@
     this.jobSubmissionInterfaces.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<JobSubmissionInterface> getJobSubmissionInterfaces() {
     return this.jobSubmissionInterfaces;
   }
 
-  public void setJobSubmissionInterfaces(java.util.List<JobSubmissionInterface> jobSubmissionInterfaces) {
+  public void setJobSubmissionInterfaces(@org.apache.thrift.annotation.Nullable java.util.List<JobSubmissionInterface> jobSubmissionInterfaces) {
     this.jobSubmissionInterfaces = jobSubmissionInterfaces;
   }
 
@@ -669,6 +686,7 @@
     return (this.dataMovementInterfaces == null) ? 0 : this.dataMovementInterfaces.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.data.movement.DataMovementInterface> getDataMovementInterfacesIterator() {
     return (this.dataMovementInterfaces == null) ? null : this.dataMovementInterfaces.iterator();
   }
@@ -680,11 +698,12 @@
     this.dataMovementInterfaces.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> getDataMovementInterfaces() {
     return this.dataMovementInterfaces;
   }
 
-  public void setDataMovementInterfaces(java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces) {
+  public void setDataMovementInterfaces(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces) {
     this.dataMovementInterfaces = dataMovementInterfaces;
   }
 
@@ -747,11 +766,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __GATEWAYUSAGEREPORTING_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayUsageModuleLoadCommand() {
     return this.gatewayUsageModuleLoadCommand;
   }
 
-  public void setGatewayUsageModuleLoadCommand(java.lang.String gatewayUsageModuleLoadCommand) {
+  public void setGatewayUsageModuleLoadCommand(@org.apache.thrift.annotation.Nullable java.lang.String gatewayUsageModuleLoadCommand) {
     this.gatewayUsageModuleLoadCommand = gatewayUsageModuleLoadCommand;
   }
 
@@ -770,11 +790,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayUsageExecutable() {
     return this.gatewayUsageExecutable;
   }
 
-  public void setGatewayUsageExecutable(java.lang.String gatewayUsageExecutable) {
+  public void setGatewayUsageExecutable(@org.apache.thrift.annotation.Nullable java.lang.String gatewayUsageExecutable) {
     this.gatewayUsageExecutable = gatewayUsageExecutable;
   }
 
@@ -881,7 +902,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DEFAULTWALLTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
       if (value == null) {
@@ -1030,6 +1052,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -1091,6 +1115,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1139,8 +1164,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ComputeResourceDescription)
       return this.equals((ComputeResourceDescription)that);
     return false;
@@ -1404,7 +1427,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1414,7 +1437,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetHostName()).compareTo(other.isSetHostName());
+    lastComparison = java.lang.Boolean.compare(isSetHostName(), other.isSetHostName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1424,7 +1447,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetHostAliases()).compareTo(other.isSetHostAliases());
+    lastComparison = java.lang.Boolean.compare(isSetHostAliases(), other.isSetHostAliases());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1434,7 +1457,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIpAddresses()).compareTo(other.isSetIpAddresses());
+    lastComparison = java.lang.Boolean.compare(isSetIpAddresses(), other.isSetIpAddresses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1444,7 +1467,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceDescription()).compareTo(other.isSetResourceDescription());
+    lastComparison = java.lang.Boolean.compare(isSetResourceDescription(), other.isSetResourceDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1454,7 +1477,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEnabled()).compareTo(other.isSetEnabled());
+    lastComparison = java.lang.Boolean.compare(isSetEnabled(), other.isSetEnabled());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1464,7 +1487,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetBatchQueues()).compareTo(other.isSetBatchQueues());
+    lastComparison = java.lang.Boolean.compare(isSetBatchQueues(), other.isSetBatchQueues());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1474,7 +1497,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFileSystems()).compareTo(other.isSetFileSystems());
+    lastComparison = java.lang.Boolean.compare(isSetFileSystems(), other.isSetFileSystems());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1484,7 +1507,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaces()).compareTo(other.isSetJobSubmissionInterfaces());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaces(), other.isSetJobSubmissionInterfaces());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1494,7 +1517,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaces()).compareTo(other.isSetDataMovementInterfaces());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaces(), other.isSetDataMovementInterfaces());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1504,7 +1527,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxMemoryPerNode()).compareTo(other.isSetMaxMemoryPerNode());
+    lastComparison = java.lang.Boolean.compare(isSetMaxMemoryPerNode(), other.isSetMaxMemoryPerNode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1514,7 +1537,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayUsageReporting()).compareTo(other.isSetGatewayUsageReporting());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayUsageReporting(), other.isSetGatewayUsageReporting());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1524,7 +1547,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayUsageModuleLoadCommand()).compareTo(other.isSetGatewayUsageModuleLoadCommand());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayUsageModuleLoadCommand(), other.isSetGatewayUsageModuleLoadCommand());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1534,7 +1557,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayUsageExecutable()).compareTo(other.isSetGatewayUsageExecutable());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayUsageExecutable(), other.isSetGatewayUsageExecutable());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1544,7 +1567,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCpusPerNode()).compareTo(other.isSetCpusPerNode());
+    lastComparison = java.lang.Boolean.compare(isSetCpusPerNode(), other.isSetCpusPerNode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1554,7 +1577,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultNodeCount()).compareTo(other.isSetDefaultNodeCount());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultNodeCount(), other.isSetDefaultNodeCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1564,7 +1587,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultCPUCount()).compareTo(other.isSetDefaultCPUCount());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultCPUCount(), other.isSetDefaultCPUCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1574,7 +1597,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultWalltime()).compareTo(other.isSetDefaultWalltime());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultWalltime(), other.isSetDefaultWalltime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1587,14 +1610,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1787,6 +1814,7 @@
   }
 
   private static class ComputeResourceDescriptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourceDescriptionStandardScheme getScheme() {
       return new ComputeResourceDescriptionStandardScheme();
     }
@@ -1794,6 +1822,7 @@
 
   private static class ComputeResourceDescriptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<ComputeResourceDescription> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ComputeResourceDescription struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1825,7 +1854,7 @@
               {
                 org.apache.thrift.protocol.TList _list36 = iprot.readListBegin();
                 struct.hostAliases = new java.util.ArrayList<java.lang.String>(_list36.size);
-                java.lang.String _elem37;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem37;
                 for (int _i38 = 0; _i38 < _list36.size; ++_i38)
                 {
                   _elem37 = iprot.readString();
@@ -1843,7 +1872,7 @@
               {
                 org.apache.thrift.protocol.TList _list39 = iprot.readListBegin();
                 struct.ipAddresses = new java.util.ArrayList<java.lang.String>(_list39.size);
-                java.lang.String _elem40;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem40;
                 for (int _i41 = 0; _i41 < _list39.size; ++_i41)
                 {
                   _elem40 = iprot.readString();
@@ -1877,7 +1906,7 @@
               {
                 org.apache.thrift.protocol.TList _list42 = iprot.readListBegin();
                 struct.batchQueues = new java.util.ArrayList<BatchQueue>(_list42.size);
-                BatchQueue _elem43;
+                @org.apache.thrift.annotation.Nullable BatchQueue _elem43;
                 for (int _i44 = 0; _i44 < _list42.size; ++_i44)
                 {
                   _elem43 = new BatchQueue();
@@ -1895,14 +1924,17 @@
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map45 = iprot.readMapBegin();
-                struct.fileSystems = new java.util.HashMap<FileSystems,java.lang.String>(2*_map45.size);
-                FileSystems _key46;
-                java.lang.String _val47;
+                struct.fileSystems = new java.util.EnumMap<FileSystems,java.lang.String>(FileSystems.class);
+                @org.apache.thrift.annotation.Nullable FileSystems _key46;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val47;
                 for (int _i48 = 0; _i48 < _map45.size; ++_i48)
                 {
                   _key46 = org.apache.airavata.model.appcatalog.computeresource.FileSystems.findByValue(iprot.readI32());
                   _val47 = iprot.readString();
-                  struct.fileSystems.put(_key46, _val47);
+                  if (_key46 != null)
+                  {
+                    struct.fileSystems.put(_key46, _val47);
+                  }
                 }
                 iprot.readMapEnd();
               }
@@ -1916,7 +1948,7 @@
               {
                 org.apache.thrift.protocol.TList _list49 = iprot.readListBegin();
                 struct.jobSubmissionInterfaces = new java.util.ArrayList<JobSubmissionInterface>(_list49.size);
-                JobSubmissionInterface _elem50;
+                @org.apache.thrift.annotation.Nullable JobSubmissionInterface _elem50;
                 for (int _i51 = 0; _i51 < _list49.size; ++_i51)
                 {
                   _elem50 = new JobSubmissionInterface();
@@ -1935,7 +1967,7 @@
               {
                 org.apache.thrift.protocol.TList _list52 = iprot.readListBegin();
                 struct.dataMovementInterfaces = new java.util.ArrayList<org.apache.airavata.model.data.movement.DataMovementInterface>(_list52.size);
-                org.apache.airavata.model.data.movement.DataMovementInterface _elem53;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementInterface _elem53;
                 for (int _i54 = 0; _i54 < _list52.size; ++_i54)
                 {
                   _elem53 = new org.apache.airavata.model.data.movement.DataMovementInterface();
@@ -2022,6 +2054,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ComputeResourceDescription struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2184,6 +2217,7 @@
   }
 
   private static class ComputeResourceDescriptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourceDescriptionTupleScheme getScheme() {
       return new ComputeResourceDescriptionTupleScheme();
     }
@@ -2343,9 +2377,9 @@
       java.util.BitSet incoming = iprot.readBitSet(16);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list67 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list67 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.hostAliases = new java.util.ArrayList<java.lang.String>(_list67.size);
-          java.lang.String _elem68;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem68;
           for (int _i69 = 0; _i69 < _list67.size; ++_i69)
           {
             _elem68 = iprot.readString();
@@ -2356,9 +2390,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list70 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list70 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.ipAddresses = new java.util.ArrayList<java.lang.String>(_list70.size);
-          java.lang.String _elem71;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem71;
           for (int _i72 = 0; _i72 < _list70.size; ++_i72)
           {
             _elem71 = iprot.readString();
@@ -2377,9 +2411,9 @@
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list73 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list73 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.batchQueues = new java.util.ArrayList<BatchQueue>(_list73.size);
-          BatchQueue _elem74;
+          @org.apache.thrift.annotation.Nullable BatchQueue _elem74;
           for (int _i75 = 0; _i75 < _list73.size; ++_i75)
           {
             _elem74 = new BatchQueue();
@@ -2391,24 +2425,27 @@
       }
       if (incoming.get(5)) {
         {
-          org.apache.thrift.protocol.TMap _map76 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.fileSystems = new java.util.HashMap<FileSystems,java.lang.String>(2*_map76.size);
-          FileSystems _key77;
-          java.lang.String _val78;
+          org.apache.thrift.protocol.TMap _map76 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+          struct.fileSystems = new java.util.EnumMap<FileSystems,java.lang.String>(FileSystems.class);
+          @org.apache.thrift.annotation.Nullable FileSystems _key77;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val78;
           for (int _i79 = 0; _i79 < _map76.size; ++_i79)
           {
             _key77 = org.apache.airavata.model.appcatalog.computeresource.FileSystems.findByValue(iprot.readI32());
             _val78 = iprot.readString();
-            struct.fileSystems.put(_key77, _val78);
+            if (_key77 != null)
+            {
+              struct.fileSystems.put(_key77, _val78);
+            }
           }
         }
         struct.setFileSystemsIsSet(true);
       }
       if (incoming.get(6)) {
         {
-          org.apache.thrift.protocol.TList _list80 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list80 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.jobSubmissionInterfaces = new java.util.ArrayList<JobSubmissionInterface>(_list80.size);
-          JobSubmissionInterface _elem81;
+          @org.apache.thrift.annotation.Nullable JobSubmissionInterface _elem81;
           for (int _i82 = 0; _i82 < _list80.size; ++_i82)
           {
             _elem81 = new JobSubmissionInterface();
@@ -2420,9 +2457,9 @@
       }
       if (incoming.get(7)) {
         {
-          org.apache.thrift.protocol.TList _list83 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list83 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.dataMovementInterfaces = new java.util.ArrayList<org.apache.airavata.model.data.movement.DataMovementInterface>(_list83.size);
-          org.apache.airavata.model.data.movement.DataMovementInterface _elem84;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementInterface _elem84;
           for (int _i85 = 0; _i85 < _list83.size; ++_i85)
           {
             _elem84 = new org.apache.airavata.model.data.movement.DataMovementInterface();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
index 6f35b01..15e15ee 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/DMType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DMType implements org.apache.thrift.TEnum {
   COMPUTE_RESOURCE(0),
   STORAGE_RESOURCE(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DMType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
index 7be1718..5814e24 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/FileSystems.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Enumeration of File Systems on the resource
  * 
@@ -44,6 +40,7 @@
  *  The Simple Linux Utility for Resource Management is a open source workload manager.
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum FileSystems implements org.apache.thrift.TEnum {
   HOME(0),
   WORK(1),
@@ -60,6 +57,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -68,6 +66,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static FileSystems findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index 331935a..9bce0c7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GlobusJobSubmissionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GlobusJobSubmissionTupleSchemeFactory();
 
-  private java.lang.String jobSubmissionInterfaceId; // required
-  private org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
-  private java.util.List<java.lang.String> globusGateKeeperEndPoint; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> globusGateKeeperEndPoint; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -60,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -86,6 +87,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -98,10 +100,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -153,6 +157,7 @@
     }
   }
 
+  @Override
   public GlobusJobSubmission deepCopy() {
     return new GlobusJobSubmission(this);
   }
@@ -165,11 +170,12 @@
     this.globusGateKeeperEndPoint = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobSubmissionInterfaceId() {
     return this.jobSubmissionInterfaceId;
   }
 
-  public void setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+  public void setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
     this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
   }
 
@@ -192,6 +198,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -200,7 +207,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
-  public void setSecurityProtocol(org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -223,6 +230,7 @@
     return (this.globusGateKeeperEndPoint == null) ? 0 : this.globusGateKeeperEndPoint.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getGlobusGateKeeperEndPointIterator() {
     return (this.globusGateKeeperEndPoint == null) ? null : this.globusGateKeeperEndPoint.iterator();
   }
@@ -234,11 +242,12 @@
     this.globusGateKeeperEndPoint.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getGlobusGateKeeperEndPoint() {
     return this.globusGateKeeperEndPoint;
   }
 
-  public void setGlobusGateKeeperEndPoint(java.util.List<java.lang.String> globusGateKeeperEndPoint) {
+  public void setGlobusGateKeeperEndPoint(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> globusGateKeeperEndPoint) {
     this.globusGateKeeperEndPoint = globusGateKeeperEndPoint;
   }
 
@@ -257,7 +266,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
       if (value == null) {
@@ -286,6 +296,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -302,6 +314,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -320,8 +333,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GlobusJobSubmission)
       return this.equals((GlobusJobSubmission)that);
     return false;
@@ -390,7 +401,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -400,7 +411,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -410,7 +421,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGlobusGateKeeperEndPoint()).compareTo(other.isSetGlobusGateKeeperEndPoint());
+    lastComparison = java.lang.Boolean.compare(isSetGlobusGateKeeperEndPoint(), other.isSetGlobusGateKeeperEndPoint());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -423,14 +434,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -499,6 +514,7 @@
   }
 
   private static class GlobusJobSubmissionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GlobusJobSubmissionStandardScheme getScheme() {
       return new GlobusJobSubmissionStandardScheme();
     }
@@ -506,6 +522,7 @@
 
   private static class GlobusJobSubmissionStandardScheme extends org.apache.thrift.scheme.StandardScheme<GlobusJobSubmission> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GlobusJobSubmission struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -537,7 +554,7 @@
               {
                 org.apache.thrift.protocol.TList _list28 = iprot.readListBegin();
                 struct.globusGateKeeperEndPoint = new java.util.ArrayList<java.lang.String>(_list28.size);
-                java.lang.String _elem29;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem29;
                 for (int _i30 = 0; _i30 < _list28.size; ++_i30)
                 {
                   _elem29 = iprot.readString();
@@ -559,6 +576,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GlobusJobSubmission struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -594,6 +612,7 @@
   }
 
   private static class GlobusJobSubmissionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GlobusJobSubmissionTupleScheme getScheme() {
       return new GlobusJobSubmissionTupleScheme();
     }
@@ -632,9 +651,9 @@
       java.util.BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list33 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list33 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.globusGateKeeperEndPoint = new java.util.ArrayList<java.lang.String>(_list33.size);
-          java.lang.String _elem34;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem34;
           for (int _i35 = 0; _i35 < _list33.size; ++_i35)
           {
             _elem34 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
index ccb208a..1b7b9fc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobManagerCommand.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Enumeration of resource job manager commands
  * 
@@ -53,6 +49,7 @@
  *  Display the start time of the specified job. Ex: showstart
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum JobManagerCommand implements org.apache.thrift.TEnum {
   SUBMISSION(0),
   JOB_MONITORING(1),
@@ -60,7 +57,10 @@
   CHECK_JOB(3),
   SHOW_QUEUE(4),
   SHOW_RESERVATION(5),
-  SHOW_START(6);
+  SHOW_START(6),
+  SHOW_CLUSTER_INFO(7),
+  SHOW_NO_OF_RUNNING_JOBS(8),
+  SHOW_NO_OF_PENDING_JOBS(9);
 
   private final int value;
 
@@ -71,6 +71,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -79,6 +80,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static JobManagerCommand findByValue(int value) { 
     switch (value) {
       case 0:
@@ -95,6 +97,12 @@
         return SHOW_RESERVATION;
       case 6:
         return SHOW_START;
+      case 7:
+        return SHOW_CLUSTER_INFO;
+      case 8:
+        return SHOW_NO_OF_RUNNING_JOBS;
+      case 9:
+        return SHOW_NO_OF_PENDING_JOBS;
       default:
         return null;
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 30c6183..eac8eeb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Job Submission Interfaces
  * 
@@ -34,7 +33,8 @@
  *   Lower the numerical number, higher the priority
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
 
@@ -45,8 +45,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobSubmissionInterfaceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobSubmissionInterfaceTupleSchemeFactory();
 
-  private java.lang.String jobSubmissionInterfaceId; // required
-  private JobSubmissionProtocol jobSubmissionProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable JobSubmissionProtocol jobSubmissionProtocol; // required
   private int priorityOrder; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -70,6 +70,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -96,6 +97,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -108,10 +110,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -164,6 +168,7 @@
     this.priorityOrder = other.priorityOrder;
   }
 
+  @Override
   public JobSubmissionInterface deepCopy() {
     return new JobSubmissionInterface(this);
   }
@@ -176,11 +181,12 @@
 
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobSubmissionInterfaceId() {
     return this.jobSubmissionInterfaceId;
   }
 
-  public void setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+  public void setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
     this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
   }
 
@@ -203,6 +209,7 @@
    * 
    * @see JobSubmissionProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public JobSubmissionProtocol getJobSubmissionProtocol() {
     return this.jobSubmissionProtocol;
   }
@@ -211,7 +218,7 @@
    * 
    * @see JobSubmissionProtocol
    */
-  public void setJobSubmissionProtocol(JobSubmissionProtocol jobSubmissionProtocol) {
+  public void setJobSubmissionProtocol(@org.apache.thrift.annotation.Nullable JobSubmissionProtocol jobSubmissionProtocol) {
     this.jobSubmissionProtocol = jobSubmissionProtocol;
   }
 
@@ -252,7 +259,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
       if (value == null) {
@@ -281,6 +289,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -297,6 +307,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -315,8 +326,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobSubmissionInterface)
       return this.equals((JobSubmissionInterface)that);
     return false;
@@ -383,7 +392,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -393,7 +402,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionProtocol()).compareTo(other.isSetJobSubmissionProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionProtocol(), other.isSetJobSubmissionProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -403,7 +412,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+    lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -416,14 +425,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -492,6 +505,7 @@
   }
 
   private static class JobSubmissionInterfaceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobSubmissionInterfaceStandardScheme getScheme() {
       return new JobSubmissionInterfaceStandardScheme();
     }
@@ -499,6 +513,7 @@
 
   private static class JobSubmissionInterfaceStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobSubmissionInterface> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobSubmissionInterface struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -542,6 +557,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobSubmissionInterface struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -566,6 +582,7 @@
   }
 
   private static class JobSubmissionInterfaceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobSubmissionInterfaceTupleScheme getScheme() {
       return new JobSubmissionInterfaceTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
index 73f0fd3..5c0ddfd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionProtocol.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Enumeration of Airavata supported Job Submission Mechanisms for High Performance Computing Clusters.
  * 
@@ -41,6 +37,7 @@
  *  Execute remote jobs via Unicore services
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum JobSubmissionProtocol implements org.apache.thrift.TEnum {
   LOCAL(0),
   SSH(1),
@@ -59,6 +56,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -67,6 +65,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static JobSubmissionProtocol findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index fe95140..8886800 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Locally Fork Jobs as OS processes
  * 
@@ -33,7 +32,8 @@
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
 
@@ -44,9 +44,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new LOCALSubmissionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new LOCALSubmissionTupleSchemeFactory();
 
-  private java.lang.String jobSubmissionInterfaceId; // required
-  private ResourceJobManager resourceJobManager; // required
-  private org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable ResourceJobManager resourceJobManager; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // 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 {
@@ -69,6 +69,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -95,6 +96,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -107,10 +109,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -161,6 +165,7 @@
     }
   }
 
+  @Override
   public LOCALSubmission deepCopy() {
     return new LOCALSubmission(this);
   }
@@ -173,11 +178,12 @@
     this.securityProtocol = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobSubmissionInterfaceId() {
     return this.jobSubmissionInterfaceId;
   }
 
-  public void setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+  public void setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
     this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
   }
 
@@ -196,11 +202,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ResourceJobManager getResourceJobManager() {
     return this.resourceJobManager;
   }
 
-  public void setResourceJobManager(ResourceJobManager resourceJobManager) {
+  public void setResourceJobManager(@org.apache.thrift.annotation.Nullable ResourceJobManager resourceJobManager) {
     this.resourceJobManager = resourceJobManager;
   }
 
@@ -223,6 +230,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -231,7 +239,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
-  public void setSecurityProtocol(org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -250,7 +258,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
       if (value == null) {
@@ -279,6 +288,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -295,6 +306,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -313,8 +325,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof LOCALSubmission)
       return this.equals((LOCALSubmission)that);
     return false;
@@ -383,7 +393,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -393,7 +403,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManager()).compareTo(other.isSetResourceJobManager());
+    lastComparison = java.lang.Boolean.compare(isSetResourceJobManager(), other.isSetResourceJobManager());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -403,7 +413,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -416,14 +426,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -497,6 +511,7 @@
   }
 
   private static class LOCALSubmissionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public LOCALSubmissionStandardScheme getScheme() {
       return new LOCALSubmissionStandardScheme();
     }
@@ -504,6 +519,7 @@
 
   private static class LOCALSubmissionStandardScheme extends org.apache.thrift.scheme.StandardScheme<LOCALSubmission> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, LOCALSubmission struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -548,6 +564,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, LOCALSubmission struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -574,6 +591,7 @@
   }
 
   private static class LOCALSubmissionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public LOCALSubmissionTupleScheme getScheme() {
       return new LOCALSubmissionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
index 1a10508..4e05cff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/MonitorMode.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Monitoring modes
  * 
@@ -39,6 +35,7 @@
  * 
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum MonitorMode implements org.apache.thrift.TEnum {
   POLL_JOB_MANAGER(0),
   CLOUD_JOB_MONITOR(1),
@@ -56,6 +53,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -64,6 +62,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static MonitorMode findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
index c6bc082..f3af335 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ProviderName.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Provider name
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ProviderName implements org.apache.thrift.TEnum {
   EC2(0),
   AWSEC2(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ProviderName findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index 0293141..e0dc822 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Resource Job Manager Information
  * 
@@ -41,7 +40,8 @@
  *  An enumeration of commonly used manager commands.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
 
@@ -55,12 +55,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ResourceJobManagerStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ResourceJobManagerTupleSchemeFactory();
 
-  private java.lang.String resourceJobManagerId; // required
-  private ResourceJobManagerType resourceJobManagerType; // required
-  private java.lang.String pushMonitoringEndpoint; // optional
-  private java.lang.String jobManagerBinPath; // optional
-  private java.util.Map<JobManagerCommand,java.lang.String> jobManagerCommands; // optional
-  private java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> parallelismPrefix; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // required
+  private @org.apache.thrift.annotation.Nullable ResourceJobManagerType resourceJobManagerType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String pushMonitoringEndpoint; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobManagerBinPath; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.Map<JobManagerCommand,java.lang.String> jobManagerCommands; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> parallelismPrefix; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -86,6 +86,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESOURCE_JOB_MANAGER_ID
@@ -118,6 +119,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -130,10 +132,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -195,7 +199,7 @@
       this.jobManagerBinPath = other.jobManagerBinPath;
     }
     if (other.isSetJobManagerCommands()) {
-      java.util.Map<JobManagerCommand,java.lang.String> __this__jobManagerCommands = new java.util.HashMap<JobManagerCommand,java.lang.String>(other.jobManagerCommands.size());
+      java.util.Map<JobManagerCommand,java.lang.String> __this__jobManagerCommands = new java.util.EnumMap<JobManagerCommand,java.lang.String>(JobManagerCommand.class);
       for (java.util.Map.Entry<JobManagerCommand, java.lang.String> other_element : other.jobManagerCommands.entrySet()) {
 
         JobManagerCommand other_element_key = other_element.getKey();
@@ -210,7 +214,7 @@
       this.jobManagerCommands = __this__jobManagerCommands;
     }
     if (other.isSetParallelismPrefix()) {
-      java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> __this__parallelismPrefix = new java.util.HashMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(other.parallelismPrefix.size());
+      java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> __this__parallelismPrefix = new java.util.EnumMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(org.apache.airavata.model.parallelism.ApplicationParallelismType.class);
       for (java.util.Map.Entry<org.apache.airavata.model.parallelism.ApplicationParallelismType, java.lang.String> other_element : other.parallelismPrefix.entrySet()) {
 
         org.apache.airavata.model.parallelism.ApplicationParallelismType other_element_key = other_element.getKey();
@@ -226,6 +230,7 @@
     }
   }
 
+  @Override
   public ResourceJobManager deepCopy() {
     return new ResourceJobManager(this);
   }
@@ -241,11 +246,12 @@
     this.parallelismPrefix = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceJobManagerId() {
     return this.resourceJobManagerId;
   }
 
-  public void setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+  public void setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
     this.resourceJobManagerId = resourceJobManagerId;
   }
 
@@ -268,6 +274,7 @@
    * 
    * @see ResourceJobManagerType
    */
+  @org.apache.thrift.annotation.Nullable
   public ResourceJobManagerType getResourceJobManagerType() {
     return this.resourceJobManagerType;
   }
@@ -276,7 +283,7 @@
    * 
    * @see ResourceJobManagerType
    */
-  public void setResourceJobManagerType(ResourceJobManagerType resourceJobManagerType) {
+  public void setResourceJobManagerType(@org.apache.thrift.annotation.Nullable ResourceJobManagerType resourceJobManagerType) {
     this.resourceJobManagerType = resourceJobManagerType;
   }
 
@@ -295,11 +302,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPushMonitoringEndpoint() {
     return this.pushMonitoringEndpoint;
   }
 
-  public void setPushMonitoringEndpoint(java.lang.String pushMonitoringEndpoint) {
+  public void setPushMonitoringEndpoint(@org.apache.thrift.annotation.Nullable java.lang.String pushMonitoringEndpoint) {
     this.pushMonitoringEndpoint = pushMonitoringEndpoint;
   }
 
@@ -318,11 +326,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobManagerBinPath() {
     return this.jobManagerBinPath;
   }
 
-  public void setJobManagerBinPath(java.lang.String jobManagerBinPath) {
+  public void setJobManagerBinPath(@org.apache.thrift.annotation.Nullable java.lang.String jobManagerBinPath) {
     this.jobManagerBinPath = jobManagerBinPath;
   }
 
@@ -347,16 +356,17 @@
 
   public void putToJobManagerCommands(JobManagerCommand key, java.lang.String val) {
     if (this.jobManagerCommands == null) {
-      this.jobManagerCommands = new java.util.HashMap<JobManagerCommand,java.lang.String>();
+      this.jobManagerCommands = new java.util.EnumMap<JobManagerCommand,java.lang.String>(JobManagerCommand.class);
     }
     this.jobManagerCommands.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<JobManagerCommand,java.lang.String> getJobManagerCommands() {
     return this.jobManagerCommands;
   }
 
-  public void setJobManagerCommands(java.util.Map<JobManagerCommand,java.lang.String> jobManagerCommands) {
+  public void setJobManagerCommands(@org.apache.thrift.annotation.Nullable java.util.Map<JobManagerCommand,java.lang.String> jobManagerCommands) {
     this.jobManagerCommands = jobManagerCommands;
   }
 
@@ -381,16 +391,17 @@
 
   public void putToParallelismPrefix(org.apache.airavata.model.parallelism.ApplicationParallelismType key, java.lang.String val) {
     if (this.parallelismPrefix == null) {
-      this.parallelismPrefix = new java.util.HashMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>();
+      this.parallelismPrefix = new java.util.EnumMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(org.apache.airavata.model.parallelism.ApplicationParallelismType.class);
     }
     this.parallelismPrefix.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> getParallelismPrefix() {
     return this.parallelismPrefix;
   }
 
-  public void setParallelismPrefix(java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> parallelismPrefix) {
+  public void setParallelismPrefix(@org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String> parallelismPrefix) {
     this.parallelismPrefix = parallelismPrefix;
   }
 
@@ -409,7 +420,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESOURCE_JOB_MANAGER_ID:
       if (value == null) {
@@ -462,6 +474,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESOURCE_JOB_MANAGER_ID:
@@ -487,6 +501,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -511,8 +526,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ResourceJobManager)
       return this.equals((ResourceJobManager)that);
     return false;
@@ -620,7 +633,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+    lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -630,7 +643,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerType()).compareTo(other.isSetResourceJobManagerType());
+    lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerType(), other.isSetResourceJobManagerType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -640,7 +653,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPushMonitoringEndpoint()).compareTo(other.isSetPushMonitoringEndpoint());
+    lastComparison = java.lang.Boolean.compare(isSetPushMonitoringEndpoint(), other.isSetPushMonitoringEndpoint());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -650,7 +663,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobManagerBinPath()).compareTo(other.isSetJobManagerBinPath());
+    lastComparison = java.lang.Boolean.compare(isSetJobManagerBinPath(), other.isSetJobManagerBinPath());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -660,7 +673,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobManagerCommands()).compareTo(other.isSetJobManagerCommands());
+    lastComparison = java.lang.Boolean.compare(isSetJobManagerCommands(), other.isSetJobManagerCommands());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -670,7 +683,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParallelismPrefix()).compareTo(other.isSetParallelismPrefix());
+    lastComparison = java.lang.Boolean.compare(isSetParallelismPrefix(), other.isSetParallelismPrefix());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -683,14 +696,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -789,6 +806,7 @@
   }
 
   private static class ResourceJobManagerStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ResourceJobManagerStandardScheme getScheme() {
       return new ResourceJobManagerStandardScheme();
     }
@@ -796,6 +814,7 @@
 
   private static class ResourceJobManagerStandardScheme extends org.apache.thrift.scheme.StandardScheme<ResourceJobManager> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ResourceJobManager struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -842,14 +861,17 @@
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
-                struct.jobManagerCommands = new java.util.HashMap<JobManagerCommand,java.lang.String>(2*_map0.size);
-                JobManagerCommand _key1;
-                java.lang.String _val2;
+                struct.jobManagerCommands = new java.util.EnumMap<JobManagerCommand,java.lang.String>(JobManagerCommand.class);
+                @org.apache.thrift.annotation.Nullable JobManagerCommand _key1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val2;
                 for (int _i3 = 0; _i3 < _map0.size; ++_i3)
                 {
                   _key1 = org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand.findByValue(iprot.readI32());
                   _val2 = iprot.readString();
-                  struct.jobManagerCommands.put(_key1, _val2);
+                  if (_key1 != null)
+                  {
+                    struct.jobManagerCommands.put(_key1, _val2);
+                  }
                 }
                 iprot.readMapEnd();
               }
@@ -862,14 +884,17 @@
             if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
               {
                 org.apache.thrift.protocol.TMap _map4 = iprot.readMapBegin();
-                struct.parallelismPrefix = new java.util.HashMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(2*_map4.size);
-                org.apache.airavata.model.parallelism.ApplicationParallelismType _key5;
-                java.lang.String _val6;
+                struct.parallelismPrefix = new java.util.EnumMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(org.apache.airavata.model.parallelism.ApplicationParallelismType.class);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.parallelism.ApplicationParallelismType _key5;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val6;
                 for (int _i7 = 0; _i7 < _map4.size; ++_i7)
                 {
                   _key5 = org.apache.airavata.model.parallelism.ApplicationParallelismType.findByValue(iprot.readI32());
                   _val6 = iprot.readString();
-                  struct.parallelismPrefix.put(_key5, _val6);
+                  if (_key5 != null)
+                  {
+                    struct.parallelismPrefix.put(_key5, _val6);
+                  }
                 }
                 iprot.readMapEnd();
               }
@@ -887,6 +912,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ResourceJobManager struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -952,6 +978,7 @@
   }
 
   private static class ResourceJobManagerTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ResourceJobManagerTupleScheme getScheme() {
       return new ResourceJobManagerTupleScheme();
     }
@@ -1024,30 +1051,36 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TMap _map12 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.jobManagerCommands = new java.util.HashMap<JobManagerCommand,java.lang.String>(2*_map12.size);
-          JobManagerCommand _key13;
-          java.lang.String _val14;
+          org.apache.thrift.protocol.TMap _map12 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+          struct.jobManagerCommands = new java.util.EnumMap<JobManagerCommand,java.lang.String>(JobManagerCommand.class);
+          @org.apache.thrift.annotation.Nullable JobManagerCommand _key13;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val14;
           for (int _i15 = 0; _i15 < _map12.size; ++_i15)
           {
             _key13 = org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand.findByValue(iprot.readI32());
             _val14 = iprot.readString();
-            struct.jobManagerCommands.put(_key13, _val14);
+            if (_key13 != null)
+            {
+              struct.jobManagerCommands.put(_key13, _val14);
+            }
           }
         }
         struct.setJobManagerCommandsIsSet(true);
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TMap _map16 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.parallelismPrefix = new java.util.HashMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(2*_map16.size);
-          org.apache.airavata.model.parallelism.ApplicationParallelismType _key17;
-          java.lang.String _val18;
+          org.apache.thrift.protocol.TMap _map16 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+          struct.parallelismPrefix = new java.util.EnumMap<org.apache.airavata.model.parallelism.ApplicationParallelismType,java.lang.String>(org.apache.airavata.model.parallelism.ApplicationParallelismType.class);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.parallelism.ApplicationParallelismType _key17;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val18;
           for (int _i19 = 0; _i19 < _map16.size; ++_i19)
           {
             _key17 = org.apache.airavata.model.parallelism.ApplicationParallelismType.findByValue(iprot.readI32());
             _val18 = iprot.readString();
-            struct.parallelismPrefix.put(_key17, _val18);
+            if (_key17 != null)
+            {
+              struct.parallelismPrefix.put(_key17, _val18);
+            }
           }
         }
         struct.setParallelismPrefixIsSet(true);
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
index f7b73a2..e170739 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.appcatalog.computeresource;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * * Enumeration of local resource job manager types supported by Airavata
  * *
@@ -47,6 +43,7 @@
  *  *  IBM Platform Load Sharing Facility is dominantly installed on IBM clusters.
  * *
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ResourceJobManagerType implements org.apache.thrift.TEnum {
   FORK(0),
   PBS(1),
@@ -66,6 +63,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -74,6 +72,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ResourceJobManagerType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 7d6aecf..7ffdc56 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Authenticate using Secured Shell
  * 
@@ -40,7 +39,8 @@
  *    the same. Example: *@*.example.com or *@example.com
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
 
@@ -55,13 +55,13 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SSHJobSubmissionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SSHJobSubmissionTupleSchemeFactory();
 
-  private java.lang.String jobSubmissionInterfaceId; // required
-  private org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
-  private ResourceJobManager resourceJobManager; // required
-  private java.lang.String alternativeSSHHostName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable ResourceJobManager resourceJobManager; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String alternativeSSHHostName; // optional
   private int sshPort; // optional
-  private MonitorMode monitorMode; // optional
-  private java.util.List<java.lang.String> batchQueueEmailSenders; // optional
+  private @org.apache.thrift.annotation.Nullable MonitorMode monitorMode; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> batchQueueEmailSenders; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -92,6 +92,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -126,6 +127,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -138,10 +140,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -218,6 +222,7 @@
     }
   }
 
+  @Override
   public SSHJobSubmission deepCopy() {
     return new SSHJobSubmission(this);
   }
@@ -235,11 +240,12 @@
     this.batchQueueEmailSenders = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobSubmissionInterfaceId() {
     return this.jobSubmissionInterfaceId;
   }
 
-  public void setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+  public void setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
     this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
   }
 
@@ -262,6 +268,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -270,7 +277,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
-  public void setSecurityProtocol(org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -289,11 +296,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ResourceJobManager getResourceJobManager() {
     return this.resourceJobManager;
   }
 
-  public void setResourceJobManager(ResourceJobManager resourceJobManager) {
+  public void setResourceJobManager(@org.apache.thrift.annotation.Nullable ResourceJobManager resourceJobManager) {
     this.resourceJobManager = resourceJobManager;
   }
 
@@ -312,11 +320,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAlternativeSSHHostName() {
     return this.alternativeSSHHostName;
   }
 
-  public void setAlternativeSSHHostName(java.lang.String alternativeSSHHostName) {
+  public void setAlternativeSSHHostName(@org.apache.thrift.annotation.Nullable java.lang.String alternativeSSHHostName) {
     this.alternativeSSHHostName = alternativeSSHHostName;
   }
 
@@ -361,6 +370,7 @@
    * 
    * @see MonitorMode
    */
+  @org.apache.thrift.annotation.Nullable
   public MonitorMode getMonitorMode() {
     return this.monitorMode;
   }
@@ -369,7 +379,7 @@
    * 
    * @see MonitorMode
    */
-  public void setMonitorMode(MonitorMode monitorMode) {
+  public void setMonitorMode(@org.apache.thrift.annotation.Nullable MonitorMode monitorMode) {
     this.monitorMode = monitorMode;
   }
 
@@ -392,6 +402,7 @@
     return (this.batchQueueEmailSenders == null) ? 0 : this.batchQueueEmailSenders.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getBatchQueueEmailSendersIterator() {
     return (this.batchQueueEmailSenders == null) ? null : this.batchQueueEmailSenders.iterator();
   }
@@ -403,11 +414,12 @@
     this.batchQueueEmailSenders.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getBatchQueueEmailSenders() {
     return this.batchQueueEmailSenders;
   }
 
-  public void setBatchQueueEmailSenders(java.util.List<java.lang.String> batchQueueEmailSenders) {
+  public void setBatchQueueEmailSenders(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> batchQueueEmailSenders) {
     this.batchQueueEmailSenders = batchQueueEmailSenders;
   }
 
@@ -426,7 +438,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
       if (value == null) {
@@ -487,6 +500,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -515,6 +530,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -541,8 +557,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SSHJobSubmission)
       return this.equals((SSHJobSubmission)that);
     return false;
@@ -663,7 +677,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -673,7 +687,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -683,7 +697,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManager()).compareTo(other.isSetResourceJobManager());
+    lastComparison = java.lang.Boolean.compare(isSetResourceJobManager(), other.isSetResourceJobManager());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -693,7 +707,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAlternativeSSHHostName()).compareTo(other.isSetAlternativeSSHHostName());
+    lastComparison = java.lang.Boolean.compare(isSetAlternativeSSHHostName(), other.isSetAlternativeSSHHostName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -703,7 +717,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshPort()).compareTo(other.isSetSshPort());
+    lastComparison = java.lang.Boolean.compare(isSetSshPort(), other.isSetSshPort());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -713,7 +727,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMonitorMode()).compareTo(other.isSetMonitorMode());
+    lastComparison = java.lang.Boolean.compare(isSetMonitorMode(), other.isSetMonitorMode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -723,7 +737,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetBatchQueueEmailSenders()).compareTo(other.isSetBatchQueueEmailSenders());
+    lastComparison = java.lang.Boolean.compare(isSetBatchQueueEmailSenders(), other.isSetBatchQueueEmailSenders());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -736,14 +750,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -855,6 +873,7 @@
   }
 
   private static class SSHJobSubmissionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHJobSubmissionStandardScheme getScheme() {
       return new SSHJobSubmissionStandardScheme();
     }
@@ -862,6 +881,7 @@
 
   private static class SSHJobSubmissionStandardScheme extends org.apache.thrift.scheme.StandardScheme<SSHJobSubmission> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SSHJobSubmission struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -926,7 +946,7 @@
               {
                 org.apache.thrift.protocol.TList _list20 = iprot.readListBegin();
                 struct.batchQueueEmailSenders = new java.util.ArrayList<java.lang.String>(_list20.size);
-                java.lang.String _elem21;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem21;
                 for (int _i22 = 0; _i22 < _list20.size; ++_i22)
                 {
                   _elem21 = iprot.readString();
@@ -948,6 +968,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SSHJobSubmission struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1007,6 +1028,7 @@
   }
 
   private static class SSHJobSubmissionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHJobSubmissionTupleScheme getScheme() {
       return new SSHJobSubmissionTupleScheme();
     }
@@ -1079,9 +1101,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list25 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list25 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.batchQueueEmailSenders = new java.util.ArrayList<java.lang.String>(_list25.size);
-          java.lang.String _elem26;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem26;
           for (int _i27 = 0; _i27 < _list25.size; ++_i27)
           {
             _elem26 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index 54fc0ae..b7f3d16 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.computeresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Unicore Job Submission
  * 
@@ -32,7 +31,8 @@
  * authenticationMode
  *  The authenticationMode defines the way certificate is fetched.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
 
@@ -43,9 +43,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UnicoreJobSubmissionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UnicoreJobSubmissionTupleSchemeFactory();
 
-  private java.lang.String jobSubmissionInterfaceId; // required
-  private org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
-  private java.lang.String unicoreEndPointURL; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String unicoreEndPointURL; // 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 {
@@ -68,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -94,6 +95,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -106,10 +108,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -160,6 +164,7 @@
     }
   }
 
+  @Override
   public UnicoreJobSubmission deepCopy() {
     return new UnicoreJobSubmission(this);
   }
@@ -172,11 +177,12 @@
     this.unicoreEndPointURL = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobSubmissionInterfaceId() {
     return this.jobSubmissionInterfaceId;
   }
 
-  public void setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+  public void setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
     this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
   }
 
@@ -199,6 +205,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -207,7 +214,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
-  public void setSecurityProtocol(org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -226,11 +233,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUnicoreEndPointURL() {
     return this.unicoreEndPointURL;
   }
 
-  public void setUnicoreEndPointURL(java.lang.String unicoreEndPointURL) {
+  public void setUnicoreEndPointURL(@org.apache.thrift.annotation.Nullable java.lang.String unicoreEndPointURL) {
     this.unicoreEndPointURL = unicoreEndPointURL;
   }
 
@@ -249,7 +257,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
       if (value == null) {
@@ -278,6 +287,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -294,6 +305,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -312,8 +324,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UnicoreJobSubmission)
       return this.equals((UnicoreJobSubmission)that);
     return false;
@@ -382,7 +392,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -392,7 +402,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -402,7 +412,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUnicoreEndPointURL()).compareTo(other.isSetUnicoreEndPointURL());
+    lastComparison = java.lang.Boolean.compare(isSetUnicoreEndPointURL(), other.isSetUnicoreEndPointURL());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -415,14 +425,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -493,6 +507,7 @@
   }
 
   private static class UnicoreJobSubmissionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UnicoreJobSubmissionStandardScheme getScheme() {
       return new UnicoreJobSubmissionStandardScheme();
     }
@@ -500,6 +515,7 @@
 
   private static class UnicoreJobSubmissionStandardScheme extends org.apache.thrift.scheme.StandardScheme<UnicoreJobSubmission> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UnicoreJobSubmission struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -543,6 +559,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UnicoreJobSubmission struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -569,6 +586,7 @@
   }
 
   private static class UnicoreJobSubmissionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UnicoreJobSubmissionTupleScheme getScheme() {
       return new UnicoreJobSubmissionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewaygroups/GatewayGroups.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewaygroups/GatewayGroups.java
index 17d9924..37cbaa9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewaygroups/GatewayGroups.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewaygroups/GatewayGroups.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.gatewaygroups;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GatewayGroups implements org.apache.thrift.TBase<GatewayGroups, GatewayGroups._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayGroups> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayGroups");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GatewayGroupsStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GatewayGroupsTupleSchemeFactory();
 
-  private java.lang.String gatewayId; // required
-  private java.lang.String adminsGroupId; // required
-  private java.lang.String readOnlyAdminsGroupId; // required
-  private java.lang.String defaultGatewayUsersGroupId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String adminsGroupId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String readOnlyAdminsGroupId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String defaultGatewayUsersGroupId; // 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 {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     }
   }
 
+  @Override
   public GatewayGroups deepCopy() {
     return new GatewayGroups(this);
   }
@@ -170,11 +175,12 @@
     this.defaultGatewayUsersGroupId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -193,11 +199,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAdminsGroupId() {
     return this.adminsGroupId;
   }
 
-  public void setAdminsGroupId(java.lang.String adminsGroupId) {
+  public void setAdminsGroupId(@org.apache.thrift.annotation.Nullable java.lang.String adminsGroupId) {
     this.adminsGroupId = adminsGroupId;
   }
 
@@ -216,11 +223,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReadOnlyAdminsGroupId() {
     return this.readOnlyAdminsGroupId;
   }
 
-  public void setReadOnlyAdminsGroupId(java.lang.String readOnlyAdminsGroupId) {
+  public void setReadOnlyAdminsGroupId(@org.apache.thrift.annotation.Nullable java.lang.String readOnlyAdminsGroupId) {
     this.readOnlyAdminsGroupId = readOnlyAdminsGroupId;
   }
 
@@ -239,11 +247,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDefaultGatewayUsersGroupId() {
     return this.defaultGatewayUsersGroupId;
   }
 
-  public void setDefaultGatewayUsersGroupId(java.lang.String defaultGatewayUsersGroupId) {
+  public void setDefaultGatewayUsersGroupId(@org.apache.thrift.annotation.Nullable java.lang.String defaultGatewayUsersGroupId) {
     this.defaultGatewayUsersGroupId = defaultGatewayUsersGroupId;
   }
 
@@ -262,7 +271,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_ID:
       if (value == null) {
@@ -299,6 +309,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_ID:
@@ -318,6 +330,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -338,8 +351,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GatewayGroups)
       return this.equals((GatewayGroups)that);
     return false;
@@ -421,7 +432,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -431,7 +442,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAdminsGroupId()).compareTo(other.isSetAdminsGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetAdminsGroupId(), other.isSetAdminsGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -441,7 +452,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReadOnlyAdminsGroupId()).compareTo(other.isSetReadOnlyAdminsGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetReadOnlyAdminsGroupId(), other.isSetReadOnlyAdminsGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -451,7 +462,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultGatewayUsersGroupId()).compareTo(other.isSetDefaultGatewayUsersGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultGatewayUsersGroupId(), other.isSetDefaultGatewayUsersGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -464,14 +475,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +569,7 @@
   }
 
   private static class GatewayGroupsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayGroupsStandardScheme getScheme() {
       return new GatewayGroupsStandardScheme();
     }
@@ -561,6 +577,7 @@
 
   private static class GatewayGroupsStandardScheme extends org.apache.thrift.scheme.StandardScheme<GatewayGroups> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GatewayGroups struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +629,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GatewayGroups struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -643,6 +661,7 @@
   }
 
   private static class GatewayGroupsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayGroupsTupleScheme getScheme() {
       return new GatewayGroupsTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index 3bcd153..e236ec1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.gatewayprofile;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Gateway specific preferences for a Computer Resource
  * 
@@ -58,7 +57,8 @@
  *   default credential store.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
 
@@ -83,23 +83,23 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ComputeResourcePreferenceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ComputeResourcePreferenceTupleSchemeFactory();
 
-  private java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
   private boolean overridebyAiravata; // required
-  private java.lang.String loginUserName; // optional
-  private org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol; // optional
-  private org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol; // optional
-  private java.lang.String preferredBatchQueue; // optional
-  private java.lang.String scratchLocation; // optional
-  private java.lang.String allocationProjectNumber; // optional
-  private java.lang.String resourceSpecificCredentialStoreToken; // optional
-  private java.lang.String usageReportingGatewayId; // optional
-  private java.lang.String qualityOfService; // optional
-  private java.lang.String reservation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String preferredBatchQueue; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String scratchLocation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String allocationProjectNumber; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String usageReportingGatewayId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String qualityOfService; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reservation; // optional
   private long reservationStartTime; // optional
   private long reservationEndTime; // optional
-  private java.lang.String sshAccountProvisioner; // optional
-  private java.util.Map<java.lang.String,java.lang.String> sshAccountProvisionerConfig; // optional
-  private java.lang.String sshAccountProvisionerAdditionalInfo; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisioner; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> sshAccountProvisionerConfig; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisionerAdditionalInfo; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -140,6 +140,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COMPUTE_RESOURCE_ID
@@ -194,6 +195,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -206,10 +208,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -332,6 +336,7 @@
     }
   }
 
+  @Override
   public ComputeResourcePreference deepCopy() {
     return new ComputeResourcePreference(this);
   }
@@ -360,11 +365,12 @@
     this.sshAccountProvisionerAdditionalInfo = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -405,11 +411,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OVERRIDEBYAIRAVATA_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLoginUserName() {
     return this.loginUserName;
   }
 
-  public void setLoginUserName(java.lang.String loginUserName) {
+  public void setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
     this.loginUserName = loginUserName;
   }
 
@@ -432,6 +439,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol getPreferredJobSubmissionProtocol() {
     return this.preferredJobSubmissionProtocol;
   }
@@ -440,7 +448,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
    */
-  public void setPreferredJobSubmissionProtocol(org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol) {
+  public void setPreferredJobSubmissionProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol) {
     this.preferredJobSubmissionProtocol = preferredJobSubmissionProtocol;
   }
 
@@ -463,6 +471,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.DataMovementProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.DataMovementProtocol getPreferredDataMovementProtocol() {
     return this.preferredDataMovementProtocol;
   }
@@ -471,7 +480,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.DataMovementProtocol
    */
-  public void setPreferredDataMovementProtocol(org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol) {
+  public void setPreferredDataMovementProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol) {
     this.preferredDataMovementProtocol = preferredDataMovementProtocol;
   }
 
@@ -490,11 +499,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPreferredBatchQueue() {
     return this.preferredBatchQueue;
   }
 
-  public void setPreferredBatchQueue(java.lang.String preferredBatchQueue) {
+  public void setPreferredBatchQueue(@org.apache.thrift.annotation.Nullable java.lang.String preferredBatchQueue) {
     this.preferredBatchQueue = preferredBatchQueue;
   }
 
@@ -513,11 +523,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getScratchLocation() {
     return this.scratchLocation;
   }
 
-  public void setScratchLocation(java.lang.String scratchLocation) {
+  public void setScratchLocation(@org.apache.thrift.annotation.Nullable java.lang.String scratchLocation) {
     this.scratchLocation = scratchLocation;
   }
 
@@ -536,11 +547,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAllocationProjectNumber() {
     return this.allocationProjectNumber;
   }
 
-  public void setAllocationProjectNumber(java.lang.String allocationProjectNumber) {
+  public void setAllocationProjectNumber(@org.apache.thrift.annotation.Nullable java.lang.String allocationProjectNumber) {
     this.allocationProjectNumber = allocationProjectNumber;
   }
 
@@ -559,11 +571,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceSpecificCredentialStoreToken() {
     return this.resourceSpecificCredentialStoreToken;
   }
 
-  public void setResourceSpecificCredentialStoreToken(java.lang.String resourceSpecificCredentialStoreToken) {
+  public void setResourceSpecificCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken) {
     this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
   }
 
@@ -582,11 +595,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUsageReportingGatewayId() {
     return this.usageReportingGatewayId;
   }
 
-  public void setUsageReportingGatewayId(java.lang.String usageReportingGatewayId) {
+  public void setUsageReportingGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String usageReportingGatewayId) {
     this.usageReportingGatewayId = usageReportingGatewayId;
   }
 
@@ -605,11 +619,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQualityOfService() {
     return this.qualityOfService;
   }
 
-  public void setQualityOfService(java.lang.String qualityOfService) {
+  public void setQualityOfService(@org.apache.thrift.annotation.Nullable java.lang.String qualityOfService) {
     this.qualityOfService = qualityOfService;
   }
 
@@ -628,11 +643,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReservation() {
     return this.reservation;
   }
 
-  public void setReservation(java.lang.String reservation) {
+  public void setReservation(@org.apache.thrift.annotation.Nullable java.lang.String reservation) {
     this.reservation = reservation;
   }
 
@@ -695,11 +711,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __RESERVATIONENDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSshAccountProvisioner() {
     return this.sshAccountProvisioner;
   }
 
-  public void setSshAccountProvisioner(java.lang.String sshAccountProvisioner) {
+  public void setSshAccountProvisioner(@org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisioner) {
     this.sshAccountProvisioner = sshAccountProvisioner;
   }
 
@@ -729,11 +746,12 @@
     this.sshAccountProvisionerConfig.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<java.lang.String,java.lang.String> getSshAccountProvisionerConfig() {
     return this.sshAccountProvisionerConfig;
   }
 
-  public void setSshAccountProvisionerConfig(java.util.Map<java.lang.String,java.lang.String> sshAccountProvisionerConfig) {
+  public void setSshAccountProvisionerConfig(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> sshAccountProvisionerConfig) {
     this.sshAccountProvisionerConfig = sshAccountProvisionerConfig;
   }
 
@@ -752,11 +770,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSshAccountProvisionerAdditionalInfo() {
     return this.sshAccountProvisionerAdditionalInfo;
   }
 
-  public void setSshAccountProvisionerAdditionalInfo(java.lang.String sshAccountProvisionerAdditionalInfo) {
+  public void setSshAccountProvisionerAdditionalInfo(@org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisionerAdditionalInfo) {
     this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
   }
 
@@ -775,7 +794,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
       if (value == null) {
@@ -916,6 +936,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -974,6 +996,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1020,8 +1043,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ComputeResourcePreference)
       return this.equals((ComputeResourcePreference)that);
     return false;
@@ -1270,7 +1291,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1280,7 +1301,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverridebyAiravata()).compareTo(other.isSetOverridebyAiravata());
+    lastComparison = java.lang.Boolean.compare(isSetOverridebyAiravata(), other.isSetOverridebyAiravata());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1290,7 +1311,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1300,7 +1321,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredJobSubmissionProtocol()).compareTo(other.isSetPreferredJobSubmissionProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredJobSubmissionProtocol(), other.isSetPreferredJobSubmissionProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1310,7 +1331,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredDataMovementProtocol()).compareTo(other.isSetPreferredDataMovementProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredDataMovementProtocol(), other.isSetPreferredDataMovementProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1320,7 +1341,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredBatchQueue()).compareTo(other.isSetPreferredBatchQueue());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredBatchQueue(), other.isSetPreferredBatchQueue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1330,7 +1351,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetScratchLocation()).compareTo(other.isSetScratchLocation());
+    lastComparison = java.lang.Boolean.compare(isSetScratchLocation(), other.isSetScratchLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1340,7 +1361,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAllocationProjectNumber()).compareTo(other.isSetAllocationProjectNumber());
+    lastComparison = java.lang.Boolean.compare(isSetAllocationProjectNumber(), other.isSetAllocationProjectNumber());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1350,7 +1371,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceSpecificCredentialStoreToken()).compareTo(other.isSetResourceSpecificCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetResourceSpecificCredentialStoreToken(), other.isSetResourceSpecificCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1360,7 +1381,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsageReportingGatewayId()).compareTo(other.isSetUsageReportingGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetUsageReportingGatewayId(), other.isSetUsageReportingGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1370,7 +1391,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQualityOfService()).compareTo(other.isSetQualityOfService());
+    lastComparison = java.lang.Boolean.compare(isSetQualityOfService(), other.isSetQualityOfService());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1380,7 +1401,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservation()).compareTo(other.isSetReservation());
+    lastComparison = java.lang.Boolean.compare(isSetReservation(), other.isSetReservation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1390,7 +1411,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservationStartTime()).compareTo(other.isSetReservationStartTime());
+    lastComparison = java.lang.Boolean.compare(isSetReservationStartTime(), other.isSetReservationStartTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1400,7 +1421,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservationEndTime()).compareTo(other.isSetReservationEndTime());
+    lastComparison = java.lang.Boolean.compare(isSetReservationEndTime(), other.isSetReservationEndTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1410,7 +1431,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshAccountProvisioner()).compareTo(other.isSetSshAccountProvisioner());
+    lastComparison = java.lang.Boolean.compare(isSetSshAccountProvisioner(), other.isSetSshAccountProvisioner());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1420,7 +1441,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshAccountProvisionerConfig()).compareTo(other.isSetSshAccountProvisionerConfig());
+    lastComparison = java.lang.Boolean.compare(isSetSshAccountProvisionerConfig(), other.isSetSshAccountProvisionerConfig());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1430,7 +1451,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshAccountProvisionerAdditionalInfo()).compareTo(other.isSetSshAccountProvisionerAdditionalInfo());
+    lastComparison = java.lang.Boolean.compare(isSetSshAccountProvisionerAdditionalInfo(), other.isSetSshAccountProvisionerAdditionalInfo());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1443,14 +1464,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1649,6 +1674,7 @@
   }
 
   private static class ComputeResourcePreferenceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourcePreferenceStandardScheme getScheme() {
       return new ComputeResourcePreferenceStandardScheme();
     }
@@ -1656,6 +1682,7 @@
 
   private static class ComputeResourcePreferenceStandardScheme extends org.apache.thrift.scheme.StandardScheme<ComputeResourcePreference> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ComputeResourcePreference struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1791,8 +1818,8 @@
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
                 struct.sshAccountProvisionerConfig = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map0.size);
-                java.lang.String _key1;
-                java.lang.String _val2;
+                @org.apache.thrift.annotation.Nullable java.lang.String _key1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val2;
                 for (int _i3 = 0; _i3 < _map0.size; ++_i3)
                 {
                   _key1 = iprot.readString();
@@ -1823,6 +1850,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ComputeResourcePreference struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1951,6 +1979,7 @@
   }
 
   private static class ComputeResourcePreferenceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourcePreferenceTupleScheme getScheme() {
       return new ComputeResourcePreferenceTupleScheme();
     }
@@ -2126,10 +2155,10 @@
       }
       if (incoming.get(13)) {
         {
-          org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TMap _map6 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
           struct.sshAccountProvisionerConfig = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map6.size);
-          java.lang.String _key7;
-          java.lang.String _val8;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key7;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val8;
           for (int _i9 = 0; _i9 < _map6.size; ++_i9)
           {
             _key7 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index 7ed1054..ed7091e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.gatewayprofile;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Gateway Resource Profile
  * 
@@ -41,7 +40,8 @@
  *  identityServerPwdCredToken:
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
 
@@ -55,12 +55,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GatewayResourceProfileStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GatewayResourceProfileTupleSchemeFactory();
 
-  private java.lang.String gatewayID; // required
-  private java.lang.String credentialStoreToken; // optional
-  private java.util.List<ComputeResourcePreference> computeResourcePreferences; // optional
-  private java.util.List<StoragePreference> storagePreferences; // optional
-  private java.lang.String identityServerTenant; // optional
-  private java.lang.String identityServerPwdCredToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String credentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ComputeResourcePreference> computeResourcePreferences; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<StoragePreference> storagePreferences; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerTenant; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerPwdCredToken; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -82,6 +82,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_ID
@@ -114,6 +115,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -126,10 +128,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -200,6 +204,7 @@
     }
   }
 
+  @Override
   public GatewayResourceProfile deepCopy() {
     return new GatewayResourceProfile(this);
   }
@@ -214,11 +219,12 @@
     this.identityServerPwdCredToken = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayID() {
     return this.gatewayID;
   }
 
-  public void setGatewayID(java.lang.String gatewayID) {
+  public void setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
     this.gatewayID = gatewayID;
   }
 
@@ -237,11 +243,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCredentialStoreToken() {
     return this.credentialStoreToken;
   }
 
-  public void setCredentialStoreToken(java.lang.String credentialStoreToken) {
+  public void setCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String credentialStoreToken) {
     this.credentialStoreToken = credentialStoreToken;
   }
 
@@ -264,6 +271,7 @@
     return (this.computeResourcePreferences == null) ? 0 : this.computeResourcePreferences.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ComputeResourcePreference> getComputeResourcePreferencesIterator() {
     return (this.computeResourcePreferences == null) ? null : this.computeResourcePreferences.iterator();
   }
@@ -275,11 +283,12 @@
     this.computeResourcePreferences.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ComputeResourcePreference> getComputeResourcePreferences() {
     return this.computeResourcePreferences;
   }
 
-  public void setComputeResourcePreferences(java.util.List<ComputeResourcePreference> computeResourcePreferences) {
+  public void setComputeResourcePreferences(@org.apache.thrift.annotation.Nullable java.util.List<ComputeResourcePreference> computeResourcePreferences) {
     this.computeResourcePreferences = computeResourcePreferences;
   }
 
@@ -302,6 +311,7 @@
     return (this.storagePreferences == null) ? 0 : this.storagePreferences.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<StoragePreference> getStoragePreferencesIterator() {
     return (this.storagePreferences == null) ? null : this.storagePreferences.iterator();
   }
@@ -313,11 +323,12 @@
     this.storagePreferences.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<StoragePreference> getStoragePreferences() {
     return this.storagePreferences;
   }
 
-  public void setStoragePreferences(java.util.List<StoragePreference> storagePreferences) {
+  public void setStoragePreferences(@org.apache.thrift.annotation.Nullable java.util.List<StoragePreference> storagePreferences) {
     this.storagePreferences = storagePreferences;
   }
 
@@ -336,11 +347,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerTenant() {
     return this.identityServerTenant;
   }
 
-  public void setIdentityServerTenant(java.lang.String identityServerTenant) {
+  public void setIdentityServerTenant(@org.apache.thrift.annotation.Nullable java.lang.String identityServerTenant) {
     this.identityServerTenant = identityServerTenant;
   }
 
@@ -359,11 +371,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerPwdCredToken() {
     return this.identityServerPwdCredToken;
   }
 
-  public void setIdentityServerPwdCredToken(java.lang.String identityServerPwdCredToken) {
+  public void setIdentityServerPwdCredToken(@org.apache.thrift.annotation.Nullable java.lang.String identityServerPwdCredToken) {
     this.identityServerPwdCredToken = identityServerPwdCredToken;
   }
 
@@ -382,7 +395,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_ID:
       if (value == null) {
@@ -435,6 +449,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_ID:
@@ -460,6 +476,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -484,8 +501,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GatewayResourceProfile)
       return this.equals((GatewayResourceProfile)that);
     return false;
@@ -593,7 +608,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -603,7 +618,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCredentialStoreToken()).compareTo(other.isSetCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetCredentialStoreToken(), other.isSetCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -613,7 +628,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourcePreferences()).compareTo(other.isSetComputeResourcePreferences());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourcePreferences(), other.isSetComputeResourcePreferences());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -623,7 +638,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStoragePreferences()).compareTo(other.isSetStoragePreferences());
+    lastComparison = java.lang.Boolean.compare(isSetStoragePreferences(), other.isSetStoragePreferences());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -633,7 +648,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerTenant()).compareTo(other.isSetIdentityServerTenant());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerTenant(), other.isSetIdentityServerTenant());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -643,7 +658,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerPwdCredToken()).compareTo(other.isSetIdentityServerPwdCredToken());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerPwdCredToken(), other.isSetIdentityServerPwdCredToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -656,14 +671,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -760,6 +779,7 @@
   }
 
   private static class GatewayResourceProfileStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayResourceProfileStandardScheme getScheme() {
       return new GatewayResourceProfileStandardScheme();
     }
@@ -767,6 +787,7 @@
 
   private static class GatewayResourceProfileStandardScheme extends org.apache.thrift.scheme.StandardScheme<GatewayResourceProfile> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GatewayResourceProfile struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -798,7 +819,7 @@
               {
                 org.apache.thrift.protocol.TList _list10 = iprot.readListBegin();
                 struct.computeResourcePreferences = new java.util.ArrayList<ComputeResourcePreference>(_list10.size);
-                ComputeResourcePreference _elem11;
+                @org.apache.thrift.annotation.Nullable ComputeResourcePreference _elem11;
                 for (int _i12 = 0; _i12 < _list10.size; ++_i12)
                 {
                   _elem11 = new ComputeResourcePreference();
@@ -817,7 +838,7 @@
               {
                 org.apache.thrift.protocol.TList _list13 = iprot.readListBegin();
                 struct.storagePreferences = new java.util.ArrayList<StoragePreference>(_list13.size);
-                StoragePreference _elem14;
+                @org.apache.thrift.annotation.Nullable StoragePreference _elem14;
                 for (int _i15 = 0; _i15 < _list13.size; ++_i15)
                 {
                   _elem14 = new StoragePreference();
@@ -856,6 +877,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GatewayResourceProfile struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -921,6 +943,7 @@
   }
 
   private static class GatewayResourceProfileTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayResourceProfileTupleScheme getScheme() {
       return new GatewayResourceProfileTupleScheme();
     }
@@ -990,9 +1013,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list20 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list20 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.computeResourcePreferences = new java.util.ArrayList<ComputeResourcePreference>(_list20.size);
-          ComputeResourcePreference _elem21;
+          @org.apache.thrift.annotation.Nullable ComputeResourcePreference _elem21;
           for (int _i22 = 0; _i22 < _list20.size; ++_i22)
           {
             _elem21 = new ComputeResourcePreference();
@@ -1004,9 +1027,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list23 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list23 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.storagePreferences = new java.util.ArrayList<StoragePreference>(_list23.size);
-          StoragePreference _elem24;
+          @org.apache.thrift.annotation.Nullable StoragePreference _elem24;
           for (int _i25 = 0; _i25 < _list23.size; ++_i25)
           {
             _elem24 = new StoragePreference();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index b8754ed..c295ed1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.gatewayprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class StoragePreference implements org.apache.thrift.TBase<StoragePreference, StoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<StoragePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StoragePreference");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new StoragePreferenceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new StoragePreferenceTupleSchemeFactory();
 
-  private java.lang.String storageResourceId; // required
-  private java.lang.String loginUserName; // optional
-  private java.lang.String fileSystemRootLocation; // optional
-  private java.lang.String resourceSpecificCredentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String fileSystemRootLocation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STORAGE_RESOURCE_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -153,6 +157,7 @@
     }
   }
 
+  @Override
   public StoragePreference deepCopy() {
     return new StoragePreference(this);
   }
@@ -165,11 +170,12 @@
     this.resourceSpecificCredentialStoreToken = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -188,11 +194,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLoginUserName() {
     return this.loginUserName;
   }
 
-  public void setLoginUserName(java.lang.String loginUserName) {
+  public void setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
     this.loginUserName = loginUserName;
   }
 
@@ -211,11 +218,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFileSystemRootLocation() {
     return this.fileSystemRootLocation;
   }
 
-  public void setFileSystemRootLocation(java.lang.String fileSystemRootLocation) {
+  public void setFileSystemRootLocation(@org.apache.thrift.annotation.Nullable java.lang.String fileSystemRootLocation) {
     this.fileSystemRootLocation = fileSystemRootLocation;
   }
 
@@ -234,11 +242,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceSpecificCredentialStoreToken() {
     return this.resourceSpecificCredentialStoreToken;
   }
 
-  public void setResourceSpecificCredentialStoreToken(java.lang.String resourceSpecificCredentialStoreToken) {
+  public void setResourceSpecificCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken) {
     this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
   }
 
@@ -257,7 +266,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STORAGE_RESOURCE_ID:
       if (value == null) {
@@ -294,6 +304,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STORAGE_RESOURCE_ID:
@@ -313,6 +325,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -333,8 +346,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof StoragePreference)
       return this.equals((StoragePreference)that);
     return false;
@@ -416,7 +427,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -426,7 +437,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -436,7 +447,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFileSystemRootLocation()).compareTo(other.isSetFileSystemRootLocation());
+    lastComparison = java.lang.Boolean.compare(isSetFileSystemRootLocation(), other.isSetFileSystemRootLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -446,7 +457,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceSpecificCredentialStoreToken()).compareTo(other.isSetResourceSpecificCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetResourceSpecificCredentialStoreToken(), other.isSetResourceSpecificCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,14 +470,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -543,6 +558,7 @@
   }
 
   private static class StoragePreferenceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public StoragePreferenceStandardScheme getScheme() {
       return new StoragePreferenceStandardScheme();
     }
@@ -550,6 +566,7 @@
 
   private static class StoragePreferenceStandardScheme extends org.apache.thrift.scheme.StandardScheme<StoragePreference> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, StoragePreference struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -601,6 +618,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, StoragePreference struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -638,6 +656,7 @@
   }
 
   private static class StoragePreferenceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public StoragePreferenceTupleScheme getScheme() {
       return new StoragePreferenceTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/BatchQueueResourcePolicy.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/BatchQueueResourcePolicy.java
index 6af52b6..4ae55c6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/BatchQueueResourcePolicy.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/BatchQueueResourcePolicy.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.groupresourceprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class BatchQueueResourcePolicy implements org.apache.thrift.TBase<BatchQueueResourcePolicy, BatchQueueResourcePolicy._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueueResourcePolicy> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueueResourcePolicy");
 
@@ -39,10 +39,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new BatchQueueResourcePolicyStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new BatchQueueResourcePolicyTupleSchemeFactory();
 
-  private java.lang.String resourcePolicyId; // required
-  private java.lang.String computeResourceId; // required
-  private java.lang.String groupResourceProfileId; // required
-  private java.lang.String queuename; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String queuename; // optional
   private int maxAllowedNodes; // optional
   private int maxAllowedCores; // optional
   private int maxAllowedWalltime; // optional
@@ -68,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESOURCE_POLICY_ID
@@ -102,6 +103,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -114,10 +116,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -190,6 +194,7 @@
     this.maxAllowedWalltime = other.maxAllowedWalltime;
   }
 
+  @Override
   public BatchQueueResourcePolicy deepCopy() {
     return new BatchQueueResourcePolicy(this);
   }
@@ -210,11 +215,12 @@
     this.maxAllowedWalltime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourcePolicyId() {
     return this.resourcePolicyId;
   }
 
-  public void setResourcePolicyId(java.lang.String resourcePolicyId) {
+  public void setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
     this.resourcePolicyId = resourcePolicyId;
   }
 
@@ -233,11 +239,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -256,11 +263,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -279,11 +287,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueuename() {
     return this.queuename;
   }
 
-  public void setQueuename(java.lang.String queuename) {
+  public void setQueuename(@org.apache.thrift.annotation.Nullable java.lang.String queuename) {
     this.queuename = queuename;
   }
 
@@ -368,7 +377,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __MAXALLOWEDWALLTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESOURCE_POLICY_ID:
       if (value == null) {
@@ -429,6 +439,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESOURCE_POLICY_ID:
@@ -457,6 +469,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -483,8 +496,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof BatchQueueResourcePolicy)
       return this.equals((BatchQueueResourcePolicy)that);
     return false;
@@ -605,7 +616,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+    lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -615,7 +626,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -625,7 +636,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -635,7 +646,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueuename()).compareTo(other.isSetQueuename());
+    lastComparison = java.lang.Boolean.compare(isSetQueuename(), other.isSetQueuename());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -645,7 +656,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxAllowedNodes()).compareTo(other.isSetMaxAllowedNodes());
+    lastComparison = java.lang.Boolean.compare(isSetMaxAllowedNodes(), other.isSetMaxAllowedNodes());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -655,7 +666,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxAllowedCores()).compareTo(other.isSetMaxAllowedCores());
+    lastComparison = java.lang.Boolean.compare(isSetMaxAllowedCores(), other.isSetMaxAllowedCores());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -665,7 +676,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxAllowedWalltime()).compareTo(other.isSetMaxAllowedWalltime());
+    lastComparison = java.lang.Boolean.compare(isSetMaxAllowedWalltime(), other.isSetMaxAllowedWalltime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -678,14 +689,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -786,6 +801,7 @@
   }
 
   private static class BatchQueueResourcePolicyStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public BatchQueueResourcePolicyStandardScheme getScheme() {
       return new BatchQueueResourcePolicyStandardScheme();
     }
@@ -793,6 +809,7 @@
 
   private static class BatchQueueResourcePolicyStandardScheme extends org.apache.thrift.scheme.StandardScheme<BatchQueueResourcePolicy> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, BatchQueueResourcePolicy struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -868,6 +885,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, BatchQueueResourcePolicy struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -916,6 +934,7 @@
   }
 
   private static class BatchQueueResourcePolicyTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public BatchQueueResourcePolicyTupleScheme getScheme() {
       return new BatchQueueResourcePolicyTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourcePolicy.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourcePolicy.java
index 48f5ac2..9e0ea72 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourcePolicy.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourcePolicy.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.groupresourceprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ComputeResourcePolicy implements org.apache.thrift.TBase<ComputeResourcePolicy, ComputeResourcePolicy._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePolicy> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePolicy");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ComputeResourcePolicyStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ComputeResourcePolicyTupleSchemeFactory();
 
-  private java.lang.String resourcePolicyId; // required
-  private java.lang.String computeResourceId; // required
-  private java.lang.String groupResourceProfileId; // required
-  private java.util.List<java.lang.String> allowedBatchQueues; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> allowedBatchQueues; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESOURCE_POLICY_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -163,6 +167,7 @@
     }
   }
 
+  @Override
   public ComputeResourcePolicy deepCopy() {
     return new ComputeResourcePolicy(this);
   }
@@ -177,11 +182,12 @@
     this.allowedBatchQueues = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourcePolicyId() {
     return this.resourcePolicyId;
   }
 
-  public void setResourcePolicyId(java.lang.String resourcePolicyId) {
+  public void setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
     this.resourcePolicyId = resourcePolicyId;
   }
 
@@ -200,11 +206,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -223,11 +230,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -250,6 +258,7 @@
     return (this.allowedBatchQueues == null) ? 0 : this.allowedBatchQueues.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getAllowedBatchQueuesIterator() {
     return (this.allowedBatchQueues == null) ? null : this.allowedBatchQueues.iterator();
   }
@@ -261,11 +270,12 @@
     this.allowedBatchQueues.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getAllowedBatchQueues() {
     return this.allowedBatchQueues;
   }
 
-  public void setAllowedBatchQueues(java.util.List<java.lang.String> allowedBatchQueues) {
+  public void setAllowedBatchQueues(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> allowedBatchQueues) {
     this.allowedBatchQueues = allowedBatchQueues;
   }
 
@@ -284,7 +294,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESOURCE_POLICY_ID:
       if (value == null) {
@@ -321,6 +332,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESOURCE_POLICY_ID:
@@ -340,6 +353,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -360,8 +374,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ComputeResourcePolicy)
       return this.equals((ComputeResourcePolicy)that);
     return false;
@@ -443,7 +455,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+    lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -453,7 +465,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -463,7 +475,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -473,7 +485,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAllowedBatchQueues()).compareTo(other.isSetAllowedBatchQueues());
+    lastComparison = java.lang.Boolean.compare(isSetAllowedBatchQueues(), other.isSetAllowedBatchQueues());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -486,14 +498,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -574,6 +590,7 @@
   }
 
   private static class ComputeResourcePolicyStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourcePolicyStandardScheme getScheme() {
       return new ComputeResourcePolicyStandardScheme();
     }
@@ -581,6 +598,7 @@
 
   private static class ComputeResourcePolicyStandardScheme extends org.apache.thrift.scheme.StandardScheme<ComputeResourcePolicy> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ComputeResourcePolicy struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -620,7 +638,7 @@
               {
                 org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                 struct.allowedBatchQueues = new java.util.ArrayList<java.lang.String>(_list24.size);
-                java.lang.String _elem25;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem25;
                 for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                 {
                   _elem25 = iprot.readString();
@@ -642,6 +660,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ComputeResourcePolicy struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -682,6 +701,7 @@
   }
 
   private static class ComputeResourcePolicyTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourcePolicyTupleScheme getScheme() {
       return new ComputeResourcePolicyTupleScheme();
     }
@@ -723,9 +743,9 @@
       java.util.BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.allowedBatchQueues = new java.util.ArrayList<java.lang.String>(_list29.size);
-          java.lang.String _elem30;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem30;
           for (int _i31 = 0; _i31 < _list29.size; ++_i31)
           {
             _elem30 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourceReservation.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourceReservation.java
index df76be4..fd3fd94 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourceReservation.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/ComputeResourceReservation.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.groupresourceprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ComputeResourceReservation implements org.apache.thrift.TBase<ComputeResourceReservation, ComputeResourceReservation._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceReservation> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceReservation");
 
@@ -37,9 +37,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ComputeResourceReservationStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ComputeResourceReservationTupleSchemeFactory();
 
-  private java.lang.String reservationId; // required
-  private java.lang.String reservationName; // required
-  private java.util.List<java.lang.String> queueNames; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String reservationId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String reservationName; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> queueNames; // required
   private long startTime; // required
   private long endTime; // required
 
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESERVATION_ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -176,6 +180,7 @@
     this.endTime = other.endTime;
   }
 
+  @Override
   public ComputeResourceReservation deepCopy() {
     return new ComputeResourceReservation(this);
   }
@@ -192,11 +197,12 @@
     this.endTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReservationId() {
     return this.reservationId;
   }
 
-  public void setReservationId(java.lang.String reservationId) {
+  public void setReservationId(@org.apache.thrift.annotation.Nullable java.lang.String reservationId) {
     this.reservationId = reservationId;
   }
 
@@ -215,11 +221,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReservationName() {
     return this.reservationName;
   }
 
-  public void setReservationName(java.lang.String reservationName) {
+  public void setReservationName(@org.apache.thrift.annotation.Nullable java.lang.String reservationName) {
     this.reservationName = reservationName;
   }
 
@@ -242,6 +249,7 @@
     return (this.queueNames == null) ? 0 : this.queueNames.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getQueueNamesIterator() {
     return (this.queueNames == null) ? null : this.queueNames.iterator();
   }
@@ -253,11 +261,12 @@
     this.queueNames.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getQueueNames() {
     return this.queueNames;
   }
 
-  public void setQueueNames(java.util.List<java.lang.String> queueNames) {
+  public void setQueueNames(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> queueNames) {
     this.queueNames = queueNames;
   }
 
@@ -320,7 +329,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ENDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESERVATION_ID:
       if (value == null) {
@@ -365,6 +375,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESERVATION_ID:
@@ -387,6 +399,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -409,8 +422,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ComputeResourceReservation)
       return this.equals((ComputeResourceReservation)that);
     return false;
@@ -501,7 +512,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetReservationId()).compareTo(other.isSetReservationId());
+    lastComparison = java.lang.Boolean.compare(isSetReservationId(), other.isSetReservationId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -511,7 +522,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservationName()).compareTo(other.isSetReservationName());
+    lastComparison = java.lang.Boolean.compare(isSetReservationName(), other.isSetReservationName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -521,7 +532,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueNames()).compareTo(other.isSetQueueNames());
+    lastComparison = java.lang.Boolean.compare(isSetQueueNames(), other.isSetQueueNames());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -531,7 +542,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStartTime()).compareTo(other.isSetStartTime());
+    lastComparison = java.lang.Boolean.compare(isSetStartTime(), other.isSetStartTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -541,7 +552,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEndTime()).compareTo(other.isSetEndTime());
+    lastComparison = java.lang.Boolean.compare(isSetEndTime(), other.isSetEndTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -554,14 +565,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -650,6 +665,7 @@
   }
 
   private static class ComputeResourceReservationStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourceReservationStandardScheme getScheme() {
       return new ComputeResourceReservationStandardScheme();
     }
@@ -657,6 +673,7 @@
 
   private static class ComputeResourceReservationStandardScheme extends org.apache.thrift.scheme.StandardScheme<ComputeResourceReservation> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ComputeResourceReservation struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -688,7 +705,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.queueNames = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -726,6 +743,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ComputeResourceReservation struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -765,6 +783,7 @@
   }
 
   private static class ComputeResourceReservationTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputeResourceReservationTupleScheme getScheme() {
       return new ComputeResourceReservationTupleScheme();
     }
@@ -796,9 +815,9 @@
       struct.reservationName = iprot.readString();
       struct.setReservationNameIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
         struct.queueNames = new java.util.ArrayList<java.lang.String>(_list5.size);
-        java.lang.String _elem6;
+        @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
         for (int _i7 = 0; _i7 < _list5.size; ++_i7)
         {
           _elem6 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupAccountSSHProvisionerConfig.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupAccountSSHProvisionerConfig.java
index 98c3329..3c6534d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupAccountSSHProvisionerConfig.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupAccountSSHProvisionerConfig.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.groupresourceprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupAccountSSHProvisionerConfig implements org.apache.thrift.TBase<GroupAccountSSHProvisionerConfig, GroupAccountSSHProvisionerConfig._Fields>, java.io.Serializable, Cloneable, Comparable<GroupAccountSSHProvisionerConfig> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupAccountSSHProvisionerConfig");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupAccountSSHProvisionerConfigStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupAccountSSHProvisionerConfigTupleSchemeFactory();
 
-  private java.lang.String resourceId; // required
-  private java.lang.String groupResourceProfileId; // required
-  private java.lang.String configName; // required
-  private java.lang.String configValue; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String configName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String configValue; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESOURCE_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -159,6 +163,7 @@
     }
   }
 
+  @Override
   public GroupAccountSSHProvisionerConfig deepCopy() {
     return new GroupAccountSSHProvisionerConfig(this);
   }
@@ -172,11 +177,12 @@
     this.configValue = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceId() {
     return this.resourceId;
   }
 
-  public void setResourceId(java.lang.String resourceId) {
+  public void setResourceId(@org.apache.thrift.annotation.Nullable java.lang.String resourceId) {
     this.resourceId = resourceId;
   }
 
@@ -195,11 +201,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -218,11 +225,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getConfigName() {
     return this.configName;
   }
 
-  public void setConfigName(java.lang.String configName) {
+  public void setConfigName(@org.apache.thrift.annotation.Nullable java.lang.String configName) {
     this.configName = configName;
   }
 
@@ -241,11 +249,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getConfigValue() {
     return this.configValue;
   }
 
-  public void setConfigValue(java.lang.String configValue) {
+  public void setConfigValue(@org.apache.thrift.annotation.Nullable java.lang.String configValue) {
     this.configValue = configValue;
   }
 
@@ -264,7 +273,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESOURCE_ID:
       if (value == null) {
@@ -301,6 +311,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESOURCE_ID:
@@ -320,6 +332,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -340,8 +353,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupAccountSSHProvisionerConfig)
       return this.equals((GroupAccountSSHProvisionerConfig)that);
     return false;
@@ -423,7 +434,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceId()).compareTo(other.isSetResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetResourceId(), other.isSetResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -433,7 +444,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -443,7 +454,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetConfigName()).compareTo(other.isSetConfigName());
+    lastComparison = java.lang.Boolean.compare(isSetConfigName(), other.isSetConfigName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -453,7 +464,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetConfigValue()).compareTo(other.isSetConfigValue());
+    lastComparison = java.lang.Boolean.compare(isSetConfigValue(), other.isSetConfigValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -466,14 +477,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +569,7 @@
   }
 
   private static class GroupAccountSSHProvisionerConfigStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupAccountSSHProvisionerConfigStandardScheme getScheme() {
       return new GroupAccountSSHProvisionerConfigStandardScheme();
     }
@@ -561,6 +577,7 @@
 
   private static class GroupAccountSSHProvisionerConfigStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupAccountSSHProvisionerConfig> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupAccountSSHProvisionerConfig struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +629,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupAccountSSHProvisionerConfig struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -645,6 +663,7 @@
   }
 
   private static class GroupAccountSSHProvisionerConfigTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupAccountSSHProvisionerConfigTupleScheme getScheme() {
       return new GroupAccountSSHProvisionerConfigTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupComputeResourcePreference.java
index eb1572c..c8cbe96 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupComputeResourcePreference.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.groupresourceprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupComputeResourcePreference implements org.apache.thrift.TBase<GroupComputeResourcePreference, GroupComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<GroupComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupComputeResourcePreference");
 
@@ -48,22 +48,22 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupComputeResourcePreferenceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupComputeResourcePreferenceTupleSchemeFactory();
 
-  private java.lang.String computeResourceId; // required
-  private java.lang.String groupResourceProfileId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // required
   private boolean overridebyAiravata; // required
-  private java.lang.String loginUserName; // optional
-  private org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol; // optional
-  private org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol; // optional
-  private java.lang.String preferredBatchQueue; // optional
-  private java.lang.String scratchLocation; // optional
-  private java.lang.String allocationProjectNumber; // optional
-  private java.lang.String resourceSpecificCredentialStoreToken; // optional
-  private java.lang.String usageReportingGatewayId; // optional
-  private java.lang.String qualityOfService; // optional
-  private java.lang.String sshAccountProvisioner; // optional
-  private java.util.List<GroupAccountSSHProvisionerConfig> groupSSHAccountProvisionerConfigs; // optional
-  private java.lang.String sshAccountProvisionerAdditionalInfo; // optional
-  private java.util.List<ComputeResourceReservation> reservations; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String preferredBatchQueue; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String scratchLocation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String allocationProjectNumber; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String usageReportingGatewayId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String qualityOfService; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisioner; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<GroupAccountSSHProvisionerConfig> groupSSHAccountProvisionerConfigs; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisionerAdditionalInfo; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ComputeResourceReservation> reservations; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -103,6 +103,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COMPUTE_RESOURCE_ID
@@ -155,6 +156,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -167,10 +169,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -301,6 +305,7 @@
     }
   }
 
+  @Override
   public GroupComputeResourcePreference deepCopy() {
     return new GroupComputeResourcePreference(this);
   }
@@ -327,11 +332,12 @@
     this.reservations = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -350,11 +356,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -395,11 +402,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OVERRIDEBYAIRAVATA_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLoginUserName() {
     return this.loginUserName;
   }
 
-  public void setLoginUserName(java.lang.String loginUserName) {
+  public void setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
     this.loginUserName = loginUserName;
   }
 
@@ -422,6 +430,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol getPreferredJobSubmissionProtocol() {
     return this.preferredJobSubmissionProtocol;
   }
@@ -430,7 +439,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
    */
-  public void setPreferredJobSubmissionProtocol(org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol) {
+  public void setPreferredJobSubmissionProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol preferredJobSubmissionProtocol) {
     this.preferredJobSubmissionProtocol = preferredJobSubmissionProtocol;
   }
 
@@ -453,6 +462,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.DataMovementProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.DataMovementProtocol getPreferredDataMovementProtocol() {
     return this.preferredDataMovementProtocol;
   }
@@ -461,7 +471,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.DataMovementProtocol
    */
-  public void setPreferredDataMovementProtocol(org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol) {
+  public void setPreferredDataMovementProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementProtocol preferredDataMovementProtocol) {
     this.preferredDataMovementProtocol = preferredDataMovementProtocol;
   }
 
@@ -480,11 +490,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPreferredBatchQueue() {
     return this.preferredBatchQueue;
   }
 
-  public void setPreferredBatchQueue(java.lang.String preferredBatchQueue) {
+  public void setPreferredBatchQueue(@org.apache.thrift.annotation.Nullable java.lang.String preferredBatchQueue) {
     this.preferredBatchQueue = preferredBatchQueue;
   }
 
@@ -503,11 +514,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getScratchLocation() {
     return this.scratchLocation;
   }
 
-  public void setScratchLocation(java.lang.String scratchLocation) {
+  public void setScratchLocation(@org.apache.thrift.annotation.Nullable java.lang.String scratchLocation) {
     this.scratchLocation = scratchLocation;
   }
 
@@ -526,11 +538,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAllocationProjectNumber() {
     return this.allocationProjectNumber;
   }
 
-  public void setAllocationProjectNumber(java.lang.String allocationProjectNumber) {
+  public void setAllocationProjectNumber(@org.apache.thrift.annotation.Nullable java.lang.String allocationProjectNumber) {
     this.allocationProjectNumber = allocationProjectNumber;
   }
 
@@ -549,11 +562,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceSpecificCredentialStoreToken() {
     return this.resourceSpecificCredentialStoreToken;
   }
 
-  public void setResourceSpecificCredentialStoreToken(java.lang.String resourceSpecificCredentialStoreToken) {
+  public void setResourceSpecificCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken) {
     this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
   }
 
@@ -572,11 +586,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUsageReportingGatewayId() {
     return this.usageReportingGatewayId;
   }
 
-  public void setUsageReportingGatewayId(java.lang.String usageReportingGatewayId) {
+  public void setUsageReportingGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String usageReportingGatewayId) {
     this.usageReportingGatewayId = usageReportingGatewayId;
   }
 
@@ -595,11 +610,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQualityOfService() {
     return this.qualityOfService;
   }
 
-  public void setQualityOfService(java.lang.String qualityOfService) {
+  public void setQualityOfService(@org.apache.thrift.annotation.Nullable java.lang.String qualityOfService) {
     this.qualityOfService = qualityOfService;
   }
 
@@ -618,11 +634,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSshAccountProvisioner() {
     return this.sshAccountProvisioner;
   }
 
-  public void setSshAccountProvisioner(java.lang.String sshAccountProvisioner) {
+  public void setSshAccountProvisioner(@org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisioner) {
     this.sshAccountProvisioner = sshAccountProvisioner;
   }
 
@@ -645,6 +662,7 @@
     return (this.groupSSHAccountProvisionerConfigs == null) ? 0 : this.groupSSHAccountProvisionerConfigs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<GroupAccountSSHProvisionerConfig> getGroupSSHAccountProvisionerConfigsIterator() {
     return (this.groupSSHAccountProvisionerConfigs == null) ? null : this.groupSSHAccountProvisionerConfigs.iterator();
   }
@@ -656,11 +674,12 @@
     this.groupSSHAccountProvisionerConfigs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<GroupAccountSSHProvisionerConfig> getGroupSSHAccountProvisionerConfigs() {
     return this.groupSSHAccountProvisionerConfigs;
   }
 
-  public void setGroupSSHAccountProvisionerConfigs(java.util.List<GroupAccountSSHProvisionerConfig> groupSSHAccountProvisionerConfigs) {
+  public void setGroupSSHAccountProvisionerConfigs(@org.apache.thrift.annotation.Nullable java.util.List<GroupAccountSSHProvisionerConfig> groupSSHAccountProvisionerConfigs) {
     this.groupSSHAccountProvisionerConfigs = groupSSHAccountProvisionerConfigs;
   }
 
@@ -679,11 +698,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSshAccountProvisionerAdditionalInfo() {
     return this.sshAccountProvisionerAdditionalInfo;
   }
 
-  public void setSshAccountProvisionerAdditionalInfo(java.lang.String sshAccountProvisionerAdditionalInfo) {
+  public void setSshAccountProvisionerAdditionalInfo(@org.apache.thrift.annotation.Nullable java.lang.String sshAccountProvisionerAdditionalInfo) {
     this.sshAccountProvisionerAdditionalInfo = sshAccountProvisionerAdditionalInfo;
   }
 
@@ -706,6 +726,7 @@
     return (this.reservations == null) ? 0 : this.reservations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ComputeResourceReservation> getReservationsIterator() {
     return (this.reservations == null) ? null : this.reservations.iterator();
   }
@@ -717,11 +738,12 @@
     this.reservations.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ComputeResourceReservation> getReservations() {
     return this.reservations;
   }
 
-  public void setReservations(java.util.List<ComputeResourceReservation> reservations) {
+  public void setReservations(@org.apache.thrift.annotation.Nullable java.util.List<ComputeResourceReservation> reservations) {
     this.reservations = reservations;
   }
 
@@ -740,7 +762,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
       if (value == null) {
@@ -873,6 +896,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -928,6 +953,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -972,8 +998,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupComputeResourcePreference)
       return this.equals((GroupComputeResourcePreference)that);
     return false;
@@ -1209,7 +1233,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1219,7 +1243,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1229,7 +1253,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverridebyAiravata()).compareTo(other.isSetOverridebyAiravata());
+    lastComparison = java.lang.Boolean.compare(isSetOverridebyAiravata(), other.isSetOverridebyAiravata());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1239,7 +1263,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1249,7 +1273,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredJobSubmissionProtocol()).compareTo(other.isSetPreferredJobSubmissionProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredJobSubmissionProtocol(), other.isSetPreferredJobSubmissionProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1259,7 +1283,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredDataMovementProtocol()).compareTo(other.isSetPreferredDataMovementProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredDataMovementProtocol(), other.isSetPreferredDataMovementProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1269,7 +1293,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredBatchQueue()).compareTo(other.isSetPreferredBatchQueue());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredBatchQueue(), other.isSetPreferredBatchQueue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1279,7 +1303,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetScratchLocation()).compareTo(other.isSetScratchLocation());
+    lastComparison = java.lang.Boolean.compare(isSetScratchLocation(), other.isSetScratchLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1289,7 +1313,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAllocationProjectNumber()).compareTo(other.isSetAllocationProjectNumber());
+    lastComparison = java.lang.Boolean.compare(isSetAllocationProjectNumber(), other.isSetAllocationProjectNumber());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1299,7 +1323,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceSpecificCredentialStoreToken()).compareTo(other.isSetResourceSpecificCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetResourceSpecificCredentialStoreToken(), other.isSetResourceSpecificCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1309,7 +1333,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsageReportingGatewayId()).compareTo(other.isSetUsageReportingGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetUsageReportingGatewayId(), other.isSetUsageReportingGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1319,7 +1343,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQualityOfService()).compareTo(other.isSetQualityOfService());
+    lastComparison = java.lang.Boolean.compare(isSetQualityOfService(), other.isSetQualityOfService());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1329,7 +1353,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshAccountProvisioner()).compareTo(other.isSetSshAccountProvisioner());
+    lastComparison = java.lang.Boolean.compare(isSetSshAccountProvisioner(), other.isSetSshAccountProvisioner());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1339,7 +1363,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupSSHAccountProvisionerConfigs()).compareTo(other.isSetGroupSSHAccountProvisionerConfigs());
+    lastComparison = java.lang.Boolean.compare(isSetGroupSSHAccountProvisionerConfigs(), other.isSetGroupSSHAccountProvisionerConfigs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1349,7 +1373,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshAccountProvisionerAdditionalInfo()).compareTo(other.isSetSshAccountProvisionerAdditionalInfo());
+    lastComparison = java.lang.Boolean.compare(isSetSshAccountProvisionerAdditionalInfo(), other.isSetSshAccountProvisionerAdditionalInfo());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1359,7 +1383,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservations()).compareTo(other.isSetReservations());
+    lastComparison = java.lang.Boolean.compare(isSetReservations(), other.isSetReservations());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1372,14 +1396,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1578,6 +1606,7 @@
   }
 
   private static class GroupComputeResourcePreferenceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupComputeResourcePreferenceStandardScheme getScheme() {
       return new GroupComputeResourcePreferenceStandardScheme();
     }
@@ -1585,6 +1614,7 @@
 
   private static class GroupComputeResourcePreferenceStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupComputeResourcePreference> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupComputeResourcePreference struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1704,7 +1734,7 @@
               {
                 org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                 struct.groupSSHAccountProvisionerConfigs = new java.util.ArrayList<GroupAccountSSHProvisionerConfig>(_list8.size);
-                GroupAccountSSHProvisionerConfig _elem9;
+                @org.apache.thrift.annotation.Nullable GroupAccountSSHProvisionerConfig _elem9;
                 for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                 {
                   _elem9 = new GroupAccountSSHProvisionerConfig();
@@ -1731,7 +1761,7 @@
               {
                 org.apache.thrift.protocol.TList _list11 = iprot.readListBegin();
                 struct.reservations = new java.util.ArrayList<ComputeResourceReservation>(_list11.size);
-                ComputeResourceReservation _elem12;
+                @org.apache.thrift.annotation.Nullable ComputeResourceReservation _elem12;
                 for (int _i13 = 0; _i13 < _list11.size; ++_i13)
                 {
                   _elem12 = new ComputeResourceReservation();
@@ -1754,6 +1784,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupComputeResourcePreference struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1883,6 +1914,7 @@
   }
 
   private static class GroupComputeResourcePreferenceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupComputeResourcePreferenceTupleScheme getScheme() {
       return new GroupComputeResourcePreferenceTupleScheme();
     }
@@ -2042,9 +2074,9 @@
       }
       if (incoming.get(10)) {
         {
-          org.apache.thrift.protocol.TList _list18 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list18 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.groupSSHAccountProvisionerConfigs = new java.util.ArrayList<GroupAccountSSHProvisionerConfig>(_list18.size);
-          GroupAccountSSHProvisionerConfig _elem19;
+          @org.apache.thrift.annotation.Nullable GroupAccountSSHProvisionerConfig _elem19;
           for (int _i20 = 0; _i20 < _list18.size; ++_i20)
           {
             _elem19 = new GroupAccountSSHProvisionerConfig();
@@ -2060,9 +2092,9 @@
       }
       if (incoming.get(12)) {
         {
-          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.reservations = new java.util.ArrayList<ComputeResourceReservation>(_list21.size);
-          ComputeResourceReservation _elem22;
+          @org.apache.thrift.annotation.Nullable ComputeResourceReservation _elem22;
           for (int _i23 = 0; _i23 < _list21.size; ++_i23)
           {
             _elem22 = new ComputeResourceReservation();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupResourceProfile.java
index b6e4526..4fa83ce 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/groupresourceprofile/GroupResourceProfile.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.groupresourceprofile;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Group Resource Profile
  * 
@@ -45,7 +44,8 @@
  *  The default credential store token to use for compute resources that don't specify a resource specific credential store token.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupResourceProfile implements org.apache.thrift.TBase<GroupResourceProfile, GroupResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GroupResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupResourceProfile");
 
@@ -62,15 +62,15 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupResourceProfileStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupResourceProfileTupleSchemeFactory();
 
-  private java.lang.String gatewayId; // required
-  private java.lang.String groupResourceProfileId; // required
-  private java.lang.String groupResourceProfileName; // optional
-  private java.util.List<GroupComputeResourcePreference> computePreferences; // optional
-  private java.util.List<ComputeResourcePolicy> computeResourcePolicies; // optional
-  private java.util.List<BatchQueueResourcePolicy> batchQueueResourcePolicies; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileName; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<GroupComputeResourcePreference> computePreferences; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ComputeResourcePolicy> computeResourcePolicies; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<BatchQueueResourcePolicy> batchQueueResourcePolicies; // optional
   private long creationTime; // optional
   private long updatedTime; // optional
-  private java.lang.String defaultCredentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String defaultCredentialStoreToken; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -95,6 +95,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_ID
@@ -133,6 +134,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -145,10 +147,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -243,6 +247,7 @@
     }
   }
 
+  @Override
   public GroupResourceProfile deepCopy() {
     return new GroupResourceProfile(this);
   }
@@ -263,11 +268,12 @@
     this.defaultCredentialStoreToken = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -286,11 +292,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -309,11 +316,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileName() {
     return this.groupResourceProfileName;
   }
 
-  public void setGroupResourceProfileName(java.lang.String groupResourceProfileName) {
+  public void setGroupResourceProfileName(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileName) {
     this.groupResourceProfileName = groupResourceProfileName;
   }
 
@@ -336,6 +344,7 @@
     return (this.computePreferences == null) ? 0 : this.computePreferences.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<GroupComputeResourcePreference> getComputePreferencesIterator() {
     return (this.computePreferences == null) ? null : this.computePreferences.iterator();
   }
@@ -347,11 +356,12 @@
     this.computePreferences.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<GroupComputeResourcePreference> getComputePreferences() {
     return this.computePreferences;
   }
 
-  public void setComputePreferences(java.util.List<GroupComputeResourcePreference> computePreferences) {
+  public void setComputePreferences(@org.apache.thrift.annotation.Nullable java.util.List<GroupComputeResourcePreference> computePreferences) {
     this.computePreferences = computePreferences;
   }
 
@@ -374,6 +384,7 @@
     return (this.computeResourcePolicies == null) ? 0 : this.computeResourcePolicies.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ComputeResourcePolicy> getComputeResourcePoliciesIterator() {
     return (this.computeResourcePolicies == null) ? null : this.computeResourcePolicies.iterator();
   }
@@ -385,11 +396,12 @@
     this.computeResourcePolicies.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ComputeResourcePolicy> getComputeResourcePolicies() {
     return this.computeResourcePolicies;
   }
 
-  public void setComputeResourcePolicies(java.util.List<ComputeResourcePolicy> computeResourcePolicies) {
+  public void setComputeResourcePolicies(@org.apache.thrift.annotation.Nullable java.util.List<ComputeResourcePolicy> computeResourcePolicies) {
     this.computeResourcePolicies = computeResourcePolicies;
   }
 
@@ -412,6 +424,7 @@
     return (this.batchQueueResourcePolicies == null) ? 0 : this.batchQueueResourcePolicies.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<BatchQueueResourcePolicy> getBatchQueueResourcePoliciesIterator() {
     return (this.batchQueueResourcePolicies == null) ? null : this.batchQueueResourcePolicies.iterator();
   }
@@ -423,11 +436,12 @@
     this.batchQueueResourcePolicies.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<BatchQueueResourcePolicy> getBatchQueueResourcePolicies() {
     return this.batchQueueResourcePolicies;
   }
 
-  public void setBatchQueueResourcePolicies(java.util.List<BatchQueueResourcePolicy> batchQueueResourcePolicies) {
+  public void setBatchQueueResourcePolicies(@org.apache.thrift.annotation.Nullable java.util.List<BatchQueueResourcePolicy> batchQueueResourcePolicies) {
     this.batchQueueResourcePolicies = batchQueueResourcePolicies;
   }
 
@@ -490,11 +504,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDefaultCredentialStoreToken() {
     return this.defaultCredentialStoreToken;
   }
 
-  public void setDefaultCredentialStoreToken(java.lang.String defaultCredentialStoreToken) {
+  public void setDefaultCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String defaultCredentialStoreToken) {
     this.defaultCredentialStoreToken = defaultCredentialStoreToken;
   }
 
@@ -513,7 +528,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_ID:
       if (value == null) {
@@ -590,6 +606,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_ID:
@@ -624,6 +642,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -654,8 +673,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupResourceProfile)
       return this.equals((GroupResourceProfile)that);
     return false;
@@ -802,7 +819,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -812,7 +829,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -822,7 +839,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileName()).compareTo(other.isSetGroupResourceProfileName());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileName(), other.isSetGroupResourceProfileName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -832,7 +849,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputePreferences()).compareTo(other.isSetComputePreferences());
+    lastComparison = java.lang.Boolean.compare(isSetComputePreferences(), other.isSetComputePreferences());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -842,7 +859,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourcePolicies()).compareTo(other.isSetComputeResourcePolicies());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourcePolicies(), other.isSetComputeResourcePolicies());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -852,7 +869,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetBatchQueueResourcePolicies()).compareTo(other.isSetBatchQueueResourcePolicies());
+    lastComparison = java.lang.Boolean.compare(isSetBatchQueueResourcePolicies(), other.isSetBatchQueueResourcePolicies());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -862,7 +879,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -872,7 +889,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -882,7 +899,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDefaultCredentialStoreToken()).compareTo(other.isSetDefaultCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetDefaultCredentialStoreToken(), other.isSetDefaultCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -895,14 +912,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1025,6 +1046,7 @@
   }
 
   private static class GroupResourceProfileStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupResourceProfileStandardScheme getScheme() {
       return new GroupResourceProfileStandardScheme();
     }
@@ -1032,6 +1054,7 @@
 
   private static class GroupResourceProfileStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupResourceProfile> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupResourceProfile struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1071,7 +1094,7 @@
               {
                 org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                 struct.computePreferences = new java.util.ArrayList<GroupComputeResourcePreference>(_list32.size);
-                GroupComputeResourcePreference _elem33;
+                @org.apache.thrift.annotation.Nullable GroupComputeResourcePreference _elem33;
                 for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                 {
                   _elem33 = new GroupComputeResourcePreference();
@@ -1090,7 +1113,7 @@
               {
                 org.apache.thrift.protocol.TList _list35 = iprot.readListBegin();
                 struct.computeResourcePolicies = new java.util.ArrayList<ComputeResourcePolicy>(_list35.size);
-                ComputeResourcePolicy _elem36;
+                @org.apache.thrift.annotation.Nullable ComputeResourcePolicy _elem36;
                 for (int _i37 = 0; _i37 < _list35.size; ++_i37)
                 {
                   _elem36 = new ComputeResourcePolicy();
@@ -1109,7 +1132,7 @@
               {
                 org.apache.thrift.protocol.TList _list38 = iprot.readListBegin();
                 struct.batchQueueResourcePolicies = new java.util.ArrayList<BatchQueueResourcePolicy>(_list38.size);
-                BatchQueueResourcePolicy _elem39;
+                @org.apache.thrift.annotation.Nullable BatchQueueResourcePolicy _elem39;
                 for (int _i40 = 0; _i40 < _list38.size; ++_i40)
                 {
                   _elem39 = new BatchQueueResourcePolicy();
@@ -1156,6 +1179,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupResourceProfile struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1243,6 +1267,7 @@
   }
 
   private static class GroupResourceProfileTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupResourceProfileTupleScheme getScheme() {
       return new GroupResourceProfileTupleScheme();
     }
@@ -1333,9 +1358,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list47 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.computePreferences = new java.util.ArrayList<GroupComputeResourcePreference>(_list47.size);
-          GroupComputeResourcePreference _elem48;
+          @org.apache.thrift.annotation.Nullable GroupComputeResourcePreference _elem48;
           for (int _i49 = 0; _i49 < _list47.size; ++_i49)
           {
             _elem48 = new GroupComputeResourcePreference();
@@ -1347,9 +1372,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list50 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.computeResourcePolicies = new java.util.ArrayList<ComputeResourcePolicy>(_list50.size);
-          ComputeResourcePolicy _elem51;
+          @org.apache.thrift.annotation.Nullable ComputeResourcePolicy _elem51;
           for (int _i52 = 0; _i52 < _list50.size; ++_i52)
           {
             _elem51 = new ComputeResourcePolicy();
@@ -1361,9 +1386,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list53 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.batchQueueResourcePolicies = new java.util.ArrayList<BatchQueueResourcePolicy>(_list53.size);
-          BatchQueueResourcePolicy _elem54;
+          @org.apache.thrift.annotation.Nullable BatchQueueResourcePolicy _elem54;
           for (int _i55 = 0; _i55 < _list53.size; ++_i55)
           {
             _elem54 = new BatchQueueResourcePolicy();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/IOType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/IOType.java
index 54f5ebe..bc33dbe 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/IOType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/IOType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum IOType implements org.apache.thrift.TEnum {
   FILE(0),
   PROPERTY(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static IOType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/Parser.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/Parser.java
index 1d3f4f3..257ce56 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/Parser.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/Parser.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Parser implements org.apache.thrift.TBase<Parser, Parser._Fields>, java.io.Serializable, Cloneable, Comparable<Parser> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Parser");
 
@@ -40,14 +40,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParserStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParserTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String imageName; // required
-  private java.lang.String outputDirPath; // required
-  private java.lang.String inputDirPath; // required
-  private java.lang.String executionCommand; // required
-  private java.util.List<ParserInput> inputFiles; // required
-  private java.util.List<ParserOutput> outputFiles; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String imageName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String outputDirPath; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String inputDirPath; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String executionCommand; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ParserInput> inputFiles; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ParserOutput> outputFiles; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -107,6 +108,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -119,10 +121,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -216,6 +220,7 @@
     }
   }
 
+  @Override
   public Parser deepCopy() {
     return new Parser(this);
   }
@@ -232,11 +237,12 @@
     this.gatewayId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -255,11 +261,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getImageName() {
     return this.imageName;
   }
 
-  public void setImageName(java.lang.String imageName) {
+  public void setImageName(@org.apache.thrift.annotation.Nullable java.lang.String imageName) {
     this.imageName = imageName;
   }
 
@@ -278,11 +285,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOutputDirPath() {
     return this.outputDirPath;
   }
 
-  public void setOutputDirPath(java.lang.String outputDirPath) {
+  public void setOutputDirPath(@org.apache.thrift.annotation.Nullable java.lang.String outputDirPath) {
     this.outputDirPath = outputDirPath;
   }
 
@@ -301,11 +309,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getInputDirPath() {
     return this.inputDirPath;
   }
 
-  public void setInputDirPath(java.lang.String inputDirPath) {
+  public void setInputDirPath(@org.apache.thrift.annotation.Nullable java.lang.String inputDirPath) {
     this.inputDirPath = inputDirPath;
   }
 
@@ -324,11 +333,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExecutionCommand() {
     return this.executionCommand;
   }
 
-  public void setExecutionCommand(java.lang.String executionCommand) {
+  public void setExecutionCommand(@org.apache.thrift.annotation.Nullable java.lang.String executionCommand) {
     this.executionCommand = executionCommand;
   }
 
@@ -351,6 +361,7 @@
     return (this.inputFiles == null) ? 0 : this.inputFiles.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ParserInput> getInputFilesIterator() {
     return (this.inputFiles == null) ? null : this.inputFiles.iterator();
   }
@@ -362,11 +373,12 @@
     this.inputFiles.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ParserInput> getInputFiles() {
     return this.inputFiles;
   }
 
-  public void setInputFiles(java.util.List<ParserInput> inputFiles) {
+  public void setInputFiles(@org.apache.thrift.annotation.Nullable java.util.List<ParserInput> inputFiles) {
     this.inputFiles = inputFiles;
   }
 
@@ -389,6 +401,7 @@
     return (this.outputFiles == null) ? 0 : this.outputFiles.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ParserOutput> getOutputFilesIterator() {
     return (this.outputFiles == null) ? null : this.outputFiles.iterator();
   }
@@ -400,11 +413,12 @@
     this.outputFiles.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ParserOutput> getOutputFiles() {
     return this.outputFiles;
   }
 
-  public void setOutputFiles(java.util.List<ParserOutput> outputFiles) {
+  public void setOutputFiles(@org.apache.thrift.annotation.Nullable java.util.List<ParserOutput> outputFiles) {
     this.outputFiles = outputFiles;
   }
 
@@ -423,11 +437,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -446,7 +461,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -515,6 +531,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -546,6 +564,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -574,8 +593,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Parser)
       return this.equals((Parser)that);
     return false;
@@ -709,7 +726,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -719,7 +736,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetImageName()).compareTo(other.isSetImageName());
+    lastComparison = java.lang.Boolean.compare(isSetImageName(), other.isSetImageName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -729,7 +746,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOutputDirPath()).compareTo(other.isSetOutputDirPath());
+    lastComparison = java.lang.Boolean.compare(isSetOutputDirPath(), other.isSetOutputDirPath());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -739,7 +756,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInputDirPath()).compareTo(other.isSetInputDirPath());
+    lastComparison = java.lang.Boolean.compare(isSetInputDirPath(), other.isSetInputDirPath());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -749,7 +766,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExecutionCommand()).compareTo(other.isSetExecutionCommand());
+    lastComparison = java.lang.Boolean.compare(isSetExecutionCommand(), other.isSetExecutionCommand());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -759,7 +776,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInputFiles()).compareTo(other.isSetInputFiles());
+    lastComparison = java.lang.Boolean.compare(isSetInputFiles(), other.isSetInputFiles());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -769,7 +786,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOutputFiles()).compareTo(other.isSetOutputFiles());
+    lastComparison = java.lang.Boolean.compare(isSetOutputFiles(), other.isSetOutputFiles());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -779,7 +796,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -792,14 +809,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -930,6 +951,7 @@
   }
 
   private static class ParserStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserStandardScheme getScheme() {
       return new ParserStandardScheme();
     }
@@ -937,6 +959,7 @@
 
   private static class ParserStandardScheme extends org.apache.thrift.scheme.StandardScheme<Parser> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Parser struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -992,7 +1015,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.inputFiles = new java.util.ArrayList<ParserInput>(_list0.size);
-                ParserInput _elem1;
+                @org.apache.thrift.annotation.Nullable ParserInput _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new ParserInput();
@@ -1011,7 +1034,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.outputFiles = new java.util.ArrayList<ParserOutput>(_list3.size);
-                ParserOutput _elem4;
+                @org.apache.thrift.annotation.Nullable ParserOutput _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new ParserOutput();
@@ -1042,6 +1065,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Parser struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1107,6 +1131,7 @@
   }
 
   private static class ParserTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserTupleScheme getScheme() {
       return new ParserTupleScheme();
     }
@@ -1153,9 +1178,9 @@
       struct.executionCommand = iprot.readString();
       struct.setExecutionCommandIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.inputFiles = new java.util.ArrayList<ParserInput>(_list10.size);
-        ParserInput _elem11;
+        @org.apache.thrift.annotation.Nullable ParserInput _elem11;
         for (int _i12 = 0; _i12 < _list10.size; ++_i12)
         {
           _elem11 = new ParserInput();
@@ -1165,9 +1190,9 @@
       }
       struct.setInputFilesIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.outputFiles = new java.util.ArrayList<ParserOutput>(_list13.size);
-        ParserOutput _elem14;
+        @org.apache.thrift.annotation.Nullable ParserOutput _elem14;
         for (int _i15 = 0; _i15 < _list13.size; ++_i15)
         {
           _elem14 = new ParserOutput();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnector.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnector.java
index 451d867..07b47f3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnector.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnector.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ParserConnector implements org.apache.thrift.TBase<ParserConnector, ParserConnector._Fields>, java.io.Serializable, Cloneable, Comparable<ParserConnector> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ParserConnector");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParserConnectorStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParserConnectorTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String parentParserId; // required
-  private java.lang.String childParserId; // required
-  private java.util.List<ParserConnectorInput> connectorInputs; // required
-  private java.lang.String parsingTemplateId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parentParserId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String childParserId; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ParserConnectorInput> connectorInputs; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parsingTemplateId; // 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 {
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -175,6 +179,7 @@
     }
   }
 
+  @Override
   public ParserConnector deepCopy() {
     return new ParserConnector(this);
   }
@@ -188,11 +193,12 @@
     this.parsingTemplateId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -211,11 +217,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParentParserId() {
     return this.parentParserId;
   }
 
-  public void setParentParserId(java.lang.String parentParserId) {
+  public void setParentParserId(@org.apache.thrift.annotation.Nullable java.lang.String parentParserId) {
     this.parentParserId = parentParserId;
   }
 
@@ -234,11 +241,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getChildParserId() {
     return this.childParserId;
   }
 
-  public void setChildParserId(java.lang.String childParserId) {
+  public void setChildParserId(@org.apache.thrift.annotation.Nullable java.lang.String childParserId) {
     this.childParserId = childParserId;
   }
 
@@ -261,6 +269,7 @@
     return (this.connectorInputs == null) ? 0 : this.connectorInputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ParserConnectorInput> getConnectorInputsIterator() {
     return (this.connectorInputs == null) ? null : this.connectorInputs.iterator();
   }
@@ -272,11 +281,12 @@
     this.connectorInputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ParserConnectorInput> getConnectorInputs() {
     return this.connectorInputs;
   }
 
-  public void setConnectorInputs(java.util.List<ParserConnectorInput> connectorInputs) {
+  public void setConnectorInputs(@org.apache.thrift.annotation.Nullable java.util.List<ParserConnectorInput> connectorInputs) {
     this.connectorInputs = connectorInputs;
   }
 
@@ -295,11 +305,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParsingTemplateId() {
     return this.parsingTemplateId;
   }
 
-  public void setParsingTemplateId(java.lang.String parsingTemplateId) {
+  public void setParsingTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String parsingTemplateId) {
     this.parsingTemplateId = parsingTemplateId;
   }
 
@@ -318,7 +329,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -363,6 +375,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -385,6 +399,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -407,8 +422,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ParserConnector)
       return this.equals((ParserConnector)that);
     return false;
@@ -503,7 +516,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -513,7 +526,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParentParserId()).compareTo(other.isSetParentParserId());
+    lastComparison = java.lang.Boolean.compare(isSetParentParserId(), other.isSetParentParserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -523,7 +536,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetChildParserId()).compareTo(other.isSetChildParserId());
+    lastComparison = java.lang.Boolean.compare(isSetChildParserId(), other.isSetChildParserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -533,7 +546,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetConnectorInputs()).compareTo(other.isSetConnectorInputs());
+    lastComparison = java.lang.Boolean.compare(isSetConnectorInputs(), other.isSetConnectorInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -543,7 +556,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParsingTemplateId()).compareTo(other.isSetParsingTemplateId());
+    lastComparison = java.lang.Boolean.compare(isSetParsingTemplateId(), other.isSetParsingTemplateId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -556,14 +569,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -658,6 +675,7 @@
   }
 
   private static class ParserConnectorStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserConnectorStandardScheme getScheme() {
       return new ParserConnectorStandardScheme();
     }
@@ -665,6 +683,7 @@
 
   private static class ParserConnectorStandardScheme extends org.apache.thrift.scheme.StandardScheme<ParserConnector> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ParserConnector struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -704,7 +723,7 @@
               {
                 org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                 struct.connectorInputs = new java.util.ArrayList<ParserConnectorInput>(_list16.size);
-                ParserConnectorInput _elem17;
+                @org.apache.thrift.annotation.Nullable ParserConnectorInput _elem17;
                 for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                 {
                   _elem17 = new ParserConnectorInput();
@@ -735,6 +754,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ParserConnector struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -778,6 +798,7 @@
   }
 
   private static class ParserConnectorTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserConnectorTupleScheme getScheme() {
       return new ParserConnectorTupleScheme();
     }
@@ -811,9 +832,9 @@
       struct.childParserId = iprot.readString();
       struct.setChildParserIdIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.connectorInputs = new java.util.ArrayList<ParserConnectorInput>(_list21.size);
-        ParserConnectorInput _elem22;
+        @org.apache.thrift.annotation.Nullable ParserConnectorInput _elem22;
         for (int _i23 = 0; _i23 < _list21.size; ++_i23)
         {
           _elem22 = new ParserConnectorInput();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnectorInput.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnectorInput.java
index 175e65c..0e940fb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnectorInput.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserConnectorInput.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ParserConnectorInput implements org.apache.thrift.TBase<ParserConnectorInput, ParserConnectorInput._Fields>, java.io.Serializable, Cloneable, Comparable<ParserConnectorInput> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ParserConnectorInput");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParserConnectorInputStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParserConnectorInputTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String inputId; // required
-  private java.lang.String parentOutputId; // required
-  private java.lang.String value; // required
-  private java.lang.String parserConnectorId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String inputId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parentOutputId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parserConnectorId; // 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 {
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -170,6 +174,7 @@
     }
   }
 
+  @Override
   public ParserConnectorInput deepCopy() {
     return new ParserConnectorInput(this);
   }
@@ -183,11 +188,12 @@
     this.parserConnectorId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -206,11 +212,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getInputId() {
     return this.inputId;
   }
 
-  public void setInputId(java.lang.String inputId) {
+  public void setInputId(@org.apache.thrift.annotation.Nullable java.lang.String inputId) {
     this.inputId = inputId;
   }
 
@@ -229,11 +236,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParentOutputId() {
     return this.parentOutputId;
   }
 
-  public void setParentOutputId(java.lang.String parentOutputId) {
+  public void setParentOutputId(@org.apache.thrift.annotation.Nullable java.lang.String parentOutputId) {
     this.parentOutputId = parentOutputId;
   }
 
@@ -252,11 +260,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -275,11 +284,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParserConnectorId() {
     return this.parserConnectorId;
   }
 
-  public void setParserConnectorId(java.lang.String parserConnectorId) {
+  public void setParserConnectorId(@org.apache.thrift.annotation.Nullable java.lang.String parserConnectorId) {
     this.parserConnectorId = parserConnectorId;
   }
 
@@ -298,7 +308,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -343,6 +354,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -365,6 +378,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -387,8 +401,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ParserConnectorInput)
       return this.equals((ParserConnectorInput)that);
     return false;
@@ -483,7 +495,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -493,7 +505,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInputId()).compareTo(other.isSetInputId());
+    lastComparison = java.lang.Boolean.compare(isSetInputId(), other.isSetInputId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -503,7 +515,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParentOutputId()).compareTo(other.isSetParentOutputId());
+    lastComparison = java.lang.Boolean.compare(isSetParentOutputId(), other.isSetParentOutputId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -513,7 +525,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -523,7 +535,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParserConnectorId()).compareTo(other.isSetParserConnectorId());
+    lastComparison = java.lang.Boolean.compare(isSetParserConnectorId(), other.isSetParserConnectorId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -536,14 +548,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -630,6 +646,7 @@
   }
 
   private static class ParserConnectorInputStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserConnectorInputStandardScheme getScheme() {
       return new ParserConnectorInputStandardScheme();
     }
@@ -637,6 +654,7 @@
 
   private static class ParserConnectorInputStandardScheme extends org.apache.thrift.scheme.StandardScheme<ParserConnectorInput> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ParserConnectorInput struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -696,6 +714,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ParserConnectorInput struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -732,6 +751,7 @@
   }
 
   private static class ParserConnectorInputTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserConnectorInputTupleScheme getScheme() {
       return new ParserConnectorInputTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserInput.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserInput.java
index bfd31c3..dd3da2e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserInput.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserInput.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ParserInput implements org.apache.thrift.TBase<ParserInput, ParserInput._Fields>, java.io.Serializable, Cloneable, Comparable<ParserInput> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ParserInput");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParserInputStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParserInputTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
   private boolean requiredInput; // required
-  private java.lang.String parserId; // required
-  private IOType type; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parserId; // required
+  private @org.apache.thrift.annotation.Nullable IOType type; // 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 {
@@ -66,6 +66,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -96,6 +97,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -108,10 +110,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -176,6 +180,7 @@
     }
   }
 
+  @Override
   public ParserInput deepCopy() {
     return new ParserInput(this);
   }
@@ -190,11 +195,12 @@
     this.type = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -213,11 +219,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -258,11 +265,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __REQUIREDINPUT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParserId() {
     return this.parserId;
   }
 
-  public void setParserId(java.lang.String parserId) {
+  public void setParserId(@org.apache.thrift.annotation.Nullable java.lang.String parserId) {
     this.parserId = parserId;
   }
 
@@ -285,6 +293,7 @@
    * 
    * @see IOType
    */
+  @org.apache.thrift.annotation.Nullable
   public IOType getType() {
     return this.type;
   }
@@ -293,7 +302,7 @@
    * 
    * @see IOType
    */
-  public void setType(IOType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable IOType type) {
     this.type = type;
   }
 
@@ -312,7 +321,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -357,6 +367,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -379,6 +391,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -401,8 +414,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ParserInput)
       return this.equals((ParserInput)that);
     return false;
@@ -495,7 +506,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -505,7 +516,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -515,7 +526,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequiredInput()).compareTo(other.isSetRequiredInput());
+    lastComparison = java.lang.Boolean.compare(isSetRequiredInput(), other.isSetRequiredInput());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -525,7 +536,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
+    lastComparison = java.lang.Boolean.compare(isSetParserId(), other.isSetParserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -535,7 +546,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -548,14 +559,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -648,6 +663,7 @@
   }
 
   private static class ParserInputStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserInputStandardScheme getScheme() {
       return new ParserInputStandardScheme();
     }
@@ -655,6 +671,7 @@
 
   private static class ParserInputStandardScheme extends org.apache.thrift.scheme.StandardScheme<ParserInput> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ParserInput struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -714,6 +731,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ParserInput struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -748,6 +766,7 @@
   }
 
   private static class ParserInputTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserInputTupleScheme getScheme() {
       return new ParserInputTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserOutput.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserOutput.java
index 964392d..80a7917 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserOutput.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParserOutput.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ParserOutput implements org.apache.thrift.TBase<ParserOutput, ParserOutput._Fields>, java.io.Serializable, Cloneable, Comparable<ParserOutput> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ParserOutput");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParserOutputStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParserOutputTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
   private boolean requiredOutput; // required
-  private java.lang.String parserId; // required
-  private IOType type; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parserId; // required
+  private @org.apache.thrift.annotation.Nullable IOType type; // 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 {
@@ -66,6 +66,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -96,6 +97,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -108,10 +110,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -176,6 +180,7 @@
     }
   }
 
+  @Override
   public ParserOutput deepCopy() {
     return new ParserOutput(this);
   }
@@ -190,11 +195,12 @@
     this.type = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -213,11 +219,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -258,11 +265,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __REQUIREDOUTPUT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParserId() {
     return this.parserId;
   }
 
-  public void setParserId(java.lang.String parserId) {
+  public void setParserId(@org.apache.thrift.annotation.Nullable java.lang.String parserId) {
     this.parserId = parserId;
   }
 
@@ -285,6 +293,7 @@
    * 
    * @see IOType
    */
+  @org.apache.thrift.annotation.Nullable
   public IOType getType() {
     return this.type;
   }
@@ -293,7 +302,7 @@
    * 
    * @see IOType
    */
-  public void setType(IOType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable IOType type) {
     this.type = type;
   }
 
@@ -312,7 +321,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -357,6 +367,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -379,6 +391,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -401,8 +414,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ParserOutput)
       return this.equals((ParserOutput)that);
     return false;
@@ -495,7 +506,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -505,7 +516,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -515,7 +526,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequiredOutput()).compareTo(other.isSetRequiredOutput());
+    lastComparison = java.lang.Boolean.compare(isSetRequiredOutput(), other.isSetRequiredOutput());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -525,7 +536,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
+    lastComparison = java.lang.Boolean.compare(isSetParserId(), other.isSetParserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -535,7 +546,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -548,14 +559,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -648,6 +663,7 @@
   }
 
   private static class ParserOutputStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserOutputStandardScheme getScheme() {
       return new ParserOutputStandardScheme();
     }
@@ -655,6 +671,7 @@
 
   private static class ParserOutputStandardScheme extends org.apache.thrift.scheme.StandardScheme<ParserOutput> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ParserOutput struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -714,6 +731,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ParserOutput struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -748,6 +766,7 @@
   }
 
   private static class ParserOutputTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParserOutputTupleScheme getScheme() {
       return new ParserOutputTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplate.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplate.java
index 369436a..47f4761 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplate.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplate.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ParsingTemplate implements org.apache.thrift.TBase<ParsingTemplate, ParsingTemplate._Fields>, java.io.Serializable, Cloneable, Comparable<ParsingTemplate> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ParsingTemplate");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParsingTemplateStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParsingTemplateTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String applicationInterface; // required
-  private java.util.List<ParsingTemplateInput> initialInputs; // required
-  private java.util.List<ParserConnector> parserConnections; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationInterface; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ParsingTemplateInput> initialInputs; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ParserConnector> parserConnections; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -180,6 +184,7 @@
     }
   }
 
+  @Override
   public ParsingTemplate deepCopy() {
     return new ParsingTemplate(this);
   }
@@ -193,11 +198,12 @@
     this.gatewayId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -216,11 +222,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationInterface() {
     return this.applicationInterface;
   }
 
-  public void setApplicationInterface(java.lang.String applicationInterface) {
+  public void setApplicationInterface(@org.apache.thrift.annotation.Nullable java.lang.String applicationInterface) {
     this.applicationInterface = applicationInterface;
   }
 
@@ -243,6 +250,7 @@
     return (this.initialInputs == null) ? 0 : this.initialInputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ParsingTemplateInput> getInitialInputsIterator() {
     return (this.initialInputs == null) ? null : this.initialInputs.iterator();
   }
@@ -254,11 +262,12 @@
     this.initialInputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ParsingTemplateInput> getInitialInputs() {
     return this.initialInputs;
   }
 
-  public void setInitialInputs(java.util.List<ParsingTemplateInput> initialInputs) {
+  public void setInitialInputs(@org.apache.thrift.annotation.Nullable java.util.List<ParsingTemplateInput> initialInputs) {
     this.initialInputs = initialInputs;
   }
 
@@ -281,6 +290,7 @@
     return (this.parserConnections == null) ? 0 : this.parserConnections.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ParserConnector> getParserConnectionsIterator() {
     return (this.parserConnections == null) ? null : this.parserConnections.iterator();
   }
@@ -292,11 +302,12 @@
     this.parserConnections.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ParserConnector> getParserConnections() {
     return this.parserConnections;
   }
 
-  public void setParserConnections(java.util.List<ParserConnector> parserConnections) {
+  public void setParserConnections(@org.apache.thrift.annotation.Nullable java.util.List<ParserConnector> parserConnections) {
     this.parserConnections = parserConnections;
   }
 
@@ -315,11 +326,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -338,7 +350,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -383,6 +396,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -405,6 +420,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -427,8 +443,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ParsingTemplate)
       return this.equals((ParsingTemplate)that);
     return false;
@@ -523,7 +537,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -533,7 +547,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterface()).compareTo(other.isSetApplicationInterface());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationInterface(), other.isSetApplicationInterface());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -543,7 +557,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInitialInputs()).compareTo(other.isSetInitialInputs());
+    lastComparison = java.lang.Boolean.compare(isSetInitialInputs(), other.isSetInitialInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -553,7 +567,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParserConnections()).compareTo(other.isSetParserConnections());
+    lastComparison = java.lang.Boolean.compare(isSetParserConnections(), other.isSetParserConnections());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -563,7 +577,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -576,14 +590,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -678,6 +696,7 @@
   }
 
   private static class ParsingTemplateStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParsingTemplateStandardScheme getScheme() {
       return new ParsingTemplateStandardScheme();
     }
@@ -685,6 +704,7 @@
 
   private static class ParsingTemplateStandardScheme extends org.apache.thrift.scheme.StandardScheme<ParsingTemplate> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ParsingTemplate struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -716,7 +736,7 @@
               {
                 org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                 struct.initialInputs = new java.util.ArrayList<ParsingTemplateInput>(_list24.size);
-                ParsingTemplateInput _elem25;
+                @org.apache.thrift.annotation.Nullable ParsingTemplateInput _elem25;
                 for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                 {
                   _elem25 = new ParsingTemplateInput();
@@ -735,7 +755,7 @@
               {
                 org.apache.thrift.protocol.TList _list27 = iprot.readListBegin();
                 struct.parserConnections = new java.util.ArrayList<ParserConnector>(_list27.size);
-                ParserConnector _elem28;
+                @org.apache.thrift.annotation.Nullable ParserConnector _elem28;
                 for (int _i29 = 0; _i29 < _list27.size; ++_i29)
                 {
                   _elem28 = new ParserConnector();
@@ -766,6 +786,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ParsingTemplate struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -816,6 +837,7 @@
   }
 
   private static class ParsingTemplateTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParsingTemplateTupleScheme getScheme() {
       return new ParsingTemplateTupleScheme();
     }
@@ -853,9 +875,9 @@
       struct.applicationInterface = iprot.readString();
       struct.setApplicationInterfaceIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list34 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list34 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.initialInputs = new java.util.ArrayList<ParsingTemplateInput>(_list34.size);
-        ParsingTemplateInput _elem35;
+        @org.apache.thrift.annotation.Nullable ParsingTemplateInput _elem35;
         for (int _i36 = 0; _i36 < _list34.size; ++_i36)
         {
           _elem35 = new ParsingTemplateInput();
@@ -865,9 +887,9 @@
       }
       struct.setInitialInputsIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list37 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list37 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.parserConnections = new java.util.ArrayList<ParserConnector>(_list37.size);
-        ParserConnector _elem38;
+        @org.apache.thrift.annotation.Nullable ParserConnector _elem38;
         for (int _i39 = 0; _i39 < _list37.size; ++_i39)
         {
           _elem38 = new ParserConnector();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplateInput.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplateInput.java
index 3f64a60..6796dfd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplateInput.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/parser/ParsingTemplateInput.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.parser;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ParsingTemplateInput implements org.apache.thrift.TBase<ParsingTemplateInput, ParsingTemplateInput._Fields>, java.io.Serializable, Cloneable, Comparable<ParsingTemplateInput> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ParsingTemplateInput");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ParsingTemplateInputStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ParsingTemplateInputTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String targetInputId; // required
-  private java.lang.String applicationOutputName; // required
-  private java.lang.String value; // required
-  private java.lang.String parsingTemplateId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String targetInputId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationOutputName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parsingTemplateId; // 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 {
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -170,6 +174,7 @@
     }
   }
 
+  @Override
   public ParsingTemplateInput deepCopy() {
     return new ParsingTemplateInput(this);
   }
@@ -183,11 +188,12 @@
     this.parsingTemplateId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -206,11 +212,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTargetInputId() {
     return this.targetInputId;
   }
 
-  public void setTargetInputId(java.lang.String targetInputId) {
+  public void setTargetInputId(@org.apache.thrift.annotation.Nullable java.lang.String targetInputId) {
     this.targetInputId = targetInputId;
   }
 
@@ -229,11 +236,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationOutputName() {
     return this.applicationOutputName;
   }
 
-  public void setApplicationOutputName(java.lang.String applicationOutputName) {
+  public void setApplicationOutputName(@org.apache.thrift.annotation.Nullable java.lang.String applicationOutputName) {
     this.applicationOutputName = applicationOutputName;
   }
 
@@ -252,11 +260,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -275,11 +284,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParsingTemplateId() {
     return this.parsingTemplateId;
   }
 
-  public void setParsingTemplateId(java.lang.String parsingTemplateId) {
+  public void setParsingTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String parsingTemplateId) {
     this.parsingTemplateId = parsingTemplateId;
   }
 
@@ -298,7 +308,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -343,6 +354,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -365,6 +378,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -387,8 +401,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ParsingTemplateInput)
       return this.equals((ParsingTemplateInput)that);
     return false;
@@ -483,7 +495,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -493,7 +505,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTargetInputId()).compareTo(other.isSetTargetInputId());
+    lastComparison = java.lang.Boolean.compare(isSetTargetInputId(), other.isSetTargetInputId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -503,7 +515,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationOutputName()).compareTo(other.isSetApplicationOutputName());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationOutputName(), other.isSetApplicationOutputName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -513,7 +525,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -523,7 +535,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParsingTemplateId()).compareTo(other.isSetParsingTemplateId());
+    lastComparison = java.lang.Boolean.compare(isSetParsingTemplateId(), other.isSetParsingTemplateId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -536,14 +548,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -630,6 +646,7 @@
   }
 
   private static class ParsingTemplateInputStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParsingTemplateInputStandardScheme getScheme() {
       return new ParsingTemplateInputStandardScheme();
     }
@@ -637,6 +654,7 @@
 
   private static class ParsingTemplateInputStandardScheme extends org.apache.thrift.scheme.StandardScheme<ParsingTemplateInput> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ParsingTemplateInput struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -696,6 +714,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ParsingTemplateInput struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -732,6 +751,7 @@
   }
 
   private static class ParsingTemplateInputTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ParsingTemplateInputTupleScheme getScheme() {
       return new ParsingTemplateInputTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index 689ca9d..6a9f608 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.storageresource;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Storage Resource Description
  * 
@@ -41,7 +40,8 @@
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class StorageResourceDescription implements org.apache.thrift.TBase<StorageResourceDescription, StorageResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<StorageResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StorageResourceDescription");
 
@@ -56,11 +56,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new StorageResourceDescriptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new StorageResourceDescriptionTupleSchemeFactory();
 
-  private java.lang.String storageResourceId; // required
-  private java.lang.String hostName; // required
-  private java.lang.String storageResourceDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String hostName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceDescription; // optional
   private boolean enabled; // optional
-  private java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces; // optional
   private long creationTime; // optional
   private long updateTime; // optional
 
@@ -85,6 +85,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STORAGE_RESOURCE_ID
@@ -119,6 +120,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -131,10 +133,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -208,6 +212,7 @@
     this.updateTime = other.updateTime;
   }
 
+  @Override
   public StorageResourceDescription deepCopy() {
     return new StorageResourceDescription(this);
   }
@@ -227,11 +232,12 @@
     this.updateTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -250,11 +256,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getHostName() {
     return this.hostName;
   }
 
-  public void setHostName(java.lang.String hostName) {
+  public void setHostName(@org.apache.thrift.annotation.Nullable java.lang.String hostName) {
     this.hostName = hostName;
   }
 
@@ -273,11 +280,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceDescription() {
     return this.storageResourceDescription;
   }
 
-  public void setStorageResourceDescription(java.lang.String storageResourceDescription) {
+  public void setStorageResourceDescription(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceDescription) {
     this.storageResourceDescription = storageResourceDescription;
   }
 
@@ -322,6 +330,7 @@
     return (this.dataMovementInterfaces == null) ? 0 : this.dataMovementInterfaces.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.data.movement.DataMovementInterface> getDataMovementInterfacesIterator() {
     return (this.dataMovementInterfaces == null) ? null : this.dataMovementInterfaces.iterator();
   }
@@ -333,11 +342,12 @@
     this.dataMovementInterfaces.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> getDataMovementInterfaces() {
     return this.dataMovementInterfaces;
   }
 
-  public void setDataMovementInterfaces(java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces) {
+  public void setDataMovementInterfaces(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.movement.DataMovementInterface> dataMovementInterfaces) {
     this.dataMovementInterfaces = dataMovementInterfaces;
   }
 
@@ -400,7 +410,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATETIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STORAGE_RESOURCE_ID:
       if (value == null) {
@@ -461,6 +472,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STORAGE_RESOURCE_ID:
@@ -489,6 +502,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -515,8 +529,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof StorageResourceDescription)
       return this.equals((StorageResourceDescription)that);
     return false;
@@ -637,7 +649,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -647,7 +659,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetHostName()).compareTo(other.isSetHostName());
+    lastComparison = java.lang.Boolean.compare(isSetHostName(), other.isSetHostName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -657,7 +669,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceDescription()).compareTo(other.isSetStorageResourceDescription());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceDescription(), other.isSetStorageResourceDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -667,7 +679,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEnabled()).compareTo(other.isSetEnabled());
+    lastComparison = java.lang.Boolean.compare(isSetEnabled(), other.isSetEnabled());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -677,7 +689,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaces()).compareTo(other.isSetDataMovementInterfaces());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaces(), other.isSetDataMovementInterfaces());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -687,7 +699,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -697,7 +709,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdateTime()).compareTo(other.isSetUpdateTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdateTime(), other.isSetUpdateTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -710,14 +722,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -816,6 +832,7 @@
   }
 
   private static class StorageResourceDescriptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public StorageResourceDescriptionStandardScheme getScheme() {
       return new StorageResourceDescriptionStandardScheme();
     }
@@ -823,6 +840,7 @@
 
   private static class StorageResourceDescriptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<StorageResourceDescription> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, StorageResourceDescription struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -870,7 +888,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.dataMovementInterfaces = new java.util.ArrayList<org.apache.airavata.model.data.movement.DataMovementInterface>(_list0.size);
-                org.apache.airavata.model.data.movement.DataMovementInterface _elem1;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementInterface _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new org.apache.airavata.model.data.movement.DataMovementInterface();
@@ -909,6 +927,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, StorageResourceDescription struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -966,6 +985,7 @@
   }
 
   private static class StorageResourceDescriptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public StorageResourceDescriptionTupleScheme getScheme() {
       return new StorageResourceDescriptionTupleScheme();
     }
@@ -1036,9 +1056,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.dataMovementInterfaces = new java.util.ArrayList<org.apache.airavata.model.data.movement.DataMovementInterface>(_list5.size);
-          org.apache.airavata.model.data.movement.DataMovementInterface _elem6;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DataMovementInterface _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = new org.apache.airavata.model.data.movement.DataMovementInterface();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
index 1f30554..a1d6d23 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserComputeResourcePreference.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.userresourceprofile;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * User specific preferences for a Computer Resource
  * 
@@ -56,7 +55,8 @@
  *  Should be treated as read-only and only mutated by Airavata middleware.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserComputeResourcePreference implements org.apache.thrift.TBase<UserComputeResourcePreference, UserComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<UserComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserComputeResourcePreference");
 
@@ -75,14 +75,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserComputeResourcePreferenceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserComputeResourcePreferenceTupleSchemeFactory();
 
-  private java.lang.String computeResourceId; // required
-  private java.lang.String loginUserName; // optional
-  private java.lang.String preferredBatchQueue; // optional
-  private java.lang.String scratchLocation; // optional
-  private java.lang.String allocationProjectNumber; // optional
-  private java.lang.String resourceSpecificCredentialStoreToken; // optional
-  private java.lang.String qualityOfService; // optional
-  private java.lang.String reservation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String preferredBatchQueue; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String scratchLocation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String allocationProjectNumber; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String qualityOfService; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reservation; // optional
   private long reservationStartTime; // optional
   private long reservationEndTime; // optional
   private boolean validated; // optional
@@ -112,6 +112,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COMPUTE_RESOURCE_ID
@@ -154,6 +155,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -166,10 +168,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -256,6 +260,7 @@
     this.validated = other.validated;
   }
 
+  @Override
   public UserComputeResourcePreference deepCopy() {
     return new UserComputeResourcePreference(this);
   }
@@ -278,11 +283,12 @@
 
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -301,11 +307,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLoginUserName() {
     return this.loginUserName;
   }
 
-  public void setLoginUserName(java.lang.String loginUserName) {
+  public void setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
     this.loginUserName = loginUserName;
   }
 
@@ -324,11 +331,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPreferredBatchQueue() {
     return this.preferredBatchQueue;
   }
 
-  public void setPreferredBatchQueue(java.lang.String preferredBatchQueue) {
+  public void setPreferredBatchQueue(@org.apache.thrift.annotation.Nullable java.lang.String preferredBatchQueue) {
     this.preferredBatchQueue = preferredBatchQueue;
   }
 
@@ -347,11 +355,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getScratchLocation() {
     return this.scratchLocation;
   }
 
-  public void setScratchLocation(java.lang.String scratchLocation) {
+  public void setScratchLocation(@org.apache.thrift.annotation.Nullable java.lang.String scratchLocation) {
     this.scratchLocation = scratchLocation;
   }
 
@@ -370,11 +379,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAllocationProjectNumber() {
     return this.allocationProjectNumber;
   }
 
-  public void setAllocationProjectNumber(java.lang.String allocationProjectNumber) {
+  public void setAllocationProjectNumber(@org.apache.thrift.annotation.Nullable java.lang.String allocationProjectNumber) {
     this.allocationProjectNumber = allocationProjectNumber;
   }
 
@@ -393,11 +403,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceSpecificCredentialStoreToken() {
     return this.resourceSpecificCredentialStoreToken;
   }
 
-  public void setResourceSpecificCredentialStoreToken(java.lang.String resourceSpecificCredentialStoreToken) {
+  public void setResourceSpecificCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken) {
     this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
   }
 
@@ -416,11 +427,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQualityOfService() {
     return this.qualityOfService;
   }
 
-  public void setQualityOfService(java.lang.String qualityOfService) {
+  public void setQualityOfService(@org.apache.thrift.annotation.Nullable java.lang.String qualityOfService) {
     this.qualityOfService = qualityOfService;
   }
 
@@ -439,11 +451,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReservation() {
     return this.reservation;
   }
 
-  public void setReservation(java.lang.String reservation) {
+  public void setReservation(@org.apache.thrift.annotation.Nullable java.lang.String reservation) {
     this.reservation = reservation;
   }
 
@@ -528,7 +541,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __VALIDATED_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
       if (value == null) {
@@ -621,6 +635,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COMPUTE_RESOURCE_ID:
@@ -661,6 +677,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -695,8 +712,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserComputeResourcePreference)
       return this.equals((UserComputeResourcePreference)that);
     return false;
@@ -869,7 +884,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -879,7 +894,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -889,7 +904,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPreferredBatchQueue()).compareTo(other.isSetPreferredBatchQueue());
+    lastComparison = java.lang.Boolean.compare(isSetPreferredBatchQueue(), other.isSetPreferredBatchQueue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -899,7 +914,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetScratchLocation()).compareTo(other.isSetScratchLocation());
+    lastComparison = java.lang.Boolean.compare(isSetScratchLocation(), other.isSetScratchLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -909,7 +924,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAllocationProjectNumber()).compareTo(other.isSetAllocationProjectNumber());
+    lastComparison = java.lang.Boolean.compare(isSetAllocationProjectNumber(), other.isSetAllocationProjectNumber());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -919,7 +934,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceSpecificCredentialStoreToken()).compareTo(other.isSetResourceSpecificCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetResourceSpecificCredentialStoreToken(), other.isSetResourceSpecificCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -929,7 +944,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQualityOfService()).compareTo(other.isSetQualityOfService());
+    lastComparison = java.lang.Boolean.compare(isSetQualityOfService(), other.isSetQualityOfService());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -939,7 +954,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservation()).compareTo(other.isSetReservation());
+    lastComparison = java.lang.Boolean.compare(isSetReservation(), other.isSetReservation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -949,7 +964,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservationStartTime()).compareTo(other.isSetReservationStartTime());
+    lastComparison = java.lang.Boolean.compare(isSetReservationStartTime(), other.isSetReservationStartTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -959,7 +974,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReservationEndTime()).compareTo(other.isSetReservationEndTime());
+    lastComparison = java.lang.Boolean.compare(isSetReservationEndTime(), other.isSetReservationEndTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -969,7 +984,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValidated()).compareTo(other.isSetValidated());
+    lastComparison = java.lang.Boolean.compare(isSetValidated(), other.isSetValidated());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -982,14 +997,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1126,6 +1145,7 @@
   }
 
   private static class UserComputeResourcePreferenceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserComputeResourcePreferenceStandardScheme getScheme() {
       return new UserComputeResourcePreferenceStandardScheme();
     }
@@ -1133,6 +1153,7 @@
 
   private static class UserComputeResourcePreferenceStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserComputeResourcePreference> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserComputeResourcePreference struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1240,6 +1261,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserComputeResourcePreference struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1320,6 +1342,7 @@
   }
 
   private static class UserComputeResourcePreferenceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserComputeResourcePreferenceTupleScheme getScheme() {
       return new UserComputeResourcePreferenceTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
index c8717ce..5811b67 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserResourceProfile.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.appcatalog.userresourceprofile;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * User Resource Profile
  * 
@@ -44,7 +43,8 @@
  *  identityServerPwdCredToken:
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserResourceProfile implements org.apache.thrift.TBase<UserResourceProfile, UserResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<UserResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserResourceProfile");
 
@@ -59,13 +59,13 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserResourceProfileStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserResourceProfileTupleSchemeFactory();
 
-  private java.lang.String userId; // required
-  private java.lang.String gatewayID; // required
-  private java.lang.String credentialStoreToken; // optional
-  private java.util.List<UserComputeResourcePreference> userComputeResourcePreferences; // optional
-  private java.util.List<UserStoragePreference> userStoragePreferences; // optional
-  private java.lang.String identityServerTenant; // optional
-  private java.lang.String identityServerPwdCredToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String credentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<UserComputeResourcePreference> userComputeResourcePreferences; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<UserStoragePreference> userStoragePreferences; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerTenant; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerPwdCredToken; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -88,6 +88,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // USER_ID
@@ -122,6 +123,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -134,10 +136,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -215,6 +219,7 @@
     }
   }
 
+  @Override
   public UserResourceProfile deepCopy() {
     return new UserResourceProfile(this);
   }
@@ -230,11 +235,12 @@
     this.identityServerPwdCredToken = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserId() {
     return this.userId;
   }
 
-  public void setUserId(java.lang.String userId) {
+  public void setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
     this.userId = userId;
   }
 
@@ -253,11 +259,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayID() {
     return this.gatewayID;
   }
 
-  public void setGatewayID(java.lang.String gatewayID) {
+  public void setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
     this.gatewayID = gatewayID;
   }
 
@@ -276,11 +283,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCredentialStoreToken() {
     return this.credentialStoreToken;
   }
 
-  public void setCredentialStoreToken(java.lang.String credentialStoreToken) {
+  public void setCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String credentialStoreToken) {
     this.credentialStoreToken = credentialStoreToken;
   }
 
@@ -303,6 +311,7 @@
     return (this.userComputeResourcePreferences == null) ? 0 : this.userComputeResourcePreferences.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<UserComputeResourcePreference> getUserComputeResourcePreferencesIterator() {
     return (this.userComputeResourcePreferences == null) ? null : this.userComputeResourcePreferences.iterator();
   }
@@ -314,11 +323,12 @@
     this.userComputeResourcePreferences.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<UserComputeResourcePreference> getUserComputeResourcePreferences() {
     return this.userComputeResourcePreferences;
   }
 
-  public void setUserComputeResourcePreferences(java.util.List<UserComputeResourcePreference> userComputeResourcePreferences) {
+  public void setUserComputeResourcePreferences(@org.apache.thrift.annotation.Nullable java.util.List<UserComputeResourcePreference> userComputeResourcePreferences) {
     this.userComputeResourcePreferences = userComputeResourcePreferences;
   }
 
@@ -341,6 +351,7 @@
     return (this.userStoragePreferences == null) ? 0 : this.userStoragePreferences.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<UserStoragePreference> getUserStoragePreferencesIterator() {
     return (this.userStoragePreferences == null) ? null : this.userStoragePreferences.iterator();
   }
@@ -352,11 +363,12 @@
     this.userStoragePreferences.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<UserStoragePreference> getUserStoragePreferences() {
     return this.userStoragePreferences;
   }
 
-  public void setUserStoragePreferences(java.util.List<UserStoragePreference> userStoragePreferences) {
+  public void setUserStoragePreferences(@org.apache.thrift.annotation.Nullable java.util.List<UserStoragePreference> userStoragePreferences) {
     this.userStoragePreferences = userStoragePreferences;
   }
 
@@ -375,11 +387,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerTenant() {
     return this.identityServerTenant;
   }
 
-  public void setIdentityServerTenant(java.lang.String identityServerTenant) {
+  public void setIdentityServerTenant(@org.apache.thrift.annotation.Nullable java.lang.String identityServerTenant) {
     this.identityServerTenant = identityServerTenant;
   }
 
@@ -398,11 +411,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerPwdCredToken() {
     return this.identityServerPwdCredToken;
   }
 
-  public void setIdentityServerPwdCredToken(java.lang.String identityServerPwdCredToken) {
+  public void setIdentityServerPwdCredToken(@org.apache.thrift.annotation.Nullable java.lang.String identityServerPwdCredToken) {
     this.identityServerPwdCredToken = identityServerPwdCredToken;
   }
 
@@ -421,7 +435,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case USER_ID:
       if (value == null) {
@@ -482,6 +497,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case USER_ID:
@@ -510,6 +527,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -536,8 +554,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserResourceProfile)
       return this.equals((UserResourceProfile)that);
     return false;
@@ -658,7 +674,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+    lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -668,7 +684,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -678,7 +694,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCredentialStoreToken()).compareTo(other.isSetCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetCredentialStoreToken(), other.isSetCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -688,7 +704,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourcePreferences()).compareTo(other.isSetUserComputeResourcePreferences());
+    lastComparison = java.lang.Boolean.compare(isSetUserComputeResourcePreferences(), other.isSetUserComputeResourcePreferences());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -698,7 +714,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserStoragePreferences()).compareTo(other.isSetUserStoragePreferences());
+    lastComparison = java.lang.Boolean.compare(isSetUserStoragePreferences(), other.isSetUserStoragePreferences());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -708,7 +724,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerTenant()).compareTo(other.isSetIdentityServerTenant());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerTenant(), other.isSetIdentityServerTenant());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -718,7 +734,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerPwdCredToken()).compareTo(other.isSetIdentityServerPwdCredToken());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerPwdCredToken(), other.isSetIdentityServerPwdCredToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -731,14 +747,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -847,6 +867,7 @@
   }
 
   private static class UserResourceProfileStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserResourceProfileStandardScheme getScheme() {
       return new UserResourceProfileStandardScheme();
     }
@@ -854,6 +875,7 @@
 
   private static class UserResourceProfileStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserResourceProfile> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserResourceProfile struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -893,7 +915,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.userComputeResourcePreferences = new java.util.ArrayList<UserComputeResourcePreference>(_list0.size);
-                UserComputeResourcePreference _elem1;
+                @org.apache.thrift.annotation.Nullable UserComputeResourcePreference _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new UserComputeResourcePreference();
@@ -912,7 +934,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.userStoragePreferences = new java.util.ArrayList<UserStoragePreference>(_list3.size);
-                UserStoragePreference _elem4;
+                @org.apache.thrift.annotation.Nullable UserStoragePreference _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new UserStoragePreference();
@@ -951,6 +973,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserResourceProfile struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1021,6 +1044,7 @@
   }
 
   private static class UserResourceProfileTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserResourceProfileTupleScheme getScheme() {
       return new UserResourceProfileTupleScheme();
     }
@@ -1093,9 +1117,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.userComputeResourcePreferences = new java.util.ArrayList<UserComputeResourcePreference>(_list10.size);
-          UserComputeResourcePreference _elem11;
+          @org.apache.thrift.annotation.Nullable UserComputeResourcePreference _elem11;
           for (int _i12 = 0; _i12 < _list10.size; ++_i12)
           {
             _elem11 = new UserComputeResourcePreference();
@@ -1107,9 +1131,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.userStoragePreferences = new java.util.ArrayList<UserStoragePreference>(_list13.size);
-          UserStoragePreference _elem14;
+          @org.apache.thrift.annotation.Nullable UserStoragePreference _elem14;
           for (int _i15 = 0; _i15 < _list13.size; ++_i15)
           {
             _elem14 = new UserStoragePreference();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
index 44a5fc3..cab4d8c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/userresourceprofile/UserStoragePreference.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.appcatalog.userresourceprofile;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserStoragePreference implements org.apache.thrift.TBase<UserStoragePreference, UserStoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<UserStoragePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserStoragePreference");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserStoragePreferenceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserStoragePreferenceTupleSchemeFactory();
 
-  private java.lang.String storageResourceId; // required
-  private java.lang.String loginUserName; // optional
-  private java.lang.String fileSystemRootLocation; // optional
-  private java.lang.String resourceSpecificCredentialStoreToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String fileSystemRootLocation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STORAGE_RESOURCE_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -153,6 +157,7 @@
     }
   }
 
+  @Override
   public UserStoragePreference deepCopy() {
     return new UserStoragePreference(this);
   }
@@ -165,11 +170,12 @@
     this.resourceSpecificCredentialStoreToken = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -188,11 +194,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLoginUserName() {
     return this.loginUserName;
   }
 
-  public void setLoginUserName(java.lang.String loginUserName) {
+  public void setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
     this.loginUserName = loginUserName;
   }
 
@@ -211,11 +218,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFileSystemRootLocation() {
     return this.fileSystemRootLocation;
   }
 
-  public void setFileSystemRootLocation(java.lang.String fileSystemRootLocation) {
+  public void setFileSystemRootLocation(@org.apache.thrift.annotation.Nullable java.lang.String fileSystemRootLocation) {
     this.fileSystemRootLocation = fileSystemRootLocation;
   }
 
@@ -234,11 +242,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceSpecificCredentialStoreToken() {
     return this.resourceSpecificCredentialStoreToken;
   }
 
-  public void setResourceSpecificCredentialStoreToken(java.lang.String resourceSpecificCredentialStoreToken) {
+  public void setResourceSpecificCredentialStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String resourceSpecificCredentialStoreToken) {
     this.resourceSpecificCredentialStoreToken = resourceSpecificCredentialStoreToken;
   }
 
@@ -257,7 +266,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STORAGE_RESOURCE_ID:
       if (value == null) {
@@ -294,6 +304,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STORAGE_RESOURCE_ID:
@@ -313,6 +325,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -333,8 +346,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserStoragePreference)
       return this.equals((UserStoragePreference)that);
     return false;
@@ -416,7 +427,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -426,7 +437,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -436,7 +447,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFileSystemRootLocation()).compareTo(other.isSetFileSystemRootLocation());
+    lastComparison = java.lang.Boolean.compare(isSetFileSystemRootLocation(), other.isSetFileSystemRootLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -446,7 +457,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceSpecificCredentialStoreToken()).compareTo(other.isSetResourceSpecificCredentialStoreToken());
+    lastComparison = java.lang.Boolean.compare(isSetResourceSpecificCredentialStoreToken(), other.isSetResourceSpecificCredentialStoreToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,14 +470,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -543,6 +558,7 @@
   }
 
   private static class UserStoragePreferenceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserStoragePreferenceStandardScheme getScheme() {
       return new UserStoragePreferenceStandardScheme();
     }
@@ -550,6 +566,7 @@
 
   private static class UserStoragePreferenceStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserStoragePreference> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserStoragePreference struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -601,6 +618,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserStoragePreference struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -638,6 +656,7 @@
   }
 
   private static class UserStoragePreferenceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserStoragePreferenceTupleScheme getScheme() {
       return new UserStoragePreferenceTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
index 565f03d..5bd7798 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/DataType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.model.application.io;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Data Types supported in Airavata. The primitive data types
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DataType implements org.apache.thrift.TEnum {
   STRING(0),
   INTEGER(1),
@@ -50,6 +47,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -58,6 +56,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DataType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
index 3157f7c..064ff65 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.application.io;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Application Inputs. The paramters describe how inputs are passed to the application.
  * 
@@ -52,7 +51,8 @@
  * overrideFilename:
  *   Rename input file to given value when staging to compute resource.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
 
@@ -74,20 +74,20 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new InputDataObjectTypeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new InputDataObjectTypeTupleSchemeFactory();
 
-  private java.lang.String name; // required
-  private java.lang.String value; // optional
-  private DataType type; // optional
-  private java.lang.String applicationArgument; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // optional
+  private @org.apache.thrift.annotation.Nullable DataType type; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationArgument; // optional
   private boolean standardInput; // optional
-  private java.lang.String userFriendlyDescription; // optional
-  private java.lang.String metaData; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userFriendlyDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String metaData; // optional
   private int inputOrder; // optional
   private boolean isRequired; // optional
   private boolean requiredToAddedToCommandLine; // optional
   private boolean dataStaged; // optional
-  private java.lang.String storageResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // optional
   private boolean isReadOnly; // optional
-  private java.lang.String overrideFilename; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String overrideFilename; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -121,6 +121,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NAME
@@ -169,6 +170,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -181,10 +183,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -281,6 +285,7 @@
     }
   }
 
+  @Override
   public InputDataObjectType deepCopy() {
     return new InputDataObjectType(this);
   }
@@ -309,11 +314,12 @@
     this.overrideFilename = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -332,11 +338,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -359,6 +366,7 @@
    * 
    * @see DataType
    */
+  @org.apache.thrift.annotation.Nullable
   public DataType getType() {
     return this.type;
   }
@@ -367,7 +375,7 @@
    * 
    * @see DataType
    */
-  public void setType(DataType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable DataType type) {
     this.type = type;
   }
 
@@ -386,11 +394,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationArgument() {
     return this.applicationArgument;
   }
 
-  public void setApplicationArgument(java.lang.String applicationArgument) {
+  public void setApplicationArgument(@org.apache.thrift.annotation.Nullable java.lang.String applicationArgument) {
     this.applicationArgument = applicationArgument;
   }
 
@@ -431,11 +440,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __STANDARDINPUT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserFriendlyDescription() {
     return this.userFriendlyDescription;
   }
 
-  public void setUserFriendlyDescription(java.lang.String userFriendlyDescription) {
+  public void setUserFriendlyDescription(@org.apache.thrift.annotation.Nullable java.lang.String userFriendlyDescription) {
     this.userFriendlyDescription = userFriendlyDescription;
   }
 
@@ -454,11 +464,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMetaData() {
     return this.metaData;
   }
 
-  public void setMetaData(java.lang.String metaData) {
+  public void setMetaData(@org.apache.thrift.annotation.Nullable java.lang.String metaData) {
     this.metaData = metaData;
   }
 
@@ -565,11 +576,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DATASTAGED_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -610,11 +622,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __ISREADONLY_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOverrideFilename() {
     return this.overrideFilename;
   }
 
-  public void setOverrideFilename(java.lang.String overrideFilename) {
+  public void setOverrideFilename(@org.apache.thrift.annotation.Nullable java.lang.String overrideFilename) {
     this.overrideFilename = overrideFilename;
   }
 
@@ -633,7 +646,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NAME:
       if (value == null) {
@@ -750,6 +764,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NAME:
@@ -799,6 +815,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -839,8 +856,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof InputDataObjectType)
       return this.equals((InputDataObjectType)that);
     return false;
@@ -1052,7 +1067,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1062,7 +1077,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1072,7 +1087,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1082,7 +1097,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationArgument()).compareTo(other.isSetApplicationArgument());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationArgument(), other.isSetApplicationArgument());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1092,7 +1107,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStandardInput()).compareTo(other.isSetStandardInput());
+    lastComparison = java.lang.Boolean.compare(isSetStandardInput(), other.isSetStandardInput());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1102,7 +1117,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserFriendlyDescription()).compareTo(other.isSetUserFriendlyDescription());
+    lastComparison = java.lang.Boolean.compare(isSetUserFriendlyDescription(), other.isSetUserFriendlyDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1112,7 +1127,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMetaData()).compareTo(other.isSetMetaData());
+    lastComparison = java.lang.Boolean.compare(isSetMetaData(), other.isSetMetaData());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1122,7 +1137,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInputOrder()).compareTo(other.isSetInputOrder());
+    lastComparison = java.lang.Boolean.compare(isSetInputOrder(), other.isSetInputOrder());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1132,7 +1147,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsRequired()).compareTo(other.isSetIsRequired());
+    lastComparison = java.lang.Boolean.compare(isSetIsRequired(), other.isSetIsRequired());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1142,7 +1157,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequiredToAddedToCommandLine()).compareTo(other.isSetRequiredToAddedToCommandLine());
+    lastComparison = java.lang.Boolean.compare(isSetRequiredToAddedToCommandLine(), other.isSetRequiredToAddedToCommandLine());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1152,7 +1167,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataStaged()).compareTo(other.isSetDataStaged());
+    lastComparison = java.lang.Boolean.compare(isSetDataStaged(), other.isSetDataStaged());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1162,7 +1177,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1172,7 +1187,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsReadOnly()).compareTo(other.isSetIsReadOnly());
+    lastComparison = java.lang.Boolean.compare(isSetIsReadOnly(), other.isSetIsReadOnly());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1182,7 +1197,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverrideFilename()).compareTo(other.isSetOverrideFilename());
+    lastComparison = java.lang.Boolean.compare(isSetOverrideFilename(), other.isSetOverrideFilename());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1195,14 +1210,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1357,6 +1376,7 @@
   }
 
   private static class InputDataObjectTypeStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public InputDataObjectTypeStandardScheme getScheme() {
       return new InputDataObjectTypeStandardScheme();
     }
@@ -1364,6 +1384,7 @@
 
   private static class InputDataObjectTypeStandardScheme extends org.apache.thrift.scheme.StandardScheme<InputDataObjectType> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, InputDataObjectType struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1495,6 +1516,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, InputDataObjectType struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1590,6 +1612,7 @@
   }
 
   private static class InputDataObjectTypeTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public InputDataObjectTypeTupleScheme getScheme() {
       return new InputDataObjectTypeTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
index 3087dfb..f4b3b53 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.application.io;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Application Outputs. The paramters describe how outputs generated by the application.
  * 
@@ -50,7 +49,8 @@
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
 
@@ -70,18 +70,18 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new OutputDataObjectTypeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new OutputDataObjectTypeTupleSchemeFactory();
 
-  private java.lang.String name; // required
-  private java.lang.String value; // optional
-  private DataType type; // optional
-  private java.lang.String applicationArgument; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // optional
+  private @org.apache.thrift.annotation.Nullable DataType type; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationArgument; // optional
   private boolean isRequired; // optional
   private boolean requiredToAddedToCommandLine; // optional
   private boolean dataMovement; // optional
-  private java.lang.String location; // optional
-  private java.lang.String searchQuery; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String location; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String searchQuery; // optional
   private boolean outputStreaming; // optional
-  private java.lang.String storageResourceId; // optional
-  private java.lang.String metaData; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String metaData; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -113,6 +113,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NAME
@@ -157,6 +158,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -169,10 +171,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -261,6 +265,7 @@
     }
   }
 
+  @Override
   public OutputDataObjectType deepCopy() {
     return new OutputDataObjectType(this);
   }
@@ -285,11 +290,12 @@
     this.metaData = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -308,11 +314,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -335,6 +342,7 @@
    * 
    * @see DataType
    */
+  @org.apache.thrift.annotation.Nullable
   public DataType getType() {
     return this.type;
   }
@@ -343,7 +351,7 @@
    * 
    * @see DataType
    */
-  public void setType(DataType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable DataType type) {
     this.type = type;
   }
 
@@ -362,11 +370,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationArgument() {
     return this.applicationArgument;
   }
 
-  public void setApplicationArgument(java.lang.String applicationArgument) {
+  public void setApplicationArgument(@org.apache.thrift.annotation.Nullable java.lang.String applicationArgument) {
     this.applicationArgument = applicationArgument;
   }
 
@@ -451,11 +460,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __DATAMOVEMENT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLocation() {
     return this.location;
   }
 
-  public void setLocation(java.lang.String location) {
+  public void setLocation(@org.apache.thrift.annotation.Nullable java.lang.String location) {
     this.location = location;
   }
 
@@ -474,11 +484,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSearchQuery() {
     return this.searchQuery;
   }
 
-  public void setSearchQuery(java.lang.String searchQuery) {
+  public void setSearchQuery(@org.apache.thrift.annotation.Nullable java.lang.String searchQuery) {
     this.searchQuery = searchQuery;
   }
 
@@ -519,11 +530,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OUTPUTSTREAMING_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -542,11 +554,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMetaData() {
     return this.metaData;
   }
 
-  public void setMetaData(java.lang.String metaData) {
+  public void setMetaData(@org.apache.thrift.annotation.Nullable java.lang.String metaData) {
     this.metaData = metaData;
   }
 
@@ -565,7 +578,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NAME:
       if (value == null) {
@@ -666,6 +680,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NAME:
@@ -709,6 +725,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -745,8 +762,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof OutputDataObjectType)
       return this.equals((OutputDataObjectType)that);
     return false;
@@ -932,7 +947,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -942,7 +957,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -952,7 +967,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -962,7 +977,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationArgument()).compareTo(other.isSetApplicationArgument());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationArgument(), other.isSetApplicationArgument());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -972,7 +987,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIsRequired()).compareTo(other.isSetIsRequired());
+    lastComparison = java.lang.Boolean.compare(isSetIsRequired(), other.isSetIsRequired());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -982,7 +997,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequiredToAddedToCommandLine()).compareTo(other.isSetRequiredToAddedToCommandLine());
+    lastComparison = java.lang.Boolean.compare(isSetRequiredToAddedToCommandLine(), other.isSetRequiredToAddedToCommandLine());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -992,7 +1007,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovement()).compareTo(other.isSetDataMovement());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovement(), other.isSetDataMovement());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1002,7 +1017,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLocation()).compareTo(other.isSetLocation());
+    lastComparison = java.lang.Boolean.compare(isSetLocation(), other.isSetLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1012,7 +1027,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSearchQuery()).compareTo(other.isSetSearchQuery());
+    lastComparison = java.lang.Boolean.compare(isSetSearchQuery(), other.isSetSearchQuery());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1022,7 +1037,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOutputStreaming()).compareTo(other.isSetOutputStreaming());
+    lastComparison = java.lang.Boolean.compare(isSetOutputStreaming(), other.isSetOutputStreaming());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1032,7 +1047,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1042,7 +1057,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMetaData()).compareTo(other.isSetMetaData());
+    lastComparison = java.lang.Boolean.compare(isSetMetaData(), other.isSetMetaData());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1055,14 +1070,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1205,6 +1224,7 @@
   }
 
   private static class OutputDataObjectTypeStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public OutputDataObjectTypeStandardScheme getScheme() {
       return new OutputDataObjectTypeStandardScheme();
     }
@@ -1212,6 +1232,7 @@
 
   private static class OutputDataObjectTypeStandardScheme extends org.apache.thrift.scheme.StandardScheme<OutputDataObjectType> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, OutputDataObjectType struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1327,6 +1348,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, OutputDataObjectType struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1412,6 +1434,7 @@
   }
 
   private static class OutputDataObjectTypeTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public OutputDataObjectTypeTupleScheme getScheme() {
       return new OutputDataObjectTypeTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
index 178f05d..73f2171 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ErrorModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.commons;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ErrorModel implements org.apache.thrift.TBase<ErrorModel, ErrorModel._Fields>, java.io.Serializable, Cloneable, Comparable<ErrorModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ErrorModel");
 
@@ -38,12 +38,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ErrorModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ErrorModelTupleSchemeFactory();
 
-  private java.lang.String errorId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String errorId; // required
   private long creationTime; // optional
-  private java.lang.String actualErrorMessage; // optional
-  private java.lang.String userFriendlyMessage; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String actualErrorMessage; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userFriendlyMessage; // optional
   private boolean transientOrPersistent; // optional
-  private java.util.List<java.lang.String> rootCauseErrorIdList; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> rootCauseErrorIdList; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -65,6 +65,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ERROR_ID
@@ -97,6 +98,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -109,10 +111,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -179,6 +183,7 @@
     }
   }
 
+  @Override
   public ErrorModel deepCopy() {
     return new ErrorModel(this);
   }
@@ -196,11 +201,12 @@
     this.rootCauseErrorIdList = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getErrorId() {
     return this.errorId;
   }
 
-  public void setErrorId(java.lang.String errorId) {
+  public void setErrorId(@org.apache.thrift.annotation.Nullable java.lang.String errorId) {
     this.errorId = errorId;
   }
 
@@ -241,11 +247,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getActualErrorMessage() {
     return this.actualErrorMessage;
   }
 
-  public void setActualErrorMessage(java.lang.String actualErrorMessage) {
+  public void setActualErrorMessage(@org.apache.thrift.annotation.Nullable java.lang.String actualErrorMessage) {
     this.actualErrorMessage = actualErrorMessage;
   }
 
@@ -264,11 +271,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserFriendlyMessage() {
     return this.userFriendlyMessage;
   }
 
-  public void setUserFriendlyMessage(java.lang.String userFriendlyMessage) {
+  public void setUserFriendlyMessage(@org.apache.thrift.annotation.Nullable java.lang.String userFriendlyMessage) {
     this.userFriendlyMessage = userFriendlyMessage;
   }
 
@@ -313,6 +321,7 @@
     return (this.rootCauseErrorIdList == null) ? 0 : this.rootCauseErrorIdList.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getRootCauseErrorIdListIterator() {
     return (this.rootCauseErrorIdList == null) ? null : this.rootCauseErrorIdList.iterator();
   }
@@ -324,11 +333,12 @@
     this.rootCauseErrorIdList.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getRootCauseErrorIdList() {
     return this.rootCauseErrorIdList;
   }
 
-  public void setRootCauseErrorIdList(java.util.List<java.lang.String> rootCauseErrorIdList) {
+  public void setRootCauseErrorIdList(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> rootCauseErrorIdList) {
     this.rootCauseErrorIdList = rootCauseErrorIdList;
   }
 
@@ -347,7 +357,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ERROR_ID:
       if (value == null) {
@@ -400,6 +411,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ERROR_ID:
@@ -425,6 +438,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -449,8 +463,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ErrorModel)
       return this.equals((ErrorModel)that);
     return false;
@@ -558,7 +570,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetErrorId()).compareTo(other.isSetErrorId());
+    lastComparison = java.lang.Boolean.compare(isSetErrorId(), other.isSetErrorId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -568,7 +580,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -578,7 +590,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetActualErrorMessage()).compareTo(other.isSetActualErrorMessage());
+    lastComparison = java.lang.Boolean.compare(isSetActualErrorMessage(), other.isSetActualErrorMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -588,7 +600,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserFriendlyMessage()).compareTo(other.isSetUserFriendlyMessage());
+    lastComparison = java.lang.Boolean.compare(isSetUserFriendlyMessage(), other.isSetUserFriendlyMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -598,7 +610,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTransientOrPersistent()).compareTo(other.isSetTransientOrPersistent());
+    lastComparison = java.lang.Boolean.compare(isSetTransientOrPersistent(), other.isSetTransientOrPersistent());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -608,7 +620,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRootCauseErrorIdList()).compareTo(other.isSetRootCauseErrorIdList());
+    lastComparison = java.lang.Boolean.compare(isSetRootCauseErrorIdList(), other.isSetRootCauseErrorIdList());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -621,14 +633,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -719,6 +735,7 @@
   }
 
   private static class ErrorModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ErrorModelStandardScheme getScheme() {
       return new ErrorModelStandardScheme();
     }
@@ -726,6 +743,7 @@
 
   private static class ErrorModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<ErrorModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ErrorModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -781,7 +799,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.rootCauseErrorIdList = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -803,6 +821,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ErrorModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -857,6 +876,7 @@
   }
 
   private static class ErrorModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ErrorModelTupleScheme getScheme() {
       return new ErrorModelTupleScheme();
     }
@@ -932,9 +952,9 @@
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.rootCauseErrorIdList = new java.util.ArrayList<java.lang.String>(_list5.size);
-          java.lang.String _elem6;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
index c8a3508..6117adf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidationResults.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.commons;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 
@@ -35,7 +35,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ValidationResultsTupleSchemeFactory();
 
   private boolean validationState; // required
-  private java.util.List<ValidatorResult> validationResultList; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ValidatorResult> validationResultList; // 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 {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // VALIDATION_STATE
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -141,6 +145,7 @@
     }
   }
 
+  @Override
   public ValidationResults deepCopy() {
     return new ValidationResults(this);
   }
@@ -178,6 +183,7 @@
     return (this.validationResultList == null) ? 0 : this.validationResultList.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ValidatorResult> getValidationResultListIterator() {
     return (this.validationResultList == null) ? null : this.validationResultList.iterator();
   }
@@ -189,11 +195,12 @@
     this.validationResultList.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ValidatorResult> getValidationResultList() {
     return this.validationResultList;
   }
 
-  public void setValidationResultList(java.util.List<ValidatorResult> validationResultList) {
+  public void setValidationResultList(@org.apache.thrift.annotation.Nullable java.util.List<ValidatorResult> validationResultList) {
     this.validationResultList = validationResultList;
   }
 
@@ -212,7 +219,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case VALIDATION_STATE:
       if (value == null) {
@@ -233,6 +241,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case VALIDATION_STATE:
@@ -246,6 +256,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -262,8 +273,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ValidationResults)
       return this.equals((ValidationResults)that);
     return false;
@@ -317,7 +326,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetValidationState()).compareTo(other.isSetValidationState());
+    lastComparison = java.lang.Boolean.compare(isSetValidationState(), other.isSetValidationState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -327,7 +336,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValidationResultList()).compareTo(other.isSetValidationResultList());
+    lastComparison = java.lang.Boolean.compare(isSetValidationResultList(), other.isSetValidationResultList());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -340,14 +349,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -404,6 +417,7 @@
   }
 
   private static class ValidationResultsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidationResultsStandardScheme getScheme() {
       return new ValidationResultsStandardScheme();
     }
@@ -411,6 +425,7 @@
 
   private static class ValidationResultsStandardScheme extends org.apache.thrift.scheme.StandardScheme<ValidationResults> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ValidationResults struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -434,7 +449,7 @@
               {
                 org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                 struct.validationResultList = new java.util.ArrayList<ValidatorResult>(_list8.size);
-                ValidatorResult _elem9;
+                @org.apache.thrift.annotation.Nullable ValidatorResult _elem9;
                 for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                 {
                   _elem9 = new ValidatorResult();
@@ -457,6 +472,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ValidationResults struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -483,6 +499,7 @@
   }
 
   private static class ValidationResultsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidationResultsTupleScheme getScheme() {
       return new ValidationResultsTupleScheme();
     }
@@ -509,9 +526,9 @@
       struct.validationState = iprot.readBool();
       struct.setValidationStateIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.validationResultList = new java.util.ArrayList<ValidatorResult>(_list13.size);
-        ValidatorResult _elem14;
+        @org.apache.thrift.annotation.Nullable ValidatorResult _elem14;
         for (int _i15 = 0; _i15 < _list13.size; ++_i15)
         {
           _elem14 = new ValidatorResult();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
index c283846..12f13e2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/ValidatorResult.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.commons;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This data structure can be used to store the validation results
  * captured during validation step and during the launchExperiment
@@ -31,7 +30,8 @@
  * during the experiment launch operation
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 
@@ -42,7 +42,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ValidatorResultTupleSchemeFactory();
 
   private boolean result; // required
-  private java.lang.String errorDetails; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String errorDetails; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -60,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESULT
@@ -84,6 +85,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -96,10 +98,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -142,6 +146,7 @@
     }
   }
 
+  @Override
   public ValidatorResult deepCopy() {
     return new ValidatorResult(this);
   }
@@ -175,11 +180,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __RESULT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getErrorDetails() {
     return this.errorDetails;
   }
 
-  public void setErrorDetails(java.lang.String errorDetails) {
+  public void setErrorDetails(@org.apache.thrift.annotation.Nullable java.lang.String errorDetails) {
     this.errorDetails = errorDetails;
   }
 
@@ -198,7 +204,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESULT:
       if (value == null) {
@@ -219,6 +226,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESULT:
@@ -232,6 +241,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -248,8 +258,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ValidatorResult)
       return this.equals((ValidatorResult)that);
     return false;
@@ -303,7 +311,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResult()).compareTo(other.isSetResult());
+    lastComparison = java.lang.Boolean.compare(isSetResult(), other.isSetResult());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -313,7 +321,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrorDetails()).compareTo(other.isSetErrorDetails());
+    lastComparison = java.lang.Boolean.compare(isSetErrorDetails(), other.isSetErrorDetails());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -326,14 +334,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -388,6 +400,7 @@
   }
 
   private static class ValidatorResultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidatorResultStandardScheme getScheme() {
       return new ValidatorResultStandardScheme();
     }
@@ -395,6 +408,7 @@
 
   private static class ValidatorResultStandardScheme extends org.apache.thrift.scheme.StandardScheme<ValidatorResult> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ValidatorResult struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -430,6 +444,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ValidatorResult struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -451,6 +466,7 @@
   }
 
   private static class ValidatorResultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidatorResultTupleScheme getScheme() {
       return new ValidatorResultTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
index 9759c32..01b6314 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/commons/airavata_commonsConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
index bd08eed..8b1ab1e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CertificateCredential.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.credential.store;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CertificateCredential implements org.apache.thrift.TBase<CertificateCredential, CertificateCredential._Fields>, java.io.Serializable, Cloneable, Comparable<CertificateCredential> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CertificateCredential");
 
@@ -40,14 +40,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CertificateCredentialStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CertificateCredentialTupleSchemeFactory();
 
-  private CommunityUser communityUser; // required
-  private java.lang.String x509Cert; // required
-  private java.lang.String notAfter; // optional
-  private java.lang.String privateKey; // optional
+  private @org.apache.thrift.annotation.Nullable CommunityUser communityUser; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String x509Cert; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String notAfter; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String privateKey; // optional
   private long lifeTime; // optional
-  private java.lang.String notBefore; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String notBefore; // optional
   private long persistedTime; // optional
-  private java.lang.String token; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String token; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // COMMUNITY_USER
@@ -107,6 +108,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -119,10 +121,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -195,6 +199,7 @@
     }
   }
 
+  @Override
   public CertificateCredential deepCopy() {
     return new CertificateCredential(this);
   }
@@ -213,11 +218,12 @@
     this.token = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public CommunityUser getCommunityUser() {
     return this.communityUser;
   }
 
-  public void setCommunityUser(CommunityUser communityUser) {
+  public void setCommunityUser(@org.apache.thrift.annotation.Nullable CommunityUser communityUser) {
     this.communityUser = communityUser;
   }
 
@@ -236,11 +242,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getX509Cert() {
     return this.x509Cert;
   }
 
-  public void setX509Cert(java.lang.String x509Cert) {
+  public void setX509Cert(@org.apache.thrift.annotation.Nullable java.lang.String x509Cert) {
     this.x509Cert = x509Cert;
   }
 
@@ -259,11 +266,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNotAfter() {
     return this.notAfter;
   }
 
-  public void setNotAfter(java.lang.String notAfter) {
+  public void setNotAfter(@org.apache.thrift.annotation.Nullable java.lang.String notAfter) {
     this.notAfter = notAfter;
   }
 
@@ -282,11 +290,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPrivateKey() {
     return this.privateKey;
   }
 
-  public void setPrivateKey(java.lang.String privateKey) {
+  public void setPrivateKey(@org.apache.thrift.annotation.Nullable java.lang.String privateKey) {
     this.privateKey = privateKey;
   }
 
@@ -327,11 +336,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIFETIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNotBefore() {
     return this.notBefore;
   }
 
-  public void setNotBefore(java.lang.String notBefore) {
+  public void setNotBefore(@org.apache.thrift.annotation.Nullable java.lang.String notBefore) {
     this.notBefore = notBefore;
   }
 
@@ -372,11 +382,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PERSISTEDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getToken() {
     return this.token;
   }
 
-  public void setToken(java.lang.String token) {
+  public void setToken(@org.apache.thrift.annotation.Nullable java.lang.String token) {
     this.token = token;
   }
 
@@ -395,7 +406,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case COMMUNITY_USER:
       if (value == null) {
@@ -464,6 +476,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case COMMUNITY_USER:
@@ -495,6 +509,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -523,8 +538,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CertificateCredential)
       return this.equals((CertificateCredential)that);
     return false;
@@ -658,7 +671,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetCommunityUser()).compareTo(other.isSetCommunityUser());
+    lastComparison = java.lang.Boolean.compare(isSetCommunityUser(), other.isSetCommunityUser());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -668,7 +681,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetX509Cert()).compareTo(other.isSetX509Cert());
+    lastComparison = java.lang.Boolean.compare(isSetX509Cert(), other.isSetX509Cert());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -678,7 +691,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNotAfter()).compareTo(other.isSetNotAfter());
+    lastComparison = java.lang.Boolean.compare(isSetNotAfter(), other.isSetNotAfter());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -688,7 +701,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPrivateKey()).compareTo(other.isSetPrivateKey());
+    lastComparison = java.lang.Boolean.compare(isSetPrivateKey(), other.isSetPrivateKey());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -698,7 +711,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLifeTime()).compareTo(other.isSetLifeTime());
+    lastComparison = java.lang.Boolean.compare(isSetLifeTime(), other.isSetLifeTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -708,7 +721,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNotBefore()).compareTo(other.isSetNotBefore());
+    lastComparison = java.lang.Boolean.compare(isSetNotBefore(), other.isSetNotBefore());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -718,7 +731,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPersistedTime()).compareTo(other.isSetPersistedTime());
+    lastComparison = java.lang.Boolean.compare(isSetPersistedTime(), other.isSetPersistedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -728,7 +741,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToken()).compareTo(other.isSetToken());
+    lastComparison = java.lang.Boolean.compare(isSetToken(), other.isSetToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -741,14 +754,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -864,6 +881,7 @@
   }
 
   private static class CertificateCredentialStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CertificateCredentialStandardScheme getScheme() {
       return new CertificateCredentialStandardScheme();
     }
@@ -871,6 +889,7 @@
 
   private static class CertificateCredentialStandardScheme extends org.apache.thrift.scheme.StandardScheme<CertificateCredential> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CertificateCredential struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -955,6 +974,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CertificateCredential struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1014,6 +1034,7 @@
   }
 
   private static class CertificateCredentialTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CertificateCredentialTupleScheme getScheme() {
       return new CertificateCredentialTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
index 333cd11..926bd12 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CommunityUser.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.credential.store;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CommunityUser implements org.apache.thrift.TBase<CommunityUser, CommunityUser._Fields>, java.io.Serializable, Cloneable, Comparable<CommunityUser> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommunityUser");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CommunityUserStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CommunityUserTupleSchemeFactory();
 
-  private java.lang.String gatewayName; // required
-  private java.lang.String username; // required
-  private java.lang.String userEmail; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String userEmail; // 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 {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_NAME
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -146,6 +150,7 @@
     }
   }
 
+  @Override
   public CommunityUser deepCopy() {
     return new CommunityUser(this);
   }
@@ -157,11 +162,12 @@
     this.userEmail = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayName() {
     return this.gatewayName;
   }
 
-  public void setGatewayName(java.lang.String gatewayName) {
+  public void setGatewayName(@org.apache.thrift.annotation.Nullable java.lang.String gatewayName) {
     this.gatewayName = gatewayName;
   }
 
@@ -180,11 +186,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUsername() {
     return this.username;
   }
 
-  public void setUsername(java.lang.String username) {
+  public void setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
     this.username = username;
   }
 
@@ -203,11 +210,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserEmail() {
     return this.userEmail;
   }
 
-  public void setUserEmail(java.lang.String userEmail) {
+  public void setUserEmail(@org.apache.thrift.annotation.Nullable java.lang.String userEmail) {
     this.userEmail = userEmail;
   }
 
@@ -226,7 +234,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_NAME:
       if (value == null) {
@@ -255,6 +264,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_NAME:
@@ -271,6 +282,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -289,8 +301,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CommunityUser)
       return this.equals((CommunityUser)that);
     return false;
@@ -359,7 +369,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayName()).compareTo(other.isSetGatewayName());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayName(), other.isSetGatewayName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -369,7 +379,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+    lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -379,7 +389,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserEmail()).compareTo(other.isSetUserEmail());
+    lastComparison = java.lang.Boolean.compare(isSetUserEmail(), other.isSetUserEmail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -392,14 +402,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -470,6 +484,7 @@
   }
 
   private static class CommunityUserStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CommunityUserStandardScheme getScheme() {
       return new CommunityUserStandardScheme();
     }
@@ -477,6 +492,7 @@
 
   private static class CommunityUserStandardScheme extends org.apache.thrift.scheme.StandardScheme<CommunityUser> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CommunityUser struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -520,6 +536,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CommunityUser struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -546,6 +563,7 @@
   }
 
   private static class CommunityUserTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CommunityUserTupleScheme getScheme() {
       return new CommunityUserTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
index c464a79..b0cd48f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/CredentialSummary.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.credential.store;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CredentialSummary implements org.apache.thrift.TBase<CredentialSummary, CredentialSummary._Fields>, java.io.Serializable, Cloneable, Comparable<CredentialSummary> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CredentialSummary");
 
@@ -39,13 +39,13 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CredentialSummaryStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CredentialSummaryTupleSchemeFactory();
 
-  private SummaryType type; // required
-  private java.lang.String gatewayId; // required
-  private java.lang.String username; // required
-  private java.lang.String publicKey; // optional
+  private @org.apache.thrift.annotation.Nullable SummaryType type; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String publicKey; // optional
   private long persistedTime; // optional
-  private java.lang.String token; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String token; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TYPE
@@ -110,6 +111,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -122,10 +124,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -198,6 +202,7 @@
     }
   }
 
+  @Override
   public CredentialSummary deepCopy() {
     return new CredentialSummary(this);
   }
@@ -218,6 +223,7 @@
    * 
    * @see SummaryType
    */
+  @org.apache.thrift.annotation.Nullable
   public SummaryType getType() {
     return this.type;
   }
@@ -226,7 +232,7 @@
    * 
    * @see SummaryType
    */
-  public void setType(SummaryType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable SummaryType type) {
     this.type = type;
   }
 
@@ -245,11 +251,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -272,6 +279,7 @@
    * The username corresponds to the Credential's `portalUserName` which is the username of the user that
    * created the credential.
    */
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUsername() {
     return this.username;
   }
@@ -280,7 +288,7 @@
    * The username corresponds to the Credential's `portalUserName` which is the username of the user that
    * created the credential.
    */
-  public void setUsername(java.lang.String username) {
+  public void setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
     this.username = username;
   }
 
@@ -299,11 +307,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPublicKey() {
     return this.publicKey;
   }
 
-  public void setPublicKey(java.lang.String publicKey) {
+  public void setPublicKey(@org.apache.thrift.annotation.Nullable java.lang.String publicKey) {
     this.publicKey = publicKey;
   }
 
@@ -344,11 +353,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PERSISTEDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getToken() {
     return this.token;
   }
 
-  public void setToken(java.lang.String token) {
+  public void setToken(@org.apache.thrift.annotation.Nullable java.lang.String token) {
     this.token = token;
   }
 
@@ -367,11 +377,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -390,7 +401,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TYPE:
       if (value == null) {
@@ -451,6 +463,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TYPE:
@@ -479,6 +493,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -505,8 +520,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CredentialSummary)
       return this.equals((CredentialSummary)that);
     return false;
@@ -627,7 +640,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -637,7 +650,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -647,7 +660,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+    lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -657,7 +670,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPublicKey()).compareTo(other.isSetPublicKey());
+    lastComparison = java.lang.Boolean.compare(isSetPublicKey(), other.isSetPublicKey());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -667,7 +680,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPersistedTime()).compareTo(other.isSetPersistedTime());
+    lastComparison = java.lang.Boolean.compare(isSetPersistedTime(), other.isSetPersistedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -677,7 +690,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToken()).compareTo(other.isSetToken());
+    lastComparison = java.lang.Boolean.compare(isSetToken(), other.isSetToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -687,7 +700,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -700,14 +713,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -818,6 +835,7 @@
   }
 
   private static class CredentialSummaryStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CredentialSummaryStandardScheme getScheme() {
       return new CredentialSummaryStandardScheme();
     }
@@ -825,6 +843,7 @@
 
   private static class CredentialSummaryStandardScheme extends org.apache.thrift.scheme.StandardScheme<CredentialSummary> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CredentialSummary struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -900,6 +919,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CredentialSummary struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -950,6 +970,7 @@
   }
 
   private static class CredentialSummaryTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CredentialSummaryTupleScheme getScheme() {
       return new CredentialSummaryTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
index bb3d291..d6be14a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/PasswordCredential.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.credential.store;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class PasswordCredential implements org.apache.thrift.TBase<PasswordCredential, PasswordCredential._Fields>, java.io.Serializable, Cloneable, Comparable<PasswordCredential> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PasswordCredential");
 
@@ -39,13 +39,13 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new PasswordCredentialStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new PasswordCredentialTupleSchemeFactory();
 
-  private java.lang.String gatewayId; // required
-  private java.lang.String portalUserName; // required
-  private java.lang.String loginUserName; // required
-  private java.lang.String password; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String portalUserName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String loginUserName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String password; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
   private long persistedTime; // optional
-  private java.lang.String token; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String token; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -68,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_ID
@@ -102,6 +103,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -114,10 +116,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -190,6 +194,7 @@
     }
   }
 
+  @Override
   public PasswordCredential deepCopy() {
     return new PasswordCredential(this);
   }
@@ -206,11 +211,12 @@
     this.token = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -229,11 +235,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPortalUserName() {
     return this.portalUserName;
   }
 
-  public void setPortalUserName(java.lang.String portalUserName) {
+  public void setPortalUserName(@org.apache.thrift.annotation.Nullable java.lang.String portalUserName) {
     this.portalUserName = portalUserName;
   }
 
@@ -252,11 +259,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLoginUserName() {
     return this.loginUserName;
   }
 
-  public void setLoginUserName(java.lang.String loginUserName) {
+  public void setLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String loginUserName) {
     this.loginUserName = loginUserName;
   }
 
@@ -275,11 +283,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPassword() {
     return this.password;
   }
 
-  public void setPassword(java.lang.String password) {
+  public void setPassword(@org.apache.thrift.annotation.Nullable java.lang.String password) {
     this.password = password;
   }
 
@@ -298,11 +307,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -343,11 +353,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PERSISTEDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getToken() {
     return this.token;
   }
 
-  public void setToken(java.lang.String token) {
+  public void setToken(@org.apache.thrift.annotation.Nullable java.lang.String token) {
     this.token = token;
   }
 
@@ -366,7 +377,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_ID:
       if (value == null) {
@@ -427,6 +439,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_ID:
@@ -455,6 +469,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -481,8 +496,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof PasswordCredential)
       return this.equals((PasswordCredential)that);
     return false;
@@ -603,7 +616,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -613,7 +626,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPortalUserName()).compareTo(other.isSetPortalUserName());
+    lastComparison = java.lang.Boolean.compare(isSetPortalUserName(), other.isSetPortalUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -623,7 +636,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLoginUserName()).compareTo(other.isSetLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetLoginUserName(), other.isSetLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -633,7 +646,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPassword()).compareTo(other.isSetPassword());
+    lastComparison = java.lang.Boolean.compare(isSetPassword(), other.isSetPassword());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -643,7 +656,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -653,7 +666,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPersistedTime()).compareTo(other.isSetPersistedTime());
+    lastComparison = java.lang.Boolean.compare(isSetPersistedTime(), other.isSetPersistedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -663,7 +676,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToken()).compareTo(other.isSetToken());
+    lastComparison = java.lang.Boolean.compare(isSetToken(), other.isSetToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -676,14 +689,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -794,6 +811,7 @@
   }
 
   private static class PasswordCredentialStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public PasswordCredentialStandardScheme getScheme() {
       return new PasswordCredentialStandardScheme();
     }
@@ -801,6 +819,7 @@
 
   private static class PasswordCredentialStandardScheme extends org.apache.thrift.scheme.StandardScheme<PasswordCredential> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, PasswordCredential struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -876,6 +895,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, PasswordCredential struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -926,6 +946,7 @@
   }
 
   private static class PasswordCredentialTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public PasswordCredentialTupleScheme getScheme() {
       return new PasswordCredentialTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
index 97f45b5..9432834 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SSHCredential.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.credential.store;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SSHCredential implements org.apache.thrift.TBase<SSHCredential, SSHCredential._Fields>, java.io.Serializable, Cloneable, Comparable<SSHCredential> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHCredential");
 
@@ -40,14 +40,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SSHCredentialStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SSHCredentialTupleSchemeFactory();
 
-  private java.lang.String gatewayId; // required
-  private java.lang.String username; // required
-  private java.lang.String passphrase; // optional
-  private java.lang.String publicKey; // optional
-  private java.lang.String privateKey; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String passphrase; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String publicKey; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String privateKey; // optional
   private long persistedTime; // optional
-  private java.lang.String token; // optional
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String token; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_ID
@@ -107,6 +108,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -119,10 +121,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -196,6 +200,7 @@
     }
   }
 
+  @Override
   public SSHCredential deepCopy() {
     return new SSHCredential(this);
   }
@@ -213,11 +218,12 @@
     this.description = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -236,11 +242,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUsername() {
     return this.username;
   }
 
-  public void setUsername(java.lang.String username) {
+  public void setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
     this.username = username;
   }
 
@@ -259,11 +266,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPassphrase() {
     return this.passphrase;
   }
 
-  public void setPassphrase(java.lang.String passphrase) {
+  public void setPassphrase(@org.apache.thrift.annotation.Nullable java.lang.String passphrase) {
     this.passphrase = passphrase;
   }
 
@@ -282,11 +290,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPublicKey() {
     return this.publicKey;
   }
 
-  public void setPublicKey(java.lang.String publicKey) {
+  public void setPublicKey(@org.apache.thrift.annotation.Nullable java.lang.String publicKey) {
     this.publicKey = publicKey;
   }
 
@@ -305,11 +314,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPrivateKey() {
     return this.privateKey;
   }
 
-  public void setPrivateKey(java.lang.String privateKey) {
+  public void setPrivateKey(@org.apache.thrift.annotation.Nullable java.lang.String privateKey) {
     this.privateKey = privateKey;
   }
 
@@ -350,11 +360,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PERSISTEDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getToken() {
     return this.token;
   }
 
-  public void setToken(java.lang.String token) {
+  public void setToken(@org.apache.thrift.annotation.Nullable java.lang.String token) {
     this.token = token;
   }
 
@@ -373,11 +384,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -396,7 +408,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_ID:
       if (value == null) {
@@ -465,6 +478,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_ID:
@@ -496,6 +511,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -524,8 +540,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SSHCredential)
       return this.equals((SSHCredential)that);
     return false;
@@ -659,7 +673,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -669,7 +683,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+    lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -679,7 +693,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPassphrase()).compareTo(other.isSetPassphrase());
+    lastComparison = java.lang.Boolean.compare(isSetPassphrase(), other.isSetPassphrase());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -689,7 +703,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPublicKey()).compareTo(other.isSetPublicKey());
+    lastComparison = java.lang.Boolean.compare(isSetPublicKey(), other.isSetPublicKey());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -699,7 +713,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPrivateKey()).compareTo(other.isSetPrivateKey());
+    lastComparison = java.lang.Boolean.compare(isSetPrivateKey(), other.isSetPrivateKey());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -709,7 +723,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPersistedTime()).compareTo(other.isSetPersistedTime());
+    lastComparison = java.lang.Boolean.compare(isSetPersistedTime(), other.isSetPersistedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -719,7 +733,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToken()).compareTo(other.isSetToken());
+    lastComparison = java.lang.Boolean.compare(isSetToken(), other.isSetToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -729,7 +743,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -742,14 +756,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -866,6 +884,7 @@
   }
 
   private static class SSHCredentialStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHCredentialStandardScheme getScheme() {
       return new SSHCredentialStandardScheme();
     }
@@ -873,6 +892,7 @@
 
   private static class SSHCredentialStandardScheme extends org.apache.thrift.scheme.StandardScheme<SSHCredential> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SSHCredential struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -956,6 +976,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SSHCredential struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1017,6 +1038,7 @@
   }
 
   private static class SSHCredentialTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SSHCredentialTupleScheme getScheme() {
       return new SSHCredentialTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
index 240dec7..3e574fe 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/SummaryType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.model.credential.store;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Data Types supported in Airavata. The primitive data types
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum SummaryType implements org.apache.thrift.TEnum {
   SSH(0),
   PASSWD(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static SummaryType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
index 73ad1fb..b3eacbc 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/credential/store/credential_store_data_modelsConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
index 1dc9d36..81ae6c5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DMType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.data.movement;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DMType implements org.apache.thrift.TEnum {
   COMPUTE_RESOURCE(0),
   STORAGE_RESOURCE(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DMType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
index 0a4bc9d..39f0ff2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementInterface.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.data.movement;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Data Movement Interfaces
  * 
@@ -34,7 +33,8 @@
  *   Lower the numerical number, higher the priority
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DataMovementInterface implements org.apache.thrift.TBase<DataMovementInterface, DataMovementInterface._Fields>, java.io.Serializable, Cloneable, Comparable<DataMovementInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataMovementInterface");
 
@@ -48,12 +48,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DataMovementInterfaceStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DataMovementInterfaceTupleSchemeFactory();
 
-  private java.lang.String dataMovementInterfaceId; // required
-  private DataMovementProtocol dataMovementProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable DataMovementProtocol dataMovementProtocol; // required
   private int priorityOrder; // required
   private long creationTime; // optional
   private long updateTime; // optional
-  private java.lang.String storageResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -79,6 +79,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -111,6 +112,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -123,10 +125,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -193,6 +197,7 @@
     }
   }
 
+  @Override
   public DataMovementInterface deepCopy() {
     return new DataMovementInterface(this);
   }
@@ -210,11 +215,12 @@
     this.storageResourceId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDataMovementInterfaceId() {
     return this.dataMovementInterfaceId;
   }
 
-  public void setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+  public void setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
     this.dataMovementInterfaceId = dataMovementInterfaceId;
   }
 
@@ -237,6 +243,7 @@
    * 
    * @see DataMovementProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public DataMovementProtocol getDataMovementProtocol() {
     return this.dataMovementProtocol;
   }
@@ -245,7 +252,7 @@
    * 
    * @see DataMovementProtocol
    */
-  public void setDataMovementProtocol(DataMovementProtocol dataMovementProtocol) {
+  public void setDataMovementProtocol(@org.apache.thrift.annotation.Nullable DataMovementProtocol dataMovementProtocol) {
     this.dataMovementProtocol = dataMovementProtocol;
   }
 
@@ -330,11 +337,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATETIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -353,7 +361,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
       if (value == null) {
@@ -406,6 +415,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
@@ -431,6 +442,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -455,8 +467,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DataMovementInterface)
       return this.equals((DataMovementInterface)that);
     return false;
@@ -562,7 +572,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -572,7 +582,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementProtocol()).compareTo(other.isSetDataMovementProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementProtocol(), other.isSetDataMovementProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -582,7 +592,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+    lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -592,7 +602,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -602,7 +612,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdateTime()).compareTo(other.isSetUpdateTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdateTime(), other.isSetUpdateTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -612,7 +622,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -625,14 +635,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -723,6 +737,7 @@
   }
 
   private static class DataMovementInterfaceStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataMovementInterfaceStandardScheme getScheme() {
       return new DataMovementInterfaceStandardScheme();
     }
@@ -730,6 +745,7 @@
 
   private static class DataMovementInterfaceStandardScheme extends org.apache.thrift.scheme.StandardScheme<DataMovementInterface> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DataMovementInterface struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -797,6 +813,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DataMovementInterface struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -838,6 +855,7 @@
   }
 
   private static class DataMovementInterfaceTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataMovementInterfaceTupleScheme getScheme() {
       return new DataMovementInterfaceTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
index 127b4fa..be7082f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/DataMovementProtocol.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.data.movement;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Enumeration of data movement supported by Airavata
  * 
@@ -44,6 +40,7 @@
  *  Storage Service Provided by Unicore
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DataMovementProtocol implements org.apache.thrift.TEnum {
   LOCAL(0),
   SCP(1),
@@ -60,6 +57,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -68,6 +66,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DataMovementProtocol findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
index 0a536c6..0da2a5f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/GridFTPDataMovement.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.data.movement;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Data Movement through GridFTP
  * 
@@ -33,7 +32,8 @@
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GridFTPDataMovement implements org.apache.thrift.TBase<GridFTPDataMovement, GridFTPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<GridFTPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GridFTPDataMovement");
 
@@ -44,9 +44,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GridFTPDataMovementStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GridFTPDataMovementTupleSchemeFactory();
 
-  private java.lang.String dataMovementInterfaceId; // required
-  private SecurityProtocol securityProtocol; // required
-  private java.util.List<java.lang.String> gridFTPEndPoints; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> gridFTPEndPoints; // 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 {
@@ -69,6 +69,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -95,6 +96,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -107,10 +109,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -163,6 +167,7 @@
     }
   }
 
+  @Override
   public GridFTPDataMovement deepCopy() {
     return new GridFTPDataMovement(this);
   }
@@ -175,11 +180,12 @@
     this.gridFTPEndPoints = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDataMovementInterfaceId() {
     return this.dataMovementInterfaceId;
   }
 
-  public void setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+  public void setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
     this.dataMovementInterfaceId = dataMovementInterfaceId;
   }
 
@@ -202,6 +208,7 @@
    * 
    * @see SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -210,7 +217,7 @@
    * 
    * @see SecurityProtocol
    */
-  public void setSecurityProtocol(SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -233,6 +240,7 @@
     return (this.gridFTPEndPoints == null) ? 0 : this.gridFTPEndPoints.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getGridFTPEndPointsIterator() {
     return (this.gridFTPEndPoints == null) ? null : this.gridFTPEndPoints.iterator();
   }
@@ -244,11 +252,12 @@
     this.gridFTPEndPoints.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getGridFTPEndPoints() {
     return this.gridFTPEndPoints;
   }
 
-  public void setGridFTPEndPoints(java.util.List<java.lang.String> gridFTPEndPoints) {
+  public void setGridFTPEndPoints(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> gridFTPEndPoints) {
     this.gridFTPEndPoints = gridFTPEndPoints;
   }
 
@@ -267,7 +276,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
       if (value == null) {
@@ -296,6 +306,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
@@ -312,6 +324,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -330,8 +343,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GridFTPDataMovement)
       return this.equals((GridFTPDataMovement)that);
     return false;
@@ -400,7 +411,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -410,7 +421,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -420,7 +431,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGridFTPEndPoints()).compareTo(other.isSetGridFTPEndPoints());
+    lastComparison = java.lang.Boolean.compare(isSetGridFTPEndPoints(), other.isSetGridFTPEndPoints());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -433,14 +444,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -511,6 +526,7 @@
   }
 
   private static class GridFTPDataMovementStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GridFTPDataMovementStandardScheme getScheme() {
       return new GridFTPDataMovementStandardScheme();
     }
@@ -518,6 +534,7 @@
 
   private static class GridFTPDataMovementStandardScheme extends org.apache.thrift.scheme.StandardScheme<GridFTPDataMovement> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GridFTPDataMovement struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -549,7 +566,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.gridFTPEndPoints = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -571,6 +588,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GridFTPDataMovement struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -604,6 +622,7 @@
   }
 
   private static class GridFTPDataMovementTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GridFTPDataMovementTupleScheme getScheme() {
       return new GridFTPDataMovementTupleScheme();
     }
@@ -633,9 +652,9 @@
       struct.securityProtocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32());
       struct.setSecurityProtocolIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
         struct.gridFTPEndPoints = new java.util.ArrayList<java.lang.String>(_list5.size);
-        java.lang.String _elem6;
+        @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
         for (int _i7 = 0; _i7 < _list5.size; ++_i7)
         {
           _elem6 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
index c3dcbbe..cf10bf8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/LOCALDataMovement.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.data.movement;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * LOCAL
  * 
@@ -33,7 +32,8 @@
  * sshPort:
  *  If a non-defualt port needs to used, specify it.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class LOCALDataMovement implements org.apache.thrift.TBase<LOCALDataMovement, LOCALDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALDataMovement");
 
@@ -42,7 +42,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new LOCALDataMovementStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new LOCALDataMovementTupleSchemeFactory();
 
-  private java.lang.String dataMovementInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // 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 {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -133,6 +137,7 @@
     }
   }
 
+  @Override
   public LOCALDataMovement deepCopy() {
     return new LOCALDataMovement(this);
   }
@@ -143,11 +148,12 @@
 
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDataMovementInterfaceId() {
     return this.dataMovementInterfaceId;
   }
 
-  public void setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+  public void setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
     this.dataMovementInterfaceId = dataMovementInterfaceId;
   }
 
@@ -166,7 +172,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
       if (value == null) {
@@ -179,6 +186,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
@@ -189,6 +198,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -203,8 +213,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof LOCALDataMovement)
       return this.equals((LOCALDataMovement)that);
     return false;
@@ -247,7 +255,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -260,14 +268,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -314,6 +326,7 @@
   }
 
   private static class LOCALDataMovementStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public LOCALDataMovementStandardScheme getScheme() {
       return new LOCALDataMovementStandardScheme();
     }
@@ -321,6 +334,7 @@
 
   private static class LOCALDataMovementStandardScheme extends org.apache.thrift.scheme.StandardScheme<LOCALDataMovement> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, LOCALDataMovement struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -348,6 +362,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, LOCALDataMovement struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -364,6 +379,7 @@
   }
 
   private static class LOCALDataMovementTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public LOCALDataMovementTupleScheme getScheme() {
       return new LOCALDataMovementTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
index c1784c4..0b2015b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SCPDataMovement.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.data.movement;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Data Movement through Secured Copy
  * 
@@ -33,7 +32,8 @@
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SCPDataMovement implements org.apache.thrift.TBase<SCPDataMovement, SCPDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<SCPDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SCPDataMovement");
 
@@ -45,9 +45,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SCPDataMovementStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SCPDataMovementTupleSchemeFactory();
 
-  private java.lang.String dataMovementInterfaceId; // required
-  private SecurityProtocol securityProtocol; // required
-  private java.lang.String alternativeSCPHostName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String alternativeSCPHostName; // optional
   private int sshPort; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -72,6 +72,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -100,6 +101,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -112,10 +114,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -173,6 +177,7 @@
     this.sshPort = other.sshPort;
   }
 
+  @Override
   public SCPDataMovement deepCopy() {
     return new SCPDataMovement(this);
   }
@@ -187,11 +192,12 @@
 
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDataMovementInterfaceId() {
     return this.dataMovementInterfaceId;
   }
 
-  public void setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+  public void setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
     this.dataMovementInterfaceId = dataMovementInterfaceId;
   }
 
@@ -214,6 +220,7 @@
    * 
    * @see SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -222,7 +229,7 @@
    * 
    * @see SecurityProtocol
    */
-  public void setSecurityProtocol(SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -241,11 +248,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAlternativeSCPHostName() {
     return this.alternativeSCPHostName;
   }
 
-  public void setAlternativeSCPHostName(java.lang.String alternativeSCPHostName) {
+  public void setAlternativeSCPHostName(@org.apache.thrift.annotation.Nullable java.lang.String alternativeSCPHostName) {
     this.alternativeSCPHostName = alternativeSCPHostName;
   }
 
@@ -286,7 +294,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SSHPORT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
       if (value == null) {
@@ -323,6 +332,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
@@ -342,6 +353,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -362,8 +374,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SCPDataMovement)
       return this.equals((SCPDataMovement)that);
     return false;
@@ -445,7 +455,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -455,7 +465,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -465,7 +475,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAlternativeSCPHostName()).compareTo(other.isSetAlternativeSCPHostName());
+    lastComparison = java.lang.Boolean.compare(isSetAlternativeSCPHostName(), other.isSetAlternativeSCPHostName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -475,7 +485,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSshPort()).compareTo(other.isSetSshPort());
+    lastComparison = java.lang.Boolean.compare(isSetSshPort(), other.isSetSshPort());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -488,14 +498,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -572,6 +586,7 @@
   }
 
   private static class SCPDataMovementStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SCPDataMovementStandardScheme getScheme() {
       return new SCPDataMovementStandardScheme();
     }
@@ -579,6 +594,7 @@
 
   private static class SCPDataMovementStandardScheme extends org.apache.thrift.scheme.StandardScheme<SCPDataMovement> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SCPDataMovement struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -630,6 +646,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SCPDataMovement struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -663,6 +680,7 @@
   }
 
   private static class SCPDataMovementTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SCPDataMovementTupleScheme getScheme() {
       return new SCPDataMovementTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
index 49d8322..562205f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/SecurityProtocol.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.data.movement;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Enumeration of security sshKeyAuthentication and authorization mechanisms supported by Airavata. This enumeration just
  *  describes the supported mechanism. The corresponding security credentials are registered with Airavata Credential
@@ -42,6 +38,7 @@
  * FIXME: Change GSI to a more precise generic security protocol - X509
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum SecurityProtocol implements org.apache.thrift.TEnum {
   USERNAME_PASSWORD(0),
   SSH_KEYS(1),
@@ -59,6 +56,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -67,6 +65,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static SecurityProtocol findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
index feaeb9b..74e396b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/movement/UnicoreDataMovement.java
@@ -16,21 +16,21 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.data.movement;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Data Movement through UnicoreStorage
  * 
  * unicoreEndPointURL:
  *  unicoreGateway End Point. The provider will query this service to fetch required service end points.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UnicoreDataMovement implements org.apache.thrift.TBase<UnicoreDataMovement, UnicoreDataMovement._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreDataMovement> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreDataMovement");
 
@@ -41,9 +41,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UnicoreDataMovementStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UnicoreDataMovementTupleSchemeFactory();
 
-  private java.lang.String dataMovementInterfaceId; // required
-  private SecurityProtocol securityProtocol; // required
-  private java.lang.String unicoreEndPointURL; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+  private @org.apache.thrift.annotation.Nullable SecurityProtocol securityProtocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String unicoreEndPointURL; // 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 {
@@ -66,6 +66,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     }
   }
 
+  @Override
   public UnicoreDataMovement deepCopy() {
     return new UnicoreDataMovement(this);
   }
@@ -170,11 +175,12 @@
     this.unicoreEndPointURL = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDataMovementInterfaceId() {
     return this.dataMovementInterfaceId;
   }
 
-  public void setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+  public void setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
     this.dataMovementInterfaceId = dataMovementInterfaceId;
   }
 
@@ -197,6 +203,7 @@
    * 
    * @see SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public SecurityProtocol getSecurityProtocol() {
     return this.securityProtocol;
   }
@@ -205,7 +212,7 @@
    * 
    * @see SecurityProtocol
    */
-  public void setSecurityProtocol(SecurityProtocol securityProtocol) {
+  public void setSecurityProtocol(@org.apache.thrift.annotation.Nullable SecurityProtocol securityProtocol) {
     this.securityProtocol = securityProtocol;
   }
 
@@ -224,11 +231,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUnicoreEndPointURL() {
     return this.unicoreEndPointURL;
   }
 
-  public void setUnicoreEndPointURL(java.lang.String unicoreEndPointURL) {
+  public void setUnicoreEndPointURL(@org.apache.thrift.annotation.Nullable java.lang.String unicoreEndPointURL) {
     this.unicoreEndPointURL = unicoreEndPointURL;
   }
 
@@ -247,7 +255,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
       if (value == null) {
@@ -276,6 +285,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DATA_MOVEMENT_INTERFACE_ID:
@@ -292,6 +303,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -310,8 +322,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UnicoreDataMovement)
       return this.equals((UnicoreDataMovement)that);
     return false;
@@ -380,7 +390,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -390,7 +400,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSecurityProtocol()).compareTo(other.isSetSecurityProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetSecurityProtocol(), other.isSetSecurityProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -400,7 +410,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUnicoreEndPointURL()).compareTo(other.isSetUnicoreEndPointURL());
+    lastComparison = java.lang.Boolean.compare(isSetUnicoreEndPointURL(), other.isSetUnicoreEndPointURL());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -413,14 +423,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -491,6 +505,7 @@
   }
 
   private static class UnicoreDataMovementStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UnicoreDataMovementStandardScheme getScheme() {
       return new UnicoreDataMovementStandardScheme();
     }
@@ -498,6 +513,7 @@
 
   private static class UnicoreDataMovementStandardScheme extends org.apache.thrift.scheme.StandardScheme<UnicoreDataMovement> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UnicoreDataMovement struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -541,6 +557,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UnicoreDataMovement struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -567,6 +584,7 @@
   }
 
   private static class UnicoreDataMovementTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UnicoreDataMovementTupleScheme getScheme() {
       return new UnicoreDataMovementTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
index ec1c1bb..38a05a2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.data.replica;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DataProductModel implements org.apache.thrift.TBase<DataProductModel, DataProductModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataProductModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataProductModel");
 
@@ -44,18 +44,18 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DataProductModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DataProductModelTupleSchemeFactory();
 
-  private java.lang.String productUri; // optional
-  private java.lang.String gatewayId; // optional
-  private java.lang.String parentProductUri; // optional
-  private java.lang.String productName; // optional
-  private java.lang.String productDescription; // optional
-  private java.lang.String ownerName; // optional
-  private DataProductType dataProductType; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String productUri; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String parentProductUri; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String productName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String productDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String ownerName; // optional
+  private @org.apache.thrift.annotation.Nullable DataProductType dataProductType; // optional
   private int productSize; // optional
   private long creationTime; // optional
   private long lastModifiedTime; // optional
-  private java.util.Map<java.lang.String,java.lang.String> productMetadata; // optional
-  private java.util.List<DataReplicaLocationModel> replicaLocations; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> productMetadata; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<DataReplicaLocationModel> replicaLocations; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -87,6 +87,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PRODUCT_URI
@@ -131,6 +132,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -143,10 +145,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -237,6 +241,7 @@
     }
   }
 
+  @Override
   public DataProductModel deepCopy() {
     return new DataProductModel(this);
   }
@@ -260,11 +265,12 @@
     this.replicaLocations = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProductUri() {
     return this.productUri;
   }
 
-  public void setProductUri(java.lang.String productUri) {
+  public void setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
     this.productUri = productUri;
   }
 
@@ -283,11 +289,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -306,11 +313,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParentProductUri() {
     return this.parentProductUri;
   }
 
-  public void setParentProductUri(java.lang.String parentProductUri) {
+  public void setParentProductUri(@org.apache.thrift.annotation.Nullable java.lang.String parentProductUri) {
     this.parentProductUri = parentProductUri;
   }
 
@@ -329,11 +337,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProductName() {
     return this.productName;
   }
 
-  public void setProductName(java.lang.String productName) {
+  public void setProductName(@org.apache.thrift.annotation.Nullable java.lang.String productName) {
     this.productName = productName;
   }
 
@@ -352,11 +361,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProductDescription() {
     return this.productDescription;
   }
 
-  public void setProductDescription(java.lang.String productDescription) {
+  public void setProductDescription(@org.apache.thrift.annotation.Nullable java.lang.String productDescription) {
     this.productDescription = productDescription;
   }
 
@@ -375,11 +385,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOwnerName() {
     return this.ownerName;
   }
 
-  public void setOwnerName(java.lang.String ownerName) {
+  public void setOwnerName(@org.apache.thrift.annotation.Nullable java.lang.String ownerName) {
     this.ownerName = ownerName;
   }
 
@@ -402,6 +413,7 @@
    * 
    * @see DataProductType
    */
+  @org.apache.thrift.annotation.Nullable
   public DataProductType getDataProductType() {
     return this.dataProductType;
   }
@@ -410,7 +422,7 @@
    * 
    * @see DataProductType
    */
-  public void setDataProductType(DataProductType dataProductType) {
+  public void setDataProductType(@org.apache.thrift.annotation.Nullable DataProductType dataProductType) {
     this.dataProductType = dataProductType;
   }
 
@@ -506,11 +518,12 @@
     this.productMetadata.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<java.lang.String,java.lang.String> getProductMetadata() {
     return this.productMetadata;
   }
 
-  public void setProductMetadata(java.util.Map<java.lang.String,java.lang.String> productMetadata) {
+  public void setProductMetadata(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> productMetadata) {
     this.productMetadata = productMetadata;
   }
 
@@ -533,6 +546,7 @@
     return (this.replicaLocations == null) ? 0 : this.replicaLocations.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<DataReplicaLocationModel> getReplicaLocationsIterator() {
     return (this.replicaLocations == null) ? null : this.replicaLocations.iterator();
   }
@@ -544,11 +558,12 @@
     this.replicaLocations.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<DataReplicaLocationModel> getReplicaLocations() {
     return this.replicaLocations;
   }
 
-  public void setReplicaLocations(java.util.List<DataReplicaLocationModel> replicaLocations) {
+  public void setReplicaLocations(@org.apache.thrift.annotation.Nullable java.util.List<DataReplicaLocationModel> replicaLocations) {
     this.replicaLocations = replicaLocations;
   }
 
@@ -567,7 +582,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PRODUCT_URI:
       if (value == null) {
@@ -668,6 +684,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PRODUCT_URI:
@@ -711,6 +729,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -747,8 +766,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DataProductModel)
       return this.equals((DataProductModel)that);
     return false;
@@ -934,7 +951,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+    lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -944,7 +961,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -954,7 +971,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParentProductUri()).compareTo(other.isSetParentProductUri());
+    lastComparison = java.lang.Boolean.compare(isSetParentProductUri(), other.isSetParentProductUri());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -964,7 +981,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProductName()).compareTo(other.isSetProductName());
+    lastComparison = java.lang.Boolean.compare(isSetProductName(), other.isSetProductName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -974,7 +991,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProductDescription()).compareTo(other.isSetProductDescription());
+    lastComparison = java.lang.Boolean.compare(isSetProductDescription(), other.isSetProductDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -984,7 +1001,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwnerName()).compareTo(other.isSetOwnerName());
+    lastComparison = java.lang.Boolean.compare(isSetOwnerName(), other.isSetOwnerName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -994,7 +1011,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataProductType()).compareTo(other.isSetDataProductType());
+    lastComparison = java.lang.Boolean.compare(isSetDataProductType(), other.isSetDataProductType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1004,7 +1021,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProductSize()).compareTo(other.isSetProductSize());
+    lastComparison = java.lang.Boolean.compare(isSetProductSize(), other.isSetProductSize());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1014,7 +1031,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1024,7 +1041,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
+    lastComparison = java.lang.Boolean.compare(isSetLastModifiedTime(), other.isSetLastModifiedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1034,7 +1051,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProductMetadata()).compareTo(other.isSetProductMetadata());
+    lastComparison = java.lang.Boolean.compare(isSetProductMetadata(), other.isSetProductMetadata());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1044,7 +1061,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaLocations()).compareTo(other.isSetReplicaLocations());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaLocations(), other.isSetReplicaLocations());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1057,14 +1074,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1209,6 +1230,7 @@
   }
 
   private static class DataProductModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataProductModelStandardScheme getScheme() {
       return new DataProductModelStandardScheme();
     }
@@ -1216,6 +1238,7 @@
 
   private static class DataProductModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<DataProductModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DataProductModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1311,8 +1334,8 @@
               {
                 org.apache.thrift.protocol.TMap _map10 = iprot.readMapBegin();
                 struct.productMetadata = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map10.size);
-                java.lang.String _key11;
-                java.lang.String _val12;
+                @org.apache.thrift.annotation.Nullable java.lang.String _key11;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val12;
                 for (int _i13 = 0; _i13 < _map10.size; ++_i13)
                 {
                   _key11 = iprot.readString();
@@ -1331,7 +1354,7 @@
               {
                 org.apache.thrift.protocol.TList _list14 = iprot.readListBegin();
                 struct.replicaLocations = new java.util.ArrayList<DataReplicaLocationModel>(_list14.size);
-                DataReplicaLocationModel _elem15;
+                @org.apache.thrift.annotation.Nullable DataReplicaLocationModel _elem15;
                 for (int _i16 = 0; _i16 < _list14.size; ++_i16)
                 {
                   _elem15 = new DataReplicaLocationModel();
@@ -1354,6 +1377,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DataProductModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1458,6 +1482,7 @@
   }
 
   private static class DataProductModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataProductModelTupleScheme getScheme() {
       return new DataProductModelTupleScheme();
     }
@@ -1603,10 +1628,10 @@
       }
       if (incoming.get(10)) {
         {
-          org.apache.thrift.protocol.TMap _map21 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TMap _map21 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
           struct.productMetadata = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map21.size);
-          java.lang.String _key22;
-          java.lang.String _val23;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key22;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val23;
           for (int _i24 = 0; _i24 < _map21.size; ++_i24)
           {
             _key22 = iprot.readString();
@@ -1618,9 +1643,9 @@
       }
       if (incoming.get(11)) {
         {
-          org.apache.thrift.protocol.TList _list25 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list25 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.replicaLocations = new java.util.ArrayList<DataReplicaLocationModel>(_list25.size);
-          DataReplicaLocationModel _elem26;
+          @org.apache.thrift.annotation.Nullable DataReplicaLocationModel _elem26;
           for (int _i27 = 0; _i27 < _list25.size; ++_i27)
           {
             _elem26 = new DataReplicaLocationModel();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
index 5de03d0..932494d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataProductType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.data.replica;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DataProductType implements org.apache.thrift.TEnum {
   FILE(0),
   COLLECTION(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DataProductType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
index a2e763c..578af71 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/DataReplicaLocationModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.data.replica;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DataReplicaLocationModel implements org.apache.thrift.TBase<DataReplicaLocationModel, DataReplicaLocationModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataReplicaLocationModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataReplicaLocationModel");
 
@@ -44,18 +44,18 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DataReplicaLocationModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DataReplicaLocationModelTupleSchemeFactory();
 
-  private java.lang.String replicaId; // optional
-  private java.lang.String productUri; // optional
-  private java.lang.String replicaName; // optional
-  private java.lang.String replicaDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String replicaId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String productUri; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String replicaName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String replicaDescription; // optional
   private long creationTime; // optional
   private long lastModifiedTime; // optional
   private long validUntilTime; // optional
-  private ReplicaLocationCategory replicaLocationCategory; // optional
-  private ReplicaPersistentType replicaPersistentType; // optional
-  private java.lang.String storageResourceId; // optional
-  private java.lang.String filePath; // optional
-  private java.util.Map<java.lang.String,java.lang.String> replicaMetadata; // optional
+  private @org.apache.thrift.annotation.Nullable ReplicaLocationCategory replicaLocationCategory; // optional
+  private @org.apache.thrift.annotation.Nullable ReplicaPersistentType replicaPersistentType; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String filePath; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> replicaMetadata; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -91,6 +91,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // REPLICA_ID
@@ -135,6 +136,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -147,10 +149,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -236,6 +240,7 @@
     }
   }
 
+  @Override
   public DataReplicaLocationModel deepCopy() {
     return new DataReplicaLocationModel(this);
   }
@@ -259,11 +264,12 @@
     this.replicaMetadata = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReplicaId() {
     return this.replicaId;
   }
 
-  public void setReplicaId(java.lang.String replicaId) {
+  public void setReplicaId(@org.apache.thrift.annotation.Nullable java.lang.String replicaId) {
     this.replicaId = replicaId;
   }
 
@@ -282,11 +288,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProductUri() {
     return this.productUri;
   }
 
-  public void setProductUri(java.lang.String productUri) {
+  public void setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
     this.productUri = productUri;
   }
 
@@ -305,11 +312,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReplicaName() {
     return this.replicaName;
   }
 
-  public void setReplicaName(java.lang.String replicaName) {
+  public void setReplicaName(@org.apache.thrift.annotation.Nullable java.lang.String replicaName) {
     this.replicaName = replicaName;
   }
 
@@ -328,11 +336,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReplicaDescription() {
     return this.replicaDescription;
   }
 
-  public void setReplicaDescription(java.lang.String replicaDescription) {
+  public void setReplicaDescription(@org.apache.thrift.annotation.Nullable java.lang.String replicaDescription) {
     this.replicaDescription = replicaDescription;
   }
 
@@ -421,6 +430,7 @@
    * 
    * @see ReplicaLocationCategory
    */
+  @org.apache.thrift.annotation.Nullable
   public ReplicaLocationCategory getReplicaLocationCategory() {
     return this.replicaLocationCategory;
   }
@@ -429,7 +439,7 @@
    * 
    * @see ReplicaLocationCategory
    */
-  public void setReplicaLocationCategory(ReplicaLocationCategory replicaLocationCategory) {
+  public void setReplicaLocationCategory(@org.apache.thrift.annotation.Nullable ReplicaLocationCategory replicaLocationCategory) {
     this.replicaLocationCategory = replicaLocationCategory;
   }
 
@@ -452,6 +462,7 @@
    * 
    * @see ReplicaPersistentType
    */
+  @org.apache.thrift.annotation.Nullable
   public ReplicaPersistentType getReplicaPersistentType() {
     return this.replicaPersistentType;
   }
@@ -460,7 +471,7 @@
    * 
    * @see ReplicaPersistentType
    */
-  public void setReplicaPersistentType(ReplicaPersistentType replicaPersistentType) {
+  public void setReplicaPersistentType(@org.apache.thrift.annotation.Nullable ReplicaPersistentType replicaPersistentType) {
     this.replicaPersistentType = replicaPersistentType;
   }
 
@@ -479,11 +490,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -502,11 +514,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFilePath() {
     return this.filePath;
   }
 
-  public void setFilePath(java.lang.String filePath) {
+  public void setFilePath(@org.apache.thrift.annotation.Nullable java.lang.String filePath) {
     this.filePath = filePath;
   }
 
@@ -536,11 +549,12 @@
     this.replicaMetadata.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<java.lang.String,java.lang.String> getReplicaMetadata() {
     return this.replicaMetadata;
   }
 
-  public void setReplicaMetadata(java.util.Map<java.lang.String,java.lang.String> replicaMetadata) {
+  public void setReplicaMetadata(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> replicaMetadata) {
     this.replicaMetadata = replicaMetadata;
   }
 
@@ -559,7 +573,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case REPLICA_ID:
       if (value == null) {
@@ -660,6 +675,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case REPLICA_ID:
@@ -703,6 +720,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -739,8 +757,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DataReplicaLocationModel)
       return this.equals((DataReplicaLocationModel)that);
     return false;
@@ -926,7 +942,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaId()).compareTo(other.isSetReplicaId());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaId(), other.isSetReplicaId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -936,7 +952,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+    lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -946,7 +962,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaName()).compareTo(other.isSetReplicaName());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaName(), other.isSetReplicaName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -956,7 +972,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaDescription()).compareTo(other.isSetReplicaDescription());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaDescription(), other.isSetReplicaDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -966,7 +982,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -976,7 +992,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
+    lastComparison = java.lang.Boolean.compare(isSetLastModifiedTime(), other.isSetLastModifiedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -986,7 +1002,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValidUntilTime()).compareTo(other.isSetValidUntilTime());
+    lastComparison = java.lang.Boolean.compare(isSetValidUntilTime(), other.isSetValidUntilTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -996,7 +1012,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaLocationCategory()).compareTo(other.isSetReplicaLocationCategory());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaLocationCategory(), other.isSetReplicaLocationCategory());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1006,7 +1022,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaPersistentType()).compareTo(other.isSetReplicaPersistentType());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaPersistentType(), other.isSetReplicaPersistentType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1016,7 +1032,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1026,7 +1042,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFilePath()).compareTo(other.isSetFilePath());
+    lastComparison = java.lang.Boolean.compare(isSetFilePath(), other.isSetFilePath());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1036,7 +1052,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReplicaMetadata()).compareTo(other.isSetReplicaMetadata());
+    lastComparison = java.lang.Boolean.compare(isSetReplicaMetadata(), other.isSetReplicaMetadata());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1049,14 +1065,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1201,6 +1221,7 @@
   }
 
   private static class DataReplicaLocationModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataReplicaLocationModelStandardScheme getScheme() {
       return new DataReplicaLocationModelStandardScheme();
     }
@@ -1208,6 +1229,7 @@
 
   private static class DataReplicaLocationModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<DataReplicaLocationModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1311,8 +1333,8 @@
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
                 struct.replicaMetadata = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map0.size);
-                java.lang.String _key1;
-                java.lang.String _val2;
+                @org.apache.thrift.annotation.Nullable java.lang.String _key1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val2;
                 for (int _i3 = 0; _i3 < _map0.size; ++_i3)
                 {
                   _key1 = iprot.readString();
@@ -1335,6 +1357,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DataReplicaLocationModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1432,6 +1455,7 @@
   }
 
   private static class DataReplicaLocationModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataReplicaLocationModelTupleScheme getScheme() {
       return new DataReplicaLocationModelTupleScheme();
     }
@@ -1575,10 +1599,10 @@
       }
       if (incoming.get(11)) {
         {
-          org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TMap _map6 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
           struct.replicaMetadata = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map6.size);
-          java.lang.String _key7;
-          java.lang.String _val8;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key7;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val8;
           for (int _i9 = 0; _i9 < _map6.size; ++_i9)
           {
             _key7 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
index b891ffe..a477cf5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaLocationCategory.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.data.replica;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ReplicaLocationCategory implements org.apache.thrift.TEnum {
   GATEWAY_DATA_STORE(0),
   COMPUTE_RESOURCE(1),
@@ -43,6 +40,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -51,6 +49,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ReplicaLocationCategory findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
index 705d024..32fc61f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/data/replica/ReplicaPersistentType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.data.replica;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ReplicaPersistentType implements org.apache.thrift.TEnum {
   TRANSIENT(0),
   PERSISTENT(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ReplicaPersistentType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/CrudType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/CrudType.java
index 1500d20..10f23c6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/CrudType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/CrudType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum CrudType implements org.apache.thrift.TEnum {
   CREATE(0),
   READ(1),
@@ -43,6 +40,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -51,6 +49,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static CrudType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessage.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessage.java
index 7c06306..335d388 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessage.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessage.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DBEventMessage implements org.apache.thrift.TBase<DBEventMessage, DBEventMessage._Fields>, java.io.Serializable, Cloneable, Comparable<DBEventMessage> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DBEventMessage");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DBEventMessageStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DBEventMessageTupleSchemeFactory();
 
-  private DBEventType dbEventType; // required
-  private DBEventMessageContext messageContext; // required
-  private java.lang.String publisherService; // required
+  private @org.apache.thrift.annotation.Nullable DBEventType dbEventType; // required
+  private @org.apache.thrift.annotation.Nullable DBEventMessageContext messageContext; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String publisherService; // 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 {
@@ -60,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DB_EVENT_TYPE
@@ -86,6 +87,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -98,10 +100,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -150,6 +154,7 @@
     }
   }
 
+  @Override
   public DBEventMessage deepCopy() {
     return new DBEventMessage(this);
   }
@@ -165,6 +170,7 @@
    * 
    * @see DBEventType
    */
+  @org.apache.thrift.annotation.Nullable
   public DBEventType getDbEventType() {
     return this.dbEventType;
   }
@@ -173,7 +179,7 @@
    * 
    * @see DBEventType
    */
-  public void setDbEventType(DBEventType dbEventType) {
+  public void setDbEventType(@org.apache.thrift.annotation.Nullable DBEventType dbEventType) {
     this.dbEventType = dbEventType;
   }
 
@@ -192,11 +198,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public DBEventMessageContext getMessageContext() {
     return this.messageContext;
   }
 
-  public void setMessageContext(DBEventMessageContext messageContext) {
+  public void setMessageContext(@org.apache.thrift.annotation.Nullable DBEventMessageContext messageContext) {
     this.messageContext = messageContext;
   }
 
@@ -215,11 +222,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPublisherService() {
     return this.publisherService;
   }
 
-  public void setPublisherService(java.lang.String publisherService) {
+  public void setPublisherService(@org.apache.thrift.annotation.Nullable java.lang.String publisherService) {
     this.publisherService = publisherService;
   }
 
@@ -238,7 +246,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DB_EVENT_TYPE:
       if (value == null) {
@@ -267,6 +276,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DB_EVENT_TYPE:
@@ -283,6 +294,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -301,8 +313,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DBEventMessage)
       return this.equals((DBEventMessage)that);
     return false;
@@ -371,7 +381,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDbEventType()).compareTo(other.isSetDbEventType());
+    lastComparison = java.lang.Boolean.compare(isSetDbEventType(), other.isSetDbEventType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -381,7 +391,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMessageContext()).compareTo(other.isSetMessageContext());
+    lastComparison = java.lang.Boolean.compare(isSetMessageContext(), other.isSetMessageContext());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -391,7 +401,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPublisherService()).compareTo(other.isSetPublisherService());
+    lastComparison = java.lang.Boolean.compare(isSetPublisherService(), other.isSetPublisherService());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -404,14 +414,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -482,6 +496,7 @@
   }
 
   private static class DBEventMessageStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventMessageStandardScheme getScheme() {
       return new DBEventMessageStandardScheme();
     }
@@ -489,6 +504,7 @@
 
   private static class DBEventMessageStandardScheme extends org.apache.thrift.scheme.StandardScheme<DBEventMessage> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DBEventMessage struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -533,6 +549,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DBEventMessage struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -559,6 +576,7 @@
   }
 
   private static class DBEventMessageTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventMessageTupleScheme getScheme() {
       return new DBEventMessageTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessageContext.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessageContext.java
index 5dc839e..57f6d96 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessageContext.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventMessageContext.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,6 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DBEventMessageContext extends org.apache.thrift.TUnion<DBEventMessageContext, DBEventMessageContext._Fields> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DBEventMessageContext");
   private static final org.apache.thrift.protocol.TField PUBLISHER_FIELD_DESC = new org.apache.thrift.protocol.TField("publisher", org.apache.thrift.protocol.TType.STRUCT, (short)1);
@@ -45,6 +46,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PUBLISHER
@@ -69,6 +71,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -81,10 +84,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -112,6 +117,7 @@
   public DBEventMessageContext(DBEventMessageContext other) {
     super(other);
   }
+  @Override
   public DBEventMessageContext deepCopy() {
     return new DBEventMessageContext(this);
   }
@@ -258,6 +264,8 @@
     return _Fields.findByThriftIdOrThrow(id);
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
@@ -272,9 +280,8 @@
   }
 
   public void setPublisher(DBEventPublisher value) {
-    if (value == null) throw new java.lang.NullPointerException();
     setField_ = _Fields.PUBLISHER;
-    value_ = value;
+    value_ = java.util.Objects.requireNonNull(value,"_Fields.PUBLISHER");
   }
 
   public DBEventSubscriber getSubscriber() {
@@ -286,9 +293,8 @@
   }
 
   public void setSubscriber(DBEventSubscriber value) {
-    if (value == null) throw new java.lang.NullPointerException();
     setField_ = _Fields.SUBSCRIBER;
-    value_ = value;
+    value_ = java.util.Objects.requireNonNull(value,"_Fields.SUBSCRIBER");
   }
 
   public boolean isSetPublisher() {
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisher.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisher.java
index f9bfb22..361aae3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisher.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisher.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DBEventPublisher implements org.apache.thrift.TBase<DBEventPublisher, DBEventPublisher._Fields>, java.io.Serializable, Cloneable, Comparable<DBEventPublisher> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DBEventPublisher");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DBEventPublisherStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DBEventPublisherTupleSchemeFactory();
 
-  private DBEventPublisherContext publisherContext; // required
+  private @org.apache.thrift.annotation.Nullable DBEventPublisherContext publisherContext; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PUBLISHER_CONTEXT
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public DBEventPublisher deepCopy() {
     return new DBEventPublisher(this);
   }
@@ -131,11 +136,12 @@
     this.publisherContext = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public DBEventPublisherContext getPublisherContext() {
     return this.publisherContext;
   }
 
-  public void setPublisherContext(DBEventPublisherContext publisherContext) {
+  public void setPublisherContext(@org.apache.thrift.annotation.Nullable DBEventPublisherContext publisherContext) {
     this.publisherContext = publisherContext;
   }
 
@@ -154,7 +160,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PUBLISHER_CONTEXT:
       if (value == null) {
@@ -167,6 +174,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PUBLISHER_CONTEXT:
@@ -177,6 +186,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -191,8 +201,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DBEventPublisher)
       return this.equals((DBEventPublisher)that);
     return false;
@@ -235,7 +243,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetPublisherContext()).compareTo(other.isSetPublisherContext());
+    lastComparison = java.lang.Boolean.compare(isSetPublisherContext(), other.isSetPublisherContext());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -248,14 +256,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -305,6 +317,7 @@
   }
 
   private static class DBEventPublisherStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventPublisherStandardScheme getScheme() {
       return new DBEventPublisherStandardScheme();
     }
@@ -312,6 +325,7 @@
 
   private static class DBEventPublisherStandardScheme extends org.apache.thrift.scheme.StandardScheme<DBEventPublisher> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DBEventPublisher struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -340,6 +354,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DBEventPublisher struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -356,6 +371,7 @@
   }
 
   private static class DBEventPublisherTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventPublisherTupleScheme getScheme() {
       return new DBEventPublisherTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisherContext.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisherContext.java
index 2e885e7..2aef6a8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisherContext.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventPublisherContext.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DBEventPublisherContext implements org.apache.thrift.TBase<DBEventPublisherContext, DBEventPublisherContext._Fields>, java.io.Serializable, Cloneable, Comparable<DBEventPublisherContext> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DBEventPublisherContext");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DBEventPublisherContextStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DBEventPublisherContextTupleSchemeFactory();
 
-  private CrudType crudType; // required
-  private EntityType entityType; // required
-  private java.nio.ByteBuffer entityDataModel; // required
+  private @org.apache.thrift.annotation.Nullable CrudType crudType; // required
+  private @org.apache.thrift.annotation.Nullable EntityType entityType; // required
+  private @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer entityDataModel; // 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 {
@@ -64,6 +64,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // CRUD_TYPE
@@ -90,6 +91,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -102,10 +104,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -154,6 +158,7 @@
     }
   }
 
+  @Override
   public DBEventPublisherContext deepCopy() {
     return new DBEventPublisherContext(this);
   }
@@ -169,6 +174,7 @@
    * 
    * @see CrudType
    */
+  @org.apache.thrift.annotation.Nullable
   public CrudType getCrudType() {
     return this.crudType;
   }
@@ -177,7 +183,7 @@
    * 
    * @see CrudType
    */
-  public void setCrudType(CrudType crudType) {
+  public void setCrudType(@org.apache.thrift.annotation.Nullable CrudType crudType) {
     this.crudType = crudType;
   }
 
@@ -200,6 +206,7 @@
    * 
    * @see EntityType
    */
+  @org.apache.thrift.annotation.Nullable
   public EntityType getEntityType() {
     return this.entityType;
   }
@@ -208,7 +215,7 @@
    * 
    * @see EntityType
    */
-  public void setEntityType(EntityType entityType) {
+  public void setEntityType(@org.apache.thrift.annotation.Nullable EntityType entityType) {
     this.entityType = entityType;
   }
 
@@ -237,10 +244,10 @@
   }
 
   public void setEntityDataModel(byte[] entityDataModel) {
-    this.entityDataModel = entityDataModel == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(entityDataModel.clone());
+    this.entityDataModel = entityDataModel == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(entityDataModel.clone());
   }
 
-  public void setEntityDataModel(java.nio.ByteBuffer entityDataModel) {
+  public void setEntityDataModel(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer entityDataModel) {
     this.entityDataModel = org.apache.thrift.TBaseHelper.copyBinary(entityDataModel);
   }
 
@@ -259,7 +266,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case CRUD_TYPE:
       if (value == null) {
@@ -292,6 +300,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case CRUD_TYPE:
@@ -308,6 +318,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -326,8 +337,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DBEventPublisherContext)
       return this.equals((DBEventPublisherContext)that);
     return false;
@@ -396,7 +405,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetCrudType()).compareTo(other.isSetCrudType());
+    lastComparison = java.lang.Boolean.compare(isSetCrudType(), other.isSetCrudType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -406,7 +415,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEntityType()).compareTo(other.isSetEntityType());
+    lastComparison = java.lang.Boolean.compare(isSetEntityType(), other.isSetEntityType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -416,7 +425,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEntityDataModel()).compareTo(other.isSetEntityDataModel());
+    lastComparison = java.lang.Boolean.compare(isSetEntityDataModel(), other.isSetEntityDataModel());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -429,14 +438,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -507,6 +520,7 @@
   }
 
   private static class DBEventPublisherContextStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventPublisherContextStandardScheme getScheme() {
       return new DBEventPublisherContextStandardScheme();
     }
@@ -514,6 +528,7 @@
 
   private static class DBEventPublisherContextStandardScheme extends org.apache.thrift.scheme.StandardScheme<DBEventPublisherContext> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DBEventPublisherContext struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -557,6 +572,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DBEventPublisherContext struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -583,6 +599,7 @@
   }
 
   private static class DBEventPublisherContextTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventPublisherContextTupleScheme getScheme() {
       return new DBEventPublisherContextTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventSubscriber.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventSubscriber.java
index 366f196..913b60a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventSubscriber.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventSubscriber.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DBEventSubscriber implements org.apache.thrift.TBase<DBEventSubscriber, DBEventSubscriber._Fields>, java.io.Serializable, Cloneable, Comparable<DBEventSubscriber> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DBEventSubscriber");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DBEventSubscriberStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DBEventSubscriberTupleSchemeFactory();
 
-  private java.lang.String subscriberService; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String subscriberService; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // SUBSCRIBER_SERVICE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public DBEventSubscriber deepCopy() {
     return new DBEventSubscriber(this);
   }
@@ -131,11 +136,12 @@
     this.subscriberService = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSubscriberService() {
     return this.subscriberService;
   }
 
-  public void setSubscriberService(java.lang.String subscriberService) {
+  public void setSubscriberService(@org.apache.thrift.annotation.Nullable java.lang.String subscriberService) {
     this.subscriberService = subscriberService;
   }
 
@@ -154,7 +160,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case SUBSCRIBER_SERVICE:
       if (value == null) {
@@ -167,6 +174,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case SUBSCRIBER_SERVICE:
@@ -177,6 +186,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -191,8 +201,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DBEventSubscriber)
       return this.equals((DBEventSubscriber)that);
     return false;
@@ -235,7 +243,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetSubscriberService()).compareTo(other.isSetSubscriberService());
+    lastComparison = java.lang.Boolean.compare(isSetSubscriberService(), other.isSetSubscriberService());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -248,14 +256,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class DBEventSubscriberStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventSubscriberStandardScheme getScheme() {
       return new DBEventSubscriberStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class DBEventSubscriberStandardScheme extends org.apache.thrift.scheme.StandardScheme<DBEventSubscriber> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DBEventSubscriber struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -336,6 +350,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DBEventSubscriber struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -352,6 +367,7 @@
   }
 
   private static class DBEventSubscriberTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DBEventSubscriberTupleScheme getScheme() {
       return new DBEventSubscriberTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventType.java
index 756d9f2..f6042f1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/DBEventType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DBEventType implements org.apache.thrift.TEnum {
   PUBLISHER(0),
   SUBSCRIBER(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DBEventType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/EntityType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/EntityType.java
index 4832e16..095f4a6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/EntityType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/dbevent/EntityType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.dbevent;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum EntityType implements org.apache.thrift.TEnum {
   USER_PROFILE(0),
   TENANT(1),
@@ -47,6 +44,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -55,6 +53,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static EntityType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
index 74192f1..081d4ab 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataClientException.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown by Airavata Services when a call fails as a result of
  * a problem that a client may be able to resolve.  For example, if the user
@@ -39,7 +38,8 @@
  * parameter:  If the error applied to a particular input parameter, this will
  *   indicate which parameter.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class AiravataClientException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AiravataClientException, AiravataClientException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataClientException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataClientException");
 
@@ -49,8 +49,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AiravataClientExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AiravataClientExceptionTupleSchemeFactory();
 
-  private AiravataErrorType airavataErrorType; // required
-  private java.lang.String parameter; // optional
+  private @org.apache.thrift.annotation.Nullable AiravataErrorType airavataErrorType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parameter; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -72,6 +72,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_ERROR_TYPE
@@ -96,6 +97,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -108,10 +110,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -152,6 +156,7 @@
     }
   }
 
+  @Override
   public AiravataClientException deepCopy() {
     return new AiravataClientException(this);
   }
@@ -166,6 +171,7 @@
    * 
    * @see AiravataErrorType
    */
+  @org.apache.thrift.annotation.Nullable
   public AiravataErrorType getAiravataErrorType() {
     return this.airavataErrorType;
   }
@@ -174,7 +180,7 @@
    * 
    * @see AiravataErrorType
    */
-  public void setAiravataErrorType(AiravataErrorType airavataErrorType) {
+  public void setAiravataErrorType(@org.apache.thrift.annotation.Nullable AiravataErrorType airavataErrorType) {
     this.airavataErrorType = airavataErrorType;
   }
 
@@ -193,11 +199,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParameter() {
     return this.parameter;
   }
 
-  public void setParameter(java.lang.String parameter) {
+  public void setParameter(@org.apache.thrift.annotation.Nullable java.lang.String parameter) {
     this.parameter = parameter;
   }
 
@@ -216,7 +223,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_ERROR_TYPE:
       if (value == null) {
@@ -237,6 +245,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_ERROR_TYPE:
@@ -250,6 +260,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -266,8 +277,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof AiravataClientException)
       return this.equals((AiravataClientException)that);
     return false;
@@ -323,7 +332,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataErrorType()).compareTo(other.isSetAiravataErrorType());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataErrorType(), other.isSetAiravataErrorType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -333,7 +342,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParameter()).compareTo(other.isSetParameter());
+    lastComparison = java.lang.Boolean.compare(isSetParameter(), other.isSetParameter());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -346,14 +355,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -410,6 +423,7 @@
   }
 
   private static class AiravataClientExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AiravataClientExceptionStandardScheme getScheme() {
       return new AiravataClientExceptionStandardScheme();
     }
@@ -417,6 +431,7 @@
 
   private static class AiravataClientExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<AiravataClientException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, AiravataClientException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -452,6 +467,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, AiravataClientException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -475,6 +491,7 @@
   }
 
   private static class AiravataClientExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AiravataClientExceptionTupleScheme getScheme() {
       return new AiravataClientExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
index 320f88a..f6f445e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataErrorType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.error;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * A list of Airavata API Error Message Types
  * 
@@ -47,6 +43,7 @@
  * 
  *  UNSUPPORTED_OPERATION: Operation denied because it is currently unsupported.
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum AiravataErrorType implements org.apache.thrift.TEnum {
   UNKNOWN(0),
   PERMISSION_DENIED(1),
@@ -66,6 +63,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -74,6 +72,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static AiravataErrorType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
index ec00625..54801a5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AiravataSystemException.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown by Airavata Services when a call fails as a result of
  * a problem in the service that could not be changed through client's action.
@@ -34,7 +33,8 @@
  * message:  This may contain additional information about the error
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class AiravataSystemException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AiravataSystemException, AiravataSystemException._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataSystemException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataSystemException");
 
@@ -44,8 +44,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AiravataSystemExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AiravataSystemExceptionTupleSchemeFactory();
 
-  private AiravataErrorType airavataErrorType; // required
-  private java.lang.String message; // optional
+  private @org.apache.thrift.annotation.Nullable AiravataErrorType airavataErrorType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -67,6 +67,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_ERROR_TYPE
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -147,6 +151,7 @@
     }
   }
 
+  @Override
   public AiravataSystemException deepCopy() {
     return new AiravataSystemException(this);
   }
@@ -161,6 +166,7 @@
    * 
    * @see AiravataErrorType
    */
+  @org.apache.thrift.annotation.Nullable
   public AiravataErrorType getAiravataErrorType() {
     return this.airavataErrorType;
   }
@@ -169,7 +175,7 @@
    * 
    * @see AiravataErrorType
    */
-  public void setAiravataErrorType(AiravataErrorType airavataErrorType) {
+  public void setAiravataErrorType(@org.apache.thrift.annotation.Nullable AiravataErrorType airavataErrorType) {
     this.airavataErrorType = airavataErrorType;
   }
 
@@ -188,11 +194,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -211,7 +218,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_ERROR_TYPE:
       if (value == null) {
@@ -232,6 +240,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_ERROR_TYPE:
@@ -245,6 +255,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -261,8 +272,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof AiravataSystemException)
       return this.equals((AiravataSystemException)that);
     return false;
@@ -318,7 +327,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataErrorType()).compareTo(other.isSetAiravataErrorType());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataErrorType(), other.isSetAiravataErrorType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -328,7 +337,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -341,14 +350,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -405,6 +418,7 @@
   }
 
   private static class AiravataSystemExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AiravataSystemExceptionStandardScheme getScheme() {
       return new AiravataSystemExceptionStandardScheme();
     }
@@ -412,6 +426,7 @@
 
   private static class AiravataSystemExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<AiravataSystemException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, AiravataSystemException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -447,6 +462,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, AiravataSystemException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -470,6 +486,7 @@
   }
 
   private static class AiravataSystemExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AiravataSystemExceptionTupleScheme getScheme() {
       return new AiravataSystemExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
index 1aa546fb..0423605 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthenticationException.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown for invalid sshKeyAuthentication requests.
  * 
  *  message: contains the cause of the authorization failure.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class AuthenticationException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AuthenticationException, AuthenticationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthenticationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthenticationException");
 
@@ -38,7 +38,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AuthenticationExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AuthenticationExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -55,6 +55,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -127,6 +131,7 @@
     }
   }
 
+  @Override
   public AuthenticationException deepCopy() {
     return new AuthenticationException(this);
   }
@@ -136,11 +141,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -159,7 +165,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -172,6 +179,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -182,6 +191,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -196,8 +206,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof AuthenticationException)
       return this.equals((AuthenticationException)that);
     return false;
@@ -240,7 +248,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -253,14 +261,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -307,6 +319,7 @@
   }
 
   private static class AuthenticationExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AuthenticationExceptionStandardScheme getScheme() {
       return new AuthenticationExceptionStandardScheme();
     }
@@ -314,6 +327,7 @@
 
   private static class AuthenticationExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<AuthenticationException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, AuthenticationException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -341,6 +355,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, AuthenticationException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -357,6 +372,7 @@
   }
 
   private static class AuthenticationExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AuthenticationExceptionTupleScheme getScheme() {
       return new AuthenticationExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
index 8c1725c..b9fa730 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/AuthorizationException.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown for invalid authorization requests such user does not have acces to an aplication or resource.
  * 
  *  message: contains the authorization failure message
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class AuthorizationException extends org.apache.thrift.TException implements org.apache.thrift.TBase<AuthorizationException, AuthorizationException._Fields>, java.io.Serializable, Cloneable, Comparable<AuthorizationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthorizationException");
 
@@ -38,7 +38,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AuthorizationExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AuthorizationExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -55,6 +55,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -127,6 +131,7 @@
     }
   }
 
+  @Override
   public AuthorizationException deepCopy() {
     return new AuthorizationException(this);
   }
@@ -136,11 +141,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -159,7 +165,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -172,6 +179,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -182,6 +191,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -196,8 +206,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof AuthorizationException)
       return this.equals((AuthorizationException)that);
     return false;
@@ -240,7 +248,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -253,14 +261,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -307,6 +319,7 @@
   }
 
   private static class AuthorizationExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AuthorizationExceptionStandardScheme getScheme() {
       return new AuthorizationExceptionStandardScheme();
     }
@@ -314,6 +327,7 @@
 
   private static class AuthorizationExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<AuthorizationException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, AuthorizationException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -341,6 +355,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, AuthorizationException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -357,6 +372,7 @@
   }
 
   private static class AuthorizationExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AuthorizationExceptionTupleScheme getScheme() {
       return new AuthorizationExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DuplicateEntryException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DuplicateEntryException.java
index a22dcc8..fea0e2a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DuplicateEntryException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/DuplicateEntryException.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown when you try to save a duplicate entity that already exists
  *   in the database.
@@ -31,7 +30,8 @@
  *   message: contains the associated error message
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DuplicateEntryException extends org.apache.thrift.TException implements org.apache.thrift.TBase<DuplicateEntryException, DuplicateEntryException._Fields>, java.io.Serializable, Cloneable, Comparable<DuplicateEntryException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DuplicateEntryException");
 
@@ -40,7 +40,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DuplicateEntryExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DuplicateEntryExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -79,6 +80,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -91,10 +93,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -129,6 +133,7 @@
     }
   }
 
+  @Override
   public DuplicateEntryException deepCopy() {
     return new DuplicateEntryException(this);
   }
@@ -138,11 +143,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -161,7 +167,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -174,6 +181,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -184,6 +193,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -198,8 +208,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DuplicateEntryException)
       return this.equals((DuplicateEntryException)that);
     return false;
@@ -242,7 +250,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -255,14 +263,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -309,6 +321,7 @@
   }
 
   private static class DuplicateEntryExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DuplicateEntryExceptionStandardScheme getScheme() {
       return new DuplicateEntryExceptionStandardScheme();
     }
@@ -316,6 +329,7 @@
 
   private static class DuplicateEntryExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<DuplicateEntryException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DuplicateEntryException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -343,6 +357,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DuplicateEntryException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -359,6 +374,7 @@
   }
 
   private static class DuplicateEntryExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DuplicateEntryExceptionTupleScheme getScheme() {
       return new DuplicateEntryExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
index 58e2102..58d1b31 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ExperimentNotFoundException.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown when a client asks to perform an operation on an experiment that does not exist.
  * 
@@ -31,7 +30,8 @@
  * 
  * key:  The value passed from the client in the identifier, which was not found.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentNotFoundException extends org.apache.thrift.TException implements org.apache.thrift.TBase<ExperimentNotFoundException, ExperimentNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentNotFoundException");
 
@@ -40,7 +40,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentNotFoundExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentNotFoundExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -79,6 +80,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -91,10 +93,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -129,6 +133,7 @@
     }
   }
 
+  @Override
   public ExperimentNotFoundException deepCopy() {
     return new ExperimentNotFoundException(this);
   }
@@ -138,11 +143,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -161,7 +167,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -174,6 +181,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -184,6 +193,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -198,8 +208,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentNotFoundException)
       return this.equals((ExperimentNotFoundException)that);
     return false;
@@ -242,7 +250,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -255,14 +263,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -309,6 +321,7 @@
   }
 
   private static class ExperimentNotFoundExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentNotFoundExceptionStandardScheme getScheme() {
       return new ExperimentNotFoundExceptionStandardScheme();
     }
@@ -316,6 +329,7 @@
 
   private static class ExperimentNotFoundExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentNotFoundException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentNotFoundException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -343,6 +357,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentNotFoundException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -359,6 +374,7 @@
   }
 
   private static class ExperimentNotFoundExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentNotFoundExceptionTupleScheme getScheme() {
       return new ExperimentNotFoundExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
index 1dcf19a..4a3b5a9 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/InvalidRequestException.java
@@ -16,21 +16,21 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown for invalid requests that occur from any reasons like required input parameters are missing,
  *  or a parameter is malformed.
  * 
  *  message: contains the associated error message.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class InvalidRequestException extends org.apache.thrift.TException implements org.apache.thrift.TBase<InvalidRequestException, InvalidRequestException._Fields>, java.io.Serializable, Cloneable, Comparable<InvalidRequestException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InvalidRequestException");
 
@@ -39,7 +39,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new InvalidRequestExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new InvalidRequestExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -78,6 +79,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -90,10 +92,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -128,6 +132,7 @@
     }
   }
 
+  @Override
   public InvalidRequestException deepCopy() {
     return new InvalidRequestException(this);
   }
@@ -137,11 +142,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -160,7 +166,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -173,6 +180,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -183,6 +192,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -197,8 +207,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof InvalidRequestException)
       return this.equals((InvalidRequestException)that);
     return false;
@@ -241,7 +249,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -254,14 +262,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -308,6 +320,7 @@
   }
 
   private static class InvalidRequestExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public InvalidRequestExceptionStandardScheme getScheme() {
       return new InvalidRequestExceptionStandardScheme();
     }
@@ -315,6 +328,7 @@
 
   private static class InvalidRequestExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<InvalidRequestException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, InvalidRequestException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -342,6 +356,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, InvalidRequestException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -358,6 +373,7 @@
   }
 
   private static class InvalidRequestExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public InvalidRequestExceptionTupleScheme getScheme() {
       return new InvalidRequestExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
index ddb83ad..8da271f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/LaunchValidationException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.error;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class LaunchValidationException extends org.apache.thrift.TException implements org.apache.thrift.TBase<LaunchValidationException, LaunchValidationException._Fields>, java.io.Serializable, Cloneable, Comparable<LaunchValidationException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LaunchValidationException");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new LaunchValidationExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new LaunchValidationExceptionTupleSchemeFactory();
 
-  private ValidationResults validationResult; // required
-  private java.lang.String errorMessage; // optional
+  private @org.apache.thrift.annotation.Nullable ValidationResults validationResult; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String errorMessage; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // VALIDATION_RESULT
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -133,6 +137,7 @@
     }
   }
 
+  @Override
   public LaunchValidationException deepCopy() {
     return new LaunchValidationException(this);
   }
@@ -143,11 +148,12 @@
     this.errorMessage = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ValidationResults getValidationResult() {
     return this.validationResult;
   }
 
-  public void setValidationResult(ValidationResults validationResult) {
+  public void setValidationResult(@org.apache.thrift.annotation.Nullable ValidationResults validationResult) {
     this.validationResult = validationResult;
   }
 
@@ -166,11 +172,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getErrorMessage() {
     return this.errorMessage;
   }
 
-  public void setErrorMessage(java.lang.String errorMessage) {
+  public void setErrorMessage(@org.apache.thrift.annotation.Nullable java.lang.String errorMessage) {
     this.errorMessage = errorMessage;
   }
 
@@ -189,7 +196,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case VALIDATION_RESULT:
       if (value == null) {
@@ -210,6 +218,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case VALIDATION_RESULT:
@@ -223,6 +233,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -239,8 +250,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof LaunchValidationException)
       return this.equals((LaunchValidationException)that);
     return false;
@@ -296,7 +305,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetValidationResult()).compareTo(other.isSetValidationResult());
+    lastComparison = java.lang.Boolean.compare(isSetValidationResult(), other.isSetValidationResult());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -306,7 +315,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrorMessage()).compareTo(other.isSetErrorMessage());
+    lastComparison = java.lang.Boolean.compare(isSetErrorMessage(), other.isSetErrorMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,14 +328,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -386,6 +399,7 @@
   }
 
   private static class LaunchValidationExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public LaunchValidationExceptionStandardScheme getScheme() {
       return new LaunchValidationExceptionStandardScheme();
     }
@@ -393,6 +407,7 @@
 
   private static class LaunchValidationExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<LaunchValidationException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, LaunchValidationException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -429,6 +444,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, LaunchValidationException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -452,6 +468,7 @@
   }
 
   private static class LaunchValidationExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public LaunchValidationExceptionTupleScheme getScheme() {
       return new LaunchValidationExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
index f0ca5d2..511c597 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ProjectNotFoundException.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * 1:  optional  string identifier,
  * 2:  optional  string key
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProjectNotFoundException extends org.apache.thrift.TException implements org.apache.thrift.TBase<ProjectNotFoundException, ProjectNotFoundException._Fields>, java.io.Serializable, Cloneable, Comparable<ProjectNotFoundException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProjectNotFoundException");
 
@@ -38,7 +38,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProjectNotFoundExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProjectNotFoundExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -55,6 +55,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -127,6 +131,7 @@
     }
   }
 
+  @Override
   public ProjectNotFoundException deepCopy() {
     return new ProjectNotFoundException(this);
   }
@@ -136,11 +141,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public void setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
   }
 
@@ -159,7 +165,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -172,6 +179,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -182,6 +191,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -196,8 +206,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProjectNotFoundException)
       return this.equals((ProjectNotFoundException)that);
     return false;
@@ -240,7 +248,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -253,14 +261,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -307,6 +319,7 @@
   }
 
   private static class ProjectNotFoundExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProjectNotFoundExceptionStandardScheme getScheme() {
       return new ProjectNotFoundExceptionStandardScheme();
     }
@@ -314,6 +327,7 @@
 
   private static class ProjectNotFoundExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProjectNotFoundException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProjectNotFoundException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -341,6 +355,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProjectNotFoundException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -357,6 +372,7 @@
   }
 
   private static class ProjectNotFoundExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProjectNotFoundExceptionTupleScheme getScheme() {
       return new ProjectNotFoundExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
index 33d95a0..05844fd 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/TimedOutException.java
@@ -16,18 +16,18 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.error;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown when RPC timeout gets exceeded.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TimedOutException extends org.apache.thrift.TException implements org.apache.thrift.TBase<TimedOutException, TimedOutException._Fields>, java.io.Serializable, Cloneable, Comparable<TimedOutException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TimedOutException");
 
@@ -51,6 +51,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         default:
@@ -71,6 +72,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -83,10 +85,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -107,6 +111,7 @@
   public TimedOutException(TimedOutException other) {
   }
 
+  @Override
   public TimedOutException deepCopy() {
     return new TimedOutException(this);
   }
@@ -115,11 +120,14 @@
   public void clear() {
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     }
@@ -127,6 +135,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -139,8 +148,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TimedOutException)
       return this.equals((TimedOutException)that);
     return false;
@@ -173,14 +180,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -216,6 +227,7 @@
   }
 
   private static class TimedOutExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TimedOutExceptionStandardScheme getScheme() {
       return new TimedOutExceptionStandardScheme();
     }
@@ -223,6 +235,7 @@
 
   private static class TimedOutExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<TimedOutException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TimedOutException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -242,6 +255,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TimedOutException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -253,6 +267,7 @@
   }
 
   private static class TimedOutExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TimedOutExceptionTupleScheme getScheme() {
       return new TimedOutExceptionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
index 0651523..fa303db 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidationResults.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.error;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ValidationResults implements org.apache.thrift.TBase<ValidationResults, ValidationResults._Fields>, java.io.Serializable, Cloneable, Comparable<ValidationResults> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidationResults");
 
@@ -35,7 +35,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ValidationResultsTupleSchemeFactory();
 
   private boolean validationState; // required
-  private java.util.List<ValidatorResult> validationResultList; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ValidatorResult> validationResultList; // 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 {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // VALIDATION_STATE
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -141,6 +145,7 @@
     }
   }
 
+  @Override
   public ValidationResults deepCopy() {
     return new ValidationResults(this);
   }
@@ -178,6 +183,7 @@
     return (this.validationResultList == null) ? 0 : this.validationResultList.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ValidatorResult> getValidationResultListIterator() {
     return (this.validationResultList == null) ? null : this.validationResultList.iterator();
   }
@@ -189,11 +195,12 @@
     this.validationResultList.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ValidatorResult> getValidationResultList() {
     return this.validationResultList;
   }
 
-  public void setValidationResultList(java.util.List<ValidatorResult> validationResultList) {
+  public void setValidationResultList(@org.apache.thrift.annotation.Nullable java.util.List<ValidatorResult> validationResultList) {
     this.validationResultList = validationResultList;
   }
 
@@ -212,7 +219,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case VALIDATION_STATE:
       if (value == null) {
@@ -233,6 +241,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case VALIDATION_STATE:
@@ -246,6 +256,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -262,8 +273,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ValidationResults)
       return this.equals((ValidationResults)that);
     return false;
@@ -317,7 +326,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetValidationState()).compareTo(other.isSetValidationState());
+    lastComparison = java.lang.Boolean.compare(isSetValidationState(), other.isSetValidationState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -327,7 +336,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValidationResultList()).compareTo(other.isSetValidationResultList());
+    lastComparison = java.lang.Boolean.compare(isSetValidationResultList(), other.isSetValidationResultList());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -340,14 +349,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -404,6 +417,7 @@
   }
 
   private static class ValidationResultsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidationResultsStandardScheme getScheme() {
       return new ValidationResultsStandardScheme();
     }
@@ -411,6 +425,7 @@
 
   private static class ValidationResultsStandardScheme extends org.apache.thrift.scheme.StandardScheme<ValidationResults> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ValidationResults struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -434,7 +449,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.validationResultList = new java.util.ArrayList<ValidatorResult>(_list0.size);
-                ValidatorResult _elem1;
+                @org.apache.thrift.annotation.Nullable ValidatorResult _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new ValidatorResult();
@@ -457,6 +472,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ValidationResults struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -483,6 +499,7 @@
   }
 
   private static class ValidationResultsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidationResultsTupleScheme getScheme() {
       return new ValidationResultsTupleScheme();
     }
@@ -509,9 +526,9 @@
       struct.validationState = iprot.readBool();
       struct.setValidationStateIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.validationResultList = new java.util.ArrayList<ValidatorResult>(_list5.size);
-        ValidatorResult _elem6;
+        @org.apache.thrift.annotation.Nullable ValidatorResult _elem6;
         for (int _i7 = 0; _i7 < _list5.size; ++_i7)
         {
           _elem6 = new ValidatorResult();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
index 94c18a7..70ff5a6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/error/ValidatorResult.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.error;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ValidatorResult implements org.apache.thrift.TBase<ValidatorResult, ValidatorResult._Fields>, java.io.Serializable, Cloneable, Comparable<ValidatorResult> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ValidatorResult");
 
@@ -35,7 +35,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ValidatorResultTupleSchemeFactory();
 
   private boolean result; // required
-  private java.lang.String errorDetails; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String errorDetails; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESULT
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -135,6 +139,7 @@
     }
   }
 
+  @Override
   public ValidatorResult deepCopy() {
     return new ValidatorResult(this);
   }
@@ -168,11 +173,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __RESULT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getErrorDetails() {
     return this.errorDetails;
   }
 
-  public void setErrorDetails(java.lang.String errorDetails) {
+  public void setErrorDetails(@org.apache.thrift.annotation.Nullable java.lang.String errorDetails) {
     this.errorDetails = errorDetails;
   }
 
@@ -191,7 +197,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESULT:
       if (value == null) {
@@ -212,6 +219,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESULT:
@@ -225,6 +234,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -241,8 +251,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ValidatorResult)
       return this.equals((ValidatorResult)that);
     return false;
@@ -296,7 +304,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResult()).compareTo(other.isSetResult());
+    lastComparison = java.lang.Boolean.compare(isSetResult(), other.isSetResult());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -306,7 +314,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrorDetails()).compareTo(other.isSetErrorDetails());
+    lastComparison = java.lang.Boolean.compare(isSetErrorDetails(), other.isSetErrorDetails());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,14 +327,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -381,6 +393,7 @@
   }
 
   private static class ValidatorResultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidatorResultStandardScheme getScheme() {
       return new ValidatorResultStandardScheme();
     }
@@ -388,6 +401,7 @@
 
   private static class ValidatorResultStandardScheme extends org.apache.thrift.scheme.StandardScheme<ValidatorResult> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ValidatorResult struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -423,6 +437,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ValidatorResult struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -444,6 +459,7 @@
   }
 
   private static class ValidatorResultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ValidatorResultTupleScheme getScheme() {
       return new ValidatorResultTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
index 6d9f40b..1a28835 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentModel.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.experiment;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * A structure holding the experiment metadata and its child models.
  * 
@@ -40,7 +39,8 @@
  * experimentDescription:
  *    The verbose description of the experiment. This is an optional parameter.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentModel implements org.apache.thrift.TBase<ExperimentModel, ExperimentModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentModel");
 
@@ -68,26 +68,26 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentModelTupleSchemeFactory();
 
-  private java.lang.String experimentId; // required
-  private java.lang.String projectId; // required
-  private java.lang.String gatewayId; // required
-  private ExperimentType experimentType; // required
-  private java.lang.String userName; // required
-  private java.lang.String experimentName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String projectId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable ExperimentType experimentType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentName; // required
   private long creationTime; // optional
-  private java.lang.String description; // optional
-  private java.lang.String executionId; // optional
-  private java.lang.String gatewayExecutionId; // optional
-  private java.lang.String gatewayInstanceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String executionId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayExecutionId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayInstanceId; // optional
   private boolean enableEmailNotification; // optional
-  private java.util.List<java.lang.String> emailAddresses; // optional
-  private UserConfigurationDataModel userConfigurationData; // optional
-  private java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs; // optional
-  private java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs; // optional
-  private java.util.List<org.apache.airavata.model.status.ExperimentStatus> experimentStatus; // optional
-  private java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
-  private java.util.List<org.apache.airavata.model.process.ProcessModel> processes; // optional
-  private org.apache.airavata.model.workflow.AiravataWorkflow workflow; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> emailAddresses; // optional
+  private @org.apache.thrift.annotation.Nullable UserConfigurationDataModel userConfigurationData; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.ExperimentStatus> experimentStatus; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> processes; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workflow.AiravataWorkflow workflow; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -127,6 +127,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EXPERIMENT_ID
@@ -187,6 +188,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -199,10 +201,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -374,6 +378,7 @@
     }
   }
 
+  @Override
   public ExperimentModel deepCopy() {
     return new ExperimentModel(this);
   }
@@ -406,11 +411,12 @@
     this.workflow = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -429,11 +435,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProjectId() {
     return this.projectId;
   }
 
-  public void setProjectId(java.lang.String projectId) {
+  public void setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
     this.projectId = projectId;
   }
 
@@ -452,11 +459,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -479,6 +487,7 @@
    * 
    * @see ExperimentType
    */
+  @org.apache.thrift.annotation.Nullable
   public ExperimentType getExperimentType() {
     return this.experimentType;
   }
@@ -487,7 +496,7 @@
    * 
    * @see ExperimentType
    */
-  public void setExperimentType(ExperimentType experimentType) {
+  public void setExperimentType(@org.apache.thrift.annotation.Nullable ExperimentType experimentType) {
     this.experimentType = experimentType;
   }
 
@@ -506,11 +515,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserName() {
     return this.userName;
   }
 
-  public void setUserName(java.lang.String userName) {
+  public void setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
     this.userName = userName;
   }
 
@@ -529,11 +539,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentName() {
     return this.experimentName;
   }
 
-  public void setExperimentName(java.lang.String experimentName) {
+  public void setExperimentName(@org.apache.thrift.annotation.Nullable java.lang.String experimentName) {
     this.experimentName = experimentName;
   }
 
@@ -574,11 +585,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -597,11 +609,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExecutionId() {
     return this.executionId;
   }
 
-  public void setExecutionId(java.lang.String executionId) {
+  public void setExecutionId(@org.apache.thrift.annotation.Nullable java.lang.String executionId) {
     this.executionId = executionId;
   }
 
@@ -620,11 +633,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayExecutionId() {
     return this.gatewayExecutionId;
   }
 
-  public void setGatewayExecutionId(java.lang.String gatewayExecutionId) {
+  public void setGatewayExecutionId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayExecutionId) {
     this.gatewayExecutionId = gatewayExecutionId;
   }
 
@@ -643,11 +657,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayInstanceId() {
     return this.gatewayInstanceId;
   }
 
-  public void setGatewayInstanceId(java.lang.String gatewayInstanceId) {
+  public void setGatewayInstanceId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayInstanceId) {
     this.gatewayInstanceId = gatewayInstanceId;
   }
 
@@ -692,6 +707,7 @@
     return (this.emailAddresses == null) ? 0 : this.emailAddresses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getEmailAddressesIterator() {
     return (this.emailAddresses == null) ? null : this.emailAddresses.iterator();
   }
@@ -703,11 +719,12 @@
     this.emailAddresses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getEmailAddresses() {
     return this.emailAddresses;
   }
 
-  public void setEmailAddresses(java.util.List<java.lang.String> emailAddresses) {
+  public void setEmailAddresses(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> emailAddresses) {
     this.emailAddresses = emailAddresses;
   }
 
@@ -726,11 +743,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public UserConfigurationDataModel getUserConfigurationData() {
     return this.userConfigurationData;
   }
 
-  public void setUserConfigurationData(UserConfigurationDataModel userConfigurationData) {
+  public void setUserConfigurationData(@org.apache.thrift.annotation.Nullable UserConfigurationDataModel userConfigurationData) {
     this.userConfigurationData = userConfigurationData;
   }
 
@@ -753,6 +771,7 @@
     return (this.experimentInputs == null) ? 0 : this.experimentInputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getExperimentInputsIterator() {
     return (this.experimentInputs == null) ? null : this.experimentInputs.iterator();
   }
@@ -764,11 +783,12 @@
     this.experimentInputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getExperimentInputs() {
     return this.experimentInputs;
   }
 
-  public void setExperimentInputs(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs) {
+  public void setExperimentInputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> experimentInputs) {
     this.experimentInputs = experimentInputs;
   }
 
@@ -791,6 +811,7 @@
     return (this.experimentOutputs == null) ? 0 : this.experimentOutputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputsIterator() {
     return (this.experimentOutputs == null) ? null : this.experimentOutputs.iterator();
   }
@@ -802,11 +823,12 @@
     this.experimentOutputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs() {
     return this.experimentOutputs;
   }
 
-  public void setExperimentOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs) {
+  public void setExperimentOutputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> experimentOutputs) {
     this.experimentOutputs = experimentOutputs;
   }
 
@@ -829,6 +851,7 @@
     return (this.experimentStatus == null) ? 0 : this.experimentStatus.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.status.ExperimentStatus> getExperimentStatusIterator() {
     return (this.experimentStatus == null) ? null : this.experimentStatus.iterator();
   }
@@ -840,11 +863,12 @@
     this.experimentStatus.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.status.ExperimentStatus> getExperimentStatus() {
     return this.experimentStatus;
   }
 
-  public void setExperimentStatus(java.util.List<org.apache.airavata.model.status.ExperimentStatus> experimentStatus) {
+  public void setExperimentStatus(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.ExperimentStatus> experimentStatus) {
     this.experimentStatus = experimentStatus;
   }
 
@@ -867,6 +891,7 @@
     return (this.errors == null) ? 0 : this.errors.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getErrorsIterator() {
     return (this.errors == null) ? null : this.errors.iterator();
   }
@@ -878,11 +903,12 @@
     this.errors.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.commons.ErrorModel> getErrors() {
     return this.errors;
   }
 
-  public void setErrors(java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
+  public void setErrors(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
     this.errors = errors;
   }
 
@@ -905,6 +931,7 @@
     return (this.processes == null) ? 0 : this.processes.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.process.ProcessModel> getProcessesIterator() {
     return (this.processes == null) ? null : this.processes.iterator();
   }
@@ -916,11 +943,12 @@
     this.processes.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.process.ProcessModel> getProcesses() {
     return this.processes;
   }
 
-  public void setProcesses(java.util.List<org.apache.airavata.model.process.ProcessModel> processes) {
+  public void setProcesses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> processes) {
     this.processes = processes;
   }
 
@@ -939,11 +967,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.workflow.AiravataWorkflow getWorkflow() {
     return this.workflow;
   }
 
-  public void setWorkflow(org.apache.airavata.model.workflow.AiravataWorkflow workflow) {
+  public void setWorkflow(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workflow.AiravataWorkflow workflow) {
     this.workflow = workflow;
   }
 
@@ -962,7 +991,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EXPERIMENT_ID:
       if (value == null) {
@@ -1127,6 +1157,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EXPERIMENT_ID:
@@ -1194,6 +1226,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1246,8 +1279,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentModel)
       return this.equals((ExperimentModel)that);
     return false;
@@ -1537,7 +1568,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1547,7 +1578,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+    lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1557,7 +1588,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1567,7 +1598,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentType()).compareTo(other.isSetExperimentType());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentType(), other.isSetExperimentType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1577,7 +1608,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+    lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1587,7 +1618,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentName()).compareTo(other.isSetExperimentName());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentName(), other.isSetExperimentName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1597,7 +1628,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1607,7 +1638,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1617,7 +1648,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExecutionId()).compareTo(other.isSetExecutionId());
+    lastComparison = java.lang.Boolean.compare(isSetExecutionId(), other.isSetExecutionId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1627,7 +1658,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayExecutionId()).compareTo(other.isSetGatewayExecutionId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayExecutionId(), other.isSetGatewayExecutionId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1637,7 +1668,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayInstanceId()).compareTo(other.isSetGatewayInstanceId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayInstanceId(), other.isSetGatewayInstanceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1647,7 +1678,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEnableEmailNotification()).compareTo(other.isSetEnableEmailNotification());
+    lastComparison = java.lang.Boolean.compare(isSetEnableEmailNotification(), other.isSetEnableEmailNotification());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1657,7 +1688,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmailAddresses()).compareTo(other.isSetEmailAddresses());
+    lastComparison = java.lang.Boolean.compare(isSetEmailAddresses(), other.isSetEmailAddresses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1667,7 +1698,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserConfigurationData()).compareTo(other.isSetUserConfigurationData());
+    lastComparison = java.lang.Boolean.compare(isSetUserConfigurationData(), other.isSetUserConfigurationData());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1677,7 +1708,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentInputs()).compareTo(other.isSetExperimentInputs());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentInputs(), other.isSetExperimentInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1687,7 +1718,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentOutputs()).compareTo(other.isSetExperimentOutputs());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentOutputs(), other.isSetExperimentOutputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1697,7 +1728,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentStatus()).compareTo(other.isSetExperimentStatus());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentStatus(), other.isSetExperimentStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1707,7 +1738,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors());
+    lastComparison = java.lang.Boolean.compare(isSetErrors(), other.isSetErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1717,7 +1748,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcesses()).compareTo(other.isSetProcesses());
+    lastComparison = java.lang.Boolean.compare(isSetProcesses(), other.isSetProcesses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1727,7 +1758,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWorkflow()).compareTo(other.isSetWorkflow());
+    lastComparison = java.lang.Boolean.compare(isSetWorkflow(), other.isSetWorkflow());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1740,14 +1771,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1994,6 +2029,7 @@
   }
 
   private static class ExperimentModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentModelStandardScheme getScheme() {
       return new ExperimentModelStandardScheme();
     }
@@ -2001,6 +2037,7 @@
 
   private static class ExperimentModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -2110,13 +2147,13 @@
           case 13: // EMAIL_ADDRESSES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
-                struct.emailAddresses = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
-                for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+                org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
+                struct.emailAddresses = new java.util.ArrayList<java.lang.String>(_list8.size);
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem9;
+                for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                 {
-                  _elem1 = iprot.readString();
-                  struct.emailAddresses.add(_elem1);
+                  _elem9 = iprot.readString();
+                  struct.emailAddresses.add(_elem9);
                 }
                 iprot.readListEnd();
               }
@@ -2137,14 +2174,14 @@
           case 15: // EXPERIMENT_INPUTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
-                struct.experimentInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list3.size);
-                org.apache.airavata.model.application.io.InputDataObjectType _elem4;
-                for (int _i5 = 0; _i5 < _list3.size; ++_i5)
+                org.apache.thrift.protocol.TList _list11 = iprot.readListBegin();
+                struct.experimentInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list11.size);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem12;
+                for (int _i13 = 0; _i13 < _list11.size; ++_i13)
                 {
-                  _elem4 = new org.apache.airavata.model.application.io.InputDataObjectType();
-                  _elem4.read(iprot);
-                  struct.experimentInputs.add(_elem4);
+                  _elem12 = new org.apache.airavata.model.application.io.InputDataObjectType();
+                  _elem12.read(iprot);
+                  struct.experimentInputs.add(_elem12);
                 }
                 iprot.readListEnd();
               }
@@ -2156,14 +2193,14 @@
           case 16: // EXPERIMENT_OUTPUTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
-                struct.experimentOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list6.size);
-                org.apache.airavata.model.application.io.OutputDataObjectType _elem7;
-                for (int _i8 = 0; _i8 < _list6.size; ++_i8)
+                org.apache.thrift.protocol.TList _list14 = iprot.readListBegin();
+                struct.experimentOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list14.size);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem15;
+                for (int _i16 = 0; _i16 < _list14.size; ++_i16)
                 {
-                  _elem7 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-                  _elem7.read(iprot);
-                  struct.experimentOutputs.add(_elem7);
+                  _elem15 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+                  _elem15.read(iprot);
+                  struct.experimentOutputs.add(_elem15);
                 }
                 iprot.readListEnd();
               }
@@ -2175,14 +2212,14 @@
           case 17: // EXPERIMENT_STATUS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
-                struct.experimentStatus = new java.util.ArrayList<org.apache.airavata.model.status.ExperimentStatus>(_list9.size);
-                org.apache.airavata.model.status.ExperimentStatus _elem10;
-                for (int _i11 = 0; _i11 < _list9.size; ++_i11)
+                org.apache.thrift.protocol.TList _list17 = iprot.readListBegin();
+                struct.experimentStatus = new java.util.ArrayList<org.apache.airavata.model.status.ExperimentStatus>(_list17.size);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus _elem18;
+                for (int _i19 = 0; _i19 < _list17.size; ++_i19)
                 {
-                  _elem10 = new org.apache.airavata.model.status.ExperimentStatus();
-                  _elem10.read(iprot);
-                  struct.experimentStatus.add(_elem10);
+                  _elem18 = new org.apache.airavata.model.status.ExperimentStatus();
+                  _elem18.read(iprot);
+                  struct.experimentStatus.add(_elem18);
                 }
                 iprot.readListEnd();
               }
@@ -2194,14 +2231,14 @@
           case 18: // ERRORS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list12 = iprot.readListBegin();
-                struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list12.size);
-                org.apache.airavata.model.commons.ErrorModel _elem13;
-                for (int _i14 = 0; _i14 < _list12.size; ++_i14)
+                org.apache.thrift.protocol.TList _list20 = iprot.readListBegin();
+                struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list20.size);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem21;
+                for (int _i22 = 0; _i22 < _list20.size; ++_i22)
                 {
-                  _elem13 = new org.apache.airavata.model.commons.ErrorModel();
-                  _elem13.read(iprot);
-                  struct.errors.add(_elem13);
+                  _elem21 = new org.apache.airavata.model.commons.ErrorModel();
+                  _elem21.read(iprot);
+                  struct.errors.add(_elem21);
                 }
                 iprot.readListEnd();
               }
@@ -2213,14 +2250,14 @@
           case 19: // PROCESSES
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list15 = iprot.readListBegin();
-                struct.processes = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list15.size);
-                org.apache.airavata.model.process.ProcessModel _elem16;
-                for (int _i17 = 0; _i17 < _list15.size; ++_i17)
+                org.apache.thrift.protocol.TList _list23 = iprot.readListBegin();
+                struct.processes = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list23.size);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem24;
+                for (int _i25 = 0; _i25 < _list23.size; ++_i25)
                 {
-                  _elem16 = new org.apache.airavata.model.process.ProcessModel();
-                  _elem16.read(iprot);
-                  struct.processes.add(_elem16);
+                  _elem24 = new org.apache.airavata.model.process.ProcessModel();
+                  _elem24.read(iprot);
+                  struct.processes.add(_elem24);
                 }
                 iprot.readListEnd();
               }
@@ -2247,6 +2284,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2324,9 +2362,9 @@
           oprot.writeFieldBegin(EMAIL_ADDRESSES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.emailAddresses.size()));
-            for (java.lang.String _iter18 : struct.emailAddresses)
+            for (java.lang.String _iter26 : struct.emailAddresses)
             {
-              oprot.writeString(_iter18);
+              oprot.writeString(_iter26);
             }
             oprot.writeListEnd();
           }
@@ -2345,9 +2383,9 @@
           oprot.writeFieldBegin(EXPERIMENT_INPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentInputs.size()));
-            for (org.apache.airavata.model.application.io.InputDataObjectType _iter19 : struct.experimentInputs)
+            for (org.apache.airavata.model.application.io.InputDataObjectType _iter27 : struct.experimentInputs)
             {
-              _iter19.write(oprot);
+              _iter27.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2359,9 +2397,9 @@
           oprot.writeFieldBegin(EXPERIMENT_OUTPUTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentOutputs.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter20 : struct.experimentOutputs)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter28 : struct.experimentOutputs)
             {
-              _iter20.write(oprot);
+              _iter28.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2373,9 +2411,9 @@
           oprot.writeFieldBegin(EXPERIMENT_STATUS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.experimentStatus.size()));
-            for (org.apache.airavata.model.status.ExperimentStatus _iter21 : struct.experimentStatus)
+            for (org.apache.airavata.model.status.ExperimentStatus _iter29 : struct.experimentStatus)
             {
-              _iter21.write(oprot);
+              _iter29.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2387,9 +2425,9 @@
           oprot.writeFieldBegin(ERRORS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.errors.size()));
-            for (org.apache.airavata.model.commons.ErrorModel _iter22 : struct.errors)
+            for (org.apache.airavata.model.commons.ErrorModel _iter30 : struct.errors)
             {
-              _iter22.write(oprot);
+              _iter30.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2401,9 +2439,9 @@
           oprot.writeFieldBegin(PROCESSES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.processes.size()));
-            for (org.apache.airavata.model.process.ProcessModel _iter23 : struct.processes)
+            for (org.apache.airavata.model.process.ProcessModel _iter31 : struct.processes)
             {
-              _iter23.write(oprot);
+              _iter31.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -2424,6 +2462,7 @@
   }
 
   private static class ExperimentModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentModelTupleScheme getScheme() {
       return new ExperimentModelTupleScheme();
     }
@@ -2505,9 +2544,9 @@
       if (struct.isSetEmailAddresses()) {
         {
           oprot.writeI32(struct.emailAddresses.size());
-          for (java.lang.String _iter24 : struct.emailAddresses)
+          for (java.lang.String _iter32 : struct.emailAddresses)
           {
-            oprot.writeString(_iter24);
+            oprot.writeString(_iter32);
           }
         }
       }
@@ -2517,45 +2556,45 @@
       if (struct.isSetExperimentInputs()) {
         {
           oprot.writeI32(struct.experimentInputs.size());
-          for (org.apache.airavata.model.application.io.InputDataObjectType _iter25 : struct.experimentInputs)
+          for (org.apache.airavata.model.application.io.InputDataObjectType _iter33 : struct.experimentInputs)
           {
-            _iter25.write(oprot);
+            _iter33.write(oprot);
           }
         }
       }
       if (struct.isSetExperimentOutputs()) {
         {
           oprot.writeI32(struct.experimentOutputs.size());
-          for (org.apache.airavata.model.application.io.OutputDataObjectType _iter26 : struct.experimentOutputs)
+          for (org.apache.airavata.model.application.io.OutputDataObjectType _iter34 : struct.experimentOutputs)
           {
-            _iter26.write(oprot);
+            _iter34.write(oprot);
           }
         }
       }
       if (struct.isSetExperimentStatus()) {
         {
           oprot.writeI32(struct.experimentStatus.size());
-          for (org.apache.airavata.model.status.ExperimentStatus _iter27 : struct.experimentStatus)
+          for (org.apache.airavata.model.status.ExperimentStatus _iter35 : struct.experimentStatus)
           {
-            _iter27.write(oprot);
+            _iter35.write(oprot);
           }
         }
       }
       if (struct.isSetErrors()) {
         {
           oprot.writeI32(struct.errors.size());
-          for (org.apache.airavata.model.commons.ErrorModel _iter28 : struct.errors)
+          for (org.apache.airavata.model.commons.ErrorModel _iter36 : struct.errors)
           {
-            _iter28.write(oprot);
+            _iter36.write(oprot);
           }
         }
       }
       if (struct.isSetProcesses()) {
         {
           oprot.writeI32(struct.processes.size());
-          for (org.apache.airavata.model.process.ProcessModel _iter29 : struct.processes)
+          for (org.apache.airavata.model.process.ProcessModel _iter37 : struct.processes)
           {
-            _iter29.write(oprot);
+            _iter37.write(oprot);
           }
         }
       }
@@ -2606,13 +2645,13 @@
       }
       if (incoming.get(6)) {
         {
-          org.apache.thrift.protocol.TList _list30 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.emailAddresses = new java.util.ArrayList<java.lang.String>(_list30.size);
-          java.lang.String _elem31;
-          for (int _i32 = 0; _i32 < _list30.size; ++_i32)
+          org.apache.thrift.protocol.TList _list38 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.emailAddresses = new java.util.ArrayList<java.lang.String>(_list38.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem39;
+          for (int _i40 = 0; _i40 < _list38.size; ++_i40)
           {
-            _elem31 = iprot.readString();
-            struct.emailAddresses.add(_elem31);
+            _elem39 = iprot.readString();
+            struct.emailAddresses.add(_elem39);
           }
         }
         struct.setEmailAddressesIsSet(true);
@@ -2624,70 +2663,70 @@
       }
       if (incoming.get(8)) {
         {
-          org.apache.thrift.protocol.TList _list33 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.experimentInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list33.size);
-          org.apache.airavata.model.application.io.InputDataObjectType _elem34;
-          for (int _i35 = 0; _i35 < _list33.size; ++_i35)
+          org.apache.thrift.protocol.TList _list41 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.experimentInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list41.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem42;
+          for (int _i43 = 0; _i43 < _list41.size; ++_i43)
           {
-            _elem34 = new org.apache.airavata.model.application.io.InputDataObjectType();
-            _elem34.read(iprot);
-            struct.experimentInputs.add(_elem34);
+            _elem42 = new org.apache.airavata.model.application.io.InputDataObjectType();
+            _elem42.read(iprot);
+            struct.experimentInputs.add(_elem42);
           }
         }
         struct.setExperimentInputsIsSet(true);
       }
       if (incoming.get(9)) {
         {
-          org.apache.thrift.protocol.TList _list36 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.experimentOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list36.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem37;
-          for (int _i38 = 0; _i38 < _list36.size; ++_i38)
+          org.apache.thrift.protocol.TList _list44 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.experimentOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list44.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem45;
+          for (int _i46 = 0; _i46 < _list44.size; ++_i46)
           {
-            _elem37 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-            _elem37.read(iprot);
-            struct.experimentOutputs.add(_elem37);
+            _elem45 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+            _elem45.read(iprot);
+            struct.experimentOutputs.add(_elem45);
           }
         }
         struct.setExperimentOutputsIsSet(true);
       }
       if (incoming.get(10)) {
         {
-          org.apache.thrift.protocol.TList _list39 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.experimentStatus = new java.util.ArrayList<org.apache.airavata.model.status.ExperimentStatus>(_list39.size);
-          org.apache.airavata.model.status.ExperimentStatus _elem40;
-          for (int _i41 = 0; _i41 < _list39.size; ++_i41)
+          org.apache.thrift.protocol.TList _list47 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.experimentStatus = new java.util.ArrayList<org.apache.airavata.model.status.ExperimentStatus>(_list47.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus _elem48;
+          for (int _i49 = 0; _i49 < _list47.size; ++_i49)
           {
-            _elem40 = new org.apache.airavata.model.status.ExperimentStatus();
-            _elem40.read(iprot);
-            struct.experimentStatus.add(_elem40);
+            _elem48 = new org.apache.airavata.model.status.ExperimentStatus();
+            _elem48.read(iprot);
+            struct.experimentStatus.add(_elem48);
           }
         }
         struct.setExperimentStatusIsSet(true);
       }
       if (incoming.get(11)) {
         {
-          org.apache.thrift.protocol.TList _list42 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list42.size);
-          org.apache.airavata.model.commons.ErrorModel _elem43;
-          for (int _i44 = 0; _i44 < _list42.size; ++_i44)
+          org.apache.thrift.protocol.TList _list50 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list50.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem51;
+          for (int _i52 = 0; _i52 < _list50.size; ++_i52)
           {
-            _elem43 = new org.apache.airavata.model.commons.ErrorModel();
-            _elem43.read(iprot);
-            struct.errors.add(_elem43);
+            _elem51 = new org.apache.airavata.model.commons.ErrorModel();
+            _elem51.read(iprot);
+            struct.errors.add(_elem51);
           }
         }
         struct.setErrorsIsSet(true);
       }
       if (incoming.get(12)) {
         {
-          org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.processes = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list45.size);
-          org.apache.airavata.model.process.ProcessModel _elem46;
-          for (int _i47 = 0; _i47 < _list45.size; ++_i47)
+          org.apache.thrift.protocol.TList _list53 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.processes = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list53.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem54;
+          for (int _i55 = 0; _i55 < _list53.size; ++_i55)
           {
-            _elem46 = new org.apache.airavata.model.process.ProcessModel();
-            _elem46.read(iprot);
-            struct.processes.add(_elem46);
+            _elem54 = new org.apache.airavata.model.process.ProcessModel();
+            _elem54.read(iprot);
+            struct.processes.add(_elem54);
           }
         }
         struct.setProcessesIsSet(true);
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
index 9bb4eee..0d950aa 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSearchFields.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.experiment;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ExperimentSearchFields implements org.apache.thrift.TEnum {
   EXPERIMENT_NAME(0),
   EXPERIMENT_DESC(1),
@@ -48,6 +45,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -56,6 +54,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ExperimentSearchFields findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
index 54e7c2a..5bd1dbb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentStatistics.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.experiment;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentStatistics implements org.apache.thrift.TBase<ExperimentStatistics, ExperimentStatistics._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatistics> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatistics");
 
@@ -50,12 +50,12 @@
   private int failedExperimentCount; // required
   private int createdExperimentCount; // required
   private int runningExperimentCount; // required
-  private java.util.List<ExperimentSummaryModel> allExperiments; // required
-  private java.util.List<ExperimentSummaryModel> completedExperiments; // optional
-  private java.util.List<ExperimentSummaryModel> failedExperiments; // optional
-  private java.util.List<ExperimentSummaryModel> cancelledExperiments; // optional
-  private java.util.List<ExperimentSummaryModel> createdExperiments; // optional
-  private java.util.List<ExperimentSummaryModel> runningExperiments; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> allExperiments; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> completedExperiments; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> failedExperiments; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> cancelledExperiments; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> createdExperiments; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> runningExperiments; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -83,6 +83,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ALL_EXPERIMENT_COUNT
@@ -127,6 +128,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -139,10 +141,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -274,6 +278,7 @@
     }
   }
 
+  @Override
   public ExperimentStatistics deepCopy() {
     return new ExperimentStatistics(this);
   }
@@ -436,6 +441,7 @@
     return (this.allExperiments == null) ? 0 : this.allExperiments.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ExperimentSummaryModel> getAllExperimentsIterator() {
     return (this.allExperiments == null) ? null : this.allExperiments.iterator();
   }
@@ -447,11 +453,12 @@
     this.allExperiments.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ExperimentSummaryModel> getAllExperiments() {
     return this.allExperiments;
   }
 
-  public void setAllExperiments(java.util.List<ExperimentSummaryModel> allExperiments) {
+  public void setAllExperiments(@org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> allExperiments) {
     this.allExperiments = allExperiments;
   }
 
@@ -474,6 +481,7 @@
     return (this.completedExperiments == null) ? 0 : this.completedExperiments.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ExperimentSummaryModel> getCompletedExperimentsIterator() {
     return (this.completedExperiments == null) ? null : this.completedExperiments.iterator();
   }
@@ -485,11 +493,12 @@
     this.completedExperiments.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ExperimentSummaryModel> getCompletedExperiments() {
     return this.completedExperiments;
   }
 
-  public void setCompletedExperiments(java.util.List<ExperimentSummaryModel> completedExperiments) {
+  public void setCompletedExperiments(@org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> completedExperiments) {
     this.completedExperiments = completedExperiments;
   }
 
@@ -512,6 +521,7 @@
     return (this.failedExperiments == null) ? 0 : this.failedExperiments.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ExperimentSummaryModel> getFailedExperimentsIterator() {
     return (this.failedExperiments == null) ? null : this.failedExperiments.iterator();
   }
@@ -523,11 +533,12 @@
     this.failedExperiments.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ExperimentSummaryModel> getFailedExperiments() {
     return this.failedExperiments;
   }
 
-  public void setFailedExperiments(java.util.List<ExperimentSummaryModel> failedExperiments) {
+  public void setFailedExperiments(@org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> failedExperiments) {
     this.failedExperiments = failedExperiments;
   }
 
@@ -550,6 +561,7 @@
     return (this.cancelledExperiments == null) ? 0 : this.cancelledExperiments.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ExperimentSummaryModel> getCancelledExperimentsIterator() {
     return (this.cancelledExperiments == null) ? null : this.cancelledExperiments.iterator();
   }
@@ -561,11 +573,12 @@
     this.cancelledExperiments.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ExperimentSummaryModel> getCancelledExperiments() {
     return this.cancelledExperiments;
   }
 
-  public void setCancelledExperiments(java.util.List<ExperimentSummaryModel> cancelledExperiments) {
+  public void setCancelledExperiments(@org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> cancelledExperiments) {
     this.cancelledExperiments = cancelledExperiments;
   }
 
@@ -588,6 +601,7 @@
     return (this.createdExperiments == null) ? 0 : this.createdExperiments.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ExperimentSummaryModel> getCreatedExperimentsIterator() {
     return (this.createdExperiments == null) ? null : this.createdExperiments.iterator();
   }
@@ -599,11 +613,12 @@
     this.createdExperiments.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ExperimentSummaryModel> getCreatedExperiments() {
     return this.createdExperiments;
   }
 
-  public void setCreatedExperiments(java.util.List<ExperimentSummaryModel> createdExperiments) {
+  public void setCreatedExperiments(@org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> createdExperiments) {
     this.createdExperiments = createdExperiments;
   }
 
@@ -626,6 +641,7 @@
     return (this.runningExperiments == null) ? 0 : this.runningExperiments.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ExperimentSummaryModel> getRunningExperimentsIterator() {
     return (this.runningExperiments == null) ? null : this.runningExperiments.iterator();
   }
@@ -637,11 +653,12 @@
     this.runningExperiments.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ExperimentSummaryModel> getRunningExperiments() {
     return this.runningExperiments;
   }
 
-  public void setRunningExperiments(java.util.List<ExperimentSummaryModel> runningExperiments) {
+  public void setRunningExperiments(@org.apache.thrift.annotation.Nullable java.util.List<ExperimentSummaryModel> runningExperiments) {
     this.runningExperiments = runningExperiments;
   }
 
@@ -660,7 +677,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ALL_EXPERIMENT_COUNT:
       if (value == null) {
@@ -761,6 +779,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ALL_EXPERIMENT_COUNT:
@@ -804,6 +824,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -840,8 +861,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentStatistics)
       return this.equals((ExperimentStatistics)that);
     return false;
@@ -1017,7 +1036,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAllExperimentCount()).compareTo(other.isSetAllExperimentCount());
+    lastComparison = java.lang.Boolean.compare(isSetAllExperimentCount(), other.isSetAllExperimentCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1027,7 +1046,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCompletedExperimentCount()).compareTo(other.isSetCompletedExperimentCount());
+    lastComparison = java.lang.Boolean.compare(isSetCompletedExperimentCount(), other.isSetCompletedExperimentCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1037,7 +1056,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCancelledExperimentCount()).compareTo(other.isSetCancelledExperimentCount());
+    lastComparison = java.lang.Boolean.compare(isSetCancelledExperimentCount(), other.isSetCancelledExperimentCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1047,7 +1066,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFailedExperimentCount()).compareTo(other.isSetFailedExperimentCount());
+    lastComparison = java.lang.Boolean.compare(isSetFailedExperimentCount(), other.isSetFailedExperimentCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1057,7 +1076,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedExperimentCount()).compareTo(other.isSetCreatedExperimentCount());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedExperimentCount(), other.isSetCreatedExperimentCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1067,7 +1086,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRunningExperimentCount()).compareTo(other.isSetRunningExperimentCount());
+    lastComparison = java.lang.Boolean.compare(isSetRunningExperimentCount(), other.isSetRunningExperimentCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1077,7 +1096,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAllExperiments()).compareTo(other.isSetAllExperiments());
+    lastComparison = java.lang.Boolean.compare(isSetAllExperiments(), other.isSetAllExperiments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1087,7 +1106,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCompletedExperiments()).compareTo(other.isSetCompletedExperiments());
+    lastComparison = java.lang.Boolean.compare(isSetCompletedExperiments(), other.isSetCompletedExperiments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1097,7 +1116,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFailedExperiments()).compareTo(other.isSetFailedExperiments());
+    lastComparison = java.lang.Boolean.compare(isSetFailedExperiments(), other.isSetFailedExperiments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1107,7 +1126,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCancelledExperiments()).compareTo(other.isSetCancelledExperiments());
+    lastComparison = java.lang.Boolean.compare(isSetCancelledExperiments(), other.isSetCancelledExperiments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1117,7 +1136,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedExperiments()).compareTo(other.isSetCreatedExperiments());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedExperiments(), other.isSetCreatedExperiments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1127,7 +1146,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRunningExperiments()).compareTo(other.isSetRunningExperiments());
+    lastComparison = java.lang.Boolean.compare(isSetRunningExperiments(), other.isSetRunningExperiments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1140,14 +1159,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1292,6 +1315,7 @@
   }
 
   private static class ExperimentStatisticsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentStatisticsStandardScheme getScheme() {
       return new ExperimentStatisticsStandardScheme();
     }
@@ -1299,6 +1323,7 @@
 
   private static class ExperimentStatisticsStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentStatistics> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentStatistics struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1360,14 +1385,14 @@
           case 7: // ALL_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list48 = iprot.readListBegin();
-                struct.allExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list48.size);
-                ExperimentSummaryModel _elem49;
-                for (int _i50 = 0; _i50 < _list48.size; ++_i50)
+                org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
+                struct.allExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list56.size);
+                @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem57;
+                for (int _i58 = 0; _i58 < _list56.size; ++_i58)
                 {
-                  _elem49 = new ExperimentSummaryModel();
-                  _elem49.read(iprot);
-                  struct.allExperiments.add(_elem49);
+                  _elem57 = new ExperimentSummaryModel();
+                  _elem57.read(iprot);
+                  struct.allExperiments.add(_elem57);
                 }
                 iprot.readListEnd();
               }
@@ -1379,14 +1404,14 @@
           case 8: // COMPLETED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list51 = iprot.readListBegin();
-                struct.completedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list51.size);
-                ExperimentSummaryModel _elem52;
-                for (int _i53 = 0; _i53 < _list51.size; ++_i53)
+                org.apache.thrift.protocol.TList _list59 = iprot.readListBegin();
+                struct.completedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list59.size);
+                @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem60;
+                for (int _i61 = 0; _i61 < _list59.size; ++_i61)
                 {
-                  _elem52 = new ExperimentSummaryModel();
-                  _elem52.read(iprot);
-                  struct.completedExperiments.add(_elem52);
+                  _elem60 = new ExperimentSummaryModel();
+                  _elem60.read(iprot);
+                  struct.completedExperiments.add(_elem60);
                 }
                 iprot.readListEnd();
               }
@@ -1398,14 +1423,14 @@
           case 9: // FAILED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list54 = iprot.readListBegin();
-                struct.failedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list54.size);
-                ExperimentSummaryModel _elem55;
-                for (int _i56 = 0; _i56 < _list54.size; ++_i56)
+                org.apache.thrift.protocol.TList _list62 = iprot.readListBegin();
+                struct.failedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list62.size);
+                @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem63;
+                for (int _i64 = 0; _i64 < _list62.size; ++_i64)
                 {
-                  _elem55 = new ExperimentSummaryModel();
-                  _elem55.read(iprot);
-                  struct.failedExperiments.add(_elem55);
+                  _elem63 = new ExperimentSummaryModel();
+                  _elem63.read(iprot);
+                  struct.failedExperiments.add(_elem63);
                 }
                 iprot.readListEnd();
               }
@@ -1417,14 +1442,14 @@
           case 10: // CANCELLED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list57 = iprot.readListBegin();
-                struct.cancelledExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list57.size);
-                ExperimentSummaryModel _elem58;
-                for (int _i59 = 0; _i59 < _list57.size; ++_i59)
+                org.apache.thrift.protocol.TList _list65 = iprot.readListBegin();
+                struct.cancelledExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list65.size);
+                @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem66;
+                for (int _i67 = 0; _i67 < _list65.size; ++_i67)
                 {
-                  _elem58 = new ExperimentSummaryModel();
-                  _elem58.read(iprot);
-                  struct.cancelledExperiments.add(_elem58);
+                  _elem66 = new ExperimentSummaryModel();
+                  _elem66.read(iprot);
+                  struct.cancelledExperiments.add(_elem66);
                 }
                 iprot.readListEnd();
               }
@@ -1436,14 +1461,14 @@
           case 11: // CREATED_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list60 = iprot.readListBegin();
-                struct.createdExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list60.size);
-                ExperimentSummaryModel _elem61;
-                for (int _i62 = 0; _i62 < _list60.size; ++_i62)
+                org.apache.thrift.protocol.TList _list68 = iprot.readListBegin();
+                struct.createdExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list68.size);
+                @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem69;
+                for (int _i70 = 0; _i70 < _list68.size; ++_i70)
                 {
-                  _elem61 = new ExperimentSummaryModel();
-                  _elem61.read(iprot);
-                  struct.createdExperiments.add(_elem61);
+                  _elem69 = new ExperimentSummaryModel();
+                  _elem69.read(iprot);
+                  struct.createdExperiments.add(_elem69);
                 }
                 iprot.readListEnd();
               }
@@ -1455,14 +1480,14 @@
           case 12: // RUNNING_EXPERIMENTS
             if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
               {
-                org.apache.thrift.protocol.TList _list63 = iprot.readListBegin();
-                struct.runningExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list63.size);
-                ExperimentSummaryModel _elem64;
-                for (int _i65 = 0; _i65 < _list63.size; ++_i65)
+                org.apache.thrift.protocol.TList _list71 = iprot.readListBegin();
+                struct.runningExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list71.size);
+                @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem72;
+                for (int _i73 = 0; _i73 < _list71.size; ++_i73)
                 {
-                  _elem64 = new ExperimentSummaryModel();
-                  _elem64.read(iprot);
-                  struct.runningExperiments.add(_elem64);
+                  _elem72 = new ExperimentSummaryModel();
+                  _elem72.read(iprot);
+                  struct.runningExperiments.add(_elem72);
                 }
                 iprot.readListEnd();
               }
@@ -1480,6 +1505,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentStatistics struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1508,9 +1534,9 @@
         oprot.writeFieldBegin(ALL_EXPERIMENTS_FIELD_DESC);
         {
           oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.allExperiments.size()));
-          for (ExperimentSummaryModel _iter66 : struct.allExperiments)
+          for (ExperimentSummaryModel _iter74 : struct.allExperiments)
           {
-            _iter66.write(oprot);
+            _iter74.write(oprot);
           }
           oprot.writeListEnd();
         }
@@ -1521,9 +1547,9 @@
           oprot.writeFieldBegin(COMPLETED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.completedExperiments.size()));
-            for (ExperimentSummaryModel _iter67 : struct.completedExperiments)
+            for (ExperimentSummaryModel _iter75 : struct.completedExperiments)
             {
-              _iter67.write(oprot);
+              _iter75.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1535,9 +1561,9 @@
           oprot.writeFieldBegin(FAILED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.failedExperiments.size()));
-            for (ExperimentSummaryModel _iter68 : struct.failedExperiments)
+            for (ExperimentSummaryModel _iter76 : struct.failedExperiments)
             {
-              _iter68.write(oprot);
+              _iter76.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1549,9 +1575,9 @@
           oprot.writeFieldBegin(CANCELLED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.cancelledExperiments.size()));
-            for (ExperimentSummaryModel _iter69 : struct.cancelledExperiments)
+            for (ExperimentSummaryModel _iter77 : struct.cancelledExperiments)
             {
-              _iter69.write(oprot);
+              _iter77.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1563,9 +1589,9 @@
           oprot.writeFieldBegin(CREATED_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.createdExperiments.size()));
-            for (ExperimentSummaryModel _iter70 : struct.createdExperiments)
+            for (ExperimentSummaryModel _iter78 : struct.createdExperiments)
             {
-              _iter70.write(oprot);
+              _iter78.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1577,9 +1603,9 @@
           oprot.writeFieldBegin(RUNNING_EXPERIMENTS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.runningExperiments.size()));
-            for (ExperimentSummaryModel _iter71 : struct.runningExperiments)
+            for (ExperimentSummaryModel _iter79 : struct.runningExperiments)
             {
-              _iter71.write(oprot);
+              _iter79.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -1593,6 +1619,7 @@
   }
 
   private static class ExperimentStatisticsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentStatisticsTupleScheme getScheme() {
       return new ExperimentStatisticsTupleScheme();
     }
@@ -1610,9 +1637,9 @@
       oprot.writeI32(struct.runningExperimentCount);
       {
         oprot.writeI32(struct.allExperiments.size());
-        for (ExperimentSummaryModel _iter72 : struct.allExperiments)
+        for (ExperimentSummaryModel _iter80 : struct.allExperiments)
         {
-          _iter72.write(oprot);
+          _iter80.write(oprot);
         }
       }
       java.util.BitSet optionals = new java.util.BitSet();
@@ -1641,45 +1668,45 @@
       if (struct.isSetCompletedExperiments()) {
         {
           oprot.writeI32(struct.completedExperiments.size());
-          for (ExperimentSummaryModel _iter73 : struct.completedExperiments)
+          for (ExperimentSummaryModel _iter81 : struct.completedExperiments)
           {
-            _iter73.write(oprot);
+            _iter81.write(oprot);
           }
         }
       }
       if (struct.isSetFailedExperiments()) {
         {
           oprot.writeI32(struct.failedExperiments.size());
-          for (ExperimentSummaryModel _iter74 : struct.failedExperiments)
+          for (ExperimentSummaryModel _iter82 : struct.failedExperiments)
           {
-            _iter74.write(oprot);
+            _iter82.write(oprot);
           }
         }
       }
       if (struct.isSetCancelledExperiments()) {
         {
           oprot.writeI32(struct.cancelledExperiments.size());
-          for (ExperimentSummaryModel _iter75 : struct.cancelledExperiments)
+          for (ExperimentSummaryModel _iter83 : struct.cancelledExperiments)
           {
-            _iter75.write(oprot);
+            _iter83.write(oprot);
           }
         }
       }
       if (struct.isSetCreatedExperiments()) {
         {
           oprot.writeI32(struct.createdExperiments.size());
-          for (ExperimentSummaryModel _iter76 : struct.createdExperiments)
+          for (ExperimentSummaryModel _iter84 : struct.createdExperiments)
           {
-            _iter76.write(oprot);
+            _iter84.write(oprot);
           }
         }
       }
       if (struct.isSetRunningExperiments()) {
         {
           oprot.writeI32(struct.runningExperiments.size());
-          for (ExperimentSummaryModel _iter77 : struct.runningExperiments)
+          for (ExperimentSummaryModel _iter85 : struct.runningExperiments)
           {
-            _iter77.write(oprot);
+            _iter85.write(oprot);
           }
         }
       }
@@ -1699,14 +1726,14 @@
       struct.runningExperimentCount = iprot.readI32();
       struct.setRunningExperimentCountIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list78 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-        struct.allExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list78.size);
-        ExperimentSummaryModel _elem79;
-        for (int _i80 = 0; _i80 < _list78.size; ++_i80)
+        org.apache.thrift.protocol.TList _list86 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+        struct.allExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list86.size);
+        @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem87;
+        for (int _i88 = 0; _i88 < _list86.size; ++_i88)
         {
-          _elem79 = new ExperimentSummaryModel();
-          _elem79.read(iprot);
-          struct.allExperiments.add(_elem79);
+          _elem87 = new ExperimentSummaryModel();
+          _elem87.read(iprot);
+          struct.allExperiments.add(_elem87);
         }
       }
       struct.setAllExperimentsIsSet(true);
@@ -1717,70 +1744,70 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list81 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.completedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list81.size);
-          ExperimentSummaryModel _elem82;
-          for (int _i83 = 0; _i83 < _list81.size; ++_i83)
+          org.apache.thrift.protocol.TList _list89 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.completedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list89.size);
+          @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem90;
+          for (int _i91 = 0; _i91 < _list89.size; ++_i91)
           {
-            _elem82 = new ExperimentSummaryModel();
-            _elem82.read(iprot);
-            struct.completedExperiments.add(_elem82);
+            _elem90 = new ExperimentSummaryModel();
+            _elem90.read(iprot);
+            struct.completedExperiments.add(_elem90);
           }
         }
         struct.setCompletedExperimentsIsSet(true);
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list84 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.failedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list84.size);
-          ExperimentSummaryModel _elem85;
-          for (int _i86 = 0; _i86 < _list84.size; ++_i86)
+          org.apache.thrift.protocol.TList _list92 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.failedExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list92.size);
+          @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem93;
+          for (int _i94 = 0; _i94 < _list92.size; ++_i94)
           {
-            _elem85 = new ExperimentSummaryModel();
-            _elem85.read(iprot);
-            struct.failedExperiments.add(_elem85);
+            _elem93 = new ExperimentSummaryModel();
+            _elem93.read(iprot);
+            struct.failedExperiments.add(_elem93);
           }
         }
         struct.setFailedExperimentsIsSet(true);
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list87 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.cancelledExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list87.size);
-          ExperimentSummaryModel _elem88;
-          for (int _i89 = 0; _i89 < _list87.size; ++_i89)
+          org.apache.thrift.protocol.TList _list95 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.cancelledExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list95.size);
+          @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem96;
+          for (int _i97 = 0; _i97 < _list95.size; ++_i97)
           {
-            _elem88 = new ExperimentSummaryModel();
-            _elem88.read(iprot);
-            struct.cancelledExperiments.add(_elem88);
+            _elem96 = new ExperimentSummaryModel();
+            _elem96.read(iprot);
+            struct.cancelledExperiments.add(_elem96);
           }
         }
         struct.setCancelledExperimentsIsSet(true);
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list90 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.createdExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list90.size);
-          ExperimentSummaryModel _elem91;
-          for (int _i92 = 0; _i92 < _list90.size; ++_i92)
+          org.apache.thrift.protocol.TList _list98 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.createdExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list98.size);
+          @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem99;
+          for (int _i100 = 0; _i100 < _list98.size; ++_i100)
           {
-            _elem91 = new ExperimentSummaryModel();
-            _elem91.read(iprot);
-            struct.createdExperiments.add(_elem91);
+            _elem99 = new ExperimentSummaryModel();
+            _elem99.read(iprot);
+            struct.createdExperiments.add(_elem99);
           }
         }
         struct.setCreatedExperimentsIsSet(true);
       }
       if (incoming.get(5)) {
         {
-          org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.runningExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list93.size);
-          ExperimentSummaryModel _elem94;
-          for (int _i95 = 0; _i95 < _list93.size; ++_i95)
+          org.apache.thrift.protocol.TList _list101 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.runningExperiments = new java.util.ArrayList<ExperimentSummaryModel>(_list101.size);
+          @org.apache.thrift.annotation.Nullable ExperimentSummaryModel _elem102;
+          for (int _i103 = 0; _i103 < _list101.size; ++_i103)
           {
-            _elem94 = new ExperimentSummaryModel();
-            _elem94.read(iprot);
-            struct.runningExperiments.add(_elem94);
+            _elem102 = new ExperimentSummaryModel();
+            _elem102.read(iprot);
+            struct.runningExperiments.add(_elem102);
           }
         }
         struct.setRunningExperimentsIsSet(true);
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
index f3ce843..6a5e7be 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentSummaryModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.experiment;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentSummaryModel implements org.apache.thrift.TBase<ExperimentSummaryModel, ExperimentSummaryModel._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSummaryModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSummaryModel");
 
@@ -43,16 +43,16 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentSummaryModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentSummaryModelTupleSchemeFactory();
 
-  private java.lang.String experimentId; // required
-  private java.lang.String projectId; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String projectId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
   private long creationTime; // optional
-  private java.lang.String userName; // required
-  private java.lang.String name; // required
-  private java.lang.String description; // optional
-  private java.lang.String executionId; // optional
-  private java.lang.String resourceHostId; // optional
-  private java.lang.String experimentStatus; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String executionId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceHostId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentStatus; // optional
   private long statusUpdateTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -80,6 +80,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EXPERIMENT_ID
@@ -122,6 +123,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -134,10 +136,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -231,6 +235,7 @@
     this.statusUpdateTime = other.statusUpdateTime;
   }
 
+  @Override
   public ExperimentSummaryModel deepCopy() {
     return new ExperimentSummaryModel(this);
   }
@@ -252,11 +257,12 @@
     this.statusUpdateTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -275,11 +281,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProjectId() {
     return this.projectId;
   }
 
-  public void setProjectId(java.lang.String projectId) {
+  public void setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
     this.projectId = projectId;
   }
 
@@ -298,11 +305,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -343,11 +351,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserName() {
     return this.userName;
   }
 
-  public void setUserName(java.lang.String userName) {
+  public void setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
     this.userName = userName;
   }
 
@@ -366,11 +375,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -389,11 +399,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -412,11 +423,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExecutionId() {
     return this.executionId;
   }
 
-  public void setExecutionId(java.lang.String executionId) {
+  public void setExecutionId(@org.apache.thrift.annotation.Nullable java.lang.String executionId) {
     this.executionId = executionId;
   }
 
@@ -435,11 +447,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceHostId() {
     return this.resourceHostId;
   }
 
-  public void setResourceHostId(java.lang.String resourceHostId) {
+  public void setResourceHostId(@org.apache.thrift.annotation.Nullable java.lang.String resourceHostId) {
     this.resourceHostId = resourceHostId;
   }
 
@@ -458,11 +471,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentStatus() {
     return this.experimentStatus;
   }
 
-  public void setExperimentStatus(java.lang.String experimentStatus) {
+  public void setExperimentStatus(@org.apache.thrift.annotation.Nullable java.lang.String experimentStatus) {
     this.experimentStatus = experimentStatus;
   }
 
@@ -503,7 +517,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __STATUSUPDATETIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EXPERIMENT_ID:
       if (value == null) {
@@ -596,6 +611,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EXPERIMENT_ID:
@@ -636,6 +653,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -670,8 +688,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentSummaryModel)
       return this.equals((ExperimentSummaryModel)that);
     return false;
@@ -844,7 +860,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -854,7 +870,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+    lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -864,7 +880,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -874,7 +890,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -884,7 +900,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+    lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -894,7 +910,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -904,7 +920,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -914,7 +930,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExecutionId()).compareTo(other.isSetExecutionId());
+    lastComparison = java.lang.Boolean.compare(isSetExecutionId(), other.isSetExecutionId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -924,7 +940,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceHostId()).compareTo(other.isSetResourceHostId());
+    lastComparison = java.lang.Boolean.compare(isSetResourceHostId(), other.isSetResourceHostId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -934,7 +950,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentStatus()).compareTo(other.isSetExperimentStatus());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentStatus(), other.isSetExperimentStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -944,7 +960,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatusUpdateTime()).compareTo(other.isSetStatusUpdateTime());
+    lastComparison = java.lang.Boolean.compare(isSetStatusUpdateTime(), other.isSetStatusUpdateTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -957,14 +973,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1113,6 +1133,7 @@
   }
 
   private static class ExperimentSummaryModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentSummaryModelStandardScheme getScheme() {
       return new ExperimentSummaryModelStandardScheme();
     }
@@ -1120,6 +1141,7 @@
 
   private static class ExperimentSummaryModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentSummaryModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentSummaryModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1227,6 +1249,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentSummaryModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1301,6 +1324,7 @@
   }
 
   private static class ExperimentSummaryModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentSummaryModelTupleScheme getScheme() {
       return new ExperimentSummaryModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
index 4c10281..0018ddb 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ExperimentType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.experiment;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ExperimentType implements org.apache.thrift.TEnum {
   SINGLE_APPLICATION(0),
   WORKFLOW(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ExperimentType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
index 8110ea9..527273f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/ProjectSearchFields.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.experiment;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ProjectSearchFields implements org.apache.thrift.TEnum {
   PROJECT_NAME(0),
   PROJECT_DESCRIPTION(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ProjectSearchFields findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
index 72aa54b..585e17e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/experiment/UserConfigurationDataModel.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.experiment;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * A structure holding the experiment configuration.
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserConfigurationDataModel implements org.apache.thrift.TBase<UserConfigurationDataModel, UserConfigurationDataModel._Fields>, java.io.Serializable, Cloneable, Comparable<UserConfigurationDataModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserConfigurationDataModel");
 
@@ -44,6 +44,7 @@
   private static final org.apache.thrift.protocol.TField EXPERIMENT_DATA_DIR_FIELD_DESC = new org.apache.thrift.protocol.TField("experimentDataDir", org.apache.thrift.protocol.TType.STRING, (short)9);
   private static final org.apache.thrift.protocol.TField USE_USER_CRPREF_FIELD_DESC = new org.apache.thrift.protocol.TField("useUserCRPref", org.apache.thrift.protocol.TType.BOOL, (short)10);
   private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)11);
+  private static final org.apache.thrift.protocol.TField AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST_FIELD_DESC = new org.apache.thrift.protocol.TField("autoScheduledCompResourceSchedulingList", org.apache.thrift.protocol.TType.LIST, (short)12);
 
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserConfigurationDataModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserConfigurationDataModelTupleSchemeFactory();
@@ -51,14 +52,15 @@
   private boolean airavataAutoSchedule; // required
   private boolean overrideManualScheduledParams; // required
   private boolean shareExperimentPublicly; // optional
-  private org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel computationalResourceScheduling; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel computationalResourceScheduling; // optional
   private boolean throttleResources; // optional
-  private java.lang.String userDN; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userDN; // optional
   private boolean generateCert; // optional
-  private java.lang.String storageId; // optional
-  private java.lang.String experimentDataDir; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentDataDir; // optional
   private boolean useUserCRPref; // optional
-  private java.lang.String groupResourceProfileId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel> autoScheduledCompResourceSchedulingList; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -72,7 +74,8 @@
     STORAGE_ID((short)8, "storageId"),
     EXPERIMENT_DATA_DIR((short)9, "experimentDataDir"),
     USE_USER_CRPREF((short)10, "useUserCRPref"),
-    GROUP_RESOURCE_PROFILE_ID((short)11, "groupResourceProfileId");
+    GROUP_RESOURCE_PROFILE_ID((short)11, "groupResourceProfileId"),
+    AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST((short)12, "autoScheduledCompResourceSchedulingList");
 
     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -85,6 +88,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_AUTO_SCHEDULE
@@ -109,6 +113,8 @@
           return USE_USER_CRPREF;
         case 11: // GROUP_RESOURCE_PROFILE_ID
           return GROUP_RESOURCE_PROFILE_ID;
+        case 12: // AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST
+          return AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST;
         default:
           return null;
       }
@@ -127,6 +133,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -139,10 +146,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -156,7 +165,7 @@
   private static final int __GENERATECERT_ISSET_ID = 4;
   private static final int __USEUSERCRPREF_ISSET_ID = 5;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.THROTTLE_RESOURCES,_Fields.USER_DN,_Fields.GENERATE_CERT,_Fields.STORAGE_ID,_Fields.EXPERIMENT_DATA_DIR,_Fields.USE_USER_CRPREF,_Fields.GROUP_RESOURCE_PROFILE_ID};
+  private static final _Fields optionals[] = {_Fields.SHARE_EXPERIMENT_PUBLICLY,_Fields.COMPUTATIONAL_RESOURCE_SCHEDULING,_Fields.THROTTLE_RESOURCES,_Fields.USER_DN,_Fields.GENERATE_CERT,_Fields.STORAGE_ID,_Fields.EXPERIMENT_DATA_DIR,_Fields.USE_USER_CRPREF,_Fields.GROUP_RESOURCE_PROFILE_ID,_Fields.AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST};
   public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -182,6 +191,9 @@
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST, new org.apache.thrift.meta_data.FieldMetaData("autoScheduledCompResourceSchedulingList", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+            new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel.class))));
     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(UserConfigurationDataModel.class, metaDataMap);
   }
@@ -236,8 +248,16 @@
     if (other.isSetGroupResourceProfileId()) {
       this.groupResourceProfileId = other.groupResourceProfileId;
     }
+    if (other.isSetAutoScheduledCompResourceSchedulingList()) {
+      java.util.List<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel> __this__autoScheduledCompResourceSchedulingList = new java.util.ArrayList<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel>(other.autoScheduledCompResourceSchedulingList.size());
+      for (org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel other_element : other.autoScheduledCompResourceSchedulingList) {
+        __this__autoScheduledCompResourceSchedulingList.add(new org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel(other_element));
+      }
+      this.autoScheduledCompResourceSchedulingList = __this__autoScheduledCompResourceSchedulingList;
+    }
   }
 
+  @Override
   public UserConfigurationDataModel deepCopy() {
     return new UserConfigurationDataModel(this);
   }
@@ -261,6 +281,7 @@
     setUseUserCRPrefIsSet(false);
     this.useUserCRPref = false;
     this.groupResourceProfileId = null;
+    this.autoScheduledCompResourceSchedulingList = null;
   }
 
   public boolean isAiravataAutoSchedule() {
@@ -329,11 +350,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SHAREEXPERIMENTPUBLICLY_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel getComputationalResourceScheduling() {
     return this.computationalResourceScheduling;
   }
 
-  public void setComputationalResourceScheduling(org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel computationalResourceScheduling) {
+  public void setComputationalResourceScheduling(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel computationalResourceScheduling) {
     this.computationalResourceScheduling = computationalResourceScheduling;
   }
 
@@ -374,11 +396,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __THROTTLERESOURCES_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserDN() {
     return this.userDN;
   }
 
-  public void setUserDN(java.lang.String userDN) {
+  public void setUserDN(@org.apache.thrift.annotation.Nullable java.lang.String userDN) {
     this.userDN = userDN;
   }
 
@@ -419,11 +442,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __GENERATECERT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageId() {
     return this.storageId;
   }
 
-  public void setStorageId(java.lang.String storageId) {
+  public void setStorageId(@org.apache.thrift.annotation.Nullable java.lang.String storageId) {
     this.storageId = storageId;
   }
 
@@ -442,11 +466,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentDataDir() {
     return this.experimentDataDir;
   }
 
-  public void setExperimentDataDir(java.lang.String experimentDataDir) {
+  public void setExperimentDataDir(@org.apache.thrift.annotation.Nullable java.lang.String experimentDataDir) {
     this.experimentDataDir = experimentDataDir;
   }
 
@@ -487,11 +512,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __USEUSERCRPREF_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -510,7 +536,48 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public int getAutoScheduledCompResourceSchedulingListSize() {
+    return (this.autoScheduledCompResourceSchedulingList == null) ? 0 : this.autoScheduledCompResourceSchedulingList.size();
+  }
+
+  @org.apache.thrift.annotation.Nullable
+  public java.util.Iterator<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel> getAutoScheduledCompResourceSchedulingListIterator() {
+    return (this.autoScheduledCompResourceSchedulingList == null) ? null : this.autoScheduledCompResourceSchedulingList.iterator();
+  }
+
+  public void addToAutoScheduledCompResourceSchedulingList(org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel elem) {
+    if (this.autoScheduledCompResourceSchedulingList == null) {
+      this.autoScheduledCompResourceSchedulingList = new java.util.ArrayList<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel>();
+    }
+    this.autoScheduledCompResourceSchedulingList.add(elem);
+  }
+
+  @org.apache.thrift.annotation.Nullable
+  public java.util.List<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel> getAutoScheduledCompResourceSchedulingList() {
+    return this.autoScheduledCompResourceSchedulingList;
+  }
+
+  public void setAutoScheduledCompResourceSchedulingList(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel> autoScheduledCompResourceSchedulingList) {
+    this.autoScheduledCompResourceSchedulingList = autoScheduledCompResourceSchedulingList;
+  }
+
+  public void unsetAutoScheduledCompResourceSchedulingList() {
+    this.autoScheduledCompResourceSchedulingList = null;
+  }
+
+  /** Returns true if field autoScheduledCompResourceSchedulingList is set (has been assigned a value) and false otherwise */
+  public boolean isSetAutoScheduledCompResourceSchedulingList() {
+    return this.autoScheduledCompResourceSchedulingList != null;
+  }
+
+  public void setAutoScheduledCompResourceSchedulingListIsSet(boolean value) {
+    if (!value) {
+      this.autoScheduledCompResourceSchedulingList = null;
+    }
+  }
+
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_AUTO_SCHEDULE:
       if (value == null) {
@@ -600,9 +667,19 @@
       }
       break;
 
+    case AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST:
+      if (value == null) {
+        unsetAutoScheduledCompResourceSchedulingList();
+      } else {
+        setAutoScheduledCompResourceSchedulingList((java.util.List<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel>)value);
+      }
+      break;
+
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_AUTO_SCHEDULE:
@@ -638,11 +715,15 @@
     case GROUP_RESOURCE_PROFILE_ID:
       return getGroupResourceProfileId();
 
+    case AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST:
+      return getAutoScheduledCompResourceSchedulingList();
+
     }
     throw new java.lang.IllegalStateException();
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -671,14 +752,14 @@
       return isSetUseUserCRPref();
     case GROUP_RESOURCE_PROFILE_ID:
       return isSetGroupResourceProfileId();
+    case AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST:
+      return isSetAutoScheduledCompResourceSchedulingList();
     }
     throw new java.lang.IllegalStateException();
   }
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserConfigurationDataModel)
       return this.equals((UserConfigurationDataModel)that);
     return false;
@@ -789,6 +870,15 @@
         return false;
     }
 
+    boolean this_present_autoScheduledCompResourceSchedulingList = true && this.isSetAutoScheduledCompResourceSchedulingList();
+    boolean that_present_autoScheduledCompResourceSchedulingList = true && that.isSetAutoScheduledCompResourceSchedulingList();
+    if (this_present_autoScheduledCompResourceSchedulingList || that_present_autoScheduledCompResourceSchedulingList) {
+      if (!(this_present_autoScheduledCompResourceSchedulingList && that_present_autoScheduledCompResourceSchedulingList))
+        return false;
+      if (!this.autoScheduledCompResourceSchedulingList.equals(that.autoScheduledCompResourceSchedulingList))
+        return false;
+    }
+
     return true;
   }
 
@@ -836,6 +926,10 @@
     if (isSetGroupResourceProfileId())
       hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
 
+    hashCode = hashCode * 8191 + ((isSetAutoScheduledCompResourceSchedulingList()) ? 131071 : 524287);
+    if (isSetAutoScheduledCompResourceSchedulingList())
+      hashCode = hashCode * 8191 + autoScheduledCompResourceSchedulingList.hashCode();
+
     return hashCode;
   }
 
@@ -847,7 +941,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataAutoSchedule()).compareTo(other.isSetAiravataAutoSchedule());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataAutoSchedule(), other.isSetAiravataAutoSchedule());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -857,7 +951,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverrideManualScheduledParams()).compareTo(other.isSetOverrideManualScheduledParams());
+    lastComparison = java.lang.Boolean.compare(isSetOverrideManualScheduledParams(), other.isSetOverrideManualScheduledParams());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -867,7 +961,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetShareExperimentPublicly()).compareTo(other.isSetShareExperimentPublicly());
+    lastComparison = java.lang.Boolean.compare(isSetShareExperimentPublicly(), other.isSetShareExperimentPublicly());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -877,7 +971,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputationalResourceScheduling()).compareTo(other.isSetComputationalResourceScheduling());
+    lastComparison = java.lang.Boolean.compare(isSetComputationalResourceScheduling(), other.isSetComputationalResourceScheduling());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -887,7 +981,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetThrottleResources()).compareTo(other.isSetThrottleResources());
+    lastComparison = java.lang.Boolean.compare(isSetThrottleResources(), other.isSetThrottleResources());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -897,7 +991,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserDN()).compareTo(other.isSetUserDN());
+    lastComparison = java.lang.Boolean.compare(isSetUserDN(), other.isSetUserDN());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -907,7 +1001,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGenerateCert()).compareTo(other.isSetGenerateCert());
+    lastComparison = java.lang.Boolean.compare(isSetGenerateCert(), other.isSetGenerateCert());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -917,7 +1011,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageId()).compareTo(other.isSetStorageId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageId(), other.isSetStorageId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -927,7 +1021,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentDataDir()).compareTo(other.isSetExperimentDataDir());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentDataDir(), other.isSetExperimentDataDir());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -937,7 +1031,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUseUserCRPref()).compareTo(other.isSetUseUserCRPref());
+    lastComparison = java.lang.Boolean.compare(isSetUseUserCRPref(), other.isSetUseUserCRPref());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -947,7 +1041,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -957,17 +1051,31 @@
         return lastComparison;
       }
     }
+    lastComparison = java.lang.Boolean.compare(isSetAutoScheduledCompResourceSchedulingList(), other.isSetAutoScheduledCompResourceSchedulingList());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetAutoScheduledCompResourceSchedulingList()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.autoScheduledCompResourceSchedulingList, other.autoScheduledCompResourceSchedulingList);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1058,6 +1166,16 @@
       }
       first = false;
     }
+    if (isSetAutoScheduledCompResourceSchedulingList()) {
+      if (!first) sb.append(", ");
+      sb.append("autoScheduledCompResourceSchedulingList:");
+      if (this.autoScheduledCompResourceSchedulingList == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.autoScheduledCompResourceSchedulingList);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1097,6 +1215,7 @@
   }
 
   private static class UserConfigurationDataModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserConfigurationDataModelStandardScheme getScheme() {
       return new UserConfigurationDataModelStandardScheme();
     }
@@ -1104,6 +1223,7 @@
 
   private static class UserConfigurationDataModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserConfigurationDataModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserConfigurationDataModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1203,6 +1323,25 @@
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 12: // AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST
+            if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
+              {
+                org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
+                struct.autoScheduledCompResourceSchedulingList = new java.util.ArrayList<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel>(_list0.size);
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel _elem1;
+                for (int _i2 = 0; _i2 < _list0.size; ++_i2)
+                {
+                  _elem1 = new org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel();
+                  _elem1.read(iprot);
+                  struct.autoScheduledCompResourceSchedulingList.add(_elem1);
+                }
+                iprot.readListEnd();
+              }
+              struct.setAutoScheduledCompResourceSchedulingListIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1212,6 +1351,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserConfigurationDataModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1277,6 +1417,20 @@
           oprot.writeFieldEnd();
         }
       }
+      if (struct.autoScheduledCompResourceSchedulingList != null) {
+        if (struct.isSetAutoScheduledCompResourceSchedulingList()) {
+          oprot.writeFieldBegin(AUTO_SCHEDULED_COMP_RESOURCE_SCHEDULING_LIST_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.autoScheduledCompResourceSchedulingList.size()));
+            for (org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel _iter3 : struct.autoScheduledCompResourceSchedulingList)
+            {
+              _iter3.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1284,6 +1438,7 @@
   }
 
   private static class UserConfigurationDataModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserConfigurationDataModelTupleScheme getScheme() {
       return new UserConfigurationDataModelTupleScheme();
     }
@@ -1324,7 +1479,10 @@
       if (struct.isSetGroupResourceProfileId()) {
         optionals.set(8);
       }
-      oprot.writeBitSet(optionals, 9);
+      if (struct.isSetAutoScheduledCompResourceSchedulingList()) {
+        optionals.set(9);
+      }
+      oprot.writeBitSet(optionals, 10);
       if (struct.isSetShareExperimentPublicly()) {
         oprot.writeBool(struct.shareExperimentPublicly);
       }
@@ -1352,6 +1510,15 @@
       if (struct.isSetGroupResourceProfileId()) {
         oprot.writeString(struct.groupResourceProfileId);
       }
+      if (struct.isSetAutoScheduledCompResourceSchedulingList()) {
+        {
+          oprot.writeI32(struct.autoScheduledCompResourceSchedulingList.size());
+          for (org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel _iter4 : struct.autoScheduledCompResourceSchedulingList)
+          {
+            _iter4.write(oprot);
+          }
+        }
+      }
     }
 
     @Override
@@ -1361,7 +1528,7 @@
       struct.setAiravataAutoScheduleIsSet(true);
       struct.overrideManualScheduledParams = iprot.readBool();
       struct.setOverrideManualScheduledParamsIsSet(true);
-      java.util.BitSet incoming = iprot.readBitSet(9);
+      java.util.BitSet incoming = iprot.readBitSet(10);
       if (incoming.get(0)) {
         struct.shareExperimentPublicly = iprot.readBool();
         struct.setShareExperimentPubliclyIsSet(true);
@@ -1399,6 +1566,20 @@
         struct.groupResourceProfileId = iprot.readString();
         struct.setGroupResourceProfileIdIsSet(true);
       }
+      if (incoming.get(9)) {
+        {
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.autoScheduledCompResourceSchedulingList = new java.util.ArrayList<org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel>(_list5.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel _elem6;
+          for (int _i7 = 0; _i7 < _list5.size; ++_i7)
+          {
+            _elem6 = new org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel();
+            _elem6.read(iprot);
+            struct.autoScheduledCompResourceSchedulingList.add(_elem6);
+          }
+        }
+        struct.setAutoScheduledCompResourceSchedulingListIsSet(true);
+      }
     }
   }
 
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
index 357fe89..816ea32 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/GroupModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.group;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupModel implements org.apache.thrift.TBase<GroupModel, GroupModel._Fields>, java.io.Serializable, Cloneable, Comparable<GroupModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupModel");
 
@@ -38,12 +38,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupModelTupleSchemeFactory();
 
-  private java.lang.String id; // optional
-  private java.lang.String name; // optional
-  private java.lang.String ownerId; // optional
-  private java.lang.String description; // optional
-  private java.util.List<java.lang.String> members; // optional
-  private java.util.List<java.lang.String> admins; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String ownerId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> members; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> admins; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -68,6 +68,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -100,6 +101,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -112,10 +114,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -173,6 +177,7 @@
     }
   }
 
+  @Override
   public GroupModel deepCopy() {
     return new GroupModel(this);
   }
@@ -187,11 +192,12 @@
     this.admins = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -210,11 +216,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -233,11 +240,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOwnerId() {
     return this.ownerId;
   }
 
-  public void setOwnerId(java.lang.String ownerId) {
+  public void setOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String ownerId) {
     this.ownerId = ownerId;
   }
 
@@ -256,11 +264,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -283,6 +292,7 @@
     return (this.members == null) ? 0 : this.members.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getMembersIterator() {
     return (this.members == null) ? null : this.members.iterator();
   }
@@ -294,11 +304,12 @@
     this.members.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getMembers() {
     return this.members;
   }
 
-  public void setMembers(java.util.List<java.lang.String> members) {
+  public void setMembers(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> members) {
     this.members = members;
   }
 
@@ -321,6 +332,7 @@
     return (this.admins == null) ? 0 : this.admins.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getAdminsIterator() {
     return (this.admins == null) ? null : this.admins.iterator();
   }
@@ -335,6 +347,7 @@
   /**
    * Note: each admin must also be a member of the group.
    */
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getAdmins() {
     return this.admins;
   }
@@ -342,7 +355,7 @@
   /**
    * Note: each admin must also be a member of the group.
    */
-  public void setAdmins(java.util.List<java.lang.String> admins) {
+  public void setAdmins(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> admins) {
     this.admins = admins;
   }
 
@@ -361,7 +374,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -414,6 +428,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -439,6 +455,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -463,8 +480,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupModel)
       return this.equals((GroupModel)that);
     return false;
@@ -572,7 +587,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -582,7 +597,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -592,7 +607,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+    lastComparison = java.lang.Boolean.compare(isSetOwnerId(), other.isSetOwnerId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -602,7 +617,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -612,7 +627,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMembers()).compareTo(other.isSetMembers());
+    lastComparison = java.lang.Boolean.compare(isSetMembers(), other.isSetMembers());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -622,7 +637,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAdmins()).compareTo(other.isSetAdmins());
+    lastComparison = java.lang.Boolean.compare(isSetAdmins(), other.isSetAdmins());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -635,14 +650,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -737,6 +756,7 @@
   }
 
   private static class GroupModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupModelStandardScheme getScheme() {
       return new GroupModelStandardScheme();
     }
@@ -744,6 +764,7 @@
 
   private static class GroupModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -791,7 +812,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.members = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -809,7 +830,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.admins = new java.util.ArrayList<java.lang.String>(_list3.size);
-                java.lang.String _elem4;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = iprot.readString();
@@ -831,6 +852,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -898,6 +920,7 @@
   }
 
   private static class GroupModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupModelTupleScheme getScheme() {
       return new GroupModelTupleScheme();
     }
@@ -982,9 +1005,9 @@
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.members = new java.util.ArrayList<java.lang.String>(_list10.size);
-          java.lang.String _elem11;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem11;
           for (int _i12 = 0; _i12 < _list10.size; ++_i12)
           {
             _elem11 = iprot.readString();
@@ -995,9 +1018,9 @@
       }
       if (incoming.get(5)) {
         {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.admins = new java.util.ArrayList<java.lang.String>(_list13.size);
-          java.lang.String _elem14;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem14;
           for (int _i15 = 0; _i15 < _list13.size; ++_i15)
           {
             _elem14 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
index 467105c..7751478 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourcePermissionType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.group;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ResourcePermissionType implements org.apache.thrift.TEnum {
   WRITE(0),
   READ(1),
@@ -43,6 +40,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -51,6 +49,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ResourcePermissionType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
index e3c5691..3efced2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/group/ResourceType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.group;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ResourceType implements org.apache.thrift.TEnum {
   PROJECT(0),
   EXPERIMENT(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ResourceType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
index 508709a..966f51f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/job/JobModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.job;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobModel implements org.apache.thrift.TBase<JobModel, JobModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobModel");
 
@@ -44,17 +44,17 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobModelTupleSchemeFactory();
 
-  private java.lang.String jobId; // required
-  private java.lang.String taskId; // required
-  private java.lang.String processId; // required
-  private java.lang.String jobDescription; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String taskId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobDescription; // required
   private long creationTime; // optional
-  private java.util.List<org.apache.airavata.model.status.JobStatus> jobStatuses; // optional
-  private java.lang.String computeResourceConsumed; // optional
-  private java.lang.String jobName; // optional
-  private java.lang.String workingDir; // optional
-  private java.lang.String stdOut; // optional
-  private java.lang.String stdErr; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.JobStatus> jobStatuses; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceConsumed; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String workingDir; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String stdOut; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String stdErr; // optional
   private int exitCode; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -83,6 +83,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_ID
@@ -127,6 +128,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -139,10 +141,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -244,6 +248,7 @@
     this.exitCode = other.exitCode;
   }
 
+  @Override
   public JobModel deepCopy() {
     return new JobModel(this);
   }
@@ -266,11 +271,12 @@
     this.exitCode = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobId() {
     return this.jobId;
   }
 
-  public void setJobId(java.lang.String jobId) {
+  public void setJobId(@org.apache.thrift.annotation.Nullable java.lang.String jobId) {
     this.jobId = jobId;
   }
 
@@ -289,11 +295,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTaskId() {
     return this.taskId;
   }
 
-  public void setTaskId(java.lang.String taskId) {
+  public void setTaskId(@org.apache.thrift.annotation.Nullable java.lang.String taskId) {
     this.taskId = taskId;
   }
 
@@ -312,11 +319,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -335,11 +343,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobDescription() {
     return this.jobDescription;
   }
 
-  public void setJobDescription(java.lang.String jobDescription) {
+  public void setJobDescription(@org.apache.thrift.annotation.Nullable java.lang.String jobDescription) {
     this.jobDescription = jobDescription;
   }
 
@@ -384,6 +393,7 @@
     return (this.jobStatuses == null) ? 0 : this.jobStatuses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.status.JobStatus> getJobStatusesIterator() {
     return (this.jobStatuses == null) ? null : this.jobStatuses.iterator();
   }
@@ -395,11 +405,12 @@
     this.jobStatuses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.status.JobStatus> getJobStatuses() {
     return this.jobStatuses;
   }
 
-  public void setJobStatuses(java.util.List<org.apache.airavata.model.status.JobStatus> jobStatuses) {
+  public void setJobStatuses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.JobStatus> jobStatuses) {
     this.jobStatuses = jobStatuses;
   }
 
@@ -418,11 +429,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceConsumed() {
     return this.computeResourceConsumed;
   }
 
-  public void setComputeResourceConsumed(java.lang.String computeResourceConsumed) {
+  public void setComputeResourceConsumed(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceConsumed) {
     this.computeResourceConsumed = computeResourceConsumed;
   }
 
@@ -441,11 +453,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobName() {
     return this.jobName;
   }
 
-  public void setJobName(java.lang.String jobName) {
+  public void setJobName(@org.apache.thrift.annotation.Nullable java.lang.String jobName) {
     this.jobName = jobName;
   }
 
@@ -464,11 +477,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getWorkingDir() {
     return this.workingDir;
   }
 
-  public void setWorkingDir(java.lang.String workingDir) {
+  public void setWorkingDir(@org.apache.thrift.annotation.Nullable java.lang.String workingDir) {
     this.workingDir = workingDir;
   }
 
@@ -487,11 +501,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStdOut() {
     return this.stdOut;
   }
 
-  public void setStdOut(java.lang.String stdOut) {
+  public void setStdOut(@org.apache.thrift.annotation.Nullable java.lang.String stdOut) {
     this.stdOut = stdOut;
   }
 
@@ -510,11 +525,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStdErr() {
     return this.stdErr;
   }
 
-  public void setStdErr(java.lang.String stdErr) {
+  public void setStdErr(@org.apache.thrift.annotation.Nullable java.lang.String stdErr) {
     this.stdErr = stdErr;
   }
 
@@ -555,7 +571,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __EXITCODE_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_ID:
       if (value == null) {
@@ -656,6 +673,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_ID:
@@ -699,6 +718,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -735,8 +755,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobModel)
       return this.equals((JobModel)that);
     return false;
@@ -922,7 +940,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobId()).compareTo(other.isSetJobId());
+    lastComparison = java.lang.Boolean.compare(isSetJobId(), other.isSetJobId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -932,7 +950,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+    lastComparison = java.lang.Boolean.compare(isSetTaskId(), other.isSetTaskId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -942,7 +960,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -952,7 +970,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobDescription()).compareTo(other.isSetJobDescription());
+    lastComparison = java.lang.Boolean.compare(isSetJobDescription(), other.isSetJobDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -962,7 +980,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -972,7 +990,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobStatuses()).compareTo(other.isSetJobStatuses());
+    lastComparison = java.lang.Boolean.compare(isSetJobStatuses(), other.isSetJobStatuses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -982,7 +1000,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceConsumed()).compareTo(other.isSetComputeResourceConsumed());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceConsumed(), other.isSetComputeResourceConsumed());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -992,7 +1010,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobName()).compareTo(other.isSetJobName());
+    lastComparison = java.lang.Boolean.compare(isSetJobName(), other.isSetJobName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1002,7 +1020,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWorkingDir()).compareTo(other.isSetWorkingDir());
+    lastComparison = java.lang.Boolean.compare(isSetWorkingDir(), other.isSetWorkingDir());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1012,7 +1030,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStdOut()).compareTo(other.isSetStdOut());
+    lastComparison = java.lang.Boolean.compare(isSetStdOut(), other.isSetStdOut());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1022,7 +1040,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStdErr()).compareTo(other.isSetStdErr());
+    lastComparison = java.lang.Boolean.compare(isSetStdErr(), other.isSetStdErr());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1032,7 +1050,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExitCode()).compareTo(other.isSetExitCode());
+    lastComparison = java.lang.Boolean.compare(isSetExitCode(), other.isSetExitCode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1045,14 +1063,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1209,6 +1231,7 @@
   }
 
   private static class JobModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobModelStandardScheme getScheme() {
       return new JobModelStandardScheme();
     }
@@ -1216,6 +1239,7 @@
 
   private static class JobModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1271,7 +1295,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.jobStatuses = new java.util.ArrayList<org.apache.airavata.model.status.JobStatus>(_list0.size);
-                org.apache.airavata.model.status.JobStatus _elem1;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new org.apache.airavata.model.status.JobStatus();
@@ -1342,6 +1366,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1432,6 +1457,7 @@
   }
 
   private static class JobModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobModelTupleScheme getScheme() {
       return new JobModelTupleScheme();
     }
@@ -1522,9 +1548,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.jobStatuses = new java.util.ArrayList<org.apache.airavata.model.status.JobStatus>(_list5.size);
-          org.apache.airavata.model.status.JobStatus _elem6;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = new org.apache.airavata.model.status.JobStatus();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentIntermediateOutputsEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentIntermediateOutputsEvent.java
index de6a26f..4c9547c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentIntermediateOutputsEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentIntermediateOutputsEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentIntermediateOutputsEvent implements org.apache.thrift.TBase<ExperimentIntermediateOutputsEvent, ExperimentIntermediateOutputsEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentIntermediateOutputsEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentIntermediateOutputsEvent");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentIntermediateOutputsEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentIntermediateOutputsEventTupleSchemeFactory();
 
-  private java.lang.String experimentId; // required
-  private java.lang.String gatewayId; // required
-  private java.util.List<java.lang.String> outputNames; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> outputNames; // 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 {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EXPERIMENT_ID
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -148,6 +152,7 @@
     }
   }
 
+  @Override
   public ExperimentIntermediateOutputsEvent deepCopy() {
     return new ExperimentIntermediateOutputsEvent(this);
   }
@@ -159,11 +164,12 @@
     this.outputNames = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -182,11 +188,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -209,6 +216,7 @@
     return (this.outputNames == null) ? 0 : this.outputNames.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getOutputNamesIterator() {
     return (this.outputNames == null) ? null : this.outputNames.iterator();
   }
@@ -220,11 +228,12 @@
     this.outputNames.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getOutputNames() {
     return this.outputNames;
   }
 
-  public void setOutputNames(java.util.List<java.lang.String> outputNames) {
+  public void setOutputNames(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> outputNames) {
     this.outputNames = outputNames;
   }
 
@@ -243,7 +252,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EXPERIMENT_ID:
       if (value == null) {
@@ -272,6 +282,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EXPERIMENT_ID:
@@ -288,6 +300,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -306,8 +319,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentIntermediateOutputsEvent)
       return this.equals((ExperimentIntermediateOutputsEvent)that);
     return false;
@@ -376,7 +387,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -386,7 +397,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -396,7 +407,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOutputNames()).compareTo(other.isSetOutputNames());
+    lastComparison = java.lang.Boolean.compare(isSetOutputNames(), other.isSetOutputNames());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -409,14 +420,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -487,6 +502,7 @@
   }
 
   private static class ExperimentIntermediateOutputsEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentIntermediateOutputsEventStandardScheme getScheme() {
       return new ExperimentIntermediateOutputsEventStandardScheme();
     }
@@ -494,6 +510,7 @@
 
   private static class ExperimentIntermediateOutputsEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentIntermediateOutputsEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentIntermediateOutputsEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -525,7 +542,7 @@
               {
                 org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                 struct.outputNames = new java.util.ArrayList<java.lang.String>(_list8.size);
-                java.lang.String _elem9;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem9;
                 for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                 {
                   _elem9 = iprot.readString();
@@ -547,6 +564,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentIntermediateOutputsEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -580,6 +598,7 @@
   }
 
   private static class ExperimentIntermediateOutputsEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentIntermediateOutputsEventTupleScheme getScheme() {
       return new ExperimentIntermediateOutputsEventTupleScheme();
     }
@@ -609,9 +628,9 @@
       struct.gatewayId = iprot.readString();
       struct.setGatewayIdIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
         struct.outputNames = new java.util.ArrayList<java.lang.String>(_list13.size);
-        java.lang.String _elem14;
+        @org.apache.thrift.annotation.Nullable java.lang.String _elem14;
         for (int _i15 = 0; _i15 < _list13.size; ++_i15)
         {
           _elem14 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
index 93a594b..cebbb20 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentStatusChangeEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentStatusChangeEvent implements org.apache.thrift.TBase<ExperimentStatusChangeEvent, ExperimentStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatusChangeEvent");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentStatusChangeEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentStatusChangeEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.ExperimentState state; // required
-  private java.lang.String experimentId; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentState state; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -60,6 +60,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -86,6 +87,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -98,10 +100,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -150,6 +154,7 @@
     }
   }
 
+  @Override
   public ExperimentStatusChangeEvent deepCopy() {
     return new ExperimentStatusChangeEvent(this);
   }
@@ -165,6 +170,7 @@
    * 
    * @see org.apache.airavata.model.status.ExperimentState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.ExperimentState getState() {
     return this.state;
   }
@@ -173,7 +179,7 @@
    * 
    * @see org.apache.airavata.model.status.ExperimentState
    */
-  public void setState(org.apache.airavata.model.status.ExperimentState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentState state) {
     this.state = state;
   }
 
@@ -192,11 +198,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -215,11 +222,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -238,7 +246,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -267,6 +276,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -283,6 +294,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -301,8 +313,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentStatusChangeEvent)
       return this.equals((ExperimentStatusChangeEvent)that);
     return false;
@@ -371,7 +381,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -381,7 +391,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -391,7 +401,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -404,14 +414,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -482,6 +496,7 @@
   }
 
   private static class ExperimentStatusChangeEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentStatusChangeEventStandardScheme getScheme() {
       return new ExperimentStatusChangeEventStandardScheme();
     }
@@ -489,6 +504,7 @@
 
   private static class ExperimentStatusChangeEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentStatusChangeEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentStatusChangeEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -532,6 +548,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentStatusChangeEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -558,6 +575,7 @@
   }
 
   private static class ExperimentStatusChangeEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentStatusChangeEventTupleScheme getScheme() {
       return new ExperimentStatusChangeEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
index a35bccc..163dc37 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ExperimentSubmitEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentSubmitEvent implements org.apache.thrift.TBase<ExperimentSubmitEvent, ExperimentSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentSubmitEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentSubmitEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentSubmitEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentSubmitEventTupleSchemeFactory();
 
-  private java.lang.String experimentId; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EXPERIMENT_ID
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -134,6 +138,7 @@
     }
   }
 
+  @Override
   public ExperimentSubmitEvent deepCopy() {
     return new ExperimentSubmitEvent(this);
   }
@@ -144,11 +149,12 @@
     this.gatewayId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -167,11 +173,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -190,7 +197,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EXPERIMENT_ID:
       if (value == null) {
@@ -211,6 +219,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EXPERIMENT_ID:
@@ -224,6 +234,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -240,8 +251,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentSubmitEvent)
       return this.equals((ExperimentSubmitEvent)that);
     return false;
@@ -297,7 +306,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -307,7 +316,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -320,14 +329,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -386,6 +399,7 @@
   }
 
   private static class ExperimentSubmitEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentSubmitEventStandardScheme getScheme() {
       return new ExperimentSubmitEventStandardScheme();
     }
@@ -393,6 +407,7 @@
 
   private static class ExperimentSubmitEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentSubmitEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentSubmitEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -428,6 +443,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentSubmitEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -449,6 +465,7 @@
   }
 
   private static class ExperimentSubmitEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentSubmitEventTupleScheme getScheme() {
       return new ExperimentSubmitEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
index 7eecde1..2d68183 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobIdentifier.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobIdentifier implements org.apache.thrift.TBase<JobIdentifier, JobIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<JobIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobIdentifier");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobIdentifierStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobIdentifierTupleSchemeFactory();
 
-  private java.lang.String jobId; // required
-  private java.lang.String taskId; // required
-  private java.lang.String processId; // required
-  private java.lang.String experimentId; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String taskId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -62,6 +62,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_ID
@@ -92,6 +93,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -104,10 +106,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -170,6 +174,7 @@
     }
   }
 
+  @Override
   public JobIdentifier deepCopy() {
     return new JobIdentifier(this);
   }
@@ -183,11 +188,12 @@
     this.gatewayId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobId() {
     return this.jobId;
   }
 
-  public void setJobId(java.lang.String jobId) {
+  public void setJobId(@org.apache.thrift.annotation.Nullable java.lang.String jobId) {
     this.jobId = jobId;
   }
 
@@ -206,11 +212,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTaskId() {
     return this.taskId;
   }
 
-  public void setTaskId(java.lang.String taskId) {
+  public void setTaskId(@org.apache.thrift.annotation.Nullable java.lang.String taskId) {
     this.taskId = taskId;
   }
 
@@ -229,11 +236,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -252,11 +260,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -275,11 +284,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -298,7 +308,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_ID:
       if (value == null) {
@@ -343,6 +354,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_ID:
@@ -365,6 +378,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -387,8 +401,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobIdentifier)
       return this.equals((JobIdentifier)that);
     return false;
@@ -483,7 +495,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobId()).compareTo(other.isSetJobId());
+    lastComparison = java.lang.Boolean.compare(isSetJobId(), other.isSetJobId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -493,7 +505,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+    lastComparison = java.lang.Boolean.compare(isSetTaskId(), other.isSetTaskId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -503,7 +515,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -513,7 +525,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -523,7 +535,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -536,14 +548,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -638,6 +654,7 @@
   }
 
   private static class JobIdentifierStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobIdentifierStandardScheme getScheme() {
       return new JobIdentifierStandardScheme();
     }
@@ -645,6 +662,7 @@
 
   private static class JobIdentifierStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobIdentifier> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobIdentifier struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -704,6 +722,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobIdentifier struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -740,6 +759,7 @@
   }
 
   private static class JobIdentifierTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobIdentifierTupleScheme getScheme() {
       return new JobIdentifierTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
index d4dfaaa..f597043 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobStatusChangeEvent implements org.apache.thrift.TBase<JobStatusChangeEvent, JobStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobStatusChangeEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobStatusChangeEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.JobState state; // required
-  private JobIdentifier jobIdentity; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobState state; // required
+  private @org.apache.thrift.annotation.Nullable JobIdentifier jobIdentity; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -138,6 +142,7 @@
     }
   }
 
+  @Override
   public JobStatusChangeEvent deepCopy() {
     return new JobStatusChangeEvent(this);
   }
@@ -152,6 +157,7 @@
    * 
    * @see org.apache.airavata.model.status.JobState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.JobState getState() {
     return this.state;
   }
@@ -160,7 +166,7 @@
    * 
    * @see org.apache.airavata.model.status.JobState
    */
-  public void setState(org.apache.airavata.model.status.JobState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobState state) {
     this.state = state;
   }
 
@@ -179,11 +185,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public JobIdentifier getJobIdentity() {
     return this.jobIdentity;
   }
 
-  public void setJobIdentity(JobIdentifier jobIdentity) {
+  public void setJobIdentity(@org.apache.thrift.annotation.Nullable JobIdentifier jobIdentity) {
     this.jobIdentity = jobIdentity;
   }
 
@@ -202,7 +209,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -223,6 +231,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -236,6 +246,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -252,8 +263,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobStatusChangeEvent)
       return this.equals((JobStatusChangeEvent)that);
     return false;
@@ -309,7 +318,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,7 +328,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobIdentity()).compareTo(other.isSetJobIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetJobIdentity(), other.isSetJobIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -332,14 +341,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -401,6 +414,7 @@
   }
 
   private static class JobStatusChangeEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobStatusChangeEventStandardScheme getScheme() {
       return new JobStatusChangeEventStandardScheme();
     }
@@ -408,6 +422,7 @@
 
   private static class JobStatusChangeEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobStatusChangeEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobStatusChangeEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobStatusChangeEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class JobStatusChangeEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobStatusChangeEventTupleScheme getScheme() {
       return new JobStatusChangeEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
index 71ba716..37136b5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/JobStatusChangeRequestEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobStatusChangeRequestEvent implements org.apache.thrift.TBase<JobStatusChangeRequestEvent, JobStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatusChangeRequestEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobStatusChangeRequestEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobStatusChangeRequestEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.JobState state; // required
-  private JobIdentifier jobIdentity; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobState state; // required
+  private @org.apache.thrift.annotation.Nullable JobIdentifier jobIdentity; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -138,6 +142,7 @@
     }
   }
 
+  @Override
   public JobStatusChangeRequestEvent deepCopy() {
     return new JobStatusChangeRequestEvent(this);
   }
@@ -152,6 +157,7 @@
    * 
    * @see org.apache.airavata.model.status.JobState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.JobState getState() {
     return this.state;
   }
@@ -160,7 +166,7 @@
    * 
    * @see org.apache.airavata.model.status.JobState
    */
-  public void setState(org.apache.airavata.model.status.JobState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobState state) {
     this.state = state;
   }
 
@@ -179,11 +185,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public JobIdentifier getJobIdentity() {
     return this.jobIdentity;
   }
 
-  public void setJobIdentity(JobIdentifier jobIdentity) {
+  public void setJobIdentity(@org.apache.thrift.annotation.Nullable JobIdentifier jobIdentity) {
     this.jobIdentity = jobIdentity;
   }
 
@@ -202,7 +209,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -223,6 +231,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -236,6 +246,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -252,8 +263,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobStatusChangeRequestEvent)
       return this.equals((JobStatusChangeRequestEvent)that);
     return false;
@@ -309,7 +318,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,7 +328,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobIdentity()).compareTo(other.isSetJobIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetJobIdentity(), other.isSetJobIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -332,14 +341,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -401,6 +414,7 @@
   }
 
   private static class JobStatusChangeRequestEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobStatusChangeRequestEventStandardScheme getScheme() {
       return new JobStatusChangeRequestEventStandardScheme();
     }
@@ -408,6 +422,7 @@
 
   private static class JobStatusChangeRequestEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobStatusChangeRequestEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobStatusChangeRequestEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobStatusChangeRequestEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class JobStatusChangeRequestEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobStatusChangeRequestEventTupleScheme getScheme() {
       return new JobStatusChangeRequestEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
index 4b6543b..69a7d67 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/Message.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Message implements org.apache.thrift.TBase<Message, Message._Fields>, java.io.Serializable, Cloneable, Comparable<Message> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Message");
 
@@ -37,11 +37,11 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new MessageStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new MessageTupleSchemeFactory();
 
-  private java.nio.ByteBuffer event; // required
-  private java.lang.String messageId; // required
-  private MessageType messageType; // required
+  private @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer event; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String messageId; // required
+  private @org.apache.thrift.annotation.Nullable MessageType messageType; // required
   private long updatedTime; // optional
-  private MessageLevel messageLevel; // optional
+  private @org.apache.thrift.annotation.Nullable MessageLevel messageLevel; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -70,6 +70,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // EVENT
@@ -100,6 +101,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -112,10 +114,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -178,6 +182,7 @@
     }
   }
 
+  @Override
   public Message deepCopy() {
     return new Message(this);
   }
@@ -203,10 +208,10 @@
   }
 
   public void setEvent(byte[] event) {
-    this.event = event == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(event.clone());
+    this.event = event == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(event.clone());
   }
 
-  public void setEvent(java.nio.ByteBuffer event) {
+  public void setEvent(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer event) {
     this.event = org.apache.thrift.TBaseHelper.copyBinary(event);
   }
 
@@ -225,11 +230,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessageId() {
     return this.messageId;
   }
 
-  public void setMessageId(java.lang.String messageId) {
+  public void setMessageId(@org.apache.thrift.annotation.Nullable java.lang.String messageId) {
     this.messageId = messageId;
   }
 
@@ -252,6 +258,7 @@
    * 
    * @see MessageType
    */
+  @org.apache.thrift.annotation.Nullable
   public MessageType getMessageType() {
     return this.messageType;
   }
@@ -260,7 +267,7 @@
    * 
    * @see MessageType
    */
-  public void setMessageType(MessageType messageType) {
+  public void setMessageType(@org.apache.thrift.annotation.Nullable MessageType messageType) {
     this.messageType = messageType;
   }
 
@@ -305,6 +312,7 @@
    * 
    * @see MessageLevel
    */
+  @org.apache.thrift.annotation.Nullable
   public MessageLevel getMessageLevel() {
     return this.messageLevel;
   }
@@ -313,7 +321,7 @@
    * 
    * @see MessageLevel
    */
-  public void setMessageLevel(MessageLevel messageLevel) {
+  public void setMessageLevel(@org.apache.thrift.annotation.Nullable MessageLevel messageLevel) {
     this.messageLevel = messageLevel;
   }
 
@@ -332,7 +340,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case EVENT:
       if (value == null) {
@@ -381,6 +390,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case EVENT:
@@ -403,6 +414,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -425,8 +437,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Message)
       return this.equals((Message)that);
     return false;
@@ -521,7 +531,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetEvent()).compareTo(other.isSetEvent());
+    lastComparison = java.lang.Boolean.compare(isSetEvent(), other.isSetEvent());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -531,7 +541,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMessageId()).compareTo(other.isSetMessageId());
+    lastComparison = java.lang.Boolean.compare(isSetMessageId(), other.isSetMessageId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -541,7 +551,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMessageType()).compareTo(other.isSetMessageType());
+    lastComparison = java.lang.Boolean.compare(isSetMessageType(), other.isSetMessageType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -551,7 +561,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -561,7 +571,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMessageLevel()).compareTo(other.isSetMessageLevel());
+    lastComparison = java.lang.Boolean.compare(isSetMessageLevel(), other.isSetMessageLevel());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -574,14 +584,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -670,6 +684,7 @@
   }
 
   private static class MessageStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public MessageStandardScheme getScheme() {
       return new MessageStandardScheme();
     }
@@ -677,6 +692,7 @@
 
   private static class MessageStandardScheme extends org.apache.thrift.scheme.StandardScheme<Message> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Message struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -736,6 +752,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Message struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -774,6 +791,7 @@
   }
 
   private static class MessageTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public MessageTupleScheme getScheme() {
       return new MessageTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
index 127e3f1..65b6792 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageLevel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum MessageLevel implements org.apache.thrift.TEnum {
   INFO(0),
   DEBUG(1),
@@ -43,6 +40,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -51,6 +49,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static MessageLevel findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
index 3b5bedd..5e7a899 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/MessageType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum MessageType implements org.apache.thrift.TEnum {
   EXPERIMENT(0),
   EXPERIMENT_CANCEL(1),
@@ -49,6 +46,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -57,6 +55,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static MessageType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
index 454c22e..d055f97 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessIdentifier.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessIdentifier implements org.apache.thrift.TBase<ProcessIdentifier, ProcessIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessIdentifier");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessIdentifierStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessIdentifierTupleSchemeFactory();
 
-  private java.lang.String processId; // required
-  private java.lang.String experimentId; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PROCESS_ID
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -146,6 +150,7 @@
     }
   }
 
+  @Override
   public ProcessIdentifier deepCopy() {
     return new ProcessIdentifier(this);
   }
@@ -157,11 +162,12 @@
     this.gatewayId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -180,11 +186,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -203,11 +210,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -226,7 +234,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PROCESS_ID:
       if (value == null) {
@@ -255,6 +264,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PROCESS_ID:
@@ -271,6 +282,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -289,8 +301,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessIdentifier)
       return this.equals((ProcessIdentifier)that);
     return false;
@@ -359,7 +369,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -369,7 +379,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -379,7 +389,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -392,14 +402,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -470,6 +484,7 @@
   }
 
   private static class ProcessIdentifierStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessIdentifierStandardScheme getScheme() {
       return new ProcessIdentifierStandardScheme();
     }
@@ -477,6 +492,7 @@
 
   private static class ProcessIdentifierStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessIdentifier> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessIdentifier struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -520,6 +536,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessIdentifier struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -546,6 +563,7 @@
   }
 
   private static class ProcessIdentifierTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessIdentifierTupleScheme getScheme() {
       return new ProcessIdentifierTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
index 7e1ab25..a947c39 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessStatusChangeEvent implements org.apache.thrift.TBase<ProcessStatusChangeEvent, ProcessStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessStatusChangeEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessStatusChangeEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.ProcessState state; // required
-  private ProcessIdentifier processIdentity; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessState state; // required
+  private @org.apache.thrift.annotation.Nullable ProcessIdentifier processIdentity; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -138,6 +142,7 @@
     }
   }
 
+  @Override
   public ProcessStatusChangeEvent deepCopy() {
     return new ProcessStatusChangeEvent(this);
   }
@@ -152,6 +157,7 @@
    * 
    * @see org.apache.airavata.model.status.ProcessState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.ProcessState getState() {
     return this.state;
   }
@@ -160,7 +166,7 @@
    * 
    * @see org.apache.airavata.model.status.ProcessState
    */
-  public void setState(org.apache.airavata.model.status.ProcessState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessState state) {
     this.state = state;
   }
 
@@ -179,11 +185,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ProcessIdentifier getProcessIdentity() {
     return this.processIdentity;
   }
 
-  public void setProcessIdentity(ProcessIdentifier processIdentity) {
+  public void setProcessIdentity(@org.apache.thrift.annotation.Nullable ProcessIdentifier processIdentity) {
     this.processIdentity = processIdentity;
   }
 
@@ -202,7 +209,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -223,6 +231,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -236,6 +246,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -252,8 +263,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessStatusChangeEvent)
       return this.equals((ProcessStatusChangeEvent)that);
     return false;
@@ -309,7 +318,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,7 +328,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessIdentity()).compareTo(other.isSetProcessIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetProcessIdentity(), other.isSetProcessIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -332,14 +341,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -401,6 +414,7 @@
   }
 
   private static class ProcessStatusChangeEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessStatusChangeEventStandardScheme getScheme() {
       return new ProcessStatusChangeEventStandardScheme();
     }
@@ -408,6 +422,7 @@
 
   private static class ProcessStatusChangeEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessStatusChangeEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessStatusChangeEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessStatusChangeEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class ProcessStatusChangeEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessStatusChangeEventTupleScheme getScheme() {
       return new ProcessStatusChangeEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
index 139fe9e..54b1b30 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessStatusChangeRequestEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessStatusChangeRequestEvent implements org.apache.thrift.TBase<ProcessStatusChangeRequestEvent, ProcessStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatusChangeRequestEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessStatusChangeRequestEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessStatusChangeRequestEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.ProcessState state; // required
-  private ProcessIdentifier processIdentity; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessState state; // required
+  private @org.apache.thrift.annotation.Nullable ProcessIdentifier processIdentity; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -138,6 +142,7 @@
     }
   }
 
+  @Override
   public ProcessStatusChangeRequestEvent deepCopy() {
     return new ProcessStatusChangeRequestEvent(this);
   }
@@ -152,6 +157,7 @@
    * 
    * @see org.apache.airavata.model.status.ProcessState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.ProcessState getState() {
     return this.state;
   }
@@ -160,7 +166,7 @@
    * 
    * @see org.apache.airavata.model.status.ProcessState
    */
-  public void setState(org.apache.airavata.model.status.ProcessState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessState state) {
     this.state = state;
   }
 
@@ -179,11 +185,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public ProcessIdentifier getProcessIdentity() {
     return this.processIdentity;
   }
 
-  public void setProcessIdentity(ProcessIdentifier processIdentity) {
+  public void setProcessIdentity(@org.apache.thrift.annotation.Nullable ProcessIdentifier processIdentity) {
     this.processIdentity = processIdentity;
   }
 
@@ -202,7 +209,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -223,6 +231,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -236,6 +246,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -252,8 +263,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessStatusChangeRequestEvent)
       return this.equals((ProcessStatusChangeRequestEvent)that);
     return false;
@@ -309,7 +318,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,7 +328,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessIdentity()).compareTo(other.isSetProcessIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetProcessIdentity(), other.isSetProcessIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -332,14 +341,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -401,6 +414,7 @@
   }
 
   private static class ProcessStatusChangeRequestEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessStatusChangeRequestEventStandardScheme getScheme() {
       return new ProcessStatusChangeRequestEventStandardScheme();
     }
@@ -408,6 +422,7 @@
 
   private static class ProcessStatusChangeRequestEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessStatusChangeRequestEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessStatusChangeRequestEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessStatusChangeRequestEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class ProcessStatusChangeRequestEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessStatusChangeRequestEventTupleScheme getScheme() {
       return new ProcessStatusChangeRequestEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
index e1776bd..494a300 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessSubmitEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessSubmitEvent implements org.apache.thrift.TBase<ProcessSubmitEvent, ProcessSubmitEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessSubmitEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessSubmitEvent");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessSubmitEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessSubmitEventTupleSchemeFactory();
 
-  private java.lang.String processId; // required
-  private java.lang.String gatewayId; // required
-  private java.lang.String experimentId; // required
-  private java.lang.String tokenId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // 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 {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PROCESS_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     }
   }
 
+  @Override
   public ProcessSubmitEvent deepCopy() {
     return new ProcessSubmitEvent(this);
   }
@@ -170,11 +175,12 @@
     this.tokenId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -193,11 +199,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -216,11 +223,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -239,11 +247,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTokenId() {
     return this.tokenId;
   }
 
-  public void setTokenId(java.lang.String tokenId) {
+  public void setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
     this.tokenId = tokenId;
   }
 
@@ -262,7 +271,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PROCESS_ID:
       if (value == null) {
@@ -299,6 +309,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PROCESS_ID:
@@ -318,6 +330,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -338,8 +351,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessSubmitEvent)
       return this.equals((ProcessSubmitEvent)that);
     return false;
@@ -421,7 +432,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -431,7 +442,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -441,7 +452,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -451,7 +462,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+    lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -464,14 +475,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +569,7 @@
   }
 
   private static class ProcessSubmitEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessSubmitEventStandardScheme getScheme() {
       return new ProcessSubmitEventStandardScheme();
     }
@@ -561,6 +577,7 @@
 
   private static class ProcessSubmitEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessSubmitEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessSubmitEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +629,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessSubmitEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -643,6 +661,7 @@
   }
 
   private static class ProcessSubmitEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessSubmitEventTupleScheme getScheme() {
       return new ProcessSubmitEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
index a937763..0bb778c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/ProcessTerminateEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessTerminateEvent implements org.apache.thrift.TBase<ProcessTerminateEvent, ProcessTerminateEvent._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessTerminateEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessTerminateEvent");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessTerminateEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessTerminateEventTupleSchemeFactory();
 
-  private java.lang.String processId; // required
-  private java.lang.String gatewayId; // required
-  private java.lang.String tokenId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // 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 {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PROCESS_ID
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -146,6 +150,7 @@
     }
   }
 
+  @Override
   public ProcessTerminateEvent deepCopy() {
     return new ProcessTerminateEvent(this);
   }
@@ -157,11 +162,12 @@
     this.tokenId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -180,11 +186,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -203,11 +210,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTokenId() {
     return this.tokenId;
   }
 
-  public void setTokenId(java.lang.String tokenId) {
+  public void setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
     this.tokenId = tokenId;
   }
 
@@ -226,7 +234,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PROCESS_ID:
       if (value == null) {
@@ -255,6 +264,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PROCESS_ID:
@@ -271,6 +282,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -289,8 +301,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessTerminateEvent)
       return this.equals((ProcessTerminateEvent)that);
     return false;
@@ -359,7 +369,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -369,7 +379,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -379,7 +389,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+    lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -392,14 +402,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -470,6 +484,7 @@
   }
 
   private static class ProcessTerminateEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessTerminateEventStandardScheme getScheme() {
       return new ProcessTerminateEventStandardScheme();
     }
@@ -477,6 +492,7 @@
 
   private static class ProcessTerminateEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessTerminateEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessTerminateEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -520,6 +536,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessTerminateEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -546,6 +563,7 @@
   }
 
   private static class ProcessTerminateEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessTerminateEventTupleScheme getScheme() {
       return new ProcessTerminateEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
index 535c1c7..ad9963c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskIdentifier.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TaskIdentifier implements org.apache.thrift.TBase<TaskIdentifier, TaskIdentifier._Fields>, java.io.Serializable, Cloneable, Comparable<TaskIdentifier> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskIdentifier");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TaskIdentifierStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TaskIdentifierTupleSchemeFactory();
 
-  private java.lang.String taskId; // required
-  private java.lang.String processId; // required
-  private java.lang.String experimentId; // required
-  private java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String taskId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TASK_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     }
   }
 
+  @Override
   public TaskIdentifier deepCopy() {
     return new TaskIdentifier(this);
   }
@@ -170,11 +175,12 @@
     this.gatewayId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTaskId() {
     return this.taskId;
   }
 
-  public void setTaskId(java.lang.String taskId) {
+  public void setTaskId(@org.apache.thrift.annotation.Nullable java.lang.String taskId) {
     this.taskId = taskId;
   }
 
@@ -193,11 +199,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -216,11 +223,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -239,11 +247,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -262,7 +271,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TASK_ID:
       if (value == null) {
@@ -299,6 +309,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TASK_ID:
@@ -318,6 +330,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -338,8 +351,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TaskIdentifier)
       return this.equals((TaskIdentifier)that);
     return false;
@@ -421,7 +432,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+    lastComparison = java.lang.Boolean.compare(isSetTaskId(), other.isSetTaskId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -431,7 +442,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -441,7 +452,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -451,7 +462,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -464,14 +475,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +569,7 @@
   }
 
   private static class TaskIdentifierStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskIdentifierStandardScheme getScheme() {
       return new TaskIdentifierStandardScheme();
     }
@@ -561,6 +577,7 @@
 
   private static class TaskIdentifierStandardScheme extends org.apache.thrift.scheme.StandardScheme<TaskIdentifier> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TaskIdentifier struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +629,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TaskIdentifier struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -643,6 +661,7 @@
   }
 
   private static class TaskIdentifierTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskIdentifierTupleScheme getScheme() {
       return new TaskIdentifierTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
index a1d761c..10f733a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskOutputChangeEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TaskOutputChangeEvent implements org.apache.thrift.TBase<TaskOutputChangeEvent, TaskOutputChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskOutputChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskOutputChangeEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TaskOutputChangeEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TaskOutputChangeEventTupleSchemeFactory();
 
-  private java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> output; // required
-  private TaskIdentifier taskIdentity; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> output; // required
+  private @org.apache.thrift.annotation.Nullable TaskIdentifier taskIdentity; // 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 {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // OUTPUT
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -139,6 +143,7 @@
     }
   }
 
+  @Override
   public TaskOutputChangeEvent deepCopy() {
     return new TaskOutputChangeEvent(this);
   }
@@ -153,6 +158,7 @@
     return (this.output == null) ? 0 : this.output.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputIterator() {
     return (this.output == null) ? null : this.output.iterator();
   }
@@ -164,11 +170,12 @@
     this.output.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getOutput() {
     return this.output;
   }
 
-  public void setOutput(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> output) {
+  public void setOutput(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> output) {
     this.output = output;
   }
 
@@ -187,11 +194,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public TaskIdentifier getTaskIdentity() {
     return this.taskIdentity;
   }
 
-  public void setTaskIdentity(TaskIdentifier taskIdentity) {
+  public void setTaskIdentity(@org.apache.thrift.annotation.Nullable TaskIdentifier taskIdentity) {
     this.taskIdentity = taskIdentity;
   }
 
@@ -210,7 +218,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case OUTPUT:
       if (value == null) {
@@ -231,6 +240,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case OUTPUT:
@@ -244,6 +255,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -260,8 +272,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TaskOutputChangeEvent)
       return this.equals((TaskOutputChangeEvent)that);
     return false;
@@ -317,7 +327,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetOutput()).compareTo(other.isSetOutput());
+    lastComparison = java.lang.Boolean.compare(isSetOutput(), other.isSetOutput());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -327,7 +337,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskIdentity()).compareTo(other.isSetTaskIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetTaskIdentity(), other.isSetTaskIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -340,14 +350,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -409,6 +423,7 @@
   }
 
   private static class TaskOutputChangeEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskOutputChangeEventStandardScheme getScheme() {
       return new TaskOutputChangeEventStandardScheme();
     }
@@ -416,6 +431,7 @@
 
   private static class TaskOutputChangeEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<TaskOutputChangeEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TaskOutputChangeEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -431,7 +447,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.output = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list0.size);
-                org.apache.airavata.model.application.io.OutputDataObjectType _elem1;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -463,6 +479,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TaskOutputChangeEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -491,6 +508,7 @@
   }
 
   private static class TaskOutputChangeEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskOutputChangeEventTupleScheme getScheme() {
       return new TaskOutputChangeEventTupleScheme();
     }
@@ -515,9 +533,9 @@
     public void read(org.apache.thrift.protocol.TProtocol prot, TaskOutputChangeEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       {
-        org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.output = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list5.size);
-        org.apache.airavata.model.application.io.OutputDataObjectType _elem6;
+        @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem6;
         for (int _i7 = 0; _i7 < _list5.size; ++_i7)
         {
           _elem6 = new org.apache.airavata.model.application.io.OutputDataObjectType();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
index 9ab483a..c015dab 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TaskStatusChangeEvent implements org.apache.thrift.TBase<TaskStatusChangeEvent, TaskStatusChangeEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TaskStatusChangeEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TaskStatusChangeEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.TaskState state; // required
-  private TaskIdentifier taskIdentity; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskState state; // required
+  private @org.apache.thrift.annotation.Nullable TaskIdentifier taskIdentity; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -138,6 +142,7 @@
     }
   }
 
+  @Override
   public TaskStatusChangeEvent deepCopy() {
     return new TaskStatusChangeEvent(this);
   }
@@ -152,6 +157,7 @@
    * 
    * @see org.apache.airavata.model.status.TaskState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.TaskState getState() {
     return this.state;
   }
@@ -160,7 +166,7 @@
    * 
    * @see org.apache.airavata.model.status.TaskState
    */
-  public void setState(org.apache.airavata.model.status.TaskState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskState state) {
     this.state = state;
   }
 
@@ -179,11 +185,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public TaskIdentifier getTaskIdentity() {
     return this.taskIdentity;
   }
 
-  public void setTaskIdentity(TaskIdentifier taskIdentity) {
+  public void setTaskIdentity(@org.apache.thrift.annotation.Nullable TaskIdentifier taskIdentity) {
     this.taskIdentity = taskIdentity;
   }
 
@@ -202,7 +209,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -223,6 +231,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -236,6 +246,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -252,8 +263,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TaskStatusChangeEvent)
       return this.equals((TaskStatusChangeEvent)that);
     return false;
@@ -309,7 +318,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,7 +328,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskIdentity()).compareTo(other.isSetTaskIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetTaskIdentity(), other.isSetTaskIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -332,14 +341,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -401,6 +414,7 @@
   }
 
   private static class TaskStatusChangeEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskStatusChangeEventStandardScheme getScheme() {
       return new TaskStatusChangeEventStandardScheme();
     }
@@ -408,6 +422,7 @@
 
   private static class TaskStatusChangeEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<TaskStatusChangeEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TaskStatusChangeEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TaskStatusChangeEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class TaskStatusChangeEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskStatusChangeEventTupleScheme getScheme() {
       return new TaskStatusChangeEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
index 033e37a..e2ca55e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/messaging/event/TaskStatusChangeRequestEvent.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.messaging.event;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TaskStatusChangeRequestEvent implements org.apache.thrift.TBase<TaskStatusChangeRequestEvent, TaskStatusChangeRequestEvent._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatusChangeRequestEvent> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatusChangeRequestEvent");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TaskStatusChangeRequestEventStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TaskStatusChangeRequestEventTupleSchemeFactory();
 
-  private org.apache.airavata.model.status.TaskState state; // required
-  private TaskIdentifier taskIdentity; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskState state; // required
+  private @org.apache.thrift.annotation.Nullable TaskIdentifier taskIdentity; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -81,6 +82,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -93,10 +95,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -138,6 +142,7 @@
     }
   }
 
+  @Override
   public TaskStatusChangeRequestEvent deepCopy() {
     return new TaskStatusChangeRequestEvent(this);
   }
@@ -152,6 +157,7 @@
    * 
    * @see org.apache.airavata.model.status.TaskState
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.status.TaskState getState() {
     return this.state;
   }
@@ -160,7 +166,7 @@
    * 
    * @see org.apache.airavata.model.status.TaskState
    */
-  public void setState(org.apache.airavata.model.status.TaskState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskState state) {
     this.state = state;
   }
 
@@ -179,11 +185,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public TaskIdentifier getTaskIdentity() {
     return this.taskIdentity;
   }
 
-  public void setTaskIdentity(TaskIdentifier taskIdentity) {
+  public void setTaskIdentity(@org.apache.thrift.annotation.Nullable TaskIdentifier taskIdentity) {
     this.taskIdentity = taskIdentity;
   }
 
@@ -202,7 +209,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -223,6 +231,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -236,6 +246,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -252,8 +263,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TaskStatusChangeRequestEvent)
       return this.equals((TaskStatusChangeRequestEvent)that);
     return false;
@@ -309,7 +318,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,7 +328,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskIdentity()).compareTo(other.isSetTaskIdentity());
+    lastComparison = java.lang.Boolean.compare(isSetTaskIdentity(), other.isSetTaskIdentity());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -332,14 +341,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -401,6 +414,7 @@
   }
 
   private static class TaskStatusChangeRequestEventStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskStatusChangeRequestEventStandardScheme getScheme() {
       return new TaskStatusChangeRequestEventStandardScheme();
     }
@@ -408,6 +422,7 @@
 
   private static class TaskStatusChangeRequestEventStandardScheme extends org.apache.thrift.scheme.StandardScheme<TaskStatusChangeRequestEvent> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TaskStatusChangeRequestEvent struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TaskStatusChangeRequestEvent struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class TaskStatusChangeRequestEventTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskStatusChangeRequestEventTupleScheme getScheme() {
       return new TaskStatusChangeRequestEventTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
index 8c37bd4..be073ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/parallelism/ApplicationParallelismType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.parallelism;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Enumeration of application parallelism supported by Airavata
  * 
@@ -44,6 +40,7 @@
  *  Hybrid Applications.
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ApplicationParallelismType implements org.apache.thrift.TEnum {
   SERIAL(0),
   MPI(1),
@@ -61,6 +58,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -69,6 +67,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ApplicationParallelismType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
index 6a65f3c..cd42aa8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessModel.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.process;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * ProcessModel: A structure holding the process details. The infromation is derived based on user provided
  *          configuration data or system inferred information from scheduling and QoS parameters.
@@ -33,7 +32,8 @@
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessModel implements org.apache.thrift.TBase<ProcessModel, ProcessModel._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessModel");
 
@@ -67,32 +67,32 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessModelTupleSchemeFactory();
 
-  private java.lang.String processId; // required
-  private java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
   private long creationTime; // optional
   private long lastUpdateTime; // optional
-  private java.util.List<org.apache.airavata.model.status.ProcessStatus> processStatuses; // optional
-  private java.lang.String processDetail; // optional
-  private java.lang.String applicationInterfaceId; // optional
-  private java.lang.String applicationDeploymentId; // optional
-  private java.lang.String computeResourceId; // optional
-  private java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> processInputs; // optional
-  private java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> processOutputs; // optional
-  private org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel processResourceSchedule; // optional
-  private java.util.List<org.apache.airavata.model.task.TaskModel> tasks; // optional
-  private java.lang.String taskDag; // optional
-  private java.util.List<org.apache.airavata.model.commons.ErrorModel> processErrors; // optional
-  private java.lang.String gatewayExecutionId; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.ProcessStatus> processStatuses; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String processDetail; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationInterfaceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationDeploymentId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> processInputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> processOutputs; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel processResourceSchedule; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.task.TaskModel> tasks; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String taskDag; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> processErrors; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayExecutionId; // optional
   private boolean enableEmailNotification; // optional
-  private java.util.List<java.lang.String> emailAddresses; // optional
-  private java.lang.String storageResourceId; // optional
-  private java.lang.String userDn; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> emailAddresses; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userDn; // optional
   private boolean generateCert; // optional
-  private java.lang.String experimentDataDir; // optional
-  private java.lang.String userName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentDataDir; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userName; // optional
   private boolean useUserCRPref; // optional
-  private java.lang.String groupResourceProfileId; // optional
-  private java.util.List<ProcessWorkflow> processWorkflows; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ProcessWorkflow> processWorkflows; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -134,6 +134,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PROCESS_ID
@@ -206,6 +207,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -218,10 +220,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -417,6 +421,7 @@
     }
   }
 
+  @Override
   public ProcessModel deepCopy() {
     return new ProcessModel(this);
   }
@@ -457,11 +462,12 @@
     this.processWorkflows = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -480,11 +486,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -551,6 +558,7 @@
     return (this.processStatuses == null) ? 0 : this.processStatuses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.status.ProcessStatus> getProcessStatusesIterator() {
     return (this.processStatuses == null) ? null : this.processStatuses.iterator();
   }
@@ -562,11 +570,12 @@
     this.processStatuses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.status.ProcessStatus> getProcessStatuses() {
     return this.processStatuses;
   }
 
-  public void setProcessStatuses(java.util.List<org.apache.airavata.model.status.ProcessStatus> processStatuses) {
+  public void setProcessStatuses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.ProcessStatus> processStatuses) {
     this.processStatuses = processStatuses;
   }
 
@@ -585,11 +594,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessDetail() {
     return this.processDetail;
   }
 
-  public void setProcessDetail(java.lang.String processDetail) {
+  public void setProcessDetail(@org.apache.thrift.annotation.Nullable java.lang.String processDetail) {
     this.processDetail = processDetail;
   }
 
@@ -608,11 +618,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationInterfaceId() {
     return this.applicationInterfaceId;
   }
 
-  public void setApplicationInterfaceId(java.lang.String applicationInterfaceId) {
+  public void setApplicationInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String applicationInterfaceId) {
     this.applicationInterfaceId = applicationInterfaceId;
   }
 
@@ -631,11 +642,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationDeploymentId() {
     return this.applicationDeploymentId;
   }
 
-  public void setApplicationDeploymentId(java.lang.String applicationDeploymentId) {
+  public void setApplicationDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String applicationDeploymentId) {
     this.applicationDeploymentId = applicationDeploymentId;
   }
 
@@ -654,11 +666,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -681,6 +694,7 @@
     return (this.processInputs == null) ? 0 : this.processInputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getProcessInputsIterator() {
     return (this.processInputs == null) ? null : this.processInputs.iterator();
   }
@@ -692,11 +706,12 @@
     this.processInputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getProcessInputs() {
     return this.processInputs;
   }
 
-  public void setProcessInputs(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> processInputs) {
+  public void setProcessInputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> processInputs) {
     this.processInputs = processInputs;
   }
 
@@ -719,6 +734,7 @@
     return (this.processOutputs == null) ? 0 : this.processOutputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getProcessOutputsIterator() {
     return (this.processOutputs == null) ? null : this.processOutputs.iterator();
   }
@@ -730,11 +746,12 @@
     this.processOutputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getProcessOutputs() {
     return this.processOutputs;
   }
 
-  public void setProcessOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> processOutputs) {
+  public void setProcessOutputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> processOutputs) {
     this.processOutputs = processOutputs;
   }
 
@@ -753,11 +770,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel getProcessResourceSchedule() {
     return this.processResourceSchedule;
   }
 
-  public void setProcessResourceSchedule(org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel processResourceSchedule) {
+  public void setProcessResourceSchedule(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel processResourceSchedule) {
     this.processResourceSchedule = processResourceSchedule;
   }
 
@@ -780,6 +798,7 @@
     return (this.tasks == null) ? 0 : this.tasks.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.task.TaskModel> getTasksIterator() {
     return (this.tasks == null) ? null : this.tasks.iterator();
   }
@@ -791,11 +810,12 @@
     this.tasks.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.task.TaskModel> getTasks() {
     return this.tasks;
   }
 
-  public void setTasks(java.util.List<org.apache.airavata.model.task.TaskModel> tasks) {
+  public void setTasks(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.task.TaskModel> tasks) {
     this.tasks = tasks;
   }
 
@@ -814,11 +834,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTaskDag() {
     return this.taskDag;
   }
 
-  public void setTaskDag(java.lang.String taskDag) {
+  public void setTaskDag(@org.apache.thrift.annotation.Nullable java.lang.String taskDag) {
     this.taskDag = taskDag;
   }
 
@@ -841,6 +862,7 @@
     return (this.processErrors == null) ? 0 : this.processErrors.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getProcessErrorsIterator() {
     return (this.processErrors == null) ? null : this.processErrors.iterator();
   }
@@ -852,11 +874,12 @@
     this.processErrors.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.commons.ErrorModel> getProcessErrors() {
     return this.processErrors;
   }
 
-  public void setProcessErrors(java.util.List<org.apache.airavata.model.commons.ErrorModel> processErrors) {
+  public void setProcessErrors(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> processErrors) {
     this.processErrors = processErrors;
   }
 
@@ -875,11 +898,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayExecutionId() {
     return this.gatewayExecutionId;
   }
 
-  public void setGatewayExecutionId(java.lang.String gatewayExecutionId) {
+  public void setGatewayExecutionId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayExecutionId) {
     this.gatewayExecutionId = gatewayExecutionId;
   }
 
@@ -924,6 +948,7 @@
     return (this.emailAddresses == null) ? 0 : this.emailAddresses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getEmailAddressesIterator() {
     return (this.emailAddresses == null) ? null : this.emailAddresses.iterator();
   }
@@ -935,11 +960,12 @@
     this.emailAddresses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getEmailAddresses() {
     return this.emailAddresses;
   }
 
-  public void setEmailAddresses(java.util.List<java.lang.String> emailAddresses) {
+  public void setEmailAddresses(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> emailAddresses) {
     this.emailAddresses = emailAddresses;
   }
 
@@ -958,11 +984,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageResourceId() {
     return this.storageResourceId;
   }
 
-  public void setStorageResourceId(java.lang.String storageResourceId) {
+  public void setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
     this.storageResourceId = storageResourceId;
   }
 
@@ -981,11 +1008,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserDn() {
     return this.userDn;
   }
 
-  public void setUserDn(java.lang.String userDn) {
+  public void setUserDn(@org.apache.thrift.annotation.Nullable java.lang.String userDn) {
     this.userDn = userDn;
   }
 
@@ -1026,11 +1054,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __GENERATECERT_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentDataDir() {
     return this.experimentDataDir;
   }
 
-  public void setExperimentDataDir(java.lang.String experimentDataDir) {
+  public void setExperimentDataDir(@org.apache.thrift.annotation.Nullable java.lang.String experimentDataDir) {
     this.experimentDataDir = experimentDataDir;
   }
 
@@ -1049,11 +1078,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserName() {
     return this.userName;
   }
 
-  public void setUserName(java.lang.String userName) {
+  public void setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
     this.userName = userName;
   }
 
@@ -1094,11 +1124,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __USEUSERCRPREF_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupResourceProfileId() {
     return this.groupResourceProfileId;
   }
 
-  public void setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+  public void setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
     this.groupResourceProfileId = groupResourceProfileId;
   }
 
@@ -1121,6 +1152,7 @@
     return (this.processWorkflows == null) ? 0 : this.processWorkflows.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ProcessWorkflow> getProcessWorkflowsIterator() {
     return (this.processWorkflows == null) ? null : this.processWorkflows.iterator();
   }
@@ -1132,11 +1164,12 @@
     this.processWorkflows.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ProcessWorkflow> getProcessWorkflows() {
     return this.processWorkflows;
   }
 
-  public void setProcessWorkflows(java.util.List<ProcessWorkflow> processWorkflows) {
+  public void setProcessWorkflows(@org.apache.thrift.annotation.Nullable java.util.List<ProcessWorkflow> processWorkflows) {
     this.processWorkflows = processWorkflows;
   }
 
@@ -1155,7 +1188,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PROCESS_ID:
       if (value == null) {
@@ -1368,6 +1402,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PROCESS_ID:
@@ -1453,6 +1489,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1517,8 +1554,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessModel)
       return this.equals((ProcessModel)that);
     return false;
@@ -1886,7 +1921,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1896,7 +1931,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1906,7 +1941,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1916,7 +1951,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastUpdateTime()).compareTo(other.isSetLastUpdateTime());
+    lastComparison = java.lang.Boolean.compare(isSetLastUpdateTime(), other.isSetLastUpdateTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1926,7 +1961,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessStatuses()).compareTo(other.isSetProcessStatuses());
+    lastComparison = java.lang.Boolean.compare(isSetProcessStatuses(), other.isSetProcessStatuses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1936,7 +1971,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessDetail()).compareTo(other.isSetProcessDetail());
+    lastComparison = java.lang.Boolean.compare(isSetProcessDetail(), other.isSetProcessDetail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1946,7 +1981,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterfaceId()).compareTo(other.isSetApplicationInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationInterfaceId(), other.isSetApplicationInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1956,7 +1991,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationDeploymentId()).compareTo(other.isSetApplicationDeploymentId());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationDeploymentId(), other.isSetApplicationDeploymentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1966,7 +2001,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1976,7 +2011,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessInputs()).compareTo(other.isSetProcessInputs());
+    lastComparison = java.lang.Boolean.compare(isSetProcessInputs(), other.isSetProcessInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1986,7 +2021,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessOutputs()).compareTo(other.isSetProcessOutputs());
+    lastComparison = java.lang.Boolean.compare(isSetProcessOutputs(), other.isSetProcessOutputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1996,7 +2031,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessResourceSchedule()).compareTo(other.isSetProcessResourceSchedule());
+    lastComparison = java.lang.Boolean.compare(isSetProcessResourceSchedule(), other.isSetProcessResourceSchedule());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2006,7 +2041,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTasks()).compareTo(other.isSetTasks());
+    lastComparison = java.lang.Boolean.compare(isSetTasks(), other.isSetTasks());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2016,7 +2051,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskDag()).compareTo(other.isSetTaskDag());
+    lastComparison = java.lang.Boolean.compare(isSetTaskDag(), other.isSetTaskDag());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2026,7 +2061,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessErrors()).compareTo(other.isSetProcessErrors());
+    lastComparison = java.lang.Boolean.compare(isSetProcessErrors(), other.isSetProcessErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2036,7 +2071,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayExecutionId()).compareTo(other.isSetGatewayExecutionId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayExecutionId(), other.isSetGatewayExecutionId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2046,7 +2081,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEnableEmailNotification()).compareTo(other.isSetEnableEmailNotification());
+    lastComparison = java.lang.Boolean.compare(isSetEnableEmailNotification(), other.isSetEnableEmailNotification());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2056,7 +2091,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmailAddresses()).compareTo(other.isSetEmailAddresses());
+    lastComparison = java.lang.Boolean.compare(isSetEmailAddresses(), other.isSetEmailAddresses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2066,7 +2101,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2076,7 +2111,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserDn()).compareTo(other.isSetUserDn());
+    lastComparison = java.lang.Boolean.compare(isSetUserDn(), other.isSetUserDn());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2086,7 +2121,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGenerateCert()).compareTo(other.isSetGenerateCert());
+    lastComparison = java.lang.Boolean.compare(isSetGenerateCert(), other.isSetGenerateCert());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2096,7 +2131,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentDataDir()).compareTo(other.isSetExperimentDataDir());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentDataDir(), other.isSetExperimentDataDir());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2106,7 +2141,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+    lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2116,7 +2151,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUseUserCRPref()).compareTo(other.isSetUseUserCRPref());
+    lastComparison = java.lang.Boolean.compare(isSetUseUserCRPref(), other.isSetUseUserCRPref());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2126,7 +2161,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2136,7 +2171,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessWorkflows()).compareTo(other.isSetProcessWorkflows());
+    lastComparison = java.lang.Boolean.compare(isSetProcessWorkflows(), other.isSetProcessWorkflows());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2149,14 +2184,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -2440,6 +2479,7 @@
   }
 
   private static class ProcessModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessModelStandardScheme getScheme() {
       return new ProcessModelStandardScheme();
     }
@@ -2447,6 +2487,7 @@
 
   private static class ProcessModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -2494,7 +2535,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.processStatuses = new java.util.ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list0.size);
-                org.apache.airavata.model.status.ProcessStatus _elem1;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new org.apache.airavata.model.status.ProcessStatus();
@@ -2545,7 +2586,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.processInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list3.size);
-                org.apache.airavata.model.application.io.InputDataObjectType _elem4;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -2564,7 +2605,7 @@
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
                 struct.processOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list6.size);
-                org.apache.airavata.model.application.io.OutputDataObjectType _elem7;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem7;
                 for (int _i8 = 0; _i8 < _list6.size; ++_i8)
                 {
                   _elem7 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -2592,7 +2633,7 @@
               {
                 org.apache.thrift.protocol.TList _list9 = iprot.readListBegin();
                 struct.tasks = new java.util.ArrayList<org.apache.airavata.model.task.TaskModel>(_list9.size);
-                org.apache.airavata.model.task.TaskModel _elem10;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.task.TaskModel _elem10;
                 for (int _i11 = 0; _i11 < _list9.size; ++_i11)
                 {
                   _elem10 = new org.apache.airavata.model.task.TaskModel();
@@ -2619,7 +2660,7 @@
               {
                 org.apache.thrift.protocol.TList _list12 = iprot.readListBegin();
                 struct.processErrors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list12.size);
-                org.apache.airavata.model.commons.ErrorModel _elem13;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem13;
                 for (int _i14 = 0; _i14 < _list12.size; ++_i14)
                 {
                   _elem13 = new org.apache.airavata.model.commons.ErrorModel();
@@ -2654,7 +2695,7 @@
               {
                 org.apache.thrift.protocol.TList _list15 = iprot.readListBegin();
                 struct.emailAddresses = new java.util.ArrayList<java.lang.String>(_list15.size);
-                java.lang.String _elem16;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem16;
                 for (int _i17 = 0; _i17 < _list15.size; ++_i17)
                 {
                   _elem16 = iprot.readString();
@@ -2728,7 +2769,7 @@
               {
                 org.apache.thrift.protocol.TList _list18 = iprot.readListBegin();
                 struct.processWorkflows = new java.util.ArrayList<ProcessWorkflow>(_list18.size);
-                ProcessWorkflow _elem19;
+                @org.apache.thrift.annotation.Nullable ProcessWorkflow _elem19;
                 for (int _i20 = 0; _i20 < _list18.size; ++_i20)
                 {
                   _elem19 = new ProcessWorkflow();
@@ -2751,6 +2792,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2979,6 +3021,7 @@
   }
 
   private static class ProcessModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessModelTupleScheme getScheme() {
       return new ProcessModelTupleScheme();
     }
@@ -3199,9 +3242,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list35 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list35 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.processStatuses = new java.util.ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list35.size);
-          org.apache.airavata.model.status.ProcessStatus _elem36;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus _elem36;
           for (int _i37 = 0; _i37 < _list35.size; ++_i37)
           {
             _elem36 = new org.apache.airavata.model.status.ProcessStatus();
@@ -3229,9 +3272,9 @@
       }
       if (incoming.get(7)) {
         {
-          org.apache.thrift.protocol.TList _list38 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list38 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.processInputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list38.size);
-          org.apache.airavata.model.application.io.InputDataObjectType _elem39;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem39;
           for (int _i40 = 0; _i40 < _list38.size; ++_i40)
           {
             _elem39 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -3243,9 +3286,9 @@
       }
       if (incoming.get(8)) {
         {
-          org.apache.thrift.protocol.TList _list41 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list41 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.processOutputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list41.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem42;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem42;
           for (int _i43 = 0; _i43 < _list41.size; ++_i43)
           {
             _elem42 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -3262,9 +3305,9 @@
       }
       if (incoming.get(10)) {
         {
-          org.apache.thrift.protocol.TList _list44 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list44 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.tasks = new java.util.ArrayList<org.apache.airavata.model.task.TaskModel>(_list44.size);
-          org.apache.airavata.model.task.TaskModel _elem45;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.task.TaskModel _elem45;
           for (int _i46 = 0; _i46 < _list44.size; ++_i46)
           {
             _elem45 = new org.apache.airavata.model.task.TaskModel();
@@ -3280,9 +3323,9 @@
       }
       if (incoming.get(12)) {
         {
-          org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list47 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.processErrors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list47.size);
-          org.apache.airavata.model.commons.ErrorModel _elem48;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem48;
           for (int _i49 = 0; _i49 < _list47.size; ++_i49)
           {
             _elem48 = new org.apache.airavata.model.commons.ErrorModel();
@@ -3302,9 +3345,9 @@
       }
       if (incoming.get(15)) {
         {
-          org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list50 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.emailAddresses = new java.util.ArrayList<java.lang.String>(_list50.size);
-          java.lang.String _elem51;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem51;
           for (int _i52 = 0; _i52 < _list50.size; ++_i52)
           {
             _elem51 = iprot.readString();
@@ -3343,9 +3386,9 @@
       }
       if (incoming.get(23)) {
         {
-          org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list53 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.processWorkflows = new java.util.ArrayList<ProcessWorkflow>(_list53.size);
-          ProcessWorkflow _elem54;
+          @org.apache.thrift.annotation.Nullable ProcessWorkflow _elem54;
           for (int _i55 = 0; _i55 < _list53.size; ++_i55)
           {
             _elem54 = new ProcessWorkflow();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessWorkflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessWorkflow.java
index e4e69c7..d713f4e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessWorkflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/process/ProcessWorkflow.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.process;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessWorkflow implements org.apache.thrift.TBase<ProcessWorkflow, ProcessWorkflow._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessWorkflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessWorkflow");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessWorkflowStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessWorkflowTupleSchemeFactory();
 
-  private java.lang.String processId; // required
-  private java.lang.String workflowId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String workflowId; // required
   private long creationTime; // optional
-  private java.lang.String type; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String type; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PROCESS_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -156,6 +160,7 @@
     }
   }
 
+  @Override
   public ProcessWorkflow deepCopy() {
     return new ProcessWorkflow(this);
   }
@@ -169,11 +174,12 @@
     this.type = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -192,11 +198,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getWorkflowId() {
     return this.workflowId;
   }
 
-  public void setWorkflowId(java.lang.String workflowId) {
+  public void setWorkflowId(@org.apache.thrift.annotation.Nullable java.lang.String workflowId) {
     this.workflowId = workflowId;
   }
 
@@ -237,11 +244,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CREATIONTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getType() {
     return this.type;
   }
 
-  public void setType(java.lang.String type) {
+  public void setType(@org.apache.thrift.annotation.Nullable java.lang.String type) {
     this.type = type;
   }
 
@@ -260,7 +268,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PROCESS_ID:
       if (value == null) {
@@ -297,6 +306,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PROCESS_ID:
@@ -316,6 +327,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -336,8 +348,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessWorkflow)
       return this.equals((ProcessWorkflow)that);
     return false;
@@ -419,7 +429,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -429,7 +439,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWorkflowId()).compareTo(other.isSetWorkflowId());
+    lastComparison = java.lang.Boolean.compare(isSetWorkflowId(), other.isSetWorkflowId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +449,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -462,14 +472,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -546,6 +560,7 @@
   }
 
   private static class ProcessWorkflowStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessWorkflowStandardScheme getScheme() {
       return new ProcessWorkflowStandardScheme();
     }
@@ -553,6 +568,7 @@
 
   private static class ProcessWorkflowStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessWorkflow> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessWorkflow struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -604,6 +620,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessWorkflow struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -637,6 +654,7 @@
   }
 
   private static class ProcessWorkflowTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessWorkflowTupleScheme getScheme() {
       return new ProcessWorkflowTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
index 3c629b4..1458219 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/scheduling/ComputationalResourceSchedulingModel.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.scheduling;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * ComputationalResourceSchedulingModel:
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ComputationalResourceSchedulingModel implements org.apache.thrift.TBase<ComputationalResourceSchedulingModel, ComputationalResourceSchedulingModel._Fields>, java.io.Serializable, Cloneable, Comparable<ComputationalResourceSchedulingModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputationalResourceSchedulingModel");
 
@@ -45,22 +45,24 @@
   private static final org.apache.thrift.protocol.TField OVERRIDE_LOGIN_USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideLoginUserName", org.apache.thrift.protocol.TType.STRING, (short)10);
   private static final org.apache.thrift.protocol.TField OVERRIDE_SCRATCH_LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideScratchLocation", org.apache.thrift.protocol.TType.STRING, (short)11);
   private static final org.apache.thrift.protocol.TField OVERRIDE_ALLOCATION_PROJECT_NUMBER_FIELD_DESC = new org.apache.thrift.protocol.TField("overrideAllocationProjectNumber", org.apache.thrift.protocol.TType.STRING, (short)12);
+  private static final org.apache.thrift.protocol.TField M_GROUP_COUNT_FIELD_DESC = new org.apache.thrift.protocol.TField("mGroupCount", org.apache.thrift.protocol.TType.I32, (short)13);
 
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ComputationalResourceSchedulingModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ComputationalResourceSchedulingModelTupleSchemeFactory();
 
-  private java.lang.String resourceHostId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String resourceHostId; // optional
   private int totalCPUCount; // optional
   private int nodeCount; // optional
   private int numberOfThreads; // optional
-  private java.lang.String queueName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String queueName; // optional
   private int wallTimeLimit; // optional
   private int totalPhysicalMemory; // optional
-  private java.lang.String chessisNumber; // optional
-  private java.lang.String staticWorkingDir; // optional
-  private java.lang.String overrideLoginUserName; // optional
-  private java.lang.String overrideScratchLocation; // optional
-  private java.lang.String overrideAllocationProjectNumber; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String chessisNumber; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String staticWorkingDir; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String overrideLoginUserName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String overrideScratchLocation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String overrideAllocationProjectNumber; // optional
+  private int mGroupCount; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75,7 +77,8 @@
     STATIC_WORKING_DIR((short)9, "staticWorkingDir"),
     OVERRIDE_LOGIN_USER_NAME((short)10, "overrideLoginUserName"),
     OVERRIDE_SCRATCH_LOCATION((short)11, "overrideScratchLocation"),
-    OVERRIDE_ALLOCATION_PROJECT_NUMBER((short)12, "overrideAllocationProjectNumber");
+    OVERRIDE_ALLOCATION_PROJECT_NUMBER((short)12, "overrideAllocationProjectNumber"),
+    M_GROUP_COUNT((short)13, "mGroupCount");
 
     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -88,6 +91,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // RESOURCE_HOST_ID
@@ -114,6 +118,8 @@
           return OVERRIDE_SCRATCH_LOCATION;
         case 12: // OVERRIDE_ALLOCATION_PROJECT_NUMBER
           return OVERRIDE_ALLOCATION_PROJECT_NUMBER;
+        case 13: // M_GROUP_COUNT
+          return M_GROUP_COUNT;
         default:
           return null;
       }
@@ -132,6 +138,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -144,10 +151,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -159,8 +168,9 @@
   private static final int __NUMBEROFTHREADS_ISSET_ID = 2;
   private static final int __WALLTIMELIMIT_ISSET_ID = 3;
   private static final int __TOTALPHYSICALMEMORY_ISSET_ID = 4;
+  private static final int __MGROUPCOUNT_ISSET_ID = 5;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.RESOURCE_HOST_ID,_Fields.TOTAL_CPUCOUNT,_Fields.NODE_COUNT,_Fields.NUMBER_OF_THREADS,_Fields.QUEUE_NAME,_Fields.WALL_TIME_LIMIT,_Fields.TOTAL_PHYSICAL_MEMORY,_Fields.CHESSIS_NUMBER,_Fields.STATIC_WORKING_DIR,_Fields.OVERRIDE_LOGIN_USER_NAME,_Fields.OVERRIDE_SCRATCH_LOCATION,_Fields.OVERRIDE_ALLOCATION_PROJECT_NUMBER};
+  private static final _Fields optionals[] = {_Fields.RESOURCE_HOST_ID,_Fields.TOTAL_CPUCOUNT,_Fields.NODE_COUNT,_Fields.NUMBER_OF_THREADS,_Fields.QUEUE_NAME,_Fields.WALL_TIME_LIMIT,_Fields.TOTAL_PHYSICAL_MEMORY,_Fields.CHESSIS_NUMBER,_Fields.STATIC_WORKING_DIR,_Fields.OVERRIDE_LOGIN_USER_NAME,_Fields.OVERRIDE_SCRATCH_LOCATION,_Fields.OVERRIDE_ALLOCATION_PROJECT_NUMBER,_Fields.M_GROUP_COUNT};
   public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -188,6 +198,8 @@
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.OVERRIDE_ALLOCATION_PROJECT_NUMBER, new org.apache.thrift.meta_data.FieldMetaData("overrideAllocationProjectNumber", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.M_GROUP_COUNT, new org.apache.thrift.meta_data.FieldMetaData("mGroupCount", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ComputationalResourceSchedulingModel.class, metaDataMap);
   }
@@ -226,8 +238,10 @@
     if (other.isSetOverrideAllocationProjectNumber()) {
       this.overrideAllocationProjectNumber = other.overrideAllocationProjectNumber;
     }
+    this.mGroupCount = other.mGroupCount;
   }
 
+  @Override
   public ComputationalResourceSchedulingModel deepCopy() {
     return new ComputationalResourceSchedulingModel(this);
   }
@@ -251,13 +265,16 @@
     this.overrideLoginUserName = null;
     this.overrideScratchLocation = null;
     this.overrideAllocationProjectNumber = null;
+    setMGroupCountIsSet(false);
+    this.mGroupCount = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getResourceHostId() {
     return this.resourceHostId;
   }
 
-  public void setResourceHostId(java.lang.String resourceHostId) {
+  public void setResourceHostId(@org.apache.thrift.annotation.Nullable java.lang.String resourceHostId) {
     this.resourceHostId = resourceHostId;
   }
 
@@ -342,11 +359,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __NUMBEROFTHREADS_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueueName() {
     return this.queueName;
   }
 
-  public void setQueueName(java.lang.String queueName) {
+  public void setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
     this.queueName = queueName;
   }
 
@@ -409,11 +427,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TOTALPHYSICALMEMORY_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getChessisNumber() {
     return this.chessisNumber;
   }
 
-  public void setChessisNumber(java.lang.String chessisNumber) {
+  public void setChessisNumber(@org.apache.thrift.annotation.Nullable java.lang.String chessisNumber) {
     this.chessisNumber = chessisNumber;
   }
 
@@ -432,11 +451,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStaticWorkingDir() {
     return this.staticWorkingDir;
   }
 
-  public void setStaticWorkingDir(java.lang.String staticWorkingDir) {
+  public void setStaticWorkingDir(@org.apache.thrift.annotation.Nullable java.lang.String staticWorkingDir) {
     this.staticWorkingDir = staticWorkingDir;
   }
 
@@ -455,11 +475,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOverrideLoginUserName() {
     return this.overrideLoginUserName;
   }
 
-  public void setOverrideLoginUserName(java.lang.String overrideLoginUserName) {
+  public void setOverrideLoginUserName(@org.apache.thrift.annotation.Nullable java.lang.String overrideLoginUserName) {
     this.overrideLoginUserName = overrideLoginUserName;
   }
 
@@ -478,11 +499,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOverrideScratchLocation() {
     return this.overrideScratchLocation;
   }
 
-  public void setOverrideScratchLocation(java.lang.String overrideScratchLocation) {
+  public void setOverrideScratchLocation(@org.apache.thrift.annotation.Nullable java.lang.String overrideScratchLocation) {
     this.overrideScratchLocation = overrideScratchLocation;
   }
 
@@ -501,11 +523,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOverrideAllocationProjectNumber() {
     return this.overrideAllocationProjectNumber;
   }
 
-  public void setOverrideAllocationProjectNumber(java.lang.String overrideAllocationProjectNumber) {
+  public void setOverrideAllocationProjectNumber(@org.apache.thrift.annotation.Nullable java.lang.String overrideAllocationProjectNumber) {
     this.overrideAllocationProjectNumber = overrideAllocationProjectNumber;
   }
 
@@ -524,7 +547,30 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  public int getMGroupCount() {
+    return this.mGroupCount;
+  }
+
+  public void setMGroupCount(int mGroupCount) {
+    this.mGroupCount = mGroupCount;
+    setMGroupCountIsSet(true);
+  }
+
+  public void unsetMGroupCount() {
+    __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __MGROUPCOUNT_ISSET_ID);
+  }
+
+  /** Returns true if field mGroupCount is set (has been assigned a value) and false otherwise */
+  public boolean isSetMGroupCount() {
+    return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __MGROUPCOUNT_ISSET_ID);
+  }
+
+  public void setMGroupCountIsSet(boolean value) {
+    __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __MGROUPCOUNT_ISSET_ID, value);
+  }
+
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case RESOURCE_HOST_ID:
       if (value == null) {
@@ -622,9 +668,19 @@
       }
       break;
 
+    case M_GROUP_COUNT:
+      if (value == null) {
+        unsetMGroupCount();
+      } else {
+        setMGroupCount((java.lang.Integer)value);
+      }
+      break;
+
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case RESOURCE_HOST_ID:
@@ -663,11 +719,15 @@
     case OVERRIDE_ALLOCATION_PROJECT_NUMBER:
       return getOverrideAllocationProjectNumber();
 
+    case M_GROUP_COUNT:
+      return getMGroupCount();
+
     }
     throw new java.lang.IllegalStateException();
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -698,14 +758,14 @@
       return isSetOverrideScratchLocation();
     case OVERRIDE_ALLOCATION_PROJECT_NUMBER:
       return isSetOverrideAllocationProjectNumber();
+    case M_GROUP_COUNT:
+      return isSetMGroupCount();
     }
     throw new java.lang.IllegalStateException();
   }
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ComputationalResourceSchedulingModel)
       return this.equals((ComputationalResourceSchedulingModel)that);
     return false;
@@ -825,6 +885,15 @@
         return false;
     }
 
+    boolean this_present_mGroupCount = true && this.isSetMGroupCount();
+    boolean that_present_mGroupCount = true && that.isSetMGroupCount();
+    if (this_present_mGroupCount || that_present_mGroupCount) {
+      if (!(this_present_mGroupCount && that_present_mGroupCount))
+        return false;
+      if (this.mGroupCount != that.mGroupCount)
+        return false;
+    }
+
     return true;
   }
 
@@ -880,6 +949,10 @@
     if (isSetOverrideAllocationProjectNumber())
       hashCode = hashCode * 8191 + overrideAllocationProjectNumber.hashCode();
 
+    hashCode = hashCode * 8191 + ((isSetMGroupCount()) ? 131071 : 524287);
+    if (isSetMGroupCount())
+      hashCode = hashCode * 8191 + mGroupCount;
+
     return hashCode;
   }
 
@@ -891,7 +964,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetResourceHostId()).compareTo(other.isSetResourceHostId());
+    lastComparison = java.lang.Boolean.compare(isSetResourceHostId(), other.isSetResourceHostId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -901,7 +974,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTotalCPUCount()).compareTo(other.isSetTotalCPUCount());
+    lastComparison = java.lang.Boolean.compare(isSetTotalCPUCount(), other.isSetTotalCPUCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -911,7 +984,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNodeCount()).compareTo(other.isSetNodeCount());
+    lastComparison = java.lang.Boolean.compare(isSetNodeCount(), other.isSetNodeCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -921,7 +994,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNumberOfThreads()).compareTo(other.isSetNumberOfThreads());
+    lastComparison = java.lang.Boolean.compare(isSetNumberOfThreads(), other.isSetNumberOfThreads());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -931,7 +1004,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
+    lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -941,7 +1014,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWallTimeLimit()).compareTo(other.isSetWallTimeLimit());
+    lastComparison = java.lang.Boolean.compare(isSetWallTimeLimit(), other.isSetWallTimeLimit());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -951,7 +1024,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTotalPhysicalMemory()).compareTo(other.isSetTotalPhysicalMemory());
+    lastComparison = java.lang.Boolean.compare(isSetTotalPhysicalMemory(), other.isSetTotalPhysicalMemory());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -961,7 +1034,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetChessisNumber()).compareTo(other.isSetChessisNumber());
+    lastComparison = java.lang.Boolean.compare(isSetChessisNumber(), other.isSetChessisNumber());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -971,7 +1044,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStaticWorkingDir()).compareTo(other.isSetStaticWorkingDir());
+    lastComparison = java.lang.Boolean.compare(isSetStaticWorkingDir(), other.isSetStaticWorkingDir());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -981,7 +1054,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverrideLoginUserName()).compareTo(other.isSetOverrideLoginUserName());
+    lastComparison = java.lang.Boolean.compare(isSetOverrideLoginUserName(), other.isSetOverrideLoginUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -991,7 +1064,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverrideScratchLocation()).compareTo(other.isSetOverrideScratchLocation());
+    lastComparison = java.lang.Boolean.compare(isSetOverrideScratchLocation(), other.isSetOverrideScratchLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1001,7 +1074,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOverrideAllocationProjectNumber()).compareTo(other.isSetOverrideAllocationProjectNumber());
+    lastComparison = java.lang.Boolean.compare(isSetOverrideAllocationProjectNumber(), other.isSetOverrideAllocationProjectNumber());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1011,17 +1084,31 @@
         return lastComparison;
       }
     }
+    lastComparison = java.lang.Boolean.compare(isSetMGroupCount(), other.isSetMGroupCount());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetMGroupCount()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.mGroupCount, other.mGroupCount);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1130,6 +1217,12 @@
       }
       first = false;
     }
+    if (isSetMGroupCount()) {
+      if (!first) sb.append(", ");
+      sb.append("mGroupCount:");
+      sb.append(this.mGroupCount);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1158,6 +1251,7 @@
   }
 
   private static class ComputationalResourceSchedulingModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputationalResourceSchedulingModelStandardScheme getScheme() {
       return new ComputationalResourceSchedulingModelStandardScheme();
     }
@@ -1165,6 +1259,7 @@
 
   private static class ComputationalResourceSchedulingModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<ComputationalResourceSchedulingModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ComputationalResourceSchedulingModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1271,6 +1366,14 @@
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 13: // M_GROUP_COUNT
+            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+              struct.mGroupCount = iprot.readI32();
+              struct.setMGroupCountIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1280,6 +1383,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ComputationalResourceSchedulingModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1358,6 +1462,11 @@
           oprot.writeFieldEnd();
         }
       }
+      if (struct.isSetMGroupCount()) {
+        oprot.writeFieldBegin(M_GROUP_COUNT_FIELD_DESC);
+        oprot.writeI32(struct.mGroupCount);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1365,6 +1474,7 @@
   }
 
   private static class ComputationalResourceSchedulingModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ComputationalResourceSchedulingModelTupleScheme getScheme() {
       return new ComputationalResourceSchedulingModelTupleScheme();
     }
@@ -1412,7 +1522,10 @@
       if (struct.isSetOverrideAllocationProjectNumber()) {
         optionals.set(11);
       }
-      oprot.writeBitSet(optionals, 12);
+      if (struct.isSetMGroupCount()) {
+        optionals.set(12);
+      }
+      oprot.writeBitSet(optionals, 13);
       if (struct.isSetResourceHostId()) {
         oprot.writeString(struct.resourceHostId);
       }
@@ -1449,12 +1562,15 @@
       if (struct.isSetOverrideAllocationProjectNumber()) {
         oprot.writeString(struct.overrideAllocationProjectNumber);
       }
+      if (struct.isSetMGroupCount()) {
+        oprot.writeI32(struct.mGroupCount);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, ComputationalResourceSchedulingModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      java.util.BitSet incoming = iprot.readBitSet(12);
+      java.util.BitSet incoming = iprot.readBitSet(13);
       if (incoming.get(0)) {
         struct.resourceHostId = iprot.readString();
         struct.setResourceHostIdIsSet(true);
@@ -1503,6 +1619,10 @@
         struct.overrideAllocationProjectNumber = iprot.readString();
         struct.setOverrideAllocationProjectNumberIsSet(true);
       }
+      if (incoming.get(12)) {
+        struct.mGroupCount = iprot.readI32();
+        struct.setMGroupCountIsSet(true);
+      }
     }
   }
 
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
index fa24031..1b028a4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/security/AuthzToken.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.security;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class AuthzToken implements org.apache.thrift.TBase<AuthzToken, AuthzToken._Fields>, java.io.Serializable, Cloneable, Comparable<AuthzToken> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AuthzToken");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AuthzTokenStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AuthzTokenTupleSchemeFactory();
 
-  private java.lang.String accessToken; // required
-  private java.util.Map<java.lang.String,java.lang.String> claimsMap; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String accessToken; // required
+  private @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> claimsMap; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ACCESS_TOKEN
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -136,6 +140,7 @@
     }
   }
 
+  @Override
   public AuthzToken deepCopy() {
     return new AuthzToken(this);
   }
@@ -146,11 +151,12 @@
     this.claimsMap = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAccessToken() {
     return this.accessToken;
   }
 
-  public void setAccessToken(java.lang.String accessToken) {
+  public void setAccessToken(@org.apache.thrift.annotation.Nullable java.lang.String accessToken) {
     this.accessToken = accessToken;
   }
 
@@ -180,11 +186,12 @@
     this.claimsMap.put(key, val);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Map<java.lang.String,java.lang.String> getClaimsMap() {
     return this.claimsMap;
   }
 
-  public void setClaimsMap(java.util.Map<java.lang.String,java.lang.String> claimsMap) {
+  public void setClaimsMap(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> claimsMap) {
     this.claimsMap = claimsMap;
   }
 
@@ -203,7 +210,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ACCESS_TOKEN:
       if (value == null) {
@@ -224,6 +232,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ACCESS_TOKEN:
@@ -237,6 +247,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -253,8 +264,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof AuthzToken)
       return this.equals((AuthzToken)that);
     return false;
@@ -310,7 +319,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAccessToken()).compareTo(other.isSetAccessToken());
+    lastComparison = java.lang.Boolean.compare(isSetAccessToken(), other.isSetAccessToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -320,7 +329,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetClaimsMap()).compareTo(other.isSetClaimsMap());
+    lastComparison = java.lang.Boolean.compare(isSetClaimsMap(), other.isSetClaimsMap());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -333,14 +342,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -397,6 +410,7 @@
   }
 
   private static class AuthzTokenStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AuthzTokenStandardScheme getScheme() {
       return new AuthzTokenStandardScheme();
     }
@@ -404,6 +418,7 @@
 
   private static class AuthzTokenStandardScheme extends org.apache.thrift.scheme.StandardScheme<AuthzToken> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, AuthzToken struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -427,8 +442,8 @@
               {
                 org.apache.thrift.protocol.TMap _map0 = iprot.readMapBegin();
                 struct.claimsMap = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map0.size);
-                java.lang.String _key1;
-                java.lang.String _val2;
+                @org.apache.thrift.annotation.Nullable java.lang.String _key1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _val2;
                 for (int _i3 = 0; _i3 < _map0.size; ++_i3)
                 {
                   _key1 = iprot.readString();
@@ -451,6 +466,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, AuthzToken struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -482,6 +498,7 @@
   }
 
   private static class AuthzTokenTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AuthzTokenTupleScheme getScheme() {
       return new AuthzTokenTupleScheme();
     }
@@ -518,10 +535,10 @@
       java.util.BitSet incoming = iprot.readBitSet(1);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TMap _map6 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TMap _map6 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
           struct.claimsMap = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map6.size);
-          java.lang.String _key7;
-          java.lang.String _val8;
+          @org.apache.thrift.annotation.Nullable java.lang.String _key7;
+          @org.apache.thrift.annotation.Nullable java.lang.String _val8;
           for (int _i9 = 0; _i9 < _map6.size; ++_i9)
           {
             _key7 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
index 511305e..d9d5fa8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.status;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ExperimentState implements org.apache.thrift.TEnum {
   CREATED(0),
   VALIDATED(1),
@@ -48,6 +45,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -56,6 +54,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ExperimentState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
index 3d7eb8b..bbf01ae 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ExperimentStatus.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.status;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * Status: A generic status object.
  * 
@@ -37,7 +36,8 @@
  *   User friendly reason on how the state is inferred.
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ExperimentStatus implements org.apache.thrift.TBase<ExperimentStatus, ExperimentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ExperimentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ExperimentStatus");
 
@@ -49,10 +49,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ExperimentStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ExperimentStatusTupleSchemeFactory();
 
-  private ExperimentState state; // required
+  private @org.apache.thrift.annotation.Nullable ExperimentState state; // required
   private long timeOfStateChange; // optional
-  private java.lang.String reason; // optional
-  private java.lang.String statusId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String statusId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -76,6 +76,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -104,6 +105,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -116,10 +118,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -171,6 +175,7 @@
     }
   }
 
+  @Override
   public ExperimentStatus deepCopy() {
     return new ExperimentStatus(this);
   }
@@ -188,6 +193,7 @@
    * 
    * @see ExperimentState
    */
+  @org.apache.thrift.annotation.Nullable
   public ExperimentState getState() {
     return this.state;
   }
@@ -196,7 +202,7 @@
    * 
    * @see ExperimentState
    */
-  public void setState(ExperimentState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable ExperimentState state) {
     this.state = state;
   }
 
@@ -237,11 +243,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReason() {
     return this.reason;
   }
 
-  public void setReason(java.lang.String reason) {
+  public void setReason(@org.apache.thrift.annotation.Nullable java.lang.String reason) {
     this.reason = reason;
   }
 
@@ -260,11 +267,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStatusId() {
     return this.statusId;
   }
 
-  public void setStatusId(java.lang.String statusId) {
+  public void setStatusId(@org.apache.thrift.annotation.Nullable java.lang.String statusId) {
     this.statusId = statusId;
   }
 
@@ -283,7 +291,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -320,6 +329,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -339,6 +350,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -359,8 +371,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ExperimentStatus)
       return this.equals((ExperimentStatus)that);
     return false;
@@ -442,7 +452,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -452,7 +462,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    lastComparison = java.lang.Boolean.compare(isSetTimeOfStateChange(), other.isSetTimeOfStateChange());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -462,7 +472,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+    lastComparison = java.lang.Boolean.compare(isSetReason(), other.isSetReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -472,7 +482,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatusId()).compareTo(other.isSetStatusId());
+    lastComparison = java.lang.Boolean.compare(isSetStatusId(), other.isSetStatusId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -485,14 +495,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -567,6 +581,7 @@
   }
 
   private static class ExperimentStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentStatusStandardScheme getScheme() {
       return new ExperimentStatusStandardScheme();
     }
@@ -574,6 +589,7 @@
 
   private static class ExperimentStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<ExperimentStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ExperimentStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -625,6 +641,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ExperimentStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -660,6 +677,7 @@
   }
 
   private static class ExperimentStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ExperimentStatusTupleScheme getScheme() {
       return new ExperimentStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
index 6f1ee7f..e1211ff 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.status;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum JobState implements org.apache.thrift.TEnum {
   SUBMITTED(0),
   QUEUED(1),
@@ -48,6 +45,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -56,6 +54,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static JobState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
index 6f9737d..5735aae 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/JobStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.status;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobStatus implements org.apache.thrift.TBase<JobStatus, JobStatus._Fields>, java.io.Serializable, Cloneable, Comparable<JobStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobStatus");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobStatusTupleSchemeFactory();
 
-  private JobState jobState; // required
+  private @org.apache.thrift.annotation.Nullable JobState jobState; // required
   private long timeOfStateChange; // optional
-  private java.lang.String reason; // optional
-  private java.lang.String statusId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String statusId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -63,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_STATE
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     }
   }
 
+  @Override
   public JobStatus deepCopy() {
     return new JobStatus(this);
   }
@@ -175,6 +180,7 @@
    * 
    * @see JobState
    */
+  @org.apache.thrift.annotation.Nullable
   public JobState getJobState() {
     return this.jobState;
   }
@@ -183,7 +189,7 @@
    * 
    * @see JobState
    */
-  public void setJobState(JobState jobState) {
+  public void setJobState(@org.apache.thrift.annotation.Nullable JobState jobState) {
     this.jobState = jobState;
   }
 
@@ -224,11 +230,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReason() {
     return this.reason;
   }
 
-  public void setReason(java.lang.String reason) {
+  public void setReason(@org.apache.thrift.annotation.Nullable java.lang.String reason) {
     this.reason = reason;
   }
 
@@ -247,11 +254,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStatusId() {
     return this.statusId;
   }
 
-  public void setStatusId(java.lang.String statusId) {
+  public void setStatusId(@org.apache.thrift.annotation.Nullable java.lang.String statusId) {
     this.statusId = statusId;
   }
 
@@ -270,7 +278,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_STATE:
       if (value == null) {
@@ -307,6 +316,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_STATE:
@@ -326,6 +337,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -346,8 +358,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobStatus)
       return this.equals((JobStatus)that);
     return false;
@@ -429,7 +439,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobState()).compareTo(other.isSetJobState());
+    lastComparison = java.lang.Boolean.compare(isSetJobState(), other.isSetJobState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +449,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    lastComparison = java.lang.Boolean.compare(isSetTimeOfStateChange(), other.isSetTimeOfStateChange());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+    lastComparison = java.lang.Boolean.compare(isSetReason(), other.isSetReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +469,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatusId()).compareTo(other.isSetStatusId());
+    lastComparison = java.lang.Boolean.compare(isSetStatusId(), other.isSetStatusId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -472,14 +482,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +568,7 @@
   }
 
   private static class JobStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobStatusStandardScheme getScheme() {
       return new JobStatusStandardScheme();
     }
@@ -561,6 +576,7 @@
 
   private static class JobStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +628,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -647,6 +664,7 @@
   }
 
   private static class JobStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobStatusTupleScheme getScheme() {
       return new JobStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
index 2ce6074..7a51d1c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.status;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ProcessState implements org.apache.thrift.TEnum {
   CREATED(0),
   VALIDATED(1),
@@ -42,7 +39,10 @@
   COMPLETED(10),
   FAILED(11),
   CANCELLING(12),
-  CANCELED(13);
+  CANCELED(13),
+  QUEUED(14),
+  DEQUEUING(15),
+  REQUEUED(16);
 
   private final int value;
 
@@ -53,6 +53,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -61,6 +62,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ProcessState findByValue(int value) { 
     switch (value) {
       case 0:
@@ -91,6 +93,12 @@
         return CANCELLING;
       case 13:
         return CANCELED;
+      case 14:
+        return QUEUED;
+      case 15:
+        return DEQUEUING;
+      case 16:
+        return REQUEUED;
       default:
         return null;
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
index dc42605..67d9a14 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/ProcessStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.status;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ProcessStatus implements org.apache.thrift.TBase<ProcessStatus, ProcessStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ProcessStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ProcessStatus");
 
@@ -32,14 +32,16 @@
   private static final org.apache.thrift.protocol.TField TIME_OF_STATE_CHANGE_FIELD_DESC = new org.apache.thrift.protocol.TField("timeOfStateChange", org.apache.thrift.protocol.TType.I64, (short)2);
   private static final org.apache.thrift.protocol.TField REASON_FIELD_DESC = new org.apache.thrift.protocol.TField("reason", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField STATUS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("statusId", org.apache.thrift.protocol.TType.STRING, (short)4);
+  private static final org.apache.thrift.protocol.TField PROCESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("processId", org.apache.thrift.protocol.TType.STRING, (short)5);
 
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProcessStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProcessStatusTupleSchemeFactory();
 
-  private ProcessState state; // required
+  private @org.apache.thrift.annotation.Nullable ProcessState state; // required
   private long timeOfStateChange; // optional
-  private java.lang.String reason; // optional
-  private java.lang.String statusId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String statusId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -50,7 +52,8 @@
     STATE((short)1, "state"),
     TIME_OF_STATE_CHANGE((short)2, "timeOfStateChange"),
     REASON((short)3, "reason"),
-    STATUS_ID((short)4, "statusId");
+    STATUS_ID((short)4, "statusId"),
+    PROCESS_ID((short)5, "processId");
 
     private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
 
@@ -63,6 +66,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -73,6 +77,8 @@
           return REASON;
         case 4: // STATUS_ID
           return STATUS_ID;
+        case 5: // PROCESS_ID
+          return PROCESS_ID;
         default:
           return null;
       }
@@ -91,6 +97,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +110,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -115,7 +124,7 @@
   // isset id assignments
   private static final int __TIMEOFSTATECHANGE_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private static final _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE,_Fields.REASON,_Fields.STATUS_ID};
+  private static final _Fields optionals[] = {_Fields.TIME_OF_STATE_CHANGE,_Fields.REASON,_Fields.STATUS_ID,_Fields.PROCESS_ID};
   public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -127,6 +136,8 @@
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.STATUS_ID, new org.apache.thrift.meta_data.FieldMetaData("statusId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+    tmpMap.put(_Fields.PROCESS_ID, new org.apache.thrift.meta_data.FieldMetaData("processId", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ProcessStatus.class, metaDataMap);
   }
@@ -156,8 +167,12 @@
     if (other.isSetStatusId()) {
       this.statusId = other.statusId;
     }
+    if (other.isSetProcessId()) {
+      this.processId = other.processId;
+    }
   }
 
+  @Override
   public ProcessStatus deepCopy() {
     return new ProcessStatus(this);
   }
@@ -169,12 +184,14 @@
     this.timeOfStateChange = 0;
     this.reason = null;
     this.statusId = null;
+    this.processId = null;
   }
 
   /**
    * 
    * @see ProcessState
    */
+  @org.apache.thrift.annotation.Nullable
   public ProcessState getState() {
     return this.state;
   }
@@ -183,7 +200,7 @@
    * 
    * @see ProcessState
    */
-  public void setState(ProcessState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable ProcessState state) {
     this.state = state;
   }
 
@@ -224,11 +241,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReason() {
     return this.reason;
   }
 
-  public void setReason(java.lang.String reason) {
+  public void setReason(@org.apache.thrift.annotation.Nullable java.lang.String reason) {
     this.reason = reason;
   }
 
@@ -247,11 +265,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStatusId() {
     return this.statusId;
   }
 
-  public void setStatusId(java.lang.String statusId) {
+  public void setStatusId(@org.apache.thrift.annotation.Nullable java.lang.String statusId) {
     this.statusId = statusId;
   }
 
@@ -270,7 +289,32 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @org.apache.thrift.annotation.Nullable
+  public java.lang.String getProcessId() {
+    return this.processId;
+  }
+
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
+    this.processId = processId;
+  }
+
+  public void unsetProcessId() {
+    this.processId = null;
+  }
+
+  /** Returns true if field processId is set (has been assigned a value) and false otherwise */
+  public boolean isSetProcessId() {
+    return this.processId != null;
+  }
+
+  public void setProcessIdIsSet(boolean value) {
+    if (!value) {
+      this.processId = null;
+    }
+  }
+
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -304,9 +348,19 @@
       }
       break;
 
+    case PROCESS_ID:
+      if (value == null) {
+        unsetProcessId();
+      } else {
+        setProcessId((java.lang.String)value);
+      }
+      break;
+
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -321,11 +375,15 @@
     case STATUS_ID:
       return getStatusId();
 
+    case PROCESS_ID:
+      return getProcessId();
+
     }
     throw new java.lang.IllegalStateException();
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -340,14 +398,14 @@
       return isSetReason();
     case STATUS_ID:
       return isSetStatusId();
+    case PROCESS_ID:
+      return isSetProcessId();
     }
     throw new java.lang.IllegalStateException();
   }
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ProcessStatus)
       return this.equals((ProcessStatus)that);
     return false;
@@ -395,6 +453,15 @@
         return false;
     }
 
+    boolean this_present_processId = true && this.isSetProcessId();
+    boolean that_present_processId = true && that.isSetProcessId();
+    if (this_present_processId || that_present_processId) {
+      if (!(this_present_processId && that_present_processId))
+        return false;
+      if (!this.processId.equals(that.processId))
+        return false;
+    }
+
     return true;
   }
 
@@ -418,6 +485,10 @@
     if (isSetStatusId())
       hashCode = hashCode * 8191 + statusId.hashCode();
 
+    hashCode = hashCode * 8191 + ((isSetProcessId()) ? 131071 : 524287);
+    if (isSetProcessId())
+      hashCode = hashCode * 8191 + processId.hashCode();
+
     return hashCode;
   }
 
@@ -429,7 +500,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +510,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    lastComparison = java.lang.Boolean.compare(isSetTimeOfStateChange(), other.isSetTimeOfStateChange());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +520,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+    lastComparison = java.lang.Boolean.compare(isSetReason(), other.isSetReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +530,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatusId()).compareTo(other.isSetStatusId());
+    lastComparison = java.lang.Boolean.compare(isSetStatusId(), other.isSetStatusId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -469,17 +540,31 @@
         return lastComparison;
       }
     }
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetProcessId()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processId, other.processId);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -522,6 +607,16 @@
       }
       first = false;
     }
+    if (isSetProcessId()) {
+      if (!first) sb.append(", ");
+      sb.append("processId:");
+      if (this.processId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.processId);
+      }
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -554,6 +649,7 @@
   }
 
   private static class ProcessStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessStatusStandardScheme getScheme() {
       return new ProcessStatusStandardScheme();
     }
@@ -561,6 +657,7 @@
 
   private static class ProcessStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<ProcessStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ProcessStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -603,6 +700,14 @@
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 5: // PROCESS_ID
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.processId = iprot.readString();
+              struct.setProcessIdIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -612,6 +717,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ProcessStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -640,6 +746,13 @@
           oprot.writeFieldEnd();
         }
       }
+      if (struct.processId != null) {
+        if (struct.isSetProcessId()) {
+          oprot.writeFieldBegin(PROCESS_ID_FIELD_DESC);
+          oprot.writeString(struct.processId);
+          oprot.writeFieldEnd();
+        }
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -647,6 +760,7 @@
   }
 
   private static class ProcessStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProcessStatusTupleScheme getScheme() {
       return new ProcessStatusTupleScheme();
     }
@@ -668,7 +782,10 @@
       if (struct.isSetStatusId()) {
         optionals.set(2);
       }
-      oprot.writeBitSet(optionals, 3);
+      if (struct.isSetProcessId()) {
+        optionals.set(3);
+      }
+      oprot.writeBitSet(optionals, 4);
       if (struct.isSetTimeOfStateChange()) {
         oprot.writeI64(struct.timeOfStateChange);
       }
@@ -678,6 +795,9 @@
       if (struct.isSetStatusId()) {
         oprot.writeString(struct.statusId);
       }
+      if (struct.isSetProcessId()) {
+        oprot.writeString(struct.processId);
+      }
     }
 
     @Override
@@ -685,7 +805,7 @@
       org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
       struct.state = org.apache.airavata.model.status.ProcessState.findByValue(iprot.readI32());
       struct.setStateIsSet(true);
-      java.util.BitSet incoming = iprot.readBitSet(3);
+      java.util.BitSet incoming = iprot.readBitSet(4);
       if (incoming.get(0)) {
         struct.timeOfStateChange = iprot.readI64();
         struct.setTimeOfStateChangeIsSet(true);
@@ -698,6 +818,10 @@
         struct.statusId = iprot.readString();
         struct.setStatusIdIsSet(true);
       }
+      if (incoming.get(3)) {
+        struct.processId = iprot.readString();
+        struct.setProcessIdIsSet(true);
+      }
     }
   }
 
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
index c90a917..434f655 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/QueueStatusModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.status;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class QueueStatusModel implements org.apache.thrift.TBase<QueueStatusModel, QueueStatusModel._Fields>, java.io.Serializable, Cloneable, Comparable<QueueStatusModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("QueueStatusModel");
 
@@ -38,8 +38,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new QueueStatusModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new QueueStatusModelTupleSchemeFactory();
 
-  private java.lang.String hostName; // required
-  private java.lang.String queueName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String hostName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String queueName; // required
   private boolean queueUp; // required
   private int runningJobs; // required
   private int queuedJobs; // required
@@ -65,6 +65,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // HOST_NAME
@@ -97,6 +98,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -109,10 +111,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -184,6 +188,7 @@
     this.time = other.time;
   }
 
+  @Override
   public QueueStatusModel deepCopy() {
     return new QueueStatusModel(this);
   }
@@ -202,11 +207,12 @@
     this.time = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getHostName() {
     return this.hostName;
   }
 
-  public void setHostName(java.lang.String hostName) {
+  public void setHostName(@org.apache.thrift.annotation.Nullable java.lang.String hostName) {
     this.hostName = hostName;
   }
 
@@ -225,11 +231,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueueName() {
     return this.queueName;
   }
 
-  public void setQueueName(java.lang.String queueName) {
+  public void setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
     this.queueName = queueName;
   }
 
@@ -336,7 +343,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case HOST_NAME:
       if (value == null) {
@@ -389,6 +397,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case HOST_NAME:
@@ -414,6 +424,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -438,8 +449,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof QueueStatusModel)
       return this.equals((QueueStatusModel)that);
     return false;
@@ -539,7 +548,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetHostName()).compareTo(other.isSetHostName());
+    lastComparison = java.lang.Boolean.compare(isSetHostName(), other.isSetHostName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -549,7 +558,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
+    lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -559,7 +568,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueUp()).compareTo(other.isSetQueueUp());
+    lastComparison = java.lang.Boolean.compare(isSetQueueUp(), other.isSetQueueUp());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -569,7 +578,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRunningJobs()).compareTo(other.isSetRunningJobs());
+    lastComparison = java.lang.Boolean.compare(isSetRunningJobs(), other.isSetRunningJobs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -579,7 +588,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueuedJobs()).compareTo(other.isSetQueuedJobs());
+    lastComparison = java.lang.Boolean.compare(isSetQueuedJobs(), other.isSetQueuedJobs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -589,7 +598,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTime()).compareTo(other.isSetTime());
+    lastComparison = java.lang.Boolean.compare(isSetTime(), other.isSetTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -602,14 +611,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -702,6 +715,7 @@
   }
 
   private static class QueueStatusModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public QueueStatusModelStandardScheme getScheme() {
       return new QueueStatusModelStandardScheme();
     }
@@ -709,6 +723,7 @@
 
   private static class QueueStatusModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<QueueStatusModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, QueueStatusModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -776,6 +791,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, QueueStatusModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -809,6 +825,7 @@
   }
 
   private static class QueueStatusModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public QueueStatusModelTupleScheme getScheme() {
       return new QueueStatusModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
index 8f45bc3..34fb467 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.status;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum TaskState implements org.apache.thrift.TEnum {
   CREATED(0),
   EXECUTING(1),
@@ -44,6 +41,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -52,6 +50,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static TaskState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
index 351205c..a722b79 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/status/TaskStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.status;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TaskStatus implements org.apache.thrift.TBase<TaskStatus, TaskStatus._Fields>, java.io.Serializable, Cloneable, Comparable<TaskStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskStatus");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TaskStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TaskStatusTupleSchemeFactory();
 
-  private TaskState state; // required
+  private @org.apache.thrift.annotation.Nullable TaskState state; // required
   private long timeOfStateChange; // optional
-  private java.lang.String reason; // optional
-  private java.lang.String statusId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String statusId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -63,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // STATE
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     }
   }
 
+  @Override
   public TaskStatus deepCopy() {
     return new TaskStatus(this);
   }
@@ -175,6 +180,7 @@
    * 
    * @see TaskState
    */
+  @org.apache.thrift.annotation.Nullable
   public TaskState getState() {
     return this.state;
   }
@@ -183,7 +189,7 @@
    * 
    * @see TaskState
    */
-  public void setState(TaskState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable TaskState state) {
     this.state = state;
   }
 
@@ -224,11 +230,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TIMEOFSTATECHANGE_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReason() {
     return this.reason;
   }
 
-  public void setReason(java.lang.String reason) {
+  public void setReason(@org.apache.thrift.annotation.Nullable java.lang.String reason) {
     this.reason = reason;
   }
 
@@ -247,11 +254,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStatusId() {
     return this.statusId;
   }
 
-  public void setStatusId(java.lang.String statusId) {
+  public void setStatusId(@org.apache.thrift.annotation.Nullable java.lang.String statusId) {
     this.statusId = statusId;
   }
 
@@ -270,7 +278,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case STATE:
       if (value == null) {
@@ -307,6 +316,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case STATE:
@@ -326,6 +337,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -346,8 +358,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TaskStatus)
       return this.equals((TaskStatus)that);
     return false;
@@ -429,7 +439,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +449,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeOfStateChange()).compareTo(other.isSetTimeOfStateChange());
+    lastComparison = java.lang.Boolean.compare(isSetTimeOfStateChange(), other.isSetTimeOfStateChange());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReason()).compareTo(other.isSetReason());
+    lastComparison = java.lang.Boolean.compare(isSetReason(), other.isSetReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +469,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatusId()).compareTo(other.isSetStatusId());
+    lastComparison = java.lang.Boolean.compare(isSetStatusId(), other.isSetStatusId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -472,14 +482,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +568,7 @@
   }
 
   private static class TaskStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskStatusStandardScheme getScheme() {
       return new TaskStatusStandardScheme();
     }
@@ -561,6 +576,7 @@
 
   private static class TaskStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<TaskStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TaskStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +628,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TaskStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -647,6 +664,7 @@
   }
 
   private static class TaskStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskStatusTupleScheme getScheme() {
       return new TaskStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
index 6ae8d06..851f179 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStageType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.task;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * DataStagingTaskModel: A structure holding the data staging task details.
  * 
@@ -35,6 +31,7 @@
  *   A friendly description of the task, usally used to communicate information to users.
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum DataStageType implements org.apache.thrift.TEnum {
   INPUT(0),
   OUPUT(1),
@@ -49,6 +46,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -57,6 +55,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static DataStageType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
index 2bf25f7..5a4be66 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/DataStagingTaskModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.task;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DataStagingTaskModel implements org.apache.thrift.TBase<DataStagingTaskModel, DataStagingTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<DataStagingTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataStagingTaskModel");
 
@@ -40,14 +40,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DataStagingTaskModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DataStagingTaskModelTupleSchemeFactory();
 
-  private java.lang.String source; // required
-  private java.lang.String destination; // required
-  private DataStageType type; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String source; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String destination; // required
+  private @org.apache.thrift.annotation.Nullable DataStageType type; // required
   private long transferStartTime; // optional
   private long transferEndTime; // optional
-  private java.lang.String transferRate; // optional
-  private org.apache.airavata.model.application.io.InputDataObjectType processInput; // optional
-  private org.apache.airavata.model.application.io.OutputDataObjectType processOutput; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String transferRate; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType processInput; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType processOutput; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75,6 +75,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // SOURCE
@@ -111,6 +112,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -123,10 +125,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -201,6 +205,7 @@
     }
   }
 
+  @Override
   public DataStagingTaskModel deepCopy() {
     return new DataStagingTaskModel(this);
   }
@@ -219,11 +224,12 @@
     this.processOutput = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getSource() {
     return this.source;
   }
 
-  public void setSource(java.lang.String source) {
+  public void setSource(@org.apache.thrift.annotation.Nullable java.lang.String source) {
     this.source = source;
   }
 
@@ -242,11 +248,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDestination() {
     return this.destination;
   }
 
-  public void setDestination(java.lang.String destination) {
+  public void setDestination(@org.apache.thrift.annotation.Nullable java.lang.String destination) {
     this.destination = destination;
   }
 
@@ -269,6 +276,7 @@
    * 
    * @see DataStageType
    */
+  @org.apache.thrift.annotation.Nullable
   public DataStageType getType() {
     return this.type;
   }
@@ -277,7 +285,7 @@
    * 
    * @see DataStageType
    */
-  public void setType(DataStageType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable DataStageType type) {
     this.type = type;
   }
 
@@ -340,11 +348,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TRANSFERENDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTransferRate() {
     return this.transferRate;
   }
 
-  public void setTransferRate(java.lang.String transferRate) {
+  public void setTransferRate(@org.apache.thrift.annotation.Nullable java.lang.String transferRate) {
     this.transferRate = transferRate;
   }
 
@@ -363,11 +372,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.application.io.InputDataObjectType getProcessInput() {
     return this.processInput;
   }
 
-  public void setProcessInput(org.apache.airavata.model.application.io.InputDataObjectType processInput) {
+  public void setProcessInput(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType processInput) {
     this.processInput = processInput;
   }
 
@@ -386,11 +396,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.application.io.OutputDataObjectType getProcessOutput() {
     return this.processOutput;
   }
 
-  public void setProcessOutput(org.apache.airavata.model.application.io.OutputDataObjectType processOutput) {
+  public void setProcessOutput(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType processOutput) {
     this.processOutput = processOutput;
   }
 
@@ -409,7 +420,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case SOURCE:
       if (value == null) {
@@ -478,6 +490,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case SOURCE:
@@ -509,6 +523,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -537,8 +552,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DataStagingTaskModel)
       return this.equals((DataStagingTaskModel)that);
     return false;
@@ -672,7 +685,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetSource()).compareTo(other.isSetSource());
+    lastComparison = java.lang.Boolean.compare(isSetSource(), other.isSetSource());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -682,7 +695,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDestination()).compareTo(other.isSetDestination());
+    lastComparison = java.lang.Boolean.compare(isSetDestination(), other.isSetDestination());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -692,7 +705,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -702,7 +715,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTransferStartTime()).compareTo(other.isSetTransferStartTime());
+    lastComparison = java.lang.Boolean.compare(isSetTransferStartTime(), other.isSetTransferStartTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -712,7 +725,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTransferEndTime()).compareTo(other.isSetTransferEndTime());
+    lastComparison = java.lang.Boolean.compare(isSetTransferEndTime(), other.isSetTransferEndTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -722,7 +735,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTransferRate()).compareTo(other.isSetTransferRate());
+    lastComparison = java.lang.Boolean.compare(isSetTransferRate(), other.isSetTransferRate());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -732,7 +745,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessInput()).compareTo(other.isSetProcessInput());
+    lastComparison = java.lang.Boolean.compare(isSetProcessInput(), other.isSetProcessInput());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -742,7 +755,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessOutput()).compareTo(other.isSetProcessOutput());
+    lastComparison = java.lang.Boolean.compare(isSetProcessOutput(), other.isSetProcessOutput());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -755,14 +768,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -883,6 +900,7 @@
   }
 
   private static class DataStagingTaskModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataStagingTaskModelStandardScheme getScheme() {
       return new DataStagingTaskModelStandardScheme();
     }
@@ -890,6 +908,7 @@
 
   private static class DataStagingTaskModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<DataStagingTaskModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DataStagingTaskModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -975,6 +994,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DataStagingTaskModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1032,6 +1052,7 @@
   }
 
   private static class DataStagingTaskModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataStagingTaskModelTupleScheme getScheme() {
       return new DataStagingTaskModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
index bb5a6a5..b7c6da7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/EnvironmentSetupTaskModel.java
@@ -16,19 +16,19 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.task;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * EnvironmentSetupTaskModel: A structure holding the environment creation task details
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class EnvironmentSetupTaskModel implements org.apache.thrift.TBase<EnvironmentSetupTaskModel, EnvironmentSetupTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<EnvironmentSetupTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EnvironmentSetupTaskModel");
 
@@ -38,8 +38,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new EnvironmentSetupTaskModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new EnvironmentSetupTaskModelTupleSchemeFactory();
 
-  private java.lang.String location; // required
-  private org.apache.airavata.model.data.movement.SecurityProtocol protocol; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String location; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol protocol; // 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 {
@@ -61,6 +61,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // LOCATION
@@ -85,6 +86,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -97,10 +99,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -142,6 +146,7 @@
     }
   }
 
+  @Override
   public EnvironmentSetupTaskModel deepCopy() {
     return new EnvironmentSetupTaskModel(this);
   }
@@ -152,11 +157,12 @@
     this.protocol = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLocation() {
     return this.location;
   }
 
-  public void setLocation(java.lang.String location) {
+  public void setLocation(@org.apache.thrift.annotation.Nullable java.lang.String location) {
     this.location = location;
   }
 
@@ -179,6 +185,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.data.movement.SecurityProtocol getProtocol() {
     return this.protocol;
   }
@@ -187,7 +194,7 @@
    * 
    * @see org.apache.airavata.model.data.movement.SecurityProtocol
    */
-  public void setProtocol(org.apache.airavata.model.data.movement.SecurityProtocol protocol) {
+  public void setProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SecurityProtocol protocol) {
     this.protocol = protocol;
   }
 
@@ -206,7 +213,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case LOCATION:
       if (value == null) {
@@ -227,6 +235,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case LOCATION:
@@ -240,6 +250,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -256,8 +267,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof EnvironmentSetupTaskModel)
       return this.equals((EnvironmentSetupTaskModel)that);
     return false;
@@ -313,7 +322,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetLocation()).compareTo(other.isSetLocation());
+    lastComparison = java.lang.Boolean.compare(isSetLocation(), other.isSetLocation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -323,7 +332,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProtocol()).compareTo(other.isSetProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetProtocol(), other.isSetProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -336,14 +345,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -402,6 +415,7 @@
   }
 
   private static class EnvironmentSetupTaskModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EnvironmentSetupTaskModelStandardScheme getScheme() {
       return new EnvironmentSetupTaskModelStandardScheme();
     }
@@ -409,6 +423,7 @@
 
   private static class EnvironmentSetupTaskModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<EnvironmentSetupTaskModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, EnvironmentSetupTaskModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -444,6 +459,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, EnvironmentSetupTaskModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -465,6 +481,7 @@
   }
 
   private static class EnvironmentSetupTaskModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EnvironmentSetupTaskModelTupleScheme getScheme() {
       return new EnvironmentSetupTaskModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
index 14b9fee..d6946a5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/JobSubmissionTaskModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.task;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class JobSubmissionTaskModel implements org.apache.thrift.TBase<JobSubmissionTaskModel, JobSubmissionTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionTaskModel");
 
@@ -35,8 +35,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new JobSubmissionTaskModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new JobSubmissionTaskModelTupleSchemeFactory();
 
-  private org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol jobSubmissionProtocol; // required
-  private org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol jobSubmissionProtocol; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode; // required
   private int wallTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -64,6 +64,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // JOB_SUBMISSION_PROTOCOL
@@ -90,6 +91,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -102,10 +104,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -154,6 +158,7 @@
     this.wallTime = other.wallTime;
   }
 
+  @Override
   public JobSubmissionTaskModel deepCopy() {
     return new JobSubmissionTaskModel(this);
   }
@@ -170,6 +175,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol getJobSubmissionProtocol() {
     return this.jobSubmissionProtocol;
   }
@@ -178,7 +184,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol
    */
-  public void setJobSubmissionProtocol(org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol jobSubmissionProtocol) {
+  public void setJobSubmissionProtocol(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol jobSubmissionProtocol) {
     this.jobSubmissionProtocol = jobSubmissionProtocol;
   }
 
@@ -201,6 +207,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.MonitorMode
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.appcatalog.computeresource.MonitorMode getMonitorMode() {
     return this.monitorMode;
   }
@@ -209,7 +216,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.MonitorMode
    */
-  public void setMonitorMode(org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode) {
+  public void setMonitorMode(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode) {
     this.monitorMode = monitorMode;
   }
 
@@ -250,7 +257,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __WALLTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case JOB_SUBMISSION_PROTOCOL:
       if (value == null) {
@@ -279,6 +287,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case JOB_SUBMISSION_PROTOCOL:
@@ -295,6 +305,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -313,8 +324,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof JobSubmissionTaskModel)
       return this.equals((JobSubmissionTaskModel)that);
     return false;
@@ -383,7 +392,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionProtocol()).compareTo(other.isSetJobSubmissionProtocol());
+    lastComparison = java.lang.Boolean.compare(isSetJobSubmissionProtocol(), other.isSetJobSubmissionProtocol());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -393,7 +402,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMonitorMode()).compareTo(other.isSetMonitorMode());
+    lastComparison = java.lang.Boolean.compare(isSetMonitorMode(), other.isSetMonitorMode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -403,7 +412,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWallTime()).compareTo(other.isSetWallTime());
+    lastComparison = java.lang.Boolean.compare(isSetWallTime(), other.isSetWallTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -416,14 +425,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -490,6 +503,7 @@
   }
 
   private static class JobSubmissionTaskModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobSubmissionTaskModelStandardScheme getScheme() {
       return new JobSubmissionTaskModelStandardScheme();
     }
@@ -497,6 +511,7 @@
 
   private static class JobSubmissionTaskModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<JobSubmissionTaskModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, JobSubmissionTaskModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -540,6 +555,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, JobSubmissionTaskModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -566,6 +582,7 @@
   }
 
   private static class JobSubmissionTaskModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public JobSubmissionTaskModelTupleScheme getScheme() {
       return new JobSubmissionTaskModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
index bcafa91..5aa4aab 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/MonitorTaskModel.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.task;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class MonitorTaskModel implements org.apache.thrift.TBase<MonitorTaskModel, MonitorTaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<MonitorTaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("MonitorTaskModel");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new MonitorTaskModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new MonitorTaskModelTupleSchemeFactory();
 
-  private org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode; // required
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode; // 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 {
@@ -54,6 +54,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MONITOR_MODE
@@ -76,6 +77,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -88,10 +90,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -126,6 +130,7 @@
     }
   }
 
+  @Override
   public MonitorTaskModel deepCopy() {
     return new MonitorTaskModel(this);
   }
@@ -139,6 +144,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.MonitorMode
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.appcatalog.computeresource.MonitorMode getMonitorMode() {
     return this.monitorMode;
   }
@@ -147,7 +153,7 @@
    * 
    * @see org.apache.airavata.model.appcatalog.computeresource.MonitorMode
    */
-  public void setMonitorMode(org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode) {
+  public void setMonitorMode(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.MonitorMode monitorMode) {
     this.monitorMode = monitorMode;
   }
 
@@ -166,7 +172,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MONITOR_MODE:
       if (value == null) {
@@ -179,6 +186,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MONITOR_MODE:
@@ -189,6 +198,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -203,8 +213,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof MonitorTaskModel)
       return this.equals((MonitorTaskModel)that);
     return false;
@@ -247,7 +255,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMonitorMode()).compareTo(other.isSetMonitorMode());
+    lastComparison = java.lang.Boolean.compare(isSetMonitorMode(), other.isSetMonitorMode());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -260,14 +268,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -314,6 +326,7 @@
   }
 
   private static class MonitorTaskModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public MonitorTaskModelStandardScheme getScheme() {
       return new MonitorTaskModelStandardScheme();
     }
@@ -321,6 +334,7 @@
 
   private static class MonitorTaskModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<MonitorTaskModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, MonitorTaskModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -348,6 +362,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, MonitorTaskModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -364,6 +379,7 @@
   }
 
   private static class MonitorTaskModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public MonitorTaskModelTupleScheme getScheme() {
       return new MonitorTaskModelTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
index 4966783..18ac0c2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskModel.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.task;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * TaskModel: A structure holding the generic task details.
  * 
@@ -33,7 +32,8 @@
  * subTaskModel:
  *   A generic byte object for the Task developer to store internal serialized data into registry catalogs.
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TaskModel implements org.apache.thrift.TBase<TaskModel, TaskModel._Fields>, java.io.Serializable, Cloneable, Comparable<TaskModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TaskModel");
 
@@ -53,16 +53,16 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TaskModelStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TaskModelTupleSchemeFactory();
 
-  private java.lang.String taskId; // required
-  private TaskTypes taskType; // required
-  private java.lang.String parentProcessId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String taskId; // required
+  private @org.apache.thrift.annotation.Nullable TaskTypes taskType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String parentProcessId; // required
   private long creationTime; // required
   private long lastUpdateTime; // required
-  private java.util.List<org.apache.airavata.model.status.TaskStatus> taskStatuses; // required
-  private java.lang.String taskDetail; // optional
-  private java.nio.ByteBuffer subTaskModel; // optional
-  private java.util.List<org.apache.airavata.model.commons.ErrorModel> taskErrors; // optional
-  private java.util.List<org.apache.airavata.model.job.JobModel> jobs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.TaskStatus> taskStatuses; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String taskDetail; // optional
+  private @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer subTaskModel; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> taskErrors; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> jobs; // optional
   private int maxRetry; // optional
   private int currentRetry; // optional
 
@@ -96,6 +96,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TASK_ID
@@ -140,6 +141,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -152,10 +154,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -273,6 +277,7 @@
     this.currentRetry = other.currentRetry;
   }
 
+  @Override
   public TaskModel deepCopy() {
     return new TaskModel(this);
   }
@@ -298,11 +303,12 @@
     this.currentRetry = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTaskId() {
     return this.taskId;
   }
 
-  public void setTaskId(java.lang.String taskId) {
+  public void setTaskId(@org.apache.thrift.annotation.Nullable java.lang.String taskId) {
     this.taskId = taskId;
   }
 
@@ -325,6 +331,7 @@
    * 
    * @see TaskTypes
    */
+  @org.apache.thrift.annotation.Nullable
   public TaskTypes getTaskType() {
     return this.taskType;
   }
@@ -333,7 +340,7 @@
    * 
    * @see TaskTypes
    */
-  public void setTaskType(TaskTypes taskType) {
+  public void setTaskType(@org.apache.thrift.annotation.Nullable TaskTypes taskType) {
     this.taskType = taskType;
   }
 
@@ -352,11 +359,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParentProcessId() {
     return this.parentProcessId;
   }
 
-  public void setParentProcessId(java.lang.String parentProcessId) {
+  public void setParentProcessId(@org.apache.thrift.annotation.Nullable java.lang.String parentProcessId) {
     this.parentProcessId = parentProcessId;
   }
 
@@ -423,6 +431,7 @@
     return (this.taskStatuses == null) ? 0 : this.taskStatuses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.status.TaskStatus> getTaskStatusesIterator() {
     return (this.taskStatuses == null) ? null : this.taskStatuses.iterator();
   }
@@ -434,11 +443,12 @@
     this.taskStatuses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.status.TaskStatus> getTaskStatuses() {
     return this.taskStatuses;
   }
 
-  public void setTaskStatuses(java.util.List<org.apache.airavata.model.status.TaskStatus> taskStatuses) {
+  public void setTaskStatuses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.TaskStatus> taskStatuses) {
     this.taskStatuses = taskStatuses;
   }
 
@@ -457,11 +467,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTaskDetail() {
     return this.taskDetail;
   }
 
-  public void setTaskDetail(java.lang.String taskDetail) {
+  public void setTaskDetail(@org.apache.thrift.annotation.Nullable java.lang.String taskDetail) {
     this.taskDetail = taskDetail;
   }
 
@@ -490,10 +501,10 @@
   }
 
   public void setSubTaskModel(byte[] subTaskModel) {
-    this.subTaskModel = subTaskModel == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(subTaskModel.clone());
+    this.subTaskModel = subTaskModel == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(subTaskModel.clone());
   }
 
-  public void setSubTaskModel(java.nio.ByteBuffer subTaskModel) {
+  public void setSubTaskModel(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer subTaskModel) {
     this.subTaskModel = org.apache.thrift.TBaseHelper.copyBinary(subTaskModel);
   }
 
@@ -516,6 +527,7 @@
     return (this.taskErrors == null) ? 0 : this.taskErrors.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getTaskErrorsIterator() {
     return (this.taskErrors == null) ? null : this.taskErrors.iterator();
   }
@@ -527,11 +539,12 @@
     this.taskErrors.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.commons.ErrorModel> getTaskErrors() {
     return this.taskErrors;
   }
 
-  public void setTaskErrors(java.util.List<org.apache.airavata.model.commons.ErrorModel> taskErrors) {
+  public void setTaskErrors(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> taskErrors) {
     this.taskErrors = taskErrors;
   }
 
@@ -554,6 +567,7 @@
     return (this.jobs == null) ? 0 : this.jobs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.job.JobModel> getJobsIterator() {
     return (this.jobs == null) ? null : this.jobs.iterator();
   }
@@ -565,11 +579,12 @@
     this.jobs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.job.JobModel> getJobs() {
     return this.jobs;
   }
 
-  public void setJobs(java.util.List<org.apache.airavata.model.job.JobModel> jobs) {
+  public void setJobs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> jobs) {
     this.jobs = jobs;
   }
 
@@ -632,7 +647,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CURRENTRETRY_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TASK_ID:
       if (value == null) {
@@ -737,6 +753,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TASK_ID:
@@ -780,6 +798,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -816,8 +835,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TaskModel)
       return this.equals((TaskModel)that);
     return false;
@@ -999,7 +1016,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+    lastComparison = java.lang.Boolean.compare(isSetTaskId(), other.isSetTaskId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1009,7 +1026,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskType()).compareTo(other.isSetTaskType());
+    lastComparison = java.lang.Boolean.compare(isSetTaskType(), other.isSetTaskType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1019,7 +1036,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParentProcessId()).compareTo(other.isSetParentProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetParentProcessId(), other.isSetParentProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1029,7 +1046,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1039,7 +1056,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastUpdateTime()).compareTo(other.isSetLastUpdateTime());
+    lastComparison = java.lang.Boolean.compare(isSetLastUpdateTime(), other.isSetLastUpdateTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1049,7 +1066,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskStatuses()).compareTo(other.isSetTaskStatuses());
+    lastComparison = java.lang.Boolean.compare(isSetTaskStatuses(), other.isSetTaskStatuses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1059,7 +1076,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskDetail()).compareTo(other.isSetTaskDetail());
+    lastComparison = java.lang.Boolean.compare(isSetTaskDetail(), other.isSetTaskDetail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1069,7 +1086,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSubTaskModel()).compareTo(other.isSetSubTaskModel());
+    lastComparison = java.lang.Boolean.compare(isSetSubTaskModel(), other.isSetSubTaskModel());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1079,7 +1096,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTaskErrors()).compareTo(other.isSetTaskErrors());
+    lastComparison = java.lang.Boolean.compare(isSetTaskErrors(), other.isSetTaskErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1089,7 +1106,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobs()).compareTo(other.isSetJobs());
+    lastComparison = java.lang.Boolean.compare(isSetJobs(), other.isSetJobs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1099,7 +1116,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMaxRetry()).compareTo(other.isSetMaxRetry());
+    lastComparison = java.lang.Boolean.compare(isSetMaxRetry(), other.isSetMaxRetry());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1109,7 +1126,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCurrentRetry()).compareTo(other.isSetCurrentRetry());
+    lastComparison = java.lang.Boolean.compare(isSetCurrentRetry(), other.isSetCurrentRetry());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1122,14 +1139,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1282,6 +1303,7 @@
   }
 
   private static class TaskModelStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskModelStandardScheme getScheme() {
       return new TaskModelStandardScheme();
     }
@@ -1289,6 +1311,7 @@
 
   private static class TaskModelStandardScheme extends org.apache.thrift.scheme.StandardScheme<TaskModel> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TaskModel struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1344,7 +1367,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.taskStatuses = new java.util.ArrayList<org.apache.airavata.model.status.TaskStatus>(_list0.size);
-                org.apache.airavata.model.status.TaskStatus _elem1;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskStatus _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new org.apache.airavata.model.status.TaskStatus();
@@ -1379,7 +1402,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.taskErrors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list3.size);
-                org.apache.airavata.model.commons.ErrorModel _elem4;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new org.apache.airavata.model.commons.ErrorModel();
@@ -1398,7 +1421,7 @@
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
                 struct.jobs = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list6.size);
-                org.apache.airavata.model.job.JobModel _elem7;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem7;
                 for (int _i8 = 0; _i8 < _list6.size; ++_i8)
                 {
                   _elem7 = new org.apache.airavata.model.job.JobModel();
@@ -1437,6 +1460,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TaskModel struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1533,6 +1557,7 @@
   }
 
   private static class TaskModelTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TaskModelTupleScheme getScheme() {
       return new TaskModelTupleScheme();
     }
@@ -1621,9 +1646,9 @@
       struct.lastUpdateTime = iprot.readI64();
       struct.setLastUpdateTimeIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+        org.apache.thrift.protocol.TList _list15 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
         struct.taskStatuses = new java.util.ArrayList<org.apache.airavata.model.status.TaskStatus>(_list15.size);
-        org.apache.airavata.model.status.TaskStatus _elem16;
+        @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskStatus _elem16;
         for (int _i17 = 0; _i17 < _list15.size; ++_i17)
         {
           _elem16 = new org.apache.airavata.model.status.TaskStatus();
@@ -1643,9 +1668,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list18 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list18 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.taskErrors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list18.size);
-          org.apache.airavata.model.commons.ErrorModel _elem19;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem19;
           for (int _i20 = 0; _i20 < _list18.size; ++_i20)
           {
             _elem19 = new org.apache.airavata.model.commons.ErrorModel();
@@ -1657,9 +1682,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.jobs = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list21.size);
-          org.apache.airavata.model.job.JobModel _elem22;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem22;
           for (int _i23 = 0; _i23 < _list21.size; ++_i23)
           {
             _elem22 = new org.apache.airavata.model.job.JobModel();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
index db6d8d3..da9e75c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/task/TaskTypes.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.model.task;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * TaskTypes: An enumerated list of TaskTypes. Task being generic, the task type will provide the concrete interpretation.
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum TaskTypes implements org.apache.thrift.TEnum {
   ENV_SETUP(0),
   DATA_STAGING(1),
@@ -49,6 +46,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -57,6 +55,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static TaskTypes findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
index 35cb782..843b81d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/Tenant.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.tenant;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Tenant implements org.apache.thrift.TBase<Tenant, Tenant._Fields>, java.io.Serializable, Cloneable, Comparable<Tenant> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Tenant");
 
@@ -44,18 +44,18 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TenantStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TenantTupleSchemeFactory();
 
-  private java.lang.String tenantId; // required
-  private TenantApprovalStatus tenantApprovalStatus; // required
-  private java.lang.String tenantName; // optional
-  private java.lang.String domain; // optional
-  private java.lang.String emailAddress; // optional
-  private java.lang.String tenantAcronym; // optional
-  private java.lang.String tenantURL; // optional
-  private java.lang.String tenantPublicAbstract; // optional
-  private java.lang.String reviewProposalDescription; // optional
-  private java.lang.String declinedReason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantId; // required
+  private @org.apache.thrift.annotation.Nullable TenantApprovalStatus tenantApprovalStatus; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String domain; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String emailAddress; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantAcronym; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantURL; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantPublicAbstract; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reviewProposalDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String declinedReason; // optional
   private long requestCreationTime; // optional
-  private java.lang.String requesterUsername; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String requesterUsername; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -87,6 +87,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // TENANT_ID
@@ -131,6 +132,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -143,10 +145,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -240,6 +244,7 @@
     }
   }
 
+  @Override
   public Tenant deepCopy() {
     return new Tenant(this);
   }
@@ -261,11 +266,12 @@
     this.requesterUsername = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantId() {
     return this.tenantId;
   }
 
-  public void setTenantId(java.lang.String tenantId) {
+  public void setTenantId(@org.apache.thrift.annotation.Nullable java.lang.String tenantId) {
     this.tenantId = tenantId;
   }
 
@@ -288,6 +294,7 @@
    * 
    * @see TenantApprovalStatus
    */
+  @org.apache.thrift.annotation.Nullable
   public TenantApprovalStatus getTenantApprovalStatus() {
     return this.tenantApprovalStatus;
   }
@@ -296,7 +303,7 @@
    * 
    * @see TenantApprovalStatus
    */
-  public void setTenantApprovalStatus(TenantApprovalStatus tenantApprovalStatus) {
+  public void setTenantApprovalStatus(@org.apache.thrift.annotation.Nullable TenantApprovalStatus tenantApprovalStatus) {
     this.tenantApprovalStatus = tenantApprovalStatus;
   }
 
@@ -315,11 +322,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantName() {
     return this.tenantName;
   }
 
-  public void setTenantName(java.lang.String tenantName) {
+  public void setTenantName(@org.apache.thrift.annotation.Nullable java.lang.String tenantName) {
     this.tenantName = tenantName;
   }
 
@@ -338,11 +346,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomain() {
     return this.domain;
   }
 
-  public void setDomain(java.lang.String domain) {
+  public void setDomain(@org.apache.thrift.annotation.Nullable java.lang.String domain) {
     this.domain = domain;
   }
 
@@ -361,11 +370,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEmailAddress() {
     return this.emailAddress;
   }
 
-  public void setEmailAddress(java.lang.String emailAddress) {
+  public void setEmailAddress(@org.apache.thrift.annotation.Nullable java.lang.String emailAddress) {
     this.emailAddress = emailAddress;
   }
 
@@ -384,11 +394,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantAcronym() {
     return this.tenantAcronym;
   }
 
-  public void setTenantAcronym(java.lang.String tenantAcronym) {
+  public void setTenantAcronym(@org.apache.thrift.annotation.Nullable java.lang.String tenantAcronym) {
     this.tenantAcronym = tenantAcronym;
   }
 
@@ -407,11 +418,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantURL() {
     return this.tenantURL;
   }
 
-  public void setTenantURL(java.lang.String tenantURL) {
+  public void setTenantURL(@org.apache.thrift.annotation.Nullable java.lang.String tenantURL) {
     this.tenantURL = tenantURL;
   }
 
@@ -430,11 +442,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantPublicAbstract() {
     return this.tenantPublicAbstract;
   }
 
-  public void setTenantPublicAbstract(java.lang.String tenantPublicAbstract) {
+  public void setTenantPublicAbstract(@org.apache.thrift.annotation.Nullable java.lang.String tenantPublicAbstract) {
     this.tenantPublicAbstract = tenantPublicAbstract;
   }
 
@@ -453,11 +466,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReviewProposalDescription() {
     return this.reviewProposalDescription;
   }
 
-  public void setReviewProposalDescription(java.lang.String reviewProposalDescription) {
+  public void setReviewProposalDescription(@org.apache.thrift.annotation.Nullable java.lang.String reviewProposalDescription) {
     this.reviewProposalDescription = reviewProposalDescription;
   }
 
@@ -476,11 +490,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDeclinedReason() {
     return this.declinedReason;
   }
 
-  public void setDeclinedReason(java.lang.String declinedReason) {
+  public void setDeclinedReason(@org.apache.thrift.annotation.Nullable java.lang.String declinedReason) {
     this.declinedReason = declinedReason;
   }
 
@@ -521,11 +536,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getRequesterUsername() {
     return this.requesterUsername;
   }
 
-  public void setRequesterUsername(java.lang.String requesterUsername) {
+  public void setRequesterUsername(@org.apache.thrift.annotation.Nullable java.lang.String requesterUsername) {
     this.requesterUsername = requesterUsername;
   }
 
@@ -544,7 +560,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TENANT_ID:
       if (value == null) {
@@ -645,6 +662,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TENANT_ID:
@@ -688,6 +707,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -724,8 +744,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Tenant)
       return this.equals((Tenant)that);
     return false;
@@ -911,7 +929,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantId()).compareTo(other.isSetTenantId());
+    lastComparison = java.lang.Boolean.compare(isSetTenantId(), other.isSetTenantId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -921,7 +939,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantApprovalStatus()).compareTo(other.isSetTenantApprovalStatus());
+    lastComparison = java.lang.Boolean.compare(isSetTenantApprovalStatus(), other.isSetTenantApprovalStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -931,7 +949,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantName()).compareTo(other.isSetTenantName());
+    lastComparison = java.lang.Boolean.compare(isSetTenantName(), other.isSetTenantName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -941,7 +959,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
+    lastComparison = java.lang.Boolean.compare(isSetDomain(), other.isSetDomain());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -951,7 +969,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
+    lastComparison = java.lang.Boolean.compare(isSetEmailAddress(), other.isSetEmailAddress());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -961,7 +979,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantAcronym()).compareTo(other.isSetTenantAcronym());
+    lastComparison = java.lang.Boolean.compare(isSetTenantAcronym(), other.isSetTenantAcronym());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -971,7 +989,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantURL()).compareTo(other.isSetTenantURL());
+    lastComparison = java.lang.Boolean.compare(isSetTenantURL(), other.isSetTenantURL());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -981,7 +999,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantPublicAbstract()).compareTo(other.isSetTenantPublicAbstract());
+    lastComparison = java.lang.Boolean.compare(isSetTenantPublicAbstract(), other.isSetTenantPublicAbstract());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -991,7 +1009,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReviewProposalDescription()).compareTo(other.isSetReviewProposalDescription());
+    lastComparison = java.lang.Boolean.compare(isSetReviewProposalDescription(), other.isSetReviewProposalDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1001,7 +1019,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDeclinedReason()).compareTo(other.isSetDeclinedReason());
+    lastComparison = java.lang.Boolean.compare(isSetDeclinedReason(), other.isSetDeclinedReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1011,7 +1029,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequestCreationTime()).compareTo(other.isSetRequestCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetRequestCreationTime(), other.isSetRequestCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1021,7 +1039,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequesterUsername()).compareTo(other.isSetRequesterUsername());
+    lastComparison = java.lang.Boolean.compare(isSetRequesterUsername(), other.isSetRequesterUsername());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1034,14 +1052,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1198,6 +1220,7 @@
   }
 
   private static class TenantStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantStandardScheme getScheme() {
       return new TenantStandardScheme();
     }
@@ -1205,6 +1228,7 @@
 
   private static class TenantStandardScheme extends org.apache.thrift.scheme.StandardScheme<Tenant> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Tenant struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1320,6 +1344,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Tenant struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1409,6 +1434,7 @@
   }
 
   private static class TenantTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantTupleScheme getScheme() {
       return new TenantTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java
index c2df7f9..5a393f3 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantApprovalStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.tenant;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum TenantApprovalStatus implements org.apache.thrift.TEnum {
   REQUESTED(0),
   APPROVED(1),
@@ -47,6 +44,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -55,6 +53,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static TenantApprovalStatus findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantConfig.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantConfig.java
index 8698749..5eec191 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantConfig.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantConfig.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.tenant;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TenantConfig implements org.apache.thrift.TBase<TenantConfig, TenantConfig._Fields>, java.io.Serializable, Cloneable, Comparable<TenantConfig> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TenantConfig");
 
@@ -36,10 +36,10 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TenantConfigStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TenantConfigTupleSchemeFactory();
 
-  private java.lang.String oauthClientId; // optional
-  private java.lang.String oauthClientSecret; // optional
-  private java.lang.String identityServerUserName; // optional
-  private java.lang.String identityServerPasswordToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String oauthClientId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String oauthClientSecret; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerUserName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerPasswordToken; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -59,6 +59,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 16: // OAUTH_CLIENT_ID
@@ -87,6 +88,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -99,10 +101,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -146,6 +150,7 @@
     }
   }
 
+  @Override
   public TenantConfig deepCopy() {
     return new TenantConfig(this);
   }
@@ -158,11 +163,12 @@
     this.identityServerPasswordToken = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOauthClientId() {
     return this.oauthClientId;
   }
 
-  public void setOauthClientId(java.lang.String oauthClientId) {
+  public void setOauthClientId(@org.apache.thrift.annotation.Nullable java.lang.String oauthClientId) {
     this.oauthClientId = oauthClientId;
   }
 
@@ -181,11 +187,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOauthClientSecret() {
     return this.oauthClientSecret;
   }
 
-  public void setOauthClientSecret(java.lang.String oauthClientSecret) {
+  public void setOauthClientSecret(@org.apache.thrift.annotation.Nullable java.lang.String oauthClientSecret) {
     this.oauthClientSecret = oauthClientSecret;
   }
 
@@ -204,11 +211,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerUserName() {
     return this.identityServerUserName;
   }
 
-  public void setIdentityServerUserName(java.lang.String identityServerUserName) {
+  public void setIdentityServerUserName(@org.apache.thrift.annotation.Nullable java.lang.String identityServerUserName) {
     this.identityServerUserName = identityServerUserName;
   }
 
@@ -227,11 +235,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerPasswordToken() {
     return this.identityServerPasswordToken;
   }
 
-  public void setIdentityServerPasswordToken(java.lang.String identityServerPasswordToken) {
+  public void setIdentityServerPasswordToken(@org.apache.thrift.annotation.Nullable java.lang.String identityServerPasswordToken) {
     this.identityServerPasswordToken = identityServerPasswordToken;
   }
 
@@ -250,7 +259,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case OAUTH_CLIENT_ID:
       if (value == null) {
@@ -287,6 +297,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case OAUTH_CLIENT_ID:
@@ -306,6 +318,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -326,8 +339,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TenantConfig)
       return this.equals((TenantConfig)that);
     return false;
@@ -409,7 +420,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetOauthClientId()).compareTo(other.isSetOauthClientId());
+    lastComparison = java.lang.Boolean.compare(isSetOauthClientId(), other.isSetOauthClientId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -419,7 +430,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOauthClientSecret()).compareTo(other.isSetOauthClientSecret());
+    lastComparison = java.lang.Boolean.compare(isSetOauthClientSecret(), other.isSetOauthClientSecret());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -429,7 +440,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerUserName()).compareTo(other.isSetIdentityServerUserName());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerUserName(), other.isSetIdentityServerUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +450,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerPasswordToken()).compareTo(other.isSetIdentityServerPasswordToken());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerPasswordToken(), other.isSetIdentityServerPasswordToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -452,14 +463,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -534,6 +549,7 @@
   }
 
   private static class TenantConfigStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantConfigStandardScheme getScheme() {
       return new TenantConfigStandardScheme();
     }
@@ -541,6 +557,7 @@
 
   private static class TenantConfigStandardScheme extends org.apache.thrift.scheme.StandardScheme<TenantConfig> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TenantConfig struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -592,6 +609,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TenantConfig struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -631,6 +649,7 @@
   }
 
   private static class TenantConfigTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantConfigTupleScheme getScheme() {
       return new TenantConfigTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantPreferences.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantPreferences.java
index f02af6a..1fb3abe 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantPreferences.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/tenant/TenantPreferences.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.tenant;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TenantPreferences implements org.apache.thrift.TBase<TenantPreferences, TenantPreferences._Fields>, java.io.Serializable, Cloneable, Comparable<TenantPreferences> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TenantPreferences");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TenantPreferencesStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TenantPreferencesTupleSchemeFactory();
 
-  private java.lang.String tenantAdminFirstName; // optional
-  private java.lang.String tenantAdminLastName; // optional
-  private java.lang.String tenantAdminEmail; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantAdminFirstName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantAdminLastName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String tenantAdminEmail; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 10: // TENANT_ADMIN_FIRST_NAME
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -136,6 +140,7 @@
     }
   }
 
+  @Override
   public TenantPreferences deepCopy() {
     return new TenantPreferences(this);
   }
@@ -147,11 +152,12 @@
     this.tenantAdminEmail = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantAdminFirstName() {
     return this.tenantAdminFirstName;
   }
 
-  public void setTenantAdminFirstName(java.lang.String tenantAdminFirstName) {
+  public void setTenantAdminFirstName(@org.apache.thrift.annotation.Nullable java.lang.String tenantAdminFirstName) {
     this.tenantAdminFirstName = tenantAdminFirstName;
   }
 
@@ -170,11 +176,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantAdminLastName() {
     return this.tenantAdminLastName;
   }
 
-  public void setTenantAdminLastName(java.lang.String tenantAdminLastName) {
+  public void setTenantAdminLastName(@org.apache.thrift.annotation.Nullable java.lang.String tenantAdminLastName) {
     this.tenantAdminLastName = tenantAdminLastName;
   }
 
@@ -193,11 +200,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTenantAdminEmail() {
     return this.tenantAdminEmail;
   }
 
-  public void setTenantAdminEmail(java.lang.String tenantAdminEmail) {
+  public void setTenantAdminEmail(@org.apache.thrift.annotation.Nullable java.lang.String tenantAdminEmail) {
     this.tenantAdminEmail = tenantAdminEmail;
   }
 
@@ -216,7 +224,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case TENANT_ADMIN_FIRST_NAME:
       if (value == null) {
@@ -245,6 +254,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case TENANT_ADMIN_FIRST_NAME:
@@ -261,6 +272,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -279,8 +291,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TenantPreferences)
       return this.equals((TenantPreferences)that);
     return false;
@@ -349,7 +359,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantAdminFirstName()).compareTo(other.isSetTenantAdminFirstName());
+    lastComparison = java.lang.Boolean.compare(isSetTenantAdminFirstName(), other.isSetTenantAdminFirstName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -359,7 +369,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantAdminLastName()).compareTo(other.isSetTenantAdminLastName());
+    lastComparison = java.lang.Boolean.compare(isSetTenantAdminLastName(), other.isSetTenantAdminLastName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -369,7 +379,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTenantAdminEmail()).compareTo(other.isSetTenantAdminEmail());
+    lastComparison = java.lang.Boolean.compare(isSetTenantAdminEmail(), other.isSetTenantAdminEmail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -382,14 +392,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -454,6 +468,7 @@
   }
 
   private static class TenantPreferencesStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantPreferencesStandardScheme getScheme() {
       return new TenantPreferencesStandardScheme();
     }
@@ -461,6 +476,7 @@
 
   private static class TenantPreferencesStandardScheme extends org.apache.thrift.scheme.StandardScheme<TenantPreferences> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TenantPreferences struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -504,6 +520,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TenantPreferences struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -536,6 +553,7 @@
   }
 
   private static class TenantPreferencesTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantPreferencesTupleScheme getScheme() {
       return new TenantPreferencesTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/CustomDashboard.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/CustomDashboard.java
index 939d327..4ab6831 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/CustomDashboard.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/CustomDashboard.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.user;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * A structure holding the cutomized admin dashboard information.
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CustomDashboard implements org.apache.thrift.TBase<CustomDashboard, CustomDashboard._Fields>, java.io.Serializable, Cloneable, Comparable<CustomDashboard> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CustomDashboard");
 
@@ -62,31 +62,31 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CustomDashboardStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CustomDashboardTupleSchemeFactory();
 
-  private java.lang.String airavataInternalUserId; // required
-  private java.lang.String experimentId; // optional
-  private java.lang.String name; // optional
-  private java.lang.String description; // optional
-  private java.lang.String project; // optional
-  private java.lang.String owner; // optional
-  private java.lang.String application; // optional
-  private java.lang.String computeResource; // optional
-  private java.lang.String jobName; // optional
-  private java.lang.String jobId; // optional
-  private java.lang.String jobStatus; // optional
-  private java.lang.String jobCreationTime; // optional
-  private java.lang.String notificationsTo; // optional
-  private java.lang.String workingDir; // optional
-  private java.lang.String jobDescription; // optional
-  private java.lang.String creationTime; // optional
-  private java.lang.String lastModifiedTime; // optional
-  private java.lang.String wallTime; // optional
-  private java.lang.String cpuCount; // optional
-  private java.lang.String nodeCount; // optional
-  private java.lang.String queue; // optional
-  private java.lang.String inputs; // optional
-  private java.lang.String outputs; // optional
-  private java.lang.String storageDir; // optional
-  private java.lang.String errors; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String project; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String owner; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String application; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResource; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobStatus; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobCreationTime; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String notificationsTo; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String workingDir; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String jobDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String creationTime; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String lastModifiedTime; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String wallTime; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String cpuCount; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String nodeCount; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String queue; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String inputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String outputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String storageDir; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String errors; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -127,6 +127,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_INTERNAL_USER_ID
@@ -197,6 +198,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -209,10 +211,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -370,6 +374,7 @@
     }
   }
 
+  @Override
   public CustomDashboard deepCopy() {
     return new CustomDashboard(this);
   }
@@ -404,11 +409,12 @@
     this.errors = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAiravataInternalUserId() {
     return this.airavataInternalUserId;
   }
 
-  public void setAiravataInternalUserId(java.lang.String airavataInternalUserId) {
+  public void setAiravataInternalUserId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId) {
     this.airavataInternalUserId = airavataInternalUserId;
   }
 
@@ -427,11 +433,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -450,11 +457,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -473,11 +481,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -496,11 +505,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProject() {
     return this.project;
   }
 
-  public void setProject(java.lang.String project) {
+  public void setProject(@org.apache.thrift.annotation.Nullable java.lang.String project) {
     this.project = project;
   }
 
@@ -519,11 +529,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOwner() {
     return this.owner;
   }
 
-  public void setOwner(java.lang.String owner) {
+  public void setOwner(@org.apache.thrift.annotation.Nullable java.lang.String owner) {
     this.owner = owner;
   }
 
@@ -542,11 +553,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplication() {
     return this.application;
   }
 
-  public void setApplication(java.lang.String application) {
+  public void setApplication(@org.apache.thrift.annotation.Nullable java.lang.String application) {
     this.application = application;
   }
 
@@ -565,11 +577,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResource() {
     return this.computeResource;
   }
 
-  public void setComputeResource(java.lang.String computeResource) {
+  public void setComputeResource(@org.apache.thrift.annotation.Nullable java.lang.String computeResource) {
     this.computeResource = computeResource;
   }
 
@@ -588,11 +601,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobName() {
     return this.jobName;
   }
 
-  public void setJobName(java.lang.String jobName) {
+  public void setJobName(@org.apache.thrift.annotation.Nullable java.lang.String jobName) {
     this.jobName = jobName;
   }
 
@@ -611,11 +625,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobId() {
     return this.jobId;
   }
 
-  public void setJobId(java.lang.String jobId) {
+  public void setJobId(@org.apache.thrift.annotation.Nullable java.lang.String jobId) {
     this.jobId = jobId;
   }
 
@@ -634,11 +649,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobStatus() {
     return this.jobStatus;
   }
 
-  public void setJobStatus(java.lang.String jobStatus) {
+  public void setJobStatus(@org.apache.thrift.annotation.Nullable java.lang.String jobStatus) {
     this.jobStatus = jobStatus;
   }
 
@@ -657,11 +673,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobCreationTime() {
     return this.jobCreationTime;
   }
 
-  public void setJobCreationTime(java.lang.String jobCreationTime) {
+  public void setJobCreationTime(@org.apache.thrift.annotation.Nullable java.lang.String jobCreationTime) {
     this.jobCreationTime = jobCreationTime;
   }
 
@@ -680,11 +697,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNotificationsTo() {
     return this.notificationsTo;
   }
 
-  public void setNotificationsTo(java.lang.String notificationsTo) {
+  public void setNotificationsTo(@org.apache.thrift.annotation.Nullable java.lang.String notificationsTo) {
     this.notificationsTo = notificationsTo;
   }
 
@@ -703,11 +721,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getWorkingDir() {
     return this.workingDir;
   }
 
-  public void setWorkingDir(java.lang.String workingDir) {
+  public void setWorkingDir(@org.apache.thrift.annotation.Nullable java.lang.String workingDir) {
     this.workingDir = workingDir;
   }
 
@@ -726,11 +745,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getJobDescription() {
     return this.jobDescription;
   }
 
-  public void setJobDescription(java.lang.String jobDescription) {
+  public void setJobDescription(@org.apache.thrift.annotation.Nullable java.lang.String jobDescription) {
     this.jobDescription = jobDescription;
   }
 
@@ -749,11 +769,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCreationTime() {
     return this.creationTime;
   }
 
-  public void setCreationTime(java.lang.String creationTime) {
+  public void setCreationTime(@org.apache.thrift.annotation.Nullable java.lang.String creationTime) {
     this.creationTime = creationTime;
   }
 
@@ -772,11 +793,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLastModifiedTime() {
     return this.lastModifiedTime;
   }
 
-  public void setLastModifiedTime(java.lang.String lastModifiedTime) {
+  public void setLastModifiedTime(@org.apache.thrift.annotation.Nullable java.lang.String lastModifiedTime) {
     this.lastModifiedTime = lastModifiedTime;
   }
 
@@ -795,11 +817,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getWallTime() {
     return this.wallTime;
   }
 
-  public void setWallTime(java.lang.String wallTime) {
+  public void setWallTime(@org.apache.thrift.annotation.Nullable java.lang.String wallTime) {
     this.wallTime = wallTime;
   }
 
@@ -818,11 +841,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCpuCount() {
     return this.cpuCount;
   }
 
-  public void setCpuCount(java.lang.String cpuCount) {
+  public void setCpuCount(@org.apache.thrift.annotation.Nullable java.lang.String cpuCount) {
     this.cpuCount = cpuCount;
   }
 
@@ -841,11 +865,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNodeCount() {
     return this.nodeCount;
   }
 
-  public void setNodeCount(java.lang.String nodeCount) {
+  public void setNodeCount(@org.apache.thrift.annotation.Nullable java.lang.String nodeCount) {
     this.nodeCount = nodeCount;
   }
 
@@ -864,11 +889,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueue() {
     return this.queue;
   }
 
-  public void setQueue(java.lang.String queue) {
+  public void setQueue(@org.apache.thrift.annotation.Nullable java.lang.String queue) {
     this.queue = queue;
   }
 
@@ -887,11 +913,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getInputs() {
     return this.inputs;
   }
 
-  public void setInputs(java.lang.String inputs) {
+  public void setInputs(@org.apache.thrift.annotation.Nullable java.lang.String inputs) {
     this.inputs = inputs;
   }
 
@@ -910,11 +937,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOutputs() {
     return this.outputs;
   }
 
-  public void setOutputs(java.lang.String outputs) {
+  public void setOutputs(@org.apache.thrift.annotation.Nullable java.lang.String outputs) {
     this.outputs = outputs;
   }
 
@@ -933,11 +961,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getStorageDir() {
     return this.storageDir;
   }
 
-  public void setStorageDir(java.lang.String storageDir) {
+  public void setStorageDir(@org.apache.thrift.annotation.Nullable java.lang.String storageDir) {
     this.storageDir = storageDir;
   }
 
@@ -956,11 +985,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getErrors() {
     return this.errors;
   }
 
-  public void setErrors(java.lang.String errors) {
+  public void setErrors(@org.apache.thrift.annotation.Nullable java.lang.String errors) {
     this.errors = errors;
   }
 
@@ -979,7 +1009,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_INTERNAL_USER_ID:
       if (value == null) {
@@ -1184,6 +1215,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_INTERNAL_USER_ID:
@@ -1266,6 +1299,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1328,8 +1362,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CustomDashboard)
       return this.equals((CustomDashboard)that);
     return false;
@@ -1684,7 +1716,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalUserId()).compareTo(other.isSetAiravataInternalUserId());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataInternalUserId(), other.isSetAiravataInternalUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1694,7 +1726,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1704,7 +1736,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1714,7 +1746,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1724,7 +1756,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProject()).compareTo(other.isSetProject());
+    lastComparison = java.lang.Boolean.compare(isSetProject(), other.isSetProject());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1734,7 +1766,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwner()).compareTo(other.isSetOwner());
+    lastComparison = java.lang.Boolean.compare(isSetOwner(), other.isSetOwner());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1744,7 +1776,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplication()).compareTo(other.isSetApplication());
+    lastComparison = java.lang.Boolean.compare(isSetApplication(), other.isSetApplication());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1754,7 +1786,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResource()).compareTo(other.isSetComputeResource());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResource(), other.isSetComputeResource());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1764,7 +1796,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobName()).compareTo(other.isSetJobName());
+    lastComparison = java.lang.Boolean.compare(isSetJobName(), other.isSetJobName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1774,7 +1806,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobId()).compareTo(other.isSetJobId());
+    lastComparison = java.lang.Boolean.compare(isSetJobId(), other.isSetJobId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1784,7 +1816,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobStatus()).compareTo(other.isSetJobStatus());
+    lastComparison = java.lang.Boolean.compare(isSetJobStatus(), other.isSetJobStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1794,7 +1826,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobCreationTime()).compareTo(other.isSetJobCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetJobCreationTime(), other.isSetJobCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1804,7 +1836,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNotificationsTo()).compareTo(other.isSetNotificationsTo());
+    lastComparison = java.lang.Boolean.compare(isSetNotificationsTo(), other.isSetNotificationsTo());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1814,7 +1846,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWorkingDir()).compareTo(other.isSetWorkingDir());
+    lastComparison = java.lang.Boolean.compare(isSetWorkingDir(), other.isSetWorkingDir());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1824,7 +1856,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetJobDescription()).compareTo(other.isSetJobDescription());
+    lastComparison = java.lang.Boolean.compare(isSetJobDescription(), other.isSetJobDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1834,7 +1866,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1844,7 +1876,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastModifiedTime()).compareTo(other.isSetLastModifiedTime());
+    lastComparison = java.lang.Boolean.compare(isSetLastModifiedTime(), other.isSetLastModifiedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1854,7 +1886,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWallTime()).compareTo(other.isSetWallTime());
+    lastComparison = java.lang.Boolean.compare(isSetWallTime(), other.isSetWallTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1864,7 +1896,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCpuCount()).compareTo(other.isSetCpuCount());
+    lastComparison = java.lang.Boolean.compare(isSetCpuCount(), other.isSetCpuCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1874,7 +1906,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNodeCount()).compareTo(other.isSetNodeCount());
+    lastComparison = java.lang.Boolean.compare(isSetNodeCount(), other.isSetNodeCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1884,7 +1916,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueue()).compareTo(other.isSetQueue());
+    lastComparison = java.lang.Boolean.compare(isSetQueue(), other.isSetQueue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1894,7 +1926,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInputs()).compareTo(other.isSetInputs());
+    lastComparison = java.lang.Boolean.compare(isSetInputs(), other.isSetInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1904,7 +1936,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOutputs()).compareTo(other.isSetOutputs());
+    lastComparison = java.lang.Boolean.compare(isSetOutputs(), other.isSetOutputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1914,7 +1946,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStorageDir()).compareTo(other.isSetStorageDir());
+    lastComparison = java.lang.Boolean.compare(isSetStorageDir(), other.isSetStorageDir());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1924,7 +1956,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors());
+    lastComparison = java.lang.Boolean.compare(isSetErrors(), other.isSetErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1937,14 +1969,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -2231,6 +2267,7 @@
   }
 
   private static class CustomDashboardStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CustomDashboardStandardScheme getScheme() {
       return new CustomDashboardStandardScheme();
     }
@@ -2238,6 +2275,7 @@
 
   private static class CustomDashboardStandardScheme extends org.apache.thrift.scheme.StandardScheme<CustomDashboard> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CustomDashboard struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -2457,6 +2495,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CustomDashboard struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2641,6 +2680,7 @@
   }
 
   private static class CustomDashboardTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CustomDashboardTupleScheme getScheme() {
       return new CustomDashboardTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
index 460bf8d..d4d230e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/NSFDemographics.java
@@ -16,20 +16,20 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.user;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * A structure holding the NSF Demographic information.
  * 
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class NSFDemographics implements org.apache.thrift.TBase<NSFDemographics, NSFDemographics._Fields>, java.io.Serializable, Cloneable, Comparable<NSFDemographics> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NSFDemographics");
 
@@ -43,12 +43,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NSFDemographicsStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NSFDemographicsTupleSchemeFactory();
 
-  private java.lang.String airavataInternalUserId; // required
-  private java.lang.String gender; // optional
-  private USCitizenship usCitizenship; // optional
-  private java.util.List<ethnicity> ethnicities; // optional
-  private java.util.List<race> races; // optional
-  private java.util.List<disability> disabilities; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gender; // optional
+  private @org.apache.thrift.annotation.Nullable USCitizenship usCitizenship; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ethnicity> ethnicities; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<race> races; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<disability> disabilities; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -74,6 +74,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_INTERNAL_USER_ID
@@ -106,6 +107,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -118,10 +120,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -199,6 +203,7 @@
     }
   }
 
+  @Override
   public NSFDemographics deepCopy() {
     return new NSFDemographics(this);
   }
@@ -214,11 +219,12 @@
     this.disabilities = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAiravataInternalUserId() {
     return this.airavataInternalUserId;
   }
 
-  public void setAiravataInternalUserId(java.lang.String airavataInternalUserId) {
+  public void setAiravataInternalUserId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId) {
     this.airavataInternalUserId = airavataInternalUserId;
   }
 
@@ -237,11 +243,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGender() {
     return this.gender;
   }
 
-  public void setGender(java.lang.String gender) {
+  public void setGender(@org.apache.thrift.annotation.Nullable java.lang.String gender) {
     this.gender = gender;
   }
 
@@ -264,6 +271,7 @@
    * 
    * @see USCitizenship
    */
+  @org.apache.thrift.annotation.Nullable
   public USCitizenship getUsCitizenship() {
     return this.usCitizenship;
   }
@@ -272,7 +280,7 @@
    * 
    * @see USCitizenship
    */
-  public void setUsCitizenship(USCitizenship usCitizenship) {
+  public void setUsCitizenship(@org.apache.thrift.annotation.Nullable USCitizenship usCitizenship) {
     this.usCitizenship = usCitizenship;
   }
 
@@ -295,6 +303,7 @@
     return (this.ethnicities == null) ? 0 : this.ethnicities.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ethnicity> getEthnicitiesIterator() {
     return (this.ethnicities == null) ? null : this.ethnicities.iterator();
   }
@@ -306,11 +315,12 @@
     this.ethnicities.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ethnicity> getEthnicities() {
     return this.ethnicities;
   }
 
-  public void setEthnicities(java.util.List<ethnicity> ethnicities) {
+  public void setEthnicities(@org.apache.thrift.annotation.Nullable java.util.List<ethnicity> ethnicities) {
     this.ethnicities = ethnicities;
   }
 
@@ -333,6 +343,7 @@
     return (this.races == null) ? 0 : this.races.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<race> getRacesIterator() {
     return (this.races == null) ? null : this.races.iterator();
   }
@@ -344,11 +355,12 @@
     this.races.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<race> getRaces() {
     return this.races;
   }
 
-  public void setRaces(java.util.List<race> races) {
+  public void setRaces(@org.apache.thrift.annotation.Nullable java.util.List<race> races) {
     this.races = races;
   }
 
@@ -371,6 +383,7 @@
     return (this.disabilities == null) ? 0 : this.disabilities.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<disability> getDisabilitiesIterator() {
     return (this.disabilities == null) ? null : this.disabilities.iterator();
   }
@@ -382,11 +395,12 @@
     this.disabilities.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<disability> getDisabilities() {
     return this.disabilities;
   }
 
-  public void setDisabilities(java.util.List<disability> disabilities) {
+  public void setDisabilities(@org.apache.thrift.annotation.Nullable java.util.List<disability> disabilities) {
     this.disabilities = disabilities;
   }
 
@@ -405,7 +419,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_INTERNAL_USER_ID:
       if (value == null) {
@@ -458,6 +473,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_INTERNAL_USER_ID:
@@ -483,6 +500,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -507,8 +525,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof NSFDemographics)
       return this.equals((NSFDemographics)that);
     return false;
@@ -616,7 +632,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalUserId()).compareTo(other.isSetAiravataInternalUserId());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataInternalUserId(), other.isSetAiravataInternalUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -626,7 +642,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGender()).compareTo(other.isSetGender());
+    lastComparison = java.lang.Boolean.compare(isSetGender(), other.isSetGender());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -636,7 +652,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUsCitizenship()).compareTo(other.isSetUsCitizenship());
+    lastComparison = java.lang.Boolean.compare(isSetUsCitizenship(), other.isSetUsCitizenship());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -646,7 +662,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEthnicities()).compareTo(other.isSetEthnicities());
+    lastComparison = java.lang.Boolean.compare(isSetEthnicities(), other.isSetEthnicities());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -656,7 +672,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRaces()).compareTo(other.isSetRaces());
+    lastComparison = java.lang.Boolean.compare(isSetRaces(), other.isSetRaces());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -666,7 +682,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDisabilities()).compareTo(other.isSetDisabilities());
+    lastComparison = java.lang.Boolean.compare(isSetDisabilities(), other.isSetDisabilities());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -679,14 +695,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -783,6 +803,7 @@
   }
 
   private static class NSFDemographicsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public NSFDemographicsStandardScheme getScheme() {
       return new NSFDemographicsStandardScheme();
     }
@@ -790,6 +811,7 @@
 
   private static class NSFDemographicsStandardScheme extends org.apache.thrift.scheme.StandardScheme<NSFDemographics> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, NSFDemographics struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -829,11 +851,14 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.ethnicities = new java.util.ArrayList<ethnicity>(_list0.size);
-                ethnicity _elem1;
+                @org.apache.thrift.annotation.Nullable ethnicity _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = org.apache.airavata.model.user.ethnicity.findByValue(iprot.readI32());
-                  struct.ethnicities.add(_elem1);
+                  if (_elem1 != null)
+                  {
+                    struct.ethnicities.add(_elem1);
+                  }
                 }
                 iprot.readListEnd();
               }
@@ -847,11 +872,14 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.races = new java.util.ArrayList<race>(_list3.size);
-                race _elem4;
+                @org.apache.thrift.annotation.Nullable race _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = org.apache.airavata.model.user.race.findByValue(iprot.readI32());
-                  struct.races.add(_elem4);
+                  if (_elem4 != null)
+                  {
+                    struct.races.add(_elem4);
+                  }
                 }
                 iprot.readListEnd();
               }
@@ -865,11 +893,14 @@
               {
                 org.apache.thrift.protocol.TList _list6 = iprot.readListBegin();
                 struct.disabilities = new java.util.ArrayList<disability>(_list6.size);
-                disability _elem7;
+                @org.apache.thrift.annotation.Nullable disability _elem7;
                 for (int _i8 = 0; _i8 < _list6.size; ++_i8)
                 {
                   _elem7 = org.apache.airavata.model.user.disability.findByValue(iprot.readI32());
-                  struct.disabilities.add(_elem7);
+                  if (_elem7 != null)
+                  {
+                    struct.disabilities.add(_elem7);
+                  }
                 }
                 iprot.readListEnd();
               }
@@ -887,6 +918,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, NSFDemographics struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -959,6 +991,7 @@
   }
 
   private static class NSFDemographicsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public NSFDemographicsTupleScheme getScheme() {
       return new NSFDemographicsTupleScheme();
     }
@@ -1038,39 +1071,48 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list15 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          org.apache.thrift.protocol.TList _list15 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
           struct.ethnicities = new java.util.ArrayList<ethnicity>(_list15.size);
-          ethnicity _elem16;
+          @org.apache.thrift.annotation.Nullable ethnicity _elem16;
           for (int _i17 = 0; _i17 < _list15.size; ++_i17)
           {
             _elem16 = org.apache.airavata.model.user.ethnicity.findByValue(iprot.readI32());
-            struct.ethnicities.add(_elem16);
+            if (_elem16 != null)
+            {
+              struct.ethnicities.add(_elem16);
+            }
           }
         }
         struct.setEthnicitiesIsSet(true);
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list18 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          org.apache.thrift.protocol.TList _list18 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
           struct.races = new java.util.ArrayList<race>(_list18.size);
-          race _elem19;
+          @org.apache.thrift.annotation.Nullable race _elem19;
           for (int _i20 = 0; _i20 < _list18.size; ++_i20)
           {
             _elem19 = org.apache.airavata.model.user.race.findByValue(iprot.readI32());
-            struct.races.add(_elem19);
+            if (_elem19 != null)
+            {
+              struct.races.add(_elem19);
+            }
           }
         }
         struct.setRacesIsSet(true);
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.I32, iprot.readI32());
+          org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.I32);
           struct.disabilities = new java.util.ArrayList<disability>(_list21.size);
-          disability _elem22;
+          @org.apache.thrift.annotation.Nullable disability _elem22;
           for (int _i23 = 0; _i23 < _list21.size; ++_i23)
           {
             _elem22 = org.apache.airavata.model.user.disability.findByValue(iprot.readI32());
-            struct.disabilities.add(_elem22);
+            if (_elem22 != null)
+            {
+              struct.disabilities.add(_elem22);
+            }
           }
         }
         struct.setDisabilitiesIsSet(true);
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
index 792bc2e..bc491c0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/Status.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.user;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum Status implements org.apache.thrift.TEnum {
   ACTIVE(0),
   CONFIRMED(1),
@@ -53,6 +50,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -61,6 +59,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static Status findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
index 6a9d0b2..facf5ef 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/USCitizenship.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.model.user;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * U.S. Citizen (see: http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum USCitizenship implements org.apache.thrift.TEnum {
   US_CITIZEN(0),
   US_PERMANENT_RESIDENT(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static USCitizenship findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
index adaccee..5dc5103 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/UserProfile.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.model.user;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * * A structure holding the user profile and its child models.
  * *
@@ -82,7 +81,8 @@
  * *  User’s preferred timezone - IANA Timezone Databases - http://www.iana.org/time-zones.
  * *
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserProfile implements org.apache.thrift.TBase<UserProfile, UserProfile._Fields>, java.io.Serializable, Cloneable, Comparable<UserProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserProfile");
 
@@ -116,32 +116,32 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserProfileStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserProfileTupleSchemeFactory();
 
-  private java.lang.String userModelVersion; // required
-  private java.lang.String airavataInternalUserId; // required
-  private java.lang.String userId; // required
-  private java.lang.String gatewayId; // required
-  private java.util.List<java.lang.String> emails; // required
-  private java.lang.String firstName; // required
-  private java.lang.String lastName; // required
-  private java.lang.String middleName; // optional
-  private java.lang.String namePrefix; // optional
-  private java.lang.String nameSuffix; // optional
-  private java.lang.String orcidId; // optional
-  private java.util.List<java.lang.String> phones; // optional
-  private java.lang.String country; // optional
-  private java.util.List<java.lang.String> nationality; // optional
-  private java.lang.String homeOrganization; // optional
-  private java.lang.String orginationAffiliation; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String userModelVersion; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> emails; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String firstName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String lastName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String middleName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String namePrefix; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String nameSuffix; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String orcidId; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> phones; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String country; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> nationality; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String homeOrganization; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String orginationAffiliation; // optional
   private long creationTime; // required
   private long lastAccessTime; // required
   private long validUntil; // required
-  private Status State; // required
-  private java.lang.String comments; // optional
-  private java.util.List<java.lang.String> labeledURI; // optional
-  private java.lang.String gpgKey; // optional
-  private java.lang.String timeZone; // optional
-  private NSFDemographics nsfDemographics; // optional
-  private CustomDashboard customDashboard; // optional
+  private @org.apache.thrift.annotation.Nullable Status State; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String comments; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> labeledURI; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gpgKey; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String timeZone; // optional
+  private @org.apache.thrift.annotation.Nullable NSFDemographics nsfDemographics; // optional
+  private @org.apache.thrift.annotation.Nullable CustomDashboard customDashboard; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -187,6 +187,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // USER_MODEL_VERSION
@@ -259,6 +260,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -271,10 +273,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -469,6 +473,7 @@
     }
   }
 
+  @Override
   public UserProfile deepCopy() {
     return new UserProfile(this);
   }
@@ -508,11 +513,12 @@
     this.customDashboard = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserModelVersion() {
     return this.userModelVersion;
   }
 
-  public void setUserModelVersion(java.lang.String userModelVersion) {
+  public void setUserModelVersion(@org.apache.thrift.annotation.Nullable java.lang.String userModelVersion) {
     this.userModelVersion = userModelVersion;
   }
 
@@ -531,11 +537,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAiravataInternalUserId() {
     return this.airavataInternalUserId;
   }
 
-  public void setAiravataInternalUserId(java.lang.String airavataInternalUserId) {
+  public void setAiravataInternalUserId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId) {
     this.airavataInternalUserId = airavataInternalUserId;
   }
 
@@ -554,11 +561,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserId() {
     return this.userId;
   }
 
-  public void setUserId(java.lang.String userId) {
+  public void setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
     this.userId = userId;
   }
 
@@ -577,11 +585,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -604,6 +613,7 @@
     return (this.emails == null) ? 0 : this.emails.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getEmailsIterator() {
     return (this.emails == null) ? null : this.emails.iterator();
   }
@@ -615,11 +625,12 @@
     this.emails.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getEmails() {
     return this.emails;
   }
 
-  public void setEmails(java.util.List<java.lang.String> emails) {
+  public void setEmails(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> emails) {
     this.emails = emails;
   }
 
@@ -638,11 +649,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFirstName() {
     return this.firstName;
   }
 
-  public void setFirstName(java.lang.String firstName) {
+  public void setFirstName(@org.apache.thrift.annotation.Nullable java.lang.String firstName) {
     this.firstName = firstName;
   }
 
@@ -661,11 +673,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLastName() {
     return this.lastName;
   }
 
-  public void setLastName(java.lang.String lastName) {
+  public void setLastName(@org.apache.thrift.annotation.Nullable java.lang.String lastName) {
     this.lastName = lastName;
   }
 
@@ -684,11 +697,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMiddleName() {
     return this.middleName;
   }
 
-  public void setMiddleName(java.lang.String middleName) {
+  public void setMiddleName(@org.apache.thrift.annotation.Nullable java.lang.String middleName) {
     this.middleName = middleName;
   }
 
@@ -707,11 +721,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNamePrefix() {
     return this.namePrefix;
   }
 
-  public void setNamePrefix(java.lang.String namePrefix) {
+  public void setNamePrefix(@org.apache.thrift.annotation.Nullable java.lang.String namePrefix) {
     this.namePrefix = namePrefix;
   }
 
@@ -730,11 +745,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNameSuffix() {
     return this.nameSuffix;
   }
 
-  public void setNameSuffix(java.lang.String nameSuffix) {
+  public void setNameSuffix(@org.apache.thrift.annotation.Nullable java.lang.String nameSuffix) {
     this.nameSuffix = nameSuffix;
   }
 
@@ -753,11 +769,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOrcidId() {
     return this.orcidId;
   }
 
-  public void setOrcidId(java.lang.String orcidId) {
+  public void setOrcidId(@org.apache.thrift.annotation.Nullable java.lang.String orcidId) {
     this.orcidId = orcidId;
   }
 
@@ -780,6 +797,7 @@
     return (this.phones == null) ? 0 : this.phones.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getPhonesIterator() {
     return (this.phones == null) ? null : this.phones.iterator();
   }
@@ -791,11 +809,12 @@
     this.phones.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getPhones() {
     return this.phones;
   }
 
-  public void setPhones(java.util.List<java.lang.String> phones) {
+  public void setPhones(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> phones) {
     this.phones = phones;
   }
 
@@ -814,11 +833,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCountry() {
     return this.country;
   }
 
-  public void setCountry(java.lang.String country) {
+  public void setCountry(@org.apache.thrift.annotation.Nullable java.lang.String country) {
     this.country = country;
   }
 
@@ -841,6 +861,7 @@
     return (this.nationality == null) ? 0 : this.nationality.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getNationalityIterator() {
     return (this.nationality == null) ? null : this.nationality.iterator();
   }
@@ -852,11 +873,12 @@
     this.nationality.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getNationality() {
     return this.nationality;
   }
 
-  public void setNationality(java.util.List<java.lang.String> nationality) {
+  public void setNationality(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> nationality) {
     this.nationality = nationality;
   }
 
@@ -875,11 +897,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getHomeOrganization() {
     return this.homeOrganization;
   }
 
-  public void setHomeOrganization(java.lang.String homeOrganization) {
+  public void setHomeOrganization(@org.apache.thrift.annotation.Nullable java.lang.String homeOrganization) {
     this.homeOrganization = homeOrganization;
   }
 
@@ -898,11 +921,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOrginationAffiliation() {
     return this.orginationAffiliation;
   }
 
-  public void setOrginationAffiliation(java.lang.String orginationAffiliation) {
+  public void setOrginationAffiliation(@org.apache.thrift.annotation.Nullable java.lang.String orginationAffiliation) {
     this.orginationAffiliation = orginationAffiliation;
   }
 
@@ -991,6 +1015,7 @@
    * 
    * @see Status
    */
+  @org.apache.thrift.annotation.Nullable
   public Status getState() {
     return this.State;
   }
@@ -999,7 +1024,7 @@
    * 
    * @see Status
    */
-  public void setState(Status State) {
+  public void setState(@org.apache.thrift.annotation.Nullable Status State) {
     this.State = State;
   }
 
@@ -1018,11 +1043,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComments() {
     return this.comments;
   }
 
-  public void setComments(java.lang.String comments) {
+  public void setComments(@org.apache.thrift.annotation.Nullable java.lang.String comments) {
     this.comments = comments;
   }
 
@@ -1045,6 +1071,7 @@
     return (this.labeledURI == null) ? 0 : this.labeledURI.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getLabeledURIIterator() {
     return (this.labeledURI == null) ? null : this.labeledURI.iterator();
   }
@@ -1056,11 +1083,12 @@
     this.labeledURI.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getLabeledURI() {
     return this.labeledURI;
   }
 
-  public void setLabeledURI(java.util.List<java.lang.String> labeledURI) {
+  public void setLabeledURI(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> labeledURI) {
     this.labeledURI = labeledURI;
   }
 
@@ -1079,11 +1107,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGpgKey() {
     return this.gpgKey;
   }
 
-  public void setGpgKey(java.lang.String gpgKey) {
+  public void setGpgKey(@org.apache.thrift.annotation.Nullable java.lang.String gpgKey) {
     this.gpgKey = gpgKey;
   }
 
@@ -1102,11 +1131,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTimeZone() {
     return this.timeZone;
   }
 
-  public void setTimeZone(java.lang.String timeZone) {
+  public void setTimeZone(@org.apache.thrift.annotation.Nullable java.lang.String timeZone) {
     this.timeZone = timeZone;
   }
 
@@ -1125,11 +1155,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public NSFDemographics getNsfDemographics() {
     return this.nsfDemographics;
   }
 
-  public void setNsfDemographics(NSFDemographics nsfDemographics) {
+  public void setNsfDemographics(@org.apache.thrift.annotation.Nullable NSFDemographics nsfDemographics) {
     this.nsfDemographics = nsfDemographics;
   }
 
@@ -1148,11 +1179,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public CustomDashboard getCustomDashboard() {
     return this.customDashboard;
   }
 
-  public void setCustomDashboard(CustomDashboard customDashboard) {
+  public void setCustomDashboard(@org.apache.thrift.annotation.Nullable CustomDashboard customDashboard) {
     this.customDashboard = customDashboard;
   }
 
@@ -1171,7 +1203,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case USER_MODEL_VERSION:
       if (value == null) {
@@ -1384,6 +1417,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case USER_MODEL_VERSION:
@@ -1469,6 +1504,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1533,8 +1569,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserProfile)
       return this.equals((UserProfile)that);
     return false;
@@ -1896,7 +1930,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetUserModelVersion()).compareTo(other.isSetUserModelVersion());
+    lastComparison = java.lang.Boolean.compare(isSetUserModelVersion(), other.isSetUserModelVersion());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1906,7 +1940,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalUserId()).compareTo(other.isSetAiravataInternalUserId());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataInternalUserId(), other.isSetAiravataInternalUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1916,7 +1950,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+    lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1926,7 +1960,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1936,7 +1970,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmails()).compareTo(other.isSetEmails());
+    lastComparison = java.lang.Boolean.compare(isSetEmails(), other.isSetEmails());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1946,7 +1980,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFirstName()).compareTo(other.isSetFirstName());
+    lastComparison = java.lang.Boolean.compare(isSetFirstName(), other.isSetFirstName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1956,7 +1990,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastName()).compareTo(other.isSetLastName());
+    lastComparison = java.lang.Boolean.compare(isSetLastName(), other.isSetLastName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1966,7 +2000,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetMiddleName()).compareTo(other.isSetMiddleName());
+    lastComparison = java.lang.Boolean.compare(isSetMiddleName(), other.isSetMiddleName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1976,7 +2010,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNamePrefix()).compareTo(other.isSetNamePrefix());
+    lastComparison = java.lang.Boolean.compare(isSetNamePrefix(), other.isSetNamePrefix());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1986,7 +2020,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNameSuffix()).compareTo(other.isSetNameSuffix());
+    lastComparison = java.lang.Boolean.compare(isSetNameSuffix(), other.isSetNameSuffix());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1996,7 +2030,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOrcidId()).compareTo(other.isSetOrcidId());
+    lastComparison = java.lang.Boolean.compare(isSetOrcidId(), other.isSetOrcidId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2006,7 +2040,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPhones()).compareTo(other.isSetPhones());
+    lastComparison = java.lang.Boolean.compare(isSetPhones(), other.isSetPhones());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2016,7 +2050,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCountry()).compareTo(other.isSetCountry());
+    lastComparison = java.lang.Boolean.compare(isSetCountry(), other.isSetCountry());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2026,7 +2060,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNationality()).compareTo(other.isSetNationality());
+    lastComparison = java.lang.Boolean.compare(isSetNationality(), other.isSetNationality());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2036,7 +2070,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetHomeOrganization()).compareTo(other.isSetHomeOrganization());
+    lastComparison = java.lang.Boolean.compare(isSetHomeOrganization(), other.isSetHomeOrganization());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2046,7 +2080,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOrginationAffiliation()).compareTo(other.isSetOrginationAffiliation());
+    lastComparison = java.lang.Boolean.compare(isSetOrginationAffiliation(), other.isSetOrginationAffiliation());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2056,7 +2090,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2066,7 +2100,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastAccessTime()).compareTo(other.isSetLastAccessTime());
+    lastComparison = java.lang.Boolean.compare(isSetLastAccessTime(), other.isSetLastAccessTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2076,7 +2110,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValidUntil()).compareTo(other.isSetValidUntil());
+    lastComparison = java.lang.Boolean.compare(isSetValidUntil(), other.isSetValidUntil());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2086,7 +2120,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2096,7 +2130,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComments()).compareTo(other.isSetComments());
+    lastComparison = java.lang.Boolean.compare(isSetComments(), other.isSetComments());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2106,7 +2140,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLabeledURI()).compareTo(other.isSetLabeledURI());
+    lastComparison = java.lang.Boolean.compare(isSetLabeledURI(), other.isSetLabeledURI());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2116,7 +2150,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGpgKey()).compareTo(other.isSetGpgKey());
+    lastComparison = java.lang.Boolean.compare(isSetGpgKey(), other.isSetGpgKey());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2126,7 +2160,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTimeZone()).compareTo(other.isSetTimeZone());
+    lastComparison = java.lang.Boolean.compare(isSetTimeZone(), other.isSetTimeZone());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2136,7 +2170,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNsfDemographics()).compareTo(other.isSetNsfDemographics());
+    lastComparison = java.lang.Boolean.compare(isSetNsfDemographics(), other.isSetNsfDemographics());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2146,7 +2180,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCustomDashboard()).compareTo(other.isSetCustomDashboard());
+    lastComparison = java.lang.Boolean.compare(isSetCustomDashboard(), other.isSetCustomDashboard());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -2159,14 +2193,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -2479,6 +2517,7 @@
   }
 
   private static class UserProfileStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserProfileStandardScheme getScheme() {
       return new UserProfileStandardScheme();
     }
@@ -2486,6 +2525,7 @@
 
   private static class UserProfileStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserProfile> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserProfile struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -2533,7 +2573,7 @@
               {
                 org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                 struct.emails = new java.util.ArrayList<java.lang.String>(_list24.size);
-                java.lang.String _elem25;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem25;
                 for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                 {
                   _elem25 = iprot.readString();
@@ -2599,7 +2639,7 @@
               {
                 org.apache.thrift.protocol.TList _list27 = iprot.readListBegin();
                 struct.phones = new java.util.ArrayList<java.lang.String>(_list27.size);
-                java.lang.String _elem28;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem28;
                 for (int _i29 = 0; _i29 < _list27.size; ++_i29)
                 {
                   _elem28 = iprot.readString();
@@ -2625,7 +2665,7 @@
               {
                 org.apache.thrift.protocol.TList _list30 = iprot.readListBegin();
                 struct.nationality = new java.util.ArrayList<java.lang.String>(_list30.size);
-                java.lang.String _elem31;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem31;
                 for (int _i32 = 0; _i32 < _list30.size; ++_i32)
                 {
                   _elem31 = iprot.readString();
@@ -2699,7 +2739,7 @@
               {
                 org.apache.thrift.protocol.TList _list33 = iprot.readListBegin();
                 struct.labeledURI = new java.util.ArrayList<java.lang.String>(_list33.size);
-                java.lang.String _elem34;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem34;
                 for (int _i35 = 0; _i35 < _list33.size; ++_i35)
                 {
                   _elem34 = iprot.readString();
@@ -2755,6 +2795,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserProfile struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2948,6 +2989,7 @@
   }
 
   private static class UserProfileTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserProfileTupleScheme getScheme() {
       return new UserProfileTupleScheme();
     }
@@ -3099,9 +3141,9 @@
       struct.gatewayId = iprot.readString();
       struct.setGatewayIdIsSet(true);
       {
-        org.apache.thrift.protocol.TList _list44 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+        org.apache.thrift.protocol.TList _list44 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
         struct.emails = new java.util.ArrayList<java.lang.String>(_list44.size);
-        java.lang.String _elem45;
+        @org.apache.thrift.annotation.Nullable java.lang.String _elem45;
         for (int _i46 = 0; _i46 < _list44.size; ++_i46)
         {
           _elem45 = iprot.readString();
@@ -3140,9 +3182,9 @@
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list47 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list47 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.phones = new java.util.ArrayList<java.lang.String>(_list47.size);
-          java.lang.String _elem48;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem48;
           for (int _i49 = 0; _i49 < _list47.size; ++_i49)
           {
             _elem48 = iprot.readString();
@@ -3157,9 +3199,9 @@
       }
       if (incoming.get(6)) {
         {
-          org.apache.thrift.protocol.TList _list50 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list50 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.nationality = new java.util.ArrayList<java.lang.String>(_list50.size);
-          java.lang.String _elem51;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem51;
           for (int _i52 = 0; _i52 < _list50.size; ++_i52)
           {
             _elem51 = iprot.readString();
@@ -3182,9 +3224,9 @@
       }
       if (incoming.get(10)) {
         {
-          org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list53 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.labeledURI = new java.util.ArrayList<java.lang.String>(_list53.size);
-          java.lang.String _elem54;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem54;
           for (int _i55 = 0; _i55 < _list53.size; ++_i55)
           {
             _elem54 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
index adb2f2f..8bc0b88 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/disability.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.user;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum disability implements org.apache.thrift.TEnum {
   HEARING_IMAPAIRED(0),
   VISUAL_IMPAIRED(1),
@@ -43,6 +40,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -51,6 +49,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static disability findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
index cf4880c..27559f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/ethnicity.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,15 +24,12 @@
 package org.apache.airavata.model.user;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * Hispanic or Latino - a person of Mexican, Puerto Rican, Cuban, South or
  *  Central American, or other Spanish culture or origin, regardless of race.
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ethnicity implements org.apache.thrift.TEnum {
   HISPANIC_LATINO(0),
   NOT_HISPANIC_LATINO(1);
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ethnicity findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
index 5374e45..7e85cf2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/race.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.model.user;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * * Asian - a person having origins in any of the original peoples of the Far East,
  * *      Southeast Asia, or the Indian subcontinent including, for example, Cambodia,
@@ -43,6 +39,7 @@
  * * White - a person having origins in any of the original peoples of Europe, the Middle East, or North Africa.
  * *
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum race implements org.apache.thrift.TEnum {
   ASIAN(0),
   AMERICAN_INDIAN_OR_ALASKAN_NATIVE(1),
@@ -59,6 +56,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -67,6 +65,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static race findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
index 9313d89..52b5616 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/user/user_profile_modelConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/AiravataWorkflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/AiravataWorkflow.java
index 82465d8..6e3dca1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/AiravataWorkflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/AiravataWorkflow.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class AiravataWorkflow implements org.apache.thrift.TBase<AiravataWorkflow, AiravataWorkflow._Fields>, java.io.Serializable, Cloneable, Comparable<AiravataWorkflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("AiravataWorkflow");
 
@@ -42,14 +42,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new AiravataWorkflowStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new AiravataWorkflowTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String experimentId; // required
-  private java.lang.String description; // optional
-  private java.util.List<WorkflowApplication> applications; // optional
-  private java.util.List<WorkflowHandler> handlers; // optional
-  private java.util.List<WorkflowConnection> connections; // optional
-  private java.util.List<WorkflowStatus> statuses; // optional
-  private java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<WorkflowApplication> applications; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<WorkflowHandler> handlers; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<WorkflowConnection> connections; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<WorkflowStatus> statuses; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
   private long createdAt; // optional
   private long updatedAt; // optional
 
@@ -77,6 +77,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -117,6 +118,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -129,10 +131,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -242,6 +246,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public AiravataWorkflow deepCopy() {
     return new AiravataWorkflow(this);
   }
@@ -263,11 +268,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -286,11 +292,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getExperimentId() {
     return this.experimentId;
   }
 
-  public void setExperimentId(java.lang.String experimentId) {
+  public void setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
     this.experimentId = experimentId;
   }
 
@@ -309,11 +316,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -336,6 +344,7 @@
     return (this.applications == null) ? 0 : this.applications.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<WorkflowApplication> getApplicationsIterator() {
     return (this.applications == null) ? null : this.applications.iterator();
   }
@@ -347,11 +356,12 @@
     this.applications.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<WorkflowApplication> getApplications() {
     return this.applications;
   }
 
-  public void setApplications(java.util.List<WorkflowApplication> applications) {
+  public void setApplications(@org.apache.thrift.annotation.Nullable java.util.List<WorkflowApplication> applications) {
     this.applications = applications;
   }
 
@@ -374,6 +384,7 @@
     return (this.handlers == null) ? 0 : this.handlers.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<WorkflowHandler> getHandlersIterator() {
     return (this.handlers == null) ? null : this.handlers.iterator();
   }
@@ -385,11 +396,12 @@
     this.handlers.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<WorkflowHandler> getHandlers() {
     return this.handlers;
   }
 
-  public void setHandlers(java.util.List<WorkflowHandler> handlers) {
+  public void setHandlers(@org.apache.thrift.annotation.Nullable java.util.List<WorkflowHandler> handlers) {
     this.handlers = handlers;
   }
 
@@ -412,6 +424,7 @@
     return (this.connections == null) ? 0 : this.connections.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<WorkflowConnection> getConnectionsIterator() {
     return (this.connections == null) ? null : this.connections.iterator();
   }
@@ -423,11 +436,12 @@
     this.connections.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<WorkflowConnection> getConnections() {
     return this.connections;
   }
 
-  public void setConnections(java.util.List<WorkflowConnection> connections) {
+  public void setConnections(@org.apache.thrift.annotation.Nullable java.util.List<WorkflowConnection> connections) {
     this.connections = connections;
   }
 
@@ -450,6 +464,7 @@
     return (this.statuses == null) ? 0 : this.statuses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<WorkflowStatus> getStatusesIterator() {
     return (this.statuses == null) ? null : this.statuses.iterator();
   }
@@ -461,11 +476,12 @@
     this.statuses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<WorkflowStatus> getStatuses() {
     return this.statuses;
   }
 
-  public void setStatuses(java.util.List<WorkflowStatus> statuses) {
+  public void setStatuses(@org.apache.thrift.annotation.Nullable java.util.List<WorkflowStatus> statuses) {
     this.statuses = statuses;
   }
 
@@ -488,6 +504,7 @@
     return (this.errors == null) ? 0 : this.errors.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getErrorsIterator() {
     return (this.errors == null) ? null : this.errors.iterator();
   }
@@ -499,11 +516,12 @@
     this.errors.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.commons.ErrorModel> getErrors() {
     return this.errors;
   }
 
-  public void setErrors(java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
+  public void setErrors(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
     this.errors = errors;
   }
 
@@ -566,7 +584,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -651,6 +670,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -688,6 +709,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -720,8 +742,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof AiravataWorkflow)
       return this.equals((AiravataWorkflow)that);
     return false;
@@ -881,7 +901,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -891,7 +911,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+    lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -901,7 +921,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -911,7 +931,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplications()).compareTo(other.isSetApplications());
+    lastComparison = java.lang.Boolean.compare(isSetApplications(), other.isSetApplications());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -921,7 +941,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetHandlers()).compareTo(other.isSetHandlers());
+    lastComparison = java.lang.Boolean.compare(isSetHandlers(), other.isSetHandlers());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -931,7 +951,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetConnections()).compareTo(other.isSetConnections());
+    lastComparison = java.lang.Boolean.compare(isSetConnections(), other.isSetConnections());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -941,7 +961,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatuses()).compareTo(other.isSetStatuses());
+    lastComparison = java.lang.Boolean.compare(isSetStatuses(), other.isSetStatuses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -951,7 +971,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors());
+    lastComparison = java.lang.Boolean.compare(isSetErrors(), other.isSetErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -961,7 +981,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedAt()).compareTo(other.isSetCreatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedAt(), other.isSetCreatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -971,7 +991,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -984,14 +1004,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1124,6 +1148,7 @@
   }
 
   private static class AiravataWorkflowStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AiravataWorkflowStandardScheme getScheme() {
       return new AiravataWorkflowStandardScheme();
     }
@@ -1131,6 +1156,7 @@
 
   private static class AiravataWorkflowStandardScheme extends org.apache.thrift.scheme.StandardScheme<AiravataWorkflow> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, AiravataWorkflow struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1170,7 +1196,7 @@
               {
                 org.apache.thrift.protocol.TList _list48 = iprot.readListBegin();
                 struct.applications = new java.util.ArrayList<WorkflowApplication>(_list48.size);
-                WorkflowApplication _elem49;
+                @org.apache.thrift.annotation.Nullable WorkflowApplication _elem49;
                 for (int _i50 = 0; _i50 < _list48.size; ++_i50)
                 {
                   _elem49 = new WorkflowApplication();
@@ -1189,7 +1215,7 @@
               {
                 org.apache.thrift.protocol.TList _list51 = iprot.readListBegin();
                 struct.handlers = new java.util.ArrayList<WorkflowHandler>(_list51.size);
-                WorkflowHandler _elem52;
+                @org.apache.thrift.annotation.Nullable WorkflowHandler _elem52;
                 for (int _i53 = 0; _i53 < _list51.size; ++_i53)
                 {
                   _elem52 = new WorkflowHandler();
@@ -1208,7 +1234,7 @@
               {
                 org.apache.thrift.protocol.TList _list54 = iprot.readListBegin();
                 struct.connections = new java.util.ArrayList<WorkflowConnection>(_list54.size);
-                WorkflowConnection _elem55;
+                @org.apache.thrift.annotation.Nullable WorkflowConnection _elem55;
                 for (int _i56 = 0; _i56 < _list54.size; ++_i56)
                 {
                   _elem55 = new WorkflowConnection();
@@ -1227,7 +1253,7 @@
               {
                 org.apache.thrift.protocol.TList _list57 = iprot.readListBegin();
                 struct.statuses = new java.util.ArrayList<WorkflowStatus>(_list57.size);
-                WorkflowStatus _elem58;
+                @org.apache.thrift.annotation.Nullable WorkflowStatus _elem58;
                 for (int _i59 = 0; _i59 < _list57.size; ++_i59)
                 {
                   _elem58 = new WorkflowStatus();
@@ -1246,7 +1272,7 @@
               {
                 org.apache.thrift.protocol.TList _list60 = iprot.readListBegin();
                 struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list60.size);
-                org.apache.airavata.model.commons.ErrorModel _elem61;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem61;
                 for (int _i62 = 0; _i62 < _list60.size; ++_i62)
                 {
                   _elem61 = new org.apache.airavata.model.commons.ErrorModel();
@@ -1285,6 +1311,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, AiravataWorkflow struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1393,6 +1420,7 @@
   }
 
   private static class AiravataWorkflowTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public AiravataWorkflowTupleScheme getScheme() {
       return new AiravataWorkflowTupleScheme();
     }
@@ -1501,9 +1529,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list73 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list73 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.applications = new java.util.ArrayList<WorkflowApplication>(_list73.size);
-          WorkflowApplication _elem74;
+          @org.apache.thrift.annotation.Nullable WorkflowApplication _elem74;
           for (int _i75 = 0; _i75 < _list73.size; ++_i75)
           {
             _elem74 = new WorkflowApplication();
@@ -1515,9 +1543,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list76 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list76 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.handlers = new java.util.ArrayList<WorkflowHandler>(_list76.size);
-          WorkflowHandler _elem77;
+          @org.apache.thrift.annotation.Nullable WorkflowHandler _elem77;
           for (int _i78 = 0; _i78 < _list76.size; ++_i78)
           {
             _elem77 = new WorkflowHandler();
@@ -1529,9 +1557,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list79 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list79 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.connections = new java.util.ArrayList<WorkflowConnection>(_list79.size);
-          WorkflowConnection _elem80;
+          @org.apache.thrift.annotation.Nullable WorkflowConnection _elem80;
           for (int _i81 = 0; _i81 < _list79.size; ++_i81)
           {
             _elem80 = new WorkflowConnection();
@@ -1543,9 +1571,9 @@
       }
       if (incoming.get(4)) {
         {
-          org.apache.thrift.protocol.TList _list82 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list82 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.statuses = new java.util.ArrayList<WorkflowStatus>(_list82.size);
-          WorkflowStatus _elem83;
+          @org.apache.thrift.annotation.Nullable WorkflowStatus _elem83;
           for (int _i84 = 0; _i84 < _list82.size; ++_i84)
           {
             _elem83 = new WorkflowStatus();
@@ -1557,9 +1585,9 @@
       }
       if (incoming.get(5)) {
         {
-          org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list85 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list85.size);
-          org.apache.airavata.model.commons.ErrorModel _elem86;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem86;
           for (int _i87 = 0; _i87 < _list85.size; ++_i87)
           {
             _elem86 = new org.apache.airavata.model.commons.ErrorModel();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationState.java
index b09baed..8a43243 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ApplicationState implements org.apache.thrift.TEnum {
   CREATED(0),
   VALIDATED(1),
@@ -48,6 +45,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -56,6 +54,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ApplicationState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationStatus.java
index 210a561..870a672 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ApplicationStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class ApplicationStatus implements org.apache.thrift.TBase<ApplicationStatus, ApplicationStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationStatus");
 
@@ -36,9 +36,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ApplicationStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ApplicationStatusTupleSchemeFactory();
 
-  private java.lang.String id; // optional
-  private ApplicationState state; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // optional
+  private @org.apache.thrift.annotation.Nullable ApplicationState state; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
   private long updatedAt; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -63,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public ApplicationStatus deepCopy() {
     return new ApplicationStatus(this);
   }
@@ -171,11 +176,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -198,6 +204,7 @@
    * 
    * @see ApplicationState
    */
+  @org.apache.thrift.annotation.Nullable
   public ApplicationState getState() {
     return this.state;
   }
@@ -206,7 +213,7 @@
    * 
    * @see ApplicationState
    */
-  public void setState(ApplicationState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable ApplicationState state) {
     this.state = state;
   }
 
@@ -225,11 +232,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -270,7 +278,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -307,6 +316,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -326,6 +337,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -346,8 +358,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof ApplicationStatus)
       return this.equals((ApplicationStatus)that);
     return false;
@@ -429,7 +439,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +449,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +469,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -472,14 +482,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +568,7 @@
   }
 
   private static class ApplicationStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationStatusStandardScheme getScheme() {
       return new ApplicationStatusStandardScheme();
     }
@@ -561,6 +576,7 @@
 
   private static class ApplicationStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<ApplicationStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, ApplicationStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +628,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, ApplicationStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -647,6 +664,7 @@
   }
 
   private static class ApplicationStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ApplicationStatusTupleScheme getScheme() {
       return new ApplicationStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ComponentType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ComponentType.java
index a0e639e..e17047b 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ComponentType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/ComponentType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum ComponentType implements org.apache.thrift.TEnum {
   APPLICATION(0),
   HANDLER(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static ComponentType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/DataBlock.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/DataBlock.java
index fe2d99e..92af1c0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/DataBlock.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/DataBlock.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DataBlock implements org.apache.thrift.TBase<DataBlock, DataBlock._Fields>, java.io.Serializable, Cloneable, Comparable<DataBlock> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DataBlock");
 
@@ -37,9 +37,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DataBlockStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DataBlockTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String value; // optional
-  private org.apache.airavata.model.application.io.DataType type; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String value; // optional
+  private @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.DataType type; // optional
   private long createdAt; // optional
   private long updatedAt; // optional
 
@@ -66,6 +66,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -96,6 +97,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -108,10 +110,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -167,6 +171,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public DataBlock deepCopy() {
     return new DataBlock(this);
   }
@@ -182,11 +187,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -205,11 +211,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public void setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
   }
 
@@ -232,6 +239,7 @@
    * 
    * @see org.apache.airavata.model.application.io.DataType
    */
+  @org.apache.thrift.annotation.Nullable
   public org.apache.airavata.model.application.io.DataType getType() {
     return this.type;
   }
@@ -240,7 +248,7 @@
    * 
    * @see org.apache.airavata.model.application.io.DataType
    */
-  public void setType(org.apache.airavata.model.application.io.DataType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.DataType type) {
     this.type = type;
   }
 
@@ -303,7 +311,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -348,6 +357,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -370,6 +381,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -392,8 +404,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DataBlock)
       return this.equals((DataBlock)that);
     return false;
@@ -488,7 +498,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -498,7 +508,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -508,7 +518,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -518,7 +528,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedAt()).compareTo(other.isSetCreatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedAt(), other.isSetCreatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -528,7 +538,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -541,14 +551,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -629,6 +643,7 @@
   }
 
   private static class DataBlockStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataBlockStandardScheme getScheme() {
       return new DataBlockStandardScheme();
     }
@@ -636,6 +651,7 @@
 
   private static class DataBlockStandardScheme extends org.apache.thrift.scheme.StandardScheme<DataBlock> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DataBlock struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -695,6 +711,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DataBlock struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -735,6 +752,7 @@
   }
 
   private static class DataBlockTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DataBlockTupleScheme getScheme() {
       return new DataBlockTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerState.java
index 0abd1b2..a5aa18c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum HandlerState implements org.apache.thrift.TEnum {
   CREATED(0),
   VALIDATED(1),
@@ -48,6 +45,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -56,6 +54,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static HandlerState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerStatus.java
index 4d8eb59..e2fa1d2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class HandlerStatus implements org.apache.thrift.TBase<HandlerStatus, HandlerStatus._Fields>, java.io.Serializable, Cloneable, Comparable<HandlerStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("HandlerStatus");
 
@@ -36,9 +36,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new HandlerStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new HandlerStatusTupleSchemeFactory();
 
-  private java.lang.String id; // optional
-  private HandlerState state; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // optional
+  private @org.apache.thrift.annotation.Nullable HandlerState state; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
   private long updatedAt; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -63,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public HandlerStatus deepCopy() {
     return new HandlerStatus(this);
   }
@@ -171,11 +176,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -198,6 +204,7 @@
    * 
    * @see HandlerState
    */
+  @org.apache.thrift.annotation.Nullable
   public HandlerState getState() {
     return this.state;
   }
@@ -206,7 +213,7 @@
    * 
    * @see HandlerState
    */
-  public void setState(HandlerState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable HandlerState state) {
     this.state = state;
   }
 
@@ -225,11 +232,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -270,7 +278,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -307,6 +316,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -326,6 +337,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -346,8 +358,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof HandlerStatus)
       return this.equals((HandlerStatus)that);
     return false;
@@ -429,7 +439,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +449,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +469,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -472,14 +482,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +568,7 @@
   }
 
   private static class HandlerStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public HandlerStatusStandardScheme getScheme() {
       return new HandlerStatusStandardScheme();
     }
@@ -561,6 +576,7 @@
 
   private static class HandlerStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<HandlerStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, HandlerStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +628,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, HandlerStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -647,6 +664,7 @@
   }
 
   private static class HandlerStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public HandlerStatusTupleScheme getScheme() {
       return new HandlerStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerType.java
index 972bc3e..a01f854 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerType.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/HandlerType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum HandlerType implements org.apache.thrift.TEnum {
   FLOW_STARTER(0),
   FLOW_TERMINATOR(1);
@@ -41,6 +38,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -49,6 +47,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static HandlerType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowApplication.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowApplication.java
index b2c3a55..95a52ad 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowApplication.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowApplication.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class WorkflowApplication implements org.apache.thrift.TBase<WorkflowApplication, WorkflowApplication._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowApplication> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowApplication");
 
@@ -45,17 +45,17 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new WorkflowApplicationStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new WorkflowApplicationTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private java.lang.String processId; // optional
-  private java.lang.String applicationInterfaceId; // optional
-  private java.lang.String computeResourceId; // optional
-  private java.lang.String queueName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String processId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String applicationInterfaceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String queueName; // optional
   private int nodeCount; // optional
   private int coreCount; // optional
   private int wallTimeLimit; // optional
   private int physicalMemory; // optional
-  private java.util.List<ApplicationStatus> statuses; // optional
-  private java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<ApplicationStatus> statuses; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
   private long createdAt; // optional
   private long updatedAt; // optional
 
@@ -86,6 +86,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -132,6 +133,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -144,10 +146,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -249,6 +253,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public WorkflowApplication deepCopy() {
     return new WorkflowApplication(this);
   }
@@ -276,11 +281,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -299,11 +305,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProcessId() {
     return this.processId;
   }
 
-  public void setProcessId(java.lang.String processId) {
+  public void setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
     this.processId = processId;
   }
 
@@ -322,11 +329,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getApplicationInterfaceId() {
     return this.applicationInterfaceId;
   }
 
-  public void setApplicationInterfaceId(java.lang.String applicationInterfaceId) {
+  public void setApplicationInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String applicationInterfaceId) {
     this.applicationInterfaceId = applicationInterfaceId;
   }
 
@@ -345,11 +353,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -368,11 +377,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getQueueName() {
     return this.queueName;
   }
 
-  public void setQueueName(java.lang.String queueName) {
+  public void setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
     this.queueName = queueName;
   }
 
@@ -483,6 +493,7 @@
     return (this.statuses == null) ? 0 : this.statuses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<ApplicationStatus> getStatusesIterator() {
     return (this.statuses == null) ? null : this.statuses.iterator();
   }
@@ -494,11 +505,12 @@
     this.statuses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<ApplicationStatus> getStatuses() {
     return this.statuses;
   }
 
-  public void setStatuses(java.util.List<ApplicationStatus> statuses) {
+  public void setStatuses(@org.apache.thrift.annotation.Nullable java.util.List<ApplicationStatus> statuses) {
     this.statuses = statuses;
   }
 
@@ -521,6 +533,7 @@
     return (this.errors == null) ? 0 : this.errors.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getErrorsIterator() {
     return (this.errors == null) ? null : this.errors.iterator();
   }
@@ -532,11 +545,12 @@
     this.errors.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.commons.ErrorModel> getErrors() {
     return this.errors;
   }
 
-  public void setErrors(java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
+  public void setErrors(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
     this.errors = errors;
   }
 
@@ -599,7 +613,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -708,6 +723,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -754,6 +771,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -792,8 +810,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof WorkflowApplication)
       return this.equals((WorkflowApplication)that);
     return false;
@@ -992,7 +1008,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1002,7 +1018,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+    lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1012,7 +1028,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterfaceId()).compareTo(other.isSetApplicationInterfaceId());
+    lastComparison = java.lang.Boolean.compare(isSetApplicationInterfaceId(), other.isSetApplicationInterfaceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1022,7 +1038,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1032,7 +1048,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
+    lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1042,7 +1058,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNodeCount()).compareTo(other.isSetNodeCount());
+    lastComparison = java.lang.Boolean.compare(isSetNodeCount(), other.isSetNodeCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1052,7 +1068,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCoreCount()).compareTo(other.isSetCoreCount());
+    lastComparison = java.lang.Boolean.compare(isSetCoreCount(), other.isSetCoreCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1062,7 +1078,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetWallTimeLimit()).compareTo(other.isSetWallTimeLimit());
+    lastComparison = java.lang.Boolean.compare(isSetWallTimeLimit(), other.isSetWallTimeLimit());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1072,7 +1088,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPhysicalMemory()).compareTo(other.isSetPhysicalMemory());
+    lastComparison = java.lang.Boolean.compare(isSetPhysicalMemory(), other.isSetPhysicalMemory());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1082,7 +1098,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatuses()).compareTo(other.isSetStatuses());
+    lastComparison = java.lang.Boolean.compare(isSetStatuses(), other.isSetStatuses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1092,7 +1108,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors());
+    lastComparison = java.lang.Boolean.compare(isSetErrors(), other.isSetErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1102,7 +1118,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedAt()).compareTo(other.isSetCreatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedAt(), other.isSetCreatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1112,7 +1128,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1125,14 +1141,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1277,6 +1297,7 @@
   }
 
   private static class WorkflowApplicationStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowApplicationStandardScheme getScheme() {
       return new WorkflowApplicationStandardScheme();
     }
@@ -1284,6 +1305,7 @@
 
   private static class WorkflowApplicationStandardScheme extends org.apache.thrift.scheme.StandardScheme<WorkflowApplication> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowApplication struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1371,7 +1393,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.statuses = new java.util.ArrayList<ApplicationStatus>(_list0.size);
-                ApplicationStatus _elem1;
+                @org.apache.thrift.annotation.Nullable ApplicationStatus _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new ApplicationStatus();
@@ -1390,7 +1412,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list3.size);
-                org.apache.airavata.model.commons.ErrorModel _elem4;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = new org.apache.airavata.model.commons.ErrorModel();
@@ -1429,6 +1451,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowApplication struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1531,6 +1554,7 @@
   }
 
   private static class WorkflowApplicationTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowApplicationTupleScheme getScheme() {
       return new WorkflowApplicationTupleScheme();
     }
@@ -1670,9 +1694,9 @@
       }
       if (incoming.get(8)) {
         {
-          org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.statuses = new java.util.ArrayList<ApplicationStatus>(_list10.size);
-          ApplicationStatus _elem11;
+          @org.apache.thrift.annotation.Nullable ApplicationStatus _elem11;
           for (int _i12 = 0; _i12 < _list10.size; ++_i12)
           {
             _elem11 = new ApplicationStatus();
@@ -1684,9 +1708,9 @@
       }
       if (incoming.get(9)) {
         {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list13.size);
-          org.apache.airavata.model.commons.ErrorModel _elem14;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem14;
           for (int _i15 = 0; _i15 < _list13.size; ++_i15)
           {
             _elem14 = new org.apache.airavata.model.commons.ErrorModel();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowConnection.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowConnection.java
index 78ef41f..ee89b4f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowConnection.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowConnection.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class WorkflowConnection implements org.apache.thrift.TBase<WorkflowConnection, WorkflowConnection._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowConnection> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowConnection");
 
@@ -42,14 +42,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new WorkflowConnectionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new WorkflowConnectionTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private DataBlock dataBlock; // optional
-  private ComponentType fromType; // required
-  private java.lang.String fromId; // required
-  private java.lang.String fromOutputName; // required
-  private ComponentType toType; // required
-  private java.lang.String toId; // required
-  private java.lang.String toInputName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable DataBlock dataBlock; // optional
+  private @org.apache.thrift.annotation.Nullable ComponentType fromType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String fromId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String fromOutputName; // required
+  private @org.apache.thrift.annotation.Nullable ComponentType toType; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String toId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String toInputName; // required
   private long createdAt; // optional
   private long updatedAt; // optional
 
@@ -85,6 +85,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -125,6 +126,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -137,10 +139,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -235,6 +239,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public WorkflowConnection deepCopy() {
     return new WorkflowConnection(this);
   }
@@ -256,11 +261,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -279,11 +285,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public DataBlock getDataBlock() {
     return this.dataBlock;
   }
 
-  public void setDataBlock(DataBlock dataBlock) {
+  public void setDataBlock(@org.apache.thrift.annotation.Nullable DataBlock dataBlock) {
     this.dataBlock = dataBlock;
   }
 
@@ -306,6 +313,7 @@
    * 
    * @see ComponentType
    */
+  @org.apache.thrift.annotation.Nullable
   public ComponentType getFromType() {
     return this.fromType;
   }
@@ -314,7 +322,7 @@
    * 
    * @see ComponentType
    */
-  public void setFromType(ComponentType fromType) {
+  public void setFromType(@org.apache.thrift.annotation.Nullable ComponentType fromType) {
     this.fromType = fromType;
   }
 
@@ -333,11 +341,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFromId() {
     return this.fromId;
   }
 
-  public void setFromId(java.lang.String fromId) {
+  public void setFromId(@org.apache.thrift.annotation.Nullable java.lang.String fromId) {
     this.fromId = fromId;
   }
 
@@ -356,11 +365,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFromOutputName() {
     return this.fromOutputName;
   }
 
-  public void setFromOutputName(java.lang.String fromOutputName) {
+  public void setFromOutputName(@org.apache.thrift.annotation.Nullable java.lang.String fromOutputName) {
     this.fromOutputName = fromOutputName;
   }
 
@@ -383,6 +393,7 @@
    * 
    * @see ComponentType
    */
+  @org.apache.thrift.annotation.Nullable
   public ComponentType getToType() {
     return this.toType;
   }
@@ -391,7 +402,7 @@
    * 
    * @see ComponentType
    */
-  public void setToType(ComponentType toType) {
+  public void setToType(@org.apache.thrift.annotation.Nullable ComponentType toType) {
     this.toType = toType;
   }
 
@@ -410,11 +421,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getToId() {
     return this.toId;
   }
 
-  public void setToId(java.lang.String toId) {
+  public void setToId(@org.apache.thrift.annotation.Nullable java.lang.String toId) {
     this.toId = toId;
   }
 
@@ -433,11 +445,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getToInputName() {
     return this.toInputName;
   }
 
-  public void setToInputName(java.lang.String toInputName) {
+  public void setToInputName(@org.apache.thrift.annotation.Nullable java.lang.String toInputName) {
     this.toInputName = toInputName;
   }
 
@@ -500,7 +513,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -585,6 +599,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -622,6 +638,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -654,8 +671,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof WorkflowConnection)
       return this.equals((WorkflowConnection)that);
     return false;
@@ -815,7 +830,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -825,7 +840,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDataBlock()).compareTo(other.isSetDataBlock());
+    lastComparison = java.lang.Boolean.compare(isSetDataBlock(), other.isSetDataBlock());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -835,7 +850,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFromType()).compareTo(other.isSetFromType());
+    lastComparison = java.lang.Boolean.compare(isSetFromType(), other.isSetFromType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -845,7 +860,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFromId()).compareTo(other.isSetFromId());
+    lastComparison = java.lang.Boolean.compare(isSetFromId(), other.isSetFromId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -855,7 +870,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFromOutputName()).compareTo(other.isSetFromOutputName());
+    lastComparison = java.lang.Boolean.compare(isSetFromOutputName(), other.isSetFromOutputName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -865,7 +880,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToType()).compareTo(other.isSetToType());
+    lastComparison = java.lang.Boolean.compare(isSetToType(), other.isSetToType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -875,7 +890,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToId()).compareTo(other.isSetToId());
+    lastComparison = java.lang.Boolean.compare(isSetToId(), other.isSetToId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -885,7 +900,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetToInputName()).compareTo(other.isSetToInputName());
+    lastComparison = java.lang.Boolean.compare(isSetToInputName(), other.isSetToInputName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -895,7 +910,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedAt()).compareTo(other.isSetCreatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedAt(), other.isSetCreatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -905,7 +920,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -918,14 +933,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1071,6 +1090,7 @@
   }
 
   private static class WorkflowConnectionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowConnectionStandardScheme getScheme() {
       return new WorkflowConnectionStandardScheme();
     }
@@ -1078,6 +1098,7 @@
 
   private static class WorkflowConnectionStandardScheme extends org.apache.thrift.scheme.StandardScheme<WorkflowConnection> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowConnection struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1178,6 +1199,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowConnection struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1241,6 +1263,7 @@
   }
 
   private static class WorkflowConnectionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowConnectionTupleScheme getScheme() {
       return new WorkflowConnectionTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowHandler.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowHandler.java
index 4cc9185..a0301c7 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowHandler.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowHandler.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class WorkflowHandler implements org.apache.thrift.TBase<WorkflowHandler, WorkflowHandler._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowHandler> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowHandler");
 
@@ -40,12 +40,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new WorkflowHandlerStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new WorkflowHandlerTupleSchemeFactory();
 
-  private java.lang.String id; // required
-  private HandlerType type; // required
-  private java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> inputs; // optional
-  private java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs; // optional
-  private java.util.List<HandlerStatus> statuses; // optional
-  private java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // required
+  private @org.apache.thrift.annotation.Nullable HandlerType type; // required
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> inputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<HandlerStatus> statuses; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors; // optional
   private long createdAt; // optional
   private long updatedAt; // optional
 
@@ -75,6 +75,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -111,6 +112,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -123,10 +125,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -219,6 +223,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public WorkflowHandler deepCopy() {
     return new WorkflowHandler(this);
   }
@@ -237,11 +242,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -264,6 +270,7 @@
    * 
    * @see HandlerType
    */
+  @org.apache.thrift.annotation.Nullable
   public HandlerType getType() {
     return this.type;
   }
@@ -272,7 +279,7 @@
    * 
    * @see HandlerType
    */
-  public void setType(HandlerType type) {
+  public void setType(@org.apache.thrift.annotation.Nullable HandlerType type) {
     this.type = type;
   }
 
@@ -295,6 +302,7 @@
     return (this.inputs == null) ? 0 : this.inputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getInputsIterator() {
     return (this.inputs == null) ? null : this.inputs.iterator();
   }
@@ -306,11 +314,12 @@
     this.inputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getInputs() {
     return this.inputs;
   }
 
-  public void setInputs(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> inputs) {
+  public void setInputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> inputs) {
     this.inputs = inputs;
   }
 
@@ -333,6 +342,7 @@
     return (this.outputs == null) ? 0 : this.outputs.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputsIterator() {
     return (this.outputs == null) ? null : this.outputs.iterator();
   }
@@ -344,11 +354,12 @@
     this.outputs.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputs() {
     return this.outputs;
   }
 
-  public void setOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs) {
+  public void setOutputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs) {
     this.outputs = outputs;
   }
 
@@ -371,6 +382,7 @@
     return (this.statuses == null) ? 0 : this.statuses.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<HandlerStatus> getStatusesIterator() {
     return (this.statuses == null) ? null : this.statuses.iterator();
   }
@@ -382,11 +394,12 @@
     this.statuses.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<HandlerStatus> getStatuses() {
     return this.statuses;
   }
 
-  public void setStatuses(java.util.List<HandlerStatus> statuses) {
+  public void setStatuses(@org.apache.thrift.annotation.Nullable java.util.List<HandlerStatus> statuses) {
     this.statuses = statuses;
   }
 
@@ -409,6 +422,7 @@
     return (this.errors == null) ? 0 : this.errors.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<org.apache.airavata.model.commons.ErrorModel> getErrorsIterator() {
     return (this.errors == null) ? null : this.errors.iterator();
   }
@@ -420,11 +434,12 @@
     this.errors.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<org.apache.airavata.model.commons.ErrorModel> getErrors() {
     return this.errors;
   }
 
-  public void setErrors(java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
+  public void setErrors(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.commons.ErrorModel> errors) {
     this.errors = errors;
   }
 
@@ -487,7 +502,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -556,6 +572,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -587,6 +605,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -615,8 +634,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof WorkflowHandler)
       return this.equals((WorkflowHandler)that);
     return false;
@@ -750,7 +767,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -760,7 +777,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+    lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -770,7 +787,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInputs()).compareTo(other.isSetInputs());
+    lastComparison = java.lang.Boolean.compare(isSetInputs(), other.isSetInputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -780,7 +797,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOutputs()).compareTo(other.isSetOutputs());
+    lastComparison = java.lang.Boolean.compare(isSetOutputs(), other.isSetOutputs());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -790,7 +807,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetStatuses()).compareTo(other.isSetStatuses());
+    lastComparison = java.lang.Boolean.compare(isSetStatuses(), other.isSetStatuses());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -800,7 +817,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetErrors()).compareTo(other.isSetErrors());
+    lastComparison = java.lang.Boolean.compare(isSetErrors(), other.isSetErrors());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -810,7 +827,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedAt()).compareTo(other.isSetCreatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedAt(), other.isSetCreatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -820,7 +837,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -833,14 +850,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -953,6 +974,7 @@
   }
 
   private static class WorkflowHandlerStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowHandlerStandardScheme getScheme() {
       return new WorkflowHandlerStandardScheme();
     }
@@ -960,6 +982,7 @@
 
   private static class WorkflowHandlerStandardScheme extends org.apache.thrift.scheme.StandardScheme<WorkflowHandler> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowHandler struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -991,7 +1014,7 @@
               {
                 org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                 struct.inputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list16.size);
-                org.apache.airavata.model.application.io.InputDataObjectType _elem17;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem17;
                 for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                 {
                   _elem17 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -1010,7 +1033,7 @@
               {
                 org.apache.thrift.protocol.TList _list19 = iprot.readListBegin();
                 struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list19.size);
-                org.apache.airavata.model.application.io.OutputDataObjectType _elem20;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem20;
                 for (int _i21 = 0; _i21 < _list19.size; ++_i21)
                 {
                   _elem20 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -1029,7 +1052,7 @@
               {
                 org.apache.thrift.protocol.TList _list22 = iprot.readListBegin();
                 struct.statuses = new java.util.ArrayList<HandlerStatus>(_list22.size);
-                HandlerStatus _elem23;
+                @org.apache.thrift.annotation.Nullable HandlerStatus _elem23;
                 for (int _i24 = 0; _i24 < _list22.size; ++_i24)
                 {
                   _elem23 = new HandlerStatus();
@@ -1048,7 +1071,7 @@
               {
                 org.apache.thrift.protocol.TList _list25 = iprot.readListBegin();
                 struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list25.size);
-                org.apache.airavata.model.commons.ErrorModel _elem26;
+                @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem26;
                 for (int _i27 = 0; _i27 < _list25.size; ++_i27)
                 {
                   _elem26 = new org.apache.airavata.model.commons.ErrorModel();
@@ -1087,6 +1110,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowHandler struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1174,6 +1198,7 @@
   }
 
   private static class WorkflowHandlerTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowHandlerTupleScheme getScheme() {
       return new WorkflowHandlerTupleScheme();
     }
@@ -1260,9 +1285,9 @@
       java.util.BitSet incoming = iprot.readBitSet(6);
       if (incoming.get(0)) {
         {
-          org.apache.thrift.protocol.TList _list36 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list36 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.inputs = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list36.size);
-          org.apache.airavata.model.application.io.InputDataObjectType _elem37;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem37;
           for (int _i38 = 0; _i38 < _list36.size; ++_i38)
           {
             _elem37 = new org.apache.airavata.model.application.io.InputDataObjectType();
@@ -1274,9 +1299,9 @@
       }
       if (incoming.get(1)) {
         {
-          org.apache.thrift.protocol.TList _list39 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list39 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list39.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem40;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem40;
           for (int _i41 = 0; _i41 < _list39.size; ++_i41)
           {
             _elem40 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -1288,9 +1313,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list42 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list42 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.statuses = new java.util.ArrayList<HandlerStatus>(_list42.size);
-          HandlerStatus _elem43;
+          @org.apache.thrift.annotation.Nullable HandlerStatus _elem43;
           for (int _i44 = 0; _i44 < _list42.size; ++_i44)
           {
             _elem43 = new HandlerStatus();
@@ -1302,9 +1327,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list45 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.errors = new java.util.ArrayList<org.apache.airavata.model.commons.ErrorModel>(_list45.size);
-          org.apache.airavata.model.commons.ErrorModel _elem46;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel _elem46;
           for (int _i47 = 0; _i47 < _list45.size; ++_i47)
           {
             _elem46 = new org.apache.airavata.model.commons.ErrorModel();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowState.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowState.java
index bd52372..f3c995f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowState.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowState.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum WorkflowState implements org.apache.thrift.TEnum {
   CREATED(0),
   VALIDATED(1),
@@ -51,6 +48,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -59,6 +57,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static WorkflowState findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowStatus.java
index bb373f9..e2ec891 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workflow/WorkflowStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workflow;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class WorkflowStatus implements org.apache.thrift.TBase<WorkflowStatus, WorkflowStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowStatus");
 
@@ -36,9 +36,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new WorkflowStatusStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new WorkflowStatusTupleSchemeFactory();
 
-  private java.lang.String id; // optional
-  private WorkflowState state; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String id; // optional
+  private @org.apache.thrift.annotation.Nullable WorkflowState state; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
   private long updatedAt; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -63,6 +63,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ID
@@ -91,6 +92,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -103,10 +105,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -158,6 +162,7 @@
     this.updatedAt = other.updatedAt;
   }
 
+  @Override
   public WorkflowStatus deepCopy() {
     return new WorkflowStatus(this);
   }
@@ -171,11 +176,12 @@
     this.updatedAt = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getId() {
     return this.id;
   }
 
-  public void setId(java.lang.String id) {
+  public void setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
     this.id = id;
   }
 
@@ -198,6 +204,7 @@
    * 
    * @see WorkflowState
    */
+  @org.apache.thrift.annotation.Nullable
   public WorkflowState getState() {
     return this.state;
   }
@@ -206,7 +213,7 @@
    * 
    * @see WorkflowState
    */
-  public void setState(WorkflowState state) {
+  public void setState(@org.apache.thrift.annotation.Nullable WorkflowState state) {
     this.state = state;
   }
 
@@ -225,11 +232,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -270,7 +278,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDAT_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ID:
       if (value == null) {
@@ -307,6 +316,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ID:
@@ -326,6 +337,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -346,8 +358,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof WorkflowStatus)
       return this.equals((WorkflowStatus)that);
     return false;
@@ -429,7 +439,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+    lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -439,7 +449,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetState()).compareTo(other.isSetState());
+    lastComparison = java.lang.Boolean.compare(isSetState(), other.isSetState());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -449,7 +459,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -459,7 +469,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedAt()).compareTo(other.isSetUpdatedAt());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedAt(), other.isSetUpdatedAt());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -472,14 +482,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -554,6 +568,7 @@
   }
 
   private static class WorkflowStatusStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowStatusStandardScheme getScheme() {
       return new WorkflowStatusStandardScheme();
     }
@@ -561,6 +576,7 @@
 
   private static class WorkflowStatusStandardScheme extends org.apache.thrift.scheme.StandardScheme<WorkflowStatus> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, WorkflowStatus struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -612,6 +628,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, WorkflowStatus struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -647,6 +664,7 @@
   }
 
   private static class WorkflowStatusTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public WorkflowStatusTupleScheme getScheme() {
       return new WorkflowStatusTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
index c5bf617..311a92a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Gateway.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Gateway implements org.apache.thrift.TBase<Gateway, Gateway._Fields>, java.io.Serializable, Cloneable, Comparable<Gateway> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Gateway");
 
@@ -52,26 +52,26 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GatewayStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GatewayTupleSchemeFactory();
 
-  private java.lang.String airavataInternalGatewayId; // optional
-  private java.lang.String gatewayId; // required
-  private GatewayApprovalStatus gatewayApprovalStatus; // required
-  private java.lang.String gatewayName; // optional
-  private java.lang.String domain; // optional
-  private java.lang.String emailAddress; // optional
-  private java.lang.String gatewayAcronym; // optional
-  private java.lang.String gatewayURL; // optional
-  private java.lang.String gatewayPublicAbstract; // optional
-  private java.lang.String reviewProposalDescription; // optional
-  private java.lang.String gatewayAdminFirstName; // optional
-  private java.lang.String gatewayAdminLastName; // optional
-  private java.lang.String gatewayAdminEmail; // optional
-  private java.lang.String identityServerUserName; // optional
-  private java.lang.String identityServerPasswordToken; // optional
-  private java.lang.String declinedReason; // optional
-  private java.lang.String oauthClientId; // optional
-  private java.lang.String oauthClientSecret; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalGatewayId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable GatewayApprovalStatus gatewayApprovalStatus; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String domain; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String emailAddress; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayAcronym; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayURL; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayPublicAbstract; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String reviewProposalDescription; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayAdminFirstName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayAdminLastName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayAdminEmail; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerUserName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String identityServerPasswordToken; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String declinedReason; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String oauthClientId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String oauthClientSecret; // optional
   private long requestCreationTime; // optional
-  private java.lang.String requesterUsername; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String requesterUsername; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -111,6 +111,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_INTERNAL_GATEWAY_ID
@@ -171,6 +172,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -183,10 +185,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -320,6 +324,7 @@
     }
   }
 
+  @Override
   public Gateway deepCopy() {
     return new Gateway(this);
   }
@@ -349,11 +354,12 @@
     this.requesterUsername = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAiravataInternalGatewayId() {
     return this.airavataInternalGatewayId;
   }
 
-  public void setAiravataInternalGatewayId(java.lang.String airavataInternalGatewayId) {
+  public void setAiravataInternalGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalGatewayId) {
     this.airavataInternalGatewayId = airavataInternalGatewayId;
   }
 
@@ -372,11 +378,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -399,6 +406,7 @@
    * 
    * @see GatewayApprovalStatus
    */
+  @org.apache.thrift.annotation.Nullable
   public GatewayApprovalStatus getGatewayApprovalStatus() {
     return this.gatewayApprovalStatus;
   }
@@ -407,7 +415,7 @@
    * 
    * @see GatewayApprovalStatus
    */
-  public void setGatewayApprovalStatus(GatewayApprovalStatus gatewayApprovalStatus) {
+  public void setGatewayApprovalStatus(@org.apache.thrift.annotation.Nullable GatewayApprovalStatus gatewayApprovalStatus) {
     this.gatewayApprovalStatus = gatewayApprovalStatus;
   }
 
@@ -426,11 +434,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayName() {
     return this.gatewayName;
   }
 
-  public void setGatewayName(java.lang.String gatewayName) {
+  public void setGatewayName(@org.apache.thrift.annotation.Nullable java.lang.String gatewayName) {
     this.gatewayName = gatewayName;
   }
 
@@ -449,11 +458,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomain() {
     return this.domain;
   }
 
-  public void setDomain(java.lang.String domain) {
+  public void setDomain(@org.apache.thrift.annotation.Nullable java.lang.String domain) {
     this.domain = domain;
   }
 
@@ -472,11 +482,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEmailAddress() {
     return this.emailAddress;
   }
 
-  public void setEmailAddress(java.lang.String emailAddress) {
+  public void setEmailAddress(@org.apache.thrift.annotation.Nullable java.lang.String emailAddress) {
     this.emailAddress = emailAddress;
   }
 
@@ -495,11 +506,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayAcronym() {
     return this.gatewayAcronym;
   }
 
-  public void setGatewayAcronym(java.lang.String gatewayAcronym) {
+  public void setGatewayAcronym(@org.apache.thrift.annotation.Nullable java.lang.String gatewayAcronym) {
     this.gatewayAcronym = gatewayAcronym;
   }
 
@@ -518,11 +530,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayURL() {
     return this.gatewayURL;
   }
 
-  public void setGatewayURL(java.lang.String gatewayURL) {
+  public void setGatewayURL(@org.apache.thrift.annotation.Nullable java.lang.String gatewayURL) {
     this.gatewayURL = gatewayURL;
   }
 
@@ -541,11 +554,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayPublicAbstract() {
     return this.gatewayPublicAbstract;
   }
 
-  public void setGatewayPublicAbstract(java.lang.String gatewayPublicAbstract) {
+  public void setGatewayPublicAbstract(@org.apache.thrift.annotation.Nullable java.lang.String gatewayPublicAbstract) {
     this.gatewayPublicAbstract = gatewayPublicAbstract;
   }
 
@@ -564,11 +578,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getReviewProposalDescription() {
     return this.reviewProposalDescription;
   }
 
-  public void setReviewProposalDescription(java.lang.String reviewProposalDescription) {
+  public void setReviewProposalDescription(@org.apache.thrift.annotation.Nullable java.lang.String reviewProposalDescription) {
     this.reviewProposalDescription = reviewProposalDescription;
   }
 
@@ -587,11 +602,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayAdminFirstName() {
     return this.gatewayAdminFirstName;
   }
 
-  public void setGatewayAdminFirstName(java.lang.String gatewayAdminFirstName) {
+  public void setGatewayAdminFirstName(@org.apache.thrift.annotation.Nullable java.lang.String gatewayAdminFirstName) {
     this.gatewayAdminFirstName = gatewayAdminFirstName;
   }
 
@@ -610,11 +626,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayAdminLastName() {
     return this.gatewayAdminLastName;
   }
 
-  public void setGatewayAdminLastName(java.lang.String gatewayAdminLastName) {
+  public void setGatewayAdminLastName(@org.apache.thrift.annotation.Nullable java.lang.String gatewayAdminLastName) {
     this.gatewayAdminLastName = gatewayAdminLastName;
   }
 
@@ -633,11 +650,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayAdminEmail() {
     return this.gatewayAdminEmail;
   }
 
-  public void setGatewayAdminEmail(java.lang.String gatewayAdminEmail) {
+  public void setGatewayAdminEmail(@org.apache.thrift.annotation.Nullable java.lang.String gatewayAdminEmail) {
     this.gatewayAdminEmail = gatewayAdminEmail;
   }
 
@@ -656,11 +674,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerUserName() {
     return this.identityServerUserName;
   }
 
-  public void setIdentityServerUserName(java.lang.String identityServerUserName) {
+  public void setIdentityServerUserName(@org.apache.thrift.annotation.Nullable java.lang.String identityServerUserName) {
     this.identityServerUserName = identityServerUserName;
   }
 
@@ -679,11 +698,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getIdentityServerPasswordToken() {
     return this.identityServerPasswordToken;
   }
 
-  public void setIdentityServerPasswordToken(java.lang.String identityServerPasswordToken) {
+  public void setIdentityServerPasswordToken(@org.apache.thrift.annotation.Nullable java.lang.String identityServerPasswordToken) {
     this.identityServerPasswordToken = identityServerPasswordToken;
   }
 
@@ -702,11 +722,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDeclinedReason() {
     return this.declinedReason;
   }
 
-  public void setDeclinedReason(java.lang.String declinedReason) {
+  public void setDeclinedReason(@org.apache.thrift.annotation.Nullable java.lang.String declinedReason) {
     this.declinedReason = declinedReason;
   }
 
@@ -725,11 +746,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOauthClientId() {
     return this.oauthClientId;
   }
 
-  public void setOauthClientId(java.lang.String oauthClientId) {
+  public void setOauthClientId(@org.apache.thrift.annotation.Nullable java.lang.String oauthClientId) {
     this.oauthClientId = oauthClientId;
   }
 
@@ -748,11 +770,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOauthClientSecret() {
     return this.oauthClientSecret;
   }
 
-  public void setOauthClientSecret(java.lang.String oauthClientSecret) {
+  public void setOauthClientSecret(@org.apache.thrift.annotation.Nullable java.lang.String oauthClientSecret) {
     this.oauthClientSecret = oauthClientSecret;
   }
 
@@ -793,11 +816,12 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __REQUESTCREATIONTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getRequesterUsername() {
     return this.requesterUsername;
   }
 
-  public void setRequesterUsername(java.lang.String requesterUsername) {
+  public void setRequesterUsername(@org.apache.thrift.annotation.Nullable java.lang.String requesterUsername) {
     this.requesterUsername = requesterUsername;
   }
 
@@ -816,7 +840,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_INTERNAL_GATEWAY_ID:
       if (value == null) {
@@ -981,6 +1006,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_INTERNAL_GATEWAY_ID:
@@ -1048,6 +1075,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -1100,8 +1128,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Gateway)
       return this.equals((Gateway)that);
     return false;
@@ -1391,7 +1417,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalGatewayId()).compareTo(other.isSetAiravataInternalGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataInternalGatewayId(), other.isSetAiravataInternalGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1401,7 +1427,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1411,7 +1437,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayApprovalStatus()).compareTo(other.isSetGatewayApprovalStatus());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayApprovalStatus(), other.isSetGatewayApprovalStatus());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1421,7 +1447,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayName()).compareTo(other.isSetGatewayName());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayName(), other.isSetGatewayName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1431,7 +1457,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
+    lastComparison = java.lang.Boolean.compare(isSetDomain(), other.isSetDomain());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1441,7 +1467,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
+    lastComparison = java.lang.Boolean.compare(isSetEmailAddress(), other.isSetEmailAddress());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1451,7 +1477,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayAcronym()).compareTo(other.isSetGatewayAcronym());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayAcronym(), other.isSetGatewayAcronym());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1461,7 +1487,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayURL()).compareTo(other.isSetGatewayURL());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayURL(), other.isSetGatewayURL());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1471,7 +1497,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayPublicAbstract()).compareTo(other.isSetGatewayPublicAbstract());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayPublicAbstract(), other.isSetGatewayPublicAbstract());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1481,7 +1507,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetReviewProposalDescription()).compareTo(other.isSetReviewProposalDescription());
+    lastComparison = java.lang.Boolean.compare(isSetReviewProposalDescription(), other.isSetReviewProposalDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1491,7 +1517,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayAdminFirstName()).compareTo(other.isSetGatewayAdminFirstName());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayAdminFirstName(), other.isSetGatewayAdminFirstName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1501,7 +1527,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayAdminLastName()).compareTo(other.isSetGatewayAdminLastName());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayAdminLastName(), other.isSetGatewayAdminLastName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1511,7 +1537,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayAdminEmail()).compareTo(other.isSetGatewayAdminEmail());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayAdminEmail(), other.isSetGatewayAdminEmail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1521,7 +1547,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerUserName()).compareTo(other.isSetIdentityServerUserName());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerUserName(), other.isSetIdentityServerUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1531,7 +1557,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIdentityServerPasswordToken()).compareTo(other.isSetIdentityServerPasswordToken());
+    lastComparison = java.lang.Boolean.compare(isSetIdentityServerPasswordToken(), other.isSetIdentityServerPasswordToken());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1541,7 +1567,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDeclinedReason()).compareTo(other.isSetDeclinedReason());
+    lastComparison = java.lang.Boolean.compare(isSetDeclinedReason(), other.isSetDeclinedReason());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1551,7 +1577,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOauthClientId()).compareTo(other.isSetOauthClientId());
+    lastComparison = java.lang.Boolean.compare(isSetOauthClientId(), other.isSetOauthClientId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1561,7 +1587,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOauthClientSecret()).compareTo(other.isSetOauthClientSecret());
+    lastComparison = java.lang.Boolean.compare(isSetOauthClientSecret(), other.isSetOauthClientSecret());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1571,7 +1597,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequestCreationTime()).compareTo(other.isSetRequestCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetRequestCreationTime(), other.isSetRequestCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1581,7 +1607,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetRequesterUsername()).compareTo(other.isSetRequesterUsername());
+    lastComparison = java.lang.Boolean.compare(isSetRequesterUsername(), other.isSetRequesterUsername());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1594,14 +1620,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1838,6 +1868,7 @@
   }
 
   private static class GatewayStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayStandardScheme getScheme() {
       return new GatewayStandardScheme();
     }
@@ -1845,6 +1876,7 @@
 
   private static class GatewayStandardScheme extends org.apache.thrift.scheme.StandardScheme<Gateway> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Gateway struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -2024,6 +2056,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Gateway struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -2169,6 +2202,7 @@
   }
 
   private static class GatewayTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayTupleScheme getScheme() {
       return new GatewayTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
index 99c0aa5..199d0ab 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayApprovalStatus.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum GatewayApprovalStatus implements org.apache.thrift.TEnum {
   REQUESTED(0),
   APPROVED(1),
@@ -47,6 +44,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -55,6 +53,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static GatewayApprovalStatus findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayUsageReportingCommand.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayUsageReportingCommand.java
index de9d648..adf5cb5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayUsageReportingCommand.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/GatewayUsageReportingCommand.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GatewayUsageReportingCommand implements org.apache.thrift.TBase<GatewayUsageReportingCommand, GatewayUsageReportingCommand._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayUsageReportingCommand> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayUsageReportingCommand");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GatewayUsageReportingCommandStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GatewayUsageReportingCommandTupleSchemeFactory();
 
-  private java.lang.String gatewayId; // required
-  private java.lang.String computeResourceId; // required
-  private java.lang.String command; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String command; // 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 {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GATEWAY_ID
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -146,6 +150,7 @@
     }
   }
 
+  @Override
   public GatewayUsageReportingCommand deepCopy() {
     return new GatewayUsageReportingCommand(this);
   }
@@ -157,11 +162,12 @@
     this.command = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -180,11 +186,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getComputeResourceId() {
     return this.computeResourceId;
   }
 
-  public void setComputeResourceId(java.lang.String computeResourceId) {
+  public void setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
     this.computeResourceId = computeResourceId;
   }
 
@@ -203,11 +210,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getCommand() {
     return this.command;
   }
 
-  public void setCommand(java.lang.String command) {
+  public void setCommand(@org.apache.thrift.annotation.Nullable java.lang.String command) {
     this.command = command;
   }
 
@@ -226,7 +234,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GATEWAY_ID:
       if (value == null) {
@@ -255,6 +264,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GATEWAY_ID:
@@ -271,6 +282,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -289,8 +301,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GatewayUsageReportingCommand)
       return this.equals((GatewayUsageReportingCommand)that);
     return false;
@@ -359,7 +369,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -369,7 +379,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+    lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -379,7 +389,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCommand()).compareTo(other.isSetCommand());
+    lastComparison = java.lang.Boolean.compare(isSetCommand(), other.isSetCommand());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -392,14 +402,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -470,6 +484,7 @@
   }
 
   private static class GatewayUsageReportingCommandStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayUsageReportingCommandStandardScheme getScheme() {
       return new GatewayUsageReportingCommandStandardScheme();
     }
@@ -477,6 +492,7 @@
 
   private static class GatewayUsageReportingCommandStandardScheme extends org.apache.thrift.scheme.StandardScheme<GatewayUsageReportingCommand> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GatewayUsageReportingCommand struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -520,6 +536,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GatewayUsageReportingCommand struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -546,6 +563,7 @@
   }
 
   private static class GatewayUsageReportingCommandTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GatewayUsageReportingCommandTupleScheme getScheme() {
       return new GatewayUsageReportingCommandTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
index 55de4d7..3d748f6 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Group.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Group implements org.apache.thrift.TBase<Group, Group._Fields>, java.io.Serializable, Cloneable, Comparable<Group> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Group");
 
@@ -34,8 +34,8 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupTupleSchemeFactory();
 
-  private java.lang.String groupName; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String groupName; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -53,6 +53,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GROUP_NAME
@@ -77,6 +78,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -89,10 +91,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -133,6 +137,7 @@
     }
   }
 
+  @Override
   public Group deepCopy() {
     return new Group(this);
   }
@@ -143,11 +148,12 @@
     this.description = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupName() {
     return this.groupName;
   }
 
-  public void setGroupName(java.lang.String groupName) {
+  public void setGroupName(@org.apache.thrift.annotation.Nullable java.lang.String groupName) {
     this.groupName = groupName;
   }
 
@@ -166,11 +172,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -189,7 +196,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GROUP_NAME:
       if (value == null) {
@@ -210,6 +218,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GROUP_NAME:
@@ -223,6 +233,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -239,8 +250,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Group)
       return this.equals((Group)that);
     return false;
@@ -296,7 +305,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupName()).compareTo(other.isSetGroupName());
+    lastComparison = java.lang.Boolean.compare(isSetGroupName(), other.isSetGroupName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -306,7 +315,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -319,14 +328,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -383,6 +396,7 @@
   }
 
   private static class GroupStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupStandardScheme getScheme() {
       return new GroupStandardScheme();
     }
@@ -390,6 +404,7 @@
 
   private static class GroupStandardScheme extends org.apache.thrift.scheme.StandardScheme<Group> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Group struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -425,6 +440,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Group struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -448,6 +464,7 @@
   }
 
   private static class GroupTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupTupleScheme getScheme() {
       return new GroupTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
index da0359d..65dce0e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Notification.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Notification implements org.apache.thrift.TBase<Notification, Notification._Fields>, java.io.Serializable, Cloneable, Comparable<Notification> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Notification");
 
@@ -40,14 +40,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new NotificationStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new NotificationTupleSchemeFactory();
 
-  private java.lang.String notificationId; // optional
-  private java.lang.String gatewayId; // required
-  private java.lang.String title; // required
-  private java.lang.String notificationMessage; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String notificationId; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String title; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String notificationMessage; // required
   private long creationTime; // optional
   private long publishedTime; // optional
   private long expirationTime; // optional
-  private NotificationPriority priority; // optional
+  private @org.apache.thrift.annotation.Nullable NotificationPriority priority; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75,6 +75,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // NOTIFICATION_ID
@@ -111,6 +112,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -123,10 +125,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -200,6 +204,7 @@
     }
   }
 
+  @Override
   public Notification deepCopy() {
     return new Notification(this);
   }
@@ -219,11 +224,12 @@
     this.priority = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNotificationId() {
     return this.notificationId;
   }
 
-  public void setNotificationId(java.lang.String notificationId) {
+  public void setNotificationId(@org.apache.thrift.annotation.Nullable java.lang.String notificationId) {
     this.notificationId = notificationId;
   }
 
@@ -242,11 +248,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -265,11 +272,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getTitle() {
     return this.title;
   }
 
-  public void setTitle(java.lang.String title) {
+  public void setTitle(@org.apache.thrift.annotation.Nullable java.lang.String title) {
     this.title = title;
   }
 
@@ -288,11 +296,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getNotificationMessage() {
     return this.notificationMessage;
   }
 
-  public void setNotificationMessage(java.lang.String notificationMessage) {
+  public void setNotificationMessage(@org.apache.thrift.annotation.Nullable java.lang.String notificationMessage) {
     this.notificationMessage = notificationMessage;
   }
 
@@ -381,6 +390,7 @@
    * 
    * @see NotificationPriority
    */
+  @org.apache.thrift.annotation.Nullable
   public NotificationPriority getPriority() {
     return this.priority;
   }
@@ -389,7 +399,7 @@
    * 
    * @see NotificationPriority
    */
-  public void setPriority(NotificationPriority priority) {
+  public void setPriority(@org.apache.thrift.annotation.Nullable NotificationPriority priority) {
     this.priority = priority;
   }
 
@@ -408,7 +418,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case NOTIFICATION_ID:
       if (value == null) {
@@ -477,6 +488,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case NOTIFICATION_ID:
@@ -508,6 +521,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -536,8 +550,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Notification)
       return this.equals((Notification)that);
     return false;
@@ -671,7 +683,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetNotificationId()).compareTo(other.isSetNotificationId());
+    lastComparison = java.lang.Boolean.compare(isSetNotificationId(), other.isSetNotificationId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -681,7 +693,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -691,7 +703,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetTitle()).compareTo(other.isSetTitle());
+    lastComparison = java.lang.Boolean.compare(isSetTitle(), other.isSetTitle());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -701,7 +713,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetNotificationMessage()).compareTo(other.isSetNotificationMessage());
+    lastComparison = java.lang.Boolean.compare(isSetNotificationMessage(), other.isSetNotificationMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -711,7 +723,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -721,7 +733,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPublishedTime()).compareTo(other.isSetPublishedTime());
+    lastComparison = java.lang.Boolean.compare(isSetPublishedTime(), other.isSetPublishedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -731,7 +743,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetExpirationTime()).compareTo(other.isSetExpirationTime());
+    lastComparison = java.lang.Boolean.compare(isSetExpirationTime(), other.isSetExpirationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -741,7 +753,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetPriority()).compareTo(other.isSetPriority());
+    lastComparison = java.lang.Boolean.compare(isSetPriority(), other.isSetPriority());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -754,14 +766,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -872,6 +888,7 @@
   }
 
   private static class NotificationStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public NotificationStandardScheme getScheme() {
       return new NotificationStandardScheme();
     }
@@ -879,6 +896,7 @@
 
   private static class NotificationStandardScheme extends org.apache.thrift.scheme.StandardScheme<Notification> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Notification struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -962,6 +980,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Notification struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1017,6 +1036,7 @@
   }
 
   private static class NotificationTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public NotificationTupleScheme getScheme() {
       return new NotificationTupleScheme();
     }
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
index ea1dc65..cbaa291 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/NotificationPriority.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum NotificationPriority implements org.apache.thrift.TEnum {
   LOW(0),
   NORMAL(1),
@@ -42,6 +39,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -50,6 +48,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static NotificationPriority findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
index 0799dce..a5cede8 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/Project.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Project implements org.apache.thrift.TBase<Project, Project._Fields>, java.io.Serializable, Cloneable, Comparable<Project> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Project");
 
@@ -40,14 +40,14 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new ProjectStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new ProjectTupleSchemeFactory();
 
-  private java.lang.String projectID; // required
-  private java.lang.String owner; // required
-  private java.lang.String gatewayId; // required
-  private java.lang.String name; // required
-  private java.lang.String description; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String projectID; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String owner; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String name; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
   private long creationTime; // optional
-  private java.util.List<java.lang.String> sharedUsers; // optional
-  private java.util.List<java.lang.String> sharedGroups; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> sharedUsers; // optional
+  private @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> sharedGroups; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -71,6 +71,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PROJECT_ID
@@ -107,6 +108,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -119,10 +121,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -206,6 +210,7 @@
     }
   }
 
+  @Override
   public Project deepCopy() {
     return new Project(this);
   }
@@ -224,11 +229,12 @@
     this.sharedGroups = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getProjectID() {
     return this.projectID;
   }
 
-  public void setProjectID(java.lang.String projectID) {
+  public void setProjectID(@org.apache.thrift.annotation.Nullable java.lang.String projectID) {
     this.projectID = projectID;
   }
 
@@ -247,11 +253,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOwner() {
     return this.owner;
   }
 
-  public void setOwner(java.lang.String owner) {
+  public void setOwner(@org.apache.thrift.annotation.Nullable java.lang.String owner) {
     this.owner = owner;
   }
 
@@ -270,11 +277,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -293,11 +301,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public void setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
   }
 
@@ -316,11 +325,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public void setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
   }
 
@@ -365,6 +375,7 @@
     return (this.sharedUsers == null) ? 0 : this.sharedUsers.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getSharedUsersIterator() {
     return (this.sharedUsers == null) ? null : this.sharedUsers.iterator();
   }
@@ -376,11 +387,12 @@
     this.sharedUsers.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getSharedUsers() {
     return this.sharedUsers;
   }
 
-  public void setSharedUsers(java.util.List<java.lang.String> sharedUsers) {
+  public void setSharedUsers(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> sharedUsers) {
     this.sharedUsers = sharedUsers;
   }
 
@@ -403,6 +415,7 @@
     return (this.sharedGroups == null) ? 0 : this.sharedGroups.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<java.lang.String> getSharedGroupsIterator() {
     return (this.sharedGroups == null) ? null : this.sharedGroups.iterator();
   }
@@ -414,11 +427,12 @@
     this.sharedGroups.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<java.lang.String> getSharedGroups() {
     return this.sharedGroups;
   }
 
-  public void setSharedGroups(java.util.List<java.lang.String> sharedGroups) {
+  public void setSharedGroups(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> sharedGroups) {
     this.sharedGroups = sharedGroups;
   }
 
@@ -437,7 +451,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PROJECT_ID:
       if (value == null) {
@@ -506,6 +521,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PROJECT_ID:
@@ -537,6 +554,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -565,8 +583,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Project)
       return this.equals((Project)that);
     return false;
@@ -700,7 +716,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetProjectID()).compareTo(other.isSetProjectID());
+    lastComparison = java.lang.Boolean.compare(isSetProjectID(), other.isSetProjectID());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -710,7 +726,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwner()).compareTo(other.isSetOwner());
+    lastComparison = java.lang.Boolean.compare(isSetOwner(), other.isSetOwner());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -720,7 +736,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -730,7 +746,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -740,7 +756,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -750,7 +766,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreationTime()).compareTo(other.isSetCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreationTime(), other.isSetCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -760,7 +776,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSharedUsers()).compareTo(other.isSetSharedUsers());
+    lastComparison = java.lang.Boolean.compare(isSetSharedUsers(), other.isSetSharedUsers());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -770,7 +786,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSharedGroups()).compareTo(other.isSetSharedGroups());
+    lastComparison = java.lang.Boolean.compare(isSetSharedGroups(), other.isSetSharedGroups());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -783,14 +799,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -911,6 +931,7 @@
   }
 
   private static class ProjectStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProjectStandardScheme getScheme() {
       return new ProjectStandardScheme();
     }
@@ -918,6 +939,7 @@
 
   private static class ProjectStandardScheme extends org.apache.thrift.scheme.StandardScheme<Project> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Project struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -981,7 +1003,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.sharedUsers = new java.util.ArrayList<java.lang.String>(_list0.size);
-                java.lang.String _elem1;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = iprot.readString();
@@ -999,7 +1021,7 @@
               {
                 org.apache.thrift.protocol.TList _list3 = iprot.readListBegin();
                 struct.sharedGroups = new java.util.ArrayList<java.lang.String>(_list3.size);
-                java.lang.String _elem4;
+                @org.apache.thrift.annotation.Nullable java.lang.String _elem4;
                 for (int _i5 = 0; _i5 < _list3.size; ++_i5)
                 {
                   _elem4 = iprot.readString();
@@ -1021,6 +1043,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Project struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1092,6 +1115,7 @@
   }
 
   private static class ProjectTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public ProjectTupleScheme getScheme() {
       return new ProjectTupleScheme();
     }
@@ -1168,9 +1192,9 @@
       }
       if (incoming.get(2)) {
         {
-          org.apache.thrift.protocol.TList _list10 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list10 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.sharedUsers = new java.util.ArrayList<java.lang.String>(_list10.size);
-          java.lang.String _elem11;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem11;
           for (int _i12 = 0; _i12 < _list10.size; ++_i12)
           {
             _elem11 = iprot.readString();
@@ -1181,9 +1205,9 @@
       }
       if (incoming.get(3)) {
         {
-          org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.sharedGroups = new java.util.ArrayList<java.lang.String>(_list13.size);
-          java.lang.String _elem14;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem14;
           for (int _i15 = 0; _i15 < _list13.size; ++_i15)
           {
             _elem14 = iprot.readString();
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
index 476af16..be50b38 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/workspace/User.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.model.workspace;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 
@@ -38,12 +38,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserTupleSchemeFactory();
 
-  private java.lang.String airavataInternalUserId; // required
-  private java.lang.String userName; // optional
-  private java.lang.String gatewayId; // required
-  private java.lang.String firstName; // optional
-  private java.lang.String lastName; // optional
-  private java.lang.String email; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String userName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+  private @org.apache.thrift.annotation.Nullable java.lang.String firstName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String lastName; // optional
+  private @org.apache.thrift.annotation.Nullable java.lang.String email; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -65,6 +65,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // AIRAVATA_INTERNAL_USER_ID
@@ -97,6 +98,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -109,10 +111,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -177,6 +181,7 @@
     }
   }
 
+  @Override
   public User deepCopy() {
     return new User(this);
   }
@@ -192,11 +197,12 @@
     this.email = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAiravataInternalUserId() {
     return this.airavataInternalUserId;
   }
 
-  public void setAiravataInternalUserId(java.lang.String airavataInternalUserId) {
+  public void setAiravataInternalUserId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalUserId) {
     this.airavataInternalUserId = airavataInternalUserId;
   }
 
@@ -215,11 +221,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserName() {
     return this.userName;
   }
 
-  public void setUserName(java.lang.String userName) {
+  public void setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
     this.userName = userName;
   }
 
@@ -238,11 +245,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGatewayId() {
     return this.gatewayId;
   }
 
-  public void setGatewayId(java.lang.String gatewayId) {
+  public void setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
     this.gatewayId = gatewayId;
   }
 
@@ -261,11 +269,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFirstName() {
     return this.firstName;
   }
 
-  public void setFirstName(java.lang.String firstName) {
+  public void setFirstName(@org.apache.thrift.annotation.Nullable java.lang.String firstName) {
     this.firstName = firstName;
   }
 
@@ -284,11 +293,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLastName() {
     return this.lastName;
   }
 
-  public void setLastName(java.lang.String lastName) {
+  public void setLastName(@org.apache.thrift.annotation.Nullable java.lang.String lastName) {
     this.lastName = lastName;
   }
 
@@ -307,11 +317,12 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEmail() {
     return this.email;
   }
 
-  public void setEmail(java.lang.String email) {
+  public void setEmail(@org.apache.thrift.annotation.Nullable java.lang.String email) {
     this.email = email;
   }
 
@@ -330,7 +341,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case AIRAVATA_INTERNAL_USER_ID:
       if (value == null) {
@@ -383,6 +395,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case AIRAVATA_INTERNAL_USER_ID:
@@ -408,6 +422,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -432,8 +447,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof User)
       return this.equals((User)that);
     return false;
@@ -541,7 +554,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalUserId()).compareTo(other.isSetAiravataInternalUserId());
+    lastComparison = java.lang.Boolean.compare(isSetAiravataInternalUserId(), other.isSetAiravataInternalUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -551,7 +564,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+    lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -561,7 +574,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+    lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -571,7 +584,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFirstName()).compareTo(other.isSetFirstName());
+    lastComparison = java.lang.Boolean.compare(isSetFirstName(), other.isSetFirstName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -581,7 +594,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastName()).compareTo(other.isSetLastName());
+    lastComparison = java.lang.Boolean.compare(isSetLastName(), other.isSetLastName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -591,7 +604,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmail()).compareTo(other.isSetEmail());
+    lastComparison = java.lang.Boolean.compare(isSetEmail(), other.isSetEmail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -604,14 +617,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -710,6 +727,7 @@
   }
 
   private static class UserStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserStandardScheme getScheme() {
       return new UserStandardScheme();
     }
@@ -717,6 +735,7 @@
 
   private static class UserStandardScheme extends org.apache.thrift.scheme.StandardScheme<User> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, User struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -784,6 +803,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, User struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -833,6 +853,7 @@
   }
 
   private static class UserTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserTupleScheme getScheme() {
       return new UserTupleScheme();
     }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
index e0e9378..9ec800f 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/GroupManagerService.java
@@ -16,21 +16,19 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.service.profile.groupmanager.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class GroupManagerService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
 
-    public java.lang.String getAPIVersion() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.thrift.TException;
-
     public java.lang.String createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public boolean updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
@@ -59,9 +57,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
-
-    public void getAPIVersion(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
@@ -94,9 +90,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -111,31 +109,7 @@
       super(iprot, oprot);
     }
 
-    public java.lang.String getAPIVersion() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.thrift.TException
-    {
-      send_getAPIVersion();
-      return recv_getAPIVersion();
-    }
-
-    public void send_getAPIVersion() throws org.apache.thrift.TException
-    {
-      getAPIVersion_args args = new getAPIVersion_args();
-      sendBase("getAPIVersion", args);
-    }
-
-    public java.lang.String recv_getAPIVersion() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.thrift.TException
-    {
-      getAPIVersion_result result = new getAPIVersion_result();
-      receiveBase(result, "getAPIVersion");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.gse != null) {
-        throw result.gse;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result");
-    }
-
+    @Override
     public java.lang.String createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_createGroup(authzToken, groupModel);
@@ -166,6 +140,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createGroup failed: unknown result");
     }
 
+    @Override
     public boolean updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateGroup(authzToken, groupModel);
@@ -196,6 +171,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGroup failed: unknown result");
     }
 
+    @Override
     public boolean deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_deleteGroup(authzToken, groupId, ownerId);
@@ -227,6 +203,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGroup failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.group.GroupModel getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getGroup(authzToken, groupId);
@@ -257,6 +234,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroup failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.group.GroupModel> getGroups(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getGroups(authzToken);
@@ -286,6 +264,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroups failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.group.GroupModel> getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getAllGroupsUserBelongs(authzToken, userName);
@@ -316,6 +295,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGroupsUserBelongs failed: unknown result");
     }
 
+    @Override
     public boolean addUsersToGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> userIds, java.lang.String groupId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_addUsersToGroup(authzToken, userIds, groupId);
@@ -347,6 +327,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUsersToGroup failed: unknown result");
     }
 
+    @Override
     public boolean removeUsersFromGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> userIds, java.lang.String groupId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_removeUsersFromGroup(authzToken, userIds, groupId);
@@ -378,6 +359,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeUsersFromGroup failed: unknown result");
     }
 
+    @Override
     public boolean transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_transferGroupOwnership(authzToken, groupId, newOwnerId);
@@ -409,6 +391,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "transferGroupOwnership failed: unknown result");
     }
 
+    @Override
     public boolean addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_addGroupAdmins(authzToken, groupId, adminIds);
@@ -440,6 +423,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGroupAdmins failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_removeGroupAdmins(authzToken, groupId, adminIds);
@@ -471,6 +455,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupAdmins failed: unknown result");
     }
 
+    @Override
     public boolean hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_hasAdminAccess(authzToken, groupId, adminId);
@@ -502,6 +487,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasAdminAccess failed: unknown result");
     }
 
+    @Override
     public boolean hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_hasOwnerAccess(authzToken, groupId, ownerId);
@@ -542,6 +528,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -551,35 +538,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
-    public void getAPIVersion(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      getAPIVersion_call method_call = new getAPIVersion_call(resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getAPIVersion_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
-      public getAPIVersion_call(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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);
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAPIVersion", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getAPIVersion_args args = new getAPIVersion_args();
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.String getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.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_getAPIVersion();
-      }
-    }
-
+    @Override
     public void createGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createGroup_call method_call = new createGroup_call(authzToken, groupModel, resultHandler, this, ___protocolFactory, ___transport);
@@ -596,6 +555,7 @@
         this.groupModel = groupModel;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createGroup_args args = new createGroup_args();
@@ -605,6 +565,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -615,6 +576,7 @@
       }
     }
 
+    @Override
     public void updateGroup(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.group.GroupModel groupModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGroup_call method_call = new updateGroup_call(authzToken, groupModel, resultHandler, this, ___protocolFactory, ___transport);
@@ -631,6 +593,7 @@
         this.groupModel = groupModel;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGroup_args args = new updateGroup_args();
@@ -640,6 +603,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -650,6 +614,7 @@
       }
     }
 
+    @Override
     public void deleteGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGroup_call method_call = new deleteGroup_call(authzToken, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -668,6 +633,7 @@
         this.ownerId = ownerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGroup_args args = new deleteGroup_args();
@@ -678,6 +644,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -688,6 +655,7 @@
       }
     }
 
+    @Override
     public void getGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroup_call method_call = new getGroup_call(authzToken, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -704,6 +672,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroup_args args = new getGroup_args();
@@ -713,6 +682,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.group.GroupModel getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -723,6 +693,7 @@
       }
     }
 
+    @Override
     public void getGroups(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroups_call method_call = new getGroups_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -737,6 +708,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroups_args args = new getGroups_args();
@@ -745,6 +717,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.group.GroupModel> getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -755,6 +728,7 @@
       }
     }
 
+    @Override
     public void getAllGroupsUserBelongs(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGroupsUserBelongs_call method_call = new getAllGroupsUserBelongs_call(authzToken, userName, resultHandler, this, ___protocolFactory, ___transport);
@@ -771,6 +745,7 @@
         this.userName = userName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGroupsUserBelongs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGroupsUserBelongs_args args = new getAllGroupsUserBelongs_args();
@@ -780,6 +755,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.group.GroupModel> getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -790,6 +766,7 @@
       }
     }
 
+    @Override
     public void addUsersToGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> userIds, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUsersToGroup_call method_call = new addUsersToGroup_call(authzToken, userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -808,6 +785,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUsersToGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUsersToGroup_args args = new addUsersToGroup_args();
@@ -818,6 +796,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -828,6 +807,7 @@
       }
     }
 
+    @Override
     public void removeUsersFromGroup(org.apache.airavata.model.security.AuthzToken authzToken, java.util.List<java.lang.String> userIds, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeUsersFromGroup_call method_call = new removeUsersFromGroup_call(authzToken, userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -846,6 +826,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeUsersFromGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeUsersFromGroup_args args = new removeUsersFromGroup_args();
@@ -856,6 +837,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -866,6 +848,7 @@
       }
     }
 
+    @Override
     public void transferGroupOwnership(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       transferGroupOwnership_call method_call = new transferGroupOwnership_call(authzToken, groupId, newOwnerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -884,6 +867,7 @@
         this.newOwnerId = newOwnerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("transferGroupOwnership", org.apache.thrift.protocol.TMessageType.CALL, 0));
         transferGroupOwnership_args args = new transferGroupOwnership_args();
@@ -894,6 +878,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -904,6 +889,7 @@
       }
     }
 
+    @Override
     public void addGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGroupAdmins_call method_call = new addGroupAdmins_call(authzToken, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -922,6 +908,7 @@
         this.adminIds = adminIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGroupAdmins_args args = new addGroupAdmins_args();
@@ -932,6 +919,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -942,6 +930,7 @@
       }
     }
 
+    @Override
     public void removeGroupAdmins(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupAdmins_call method_call = new removeGroupAdmins_call(authzToken, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -960,6 +949,7 @@
         this.adminIds = adminIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupAdmins_args args = new removeGroupAdmins_args();
@@ -970,6 +960,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -980,6 +971,7 @@
       }
     }
 
+    @Override
     public void hasAdminAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       hasAdminAccess_call method_call = new hasAdminAccess_call(authzToken, groupId, adminId, resultHandler, this, ___protocolFactory, ___transport);
@@ -998,6 +990,7 @@
         this.adminId = adminId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasAdminAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         hasAdminAccess_args args = new hasAdminAccess_args();
@@ -1008,6 +1001,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -1018,6 +1012,7 @@
       }
     }
 
+    @Override
     public void hasOwnerAccess(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       hasOwnerAccess_call method_call = new hasOwnerAccess_call(authzToken, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -1036,6 +1031,7 @@
         this.ownerId = ownerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasOwnerAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         hasOwnerAccess_args args = new hasOwnerAccess_args();
@@ -1046,6 +1042,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -1069,7 +1066,6 @@
     }
 
     private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
-      processMap.put("getAPIVersion", new getAPIVersion());
       processMap.put("createGroup", new createGroup());
       processMap.put("updateGroup", new updateGroup());
       processMap.put("deleteGroup", new deleteGroup());
@@ -1086,43 +1082,27 @@
       return processMap;
     }
 
-    public static class getAPIVersion<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAPIVersion_args> {
-      public getAPIVersion() {
-        super("getAPIVersion");
-      }
-
-      public getAPIVersion_args getEmptyArgsInstance() {
-        return new getAPIVersion_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getAPIVersion_result getResult(I iface, getAPIVersion_args args) throws org.apache.thrift.TException {
-        getAPIVersion_result result = new getAPIVersion_result();
-        try {
-          result.success = iface.getAPIVersion();
-        } catch (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
-          result.gse = gse;
-        }
-        return result;
-      }
-    }
-
     public static class createGroup<I extends Iface> extends org.apache.thrift.ProcessFunction<I, createGroup_args> {
       public createGroup() {
         super("createGroup");
       }
 
+      @Override
       public createGroup_args getEmptyArgsInstance() {
         return new createGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createGroup_result getResult(I iface, createGroup_args args) throws org.apache.thrift.TException {
         createGroup_result result = new createGroup_result();
         try {
@@ -1141,14 +1121,22 @@
         super("updateGroup");
       }
 
+      @Override
       public updateGroup_args getEmptyArgsInstance() {
         return new updateGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGroup_result getResult(I iface, updateGroup_args args) throws org.apache.thrift.TException {
         updateGroup_result result = new updateGroup_result();
         try {
@@ -1168,14 +1156,22 @@
         super("deleteGroup");
       }
 
+      @Override
       public deleteGroup_args getEmptyArgsInstance() {
         return new deleteGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGroup_result getResult(I iface, deleteGroup_args args) throws org.apache.thrift.TException {
         deleteGroup_result result = new deleteGroup_result();
         try {
@@ -1195,14 +1191,22 @@
         super("getGroup");
       }
 
+      @Override
       public getGroup_args getEmptyArgsInstance() {
         return new getGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroup_result getResult(I iface, getGroup_args args) throws org.apache.thrift.TException {
         getGroup_result result = new getGroup_result();
         try {
@@ -1221,14 +1225,22 @@
         super("getGroups");
       }
 
+      @Override
       public getGroups_args getEmptyArgsInstance() {
         return new getGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroups_result getResult(I iface, getGroups_args args) throws org.apache.thrift.TException {
         getGroups_result result = new getGroups_result();
         try {
@@ -1247,14 +1259,22 @@
         super("getAllGroupsUserBelongs");
       }
 
+      @Override
       public getAllGroupsUserBelongs_args getEmptyArgsInstance() {
         return new getAllGroupsUserBelongs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGroupsUserBelongs_result getResult(I iface, getAllGroupsUserBelongs_args args) throws org.apache.thrift.TException {
         getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
         try {
@@ -1273,14 +1293,22 @@
         super("addUsersToGroup");
       }
 
+      @Override
       public addUsersToGroup_args getEmptyArgsInstance() {
         return new addUsersToGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUsersToGroup_result getResult(I iface, addUsersToGroup_args args) throws org.apache.thrift.TException {
         addUsersToGroup_result result = new addUsersToGroup_result();
         try {
@@ -1300,14 +1328,22 @@
         super("removeUsersFromGroup");
       }
 
+      @Override
       public removeUsersFromGroup_args getEmptyArgsInstance() {
         return new removeUsersFromGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeUsersFromGroup_result getResult(I iface, removeUsersFromGroup_args args) throws org.apache.thrift.TException {
         removeUsersFromGroup_result result = new removeUsersFromGroup_result();
         try {
@@ -1327,14 +1363,22 @@
         super("transferGroupOwnership");
       }
 
+      @Override
       public transferGroupOwnership_args getEmptyArgsInstance() {
         return new transferGroupOwnership_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public transferGroupOwnership_result getResult(I iface, transferGroupOwnership_args args) throws org.apache.thrift.TException {
         transferGroupOwnership_result result = new transferGroupOwnership_result();
         try {
@@ -1354,14 +1398,22 @@
         super("addGroupAdmins");
       }
 
+      @Override
       public addGroupAdmins_args getEmptyArgsInstance() {
         return new addGroupAdmins_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGroupAdmins_result getResult(I iface, addGroupAdmins_args args) throws org.apache.thrift.TException {
         addGroupAdmins_result result = new addGroupAdmins_result();
         try {
@@ -1381,14 +1433,22 @@
         super("removeGroupAdmins");
       }
 
+      @Override
       public removeGroupAdmins_args getEmptyArgsInstance() {
         return new removeGroupAdmins_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupAdmins_result getResult(I iface, removeGroupAdmins_args args) throws org.apache.thrift.TException {
         removeGroupAdmins_result result = new removeGroupAdmins_result();
         try {
@@ -1408,14 +1468,22 @@
         super("hasAdminAccess");
       }
 
+      @Override
       public hasAdminAccess_args getEmptyArgsInstance() {
         return new hasAdminAccess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public hasAdminAccess_result getResult(I iface, hasAdminAccess_args args) throws org.apache.thrift.TException {
         hasAdminAccess_result result = new hasAdminAccess_result();
         try {
@@ -1435,14 +1503,22 @@
         super("hasOwnerAccess");
       }
 
+      @Override
       public hasOwnerAccess_args getEmptyArgsInstance() {
         return new hasOwnerAccess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public hasOwnerAccess_result getResult(I iface, hasOwnerAccess_args args) throws org.apache.thrift.TException {
         hasOwnerAccess_result result = new hasOwnerAccess_result();
         try {
@@ -1470,7 +1546,6 @@
     }
 
     private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
-      processMap.put("getAPIVersion", new getAPIVersion());
       processMap.put("createGroup", new createGroup());
       processMap.put("updateGroup", new updateGroup());
       processMap.put("deleteGroup", new deleteGroup());
@@ -1487,83 +1562,21 @@
       return processMap;
     }
 
-    public static class getAPIVersion<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAPIVersion_args, java.lang.String> {
-      public getAPIVersion() {
-        super("getAPIVersion");
-      }
-
-      public getAPIVersion_args getEmptyArgsInstance() {
-        return new getAPIVersion_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            getAPIVersion_result result = new getAPIVersion_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getAPIVersion_result result = new getAPIVersion_result();
-            if (e instanceof org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) {
-              result.gse = (org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException) e;
-              result.setGseIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getAPIVersion_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.getAPIVersion(resultHandler);
-      }
-    }
-
     public static class createGroup<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, createGroup_args, java.lang.String> {
       public createGroup() {
         super("createGroup");
       }
 
+      @Override
       public createGroup_args getEmptyArgsInstance() {
         return new createGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createGroup_result result = new createGroup_result();
             result.success = o;
@@ -1577,6 +1590,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1612,10 +1626,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createGroup(args.authzToken, args.groupModel,resultHandler);
       }
@@ -1626,13 +1642,16 @@
         super("updateGroup");
       }
 
+      @Override
       public updateGroup_args getEmptyArgsInstance() {
         return new updateGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGroup_result result = new updateGroup_result();
             result.success = o;
@@ -1647,6 +1666,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1682,10 +1702,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGroup(args.authzToken, args.groupModel,resultHandler);
       }
@@ -1696,13 +1718,16 @@
         super("deleteGroup");
       }
 
+      @Override
       public deleteGroup_args getEmptyArgsInstance() {
         return new deleteGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGroup_result result = new deleteGroup_result();
             result.success = o;
@@ -1717,6 +1742,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1752,10 +1778,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGroup(args.authzToken, args.groupId, args.ownerId,resultHandler);
       }
@@ -1766,13 +1794,16 @@
         super("getGroup");
       }
 
+      @Override
       public getGroup_args getEmptyArgsInstance() {
         return new getGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.group.GroupModel o) {
             getGroup_result result = new getGroup_result();
             result.success = o;
@@ -1786,6 +1817,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1821,10 +1853,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroup_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.group.GroupModel> resultHandler) throws org.apache.thrift.TException {
         iface.getGroup(args.authzToken, args.groupId,resultHandler);
       }
@@ -1835,13 +1869,16 @@
         super("getGroups");
       }
 
+      @Override
       public getGroups_args getEmptyArgsInstance() {
         return new getGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.group.GroupModel> o) {
             getGroups_result result = new getGroups_result();
             result.success = o;
@@ -1855,6 +1892,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1890,10 +1928,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroups(args.authzToken,resultHandler);
       }
@@ -1904,13 +1944,16 @@
         super("getAllGroupsUserBelongs");
       }
 
+      @Override
       public getAllGroupsUserBelongs_args getEmptyArgsInstance() {
         return new getAllGroupsUserBelongs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.group.GroupModel> o) {
             getAllGroupsUserBelongs_result result = new getAllGroupsUserBelongs_result();
             result.success = o;
@@ -1924,6 +1967,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1959,10 +2003,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGroupsUserBelongs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.group.GroupModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGroupsUserBelongs(args.authzToken, args.userName,resultHandler);
       }
@@ -1973,13 +2019,16 @@
         super("addUsersToGroup");
       }
 
+      @Override
       public addUsersToGroup_args getEmptyArgsInstance() {
         return new addUsersToGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addUsersToGroup_result result = new addUsersToGroup_result();
             result.success = o;
@@ -1994,6 +2043,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2029,10 +2079,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUsersToGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addUsersToGroup(args.authzToken, args.userIds, args.groupId,resultHandler);
       }
@@ -2043,13 +2095,16 @@
         super("removeUsersFromGroup");
       }
 
+      @Override
       public removeUsersFromGroup_args getEmptyArgsInstance() {
         return new removeUsersFromGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeUsersFromGroup_result result = new removeUsersFromGroup_result();
             result.success = o;
@@ -2064,6 +2119,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2099,10 +2155,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeUsersFromGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeUsersFromGroup(args.authzToken, args.userIds, args.groupId,resultHandler);
       }
@@ -2113,13 +2171,16 @@
         super("transferGroupOwnership");
       }
 
+      @Override
       public transferGroupOwnership_args getEmptyArgsInstance() {
         return new transferGroupOwnership_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             transferGroupOwnership_result result = new transferGroupOwnership_result();
             result.success = o;
@@ -2134,6 +2195,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2169,10 +2231,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, transferGroupOwnership_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.transferGroupOwnership(args.authzToken, args.groupId, args.newOwnerId,resultHandler);
       }
@@ -2183,13 +2247,16 @@
         super("addGroupAdmins");
       }
 
+      @Override
       public addGroupAdmins_args getEmptyArgsInstance() {
         return new addGroupAdmins_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addGroupAdmins_result result = new addGroupAdmins_result();
             result.success = o;
@@ -2204,6 +2271,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2239,10 +2307,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addGroupAdmins(args.authzToken, args.groupId, args.adminIds,resultHandler);
       }
@@ -2253,13 +2323,16 @@
         super("removeGroupAdmins");
       }
 
+      @Override
       public removeGroupAdmins_args getEmptyArgsInstance() {
         return new removeGroupAdmins_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupAdmins_result result = new removeGroupAdmins_result();
             result.success = o;
@@ -2274,6 +2347,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2309,10 +2383,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupAdmins(args.authzToken, args.groupId, args.adminIds,resultHandler);
       }
@@ -2323,13 +2399,16 @@
         super("hasAdminAccess");
       }
 
+      @Override
       public hasAdminAccess_args getEmptyArgsInstance() {
         return new hasAdminAccess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             hasAdminAccess_result result = new hasAdminAccess_result();
             result.success = o;
@@ -2344,6 +2423,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2379,10 +2459,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, hasAdminAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.hasAdminAccess(args.authzToken, args.groupId, args.adminId,resultHandler);
       }
@@ -2393,13 +2475,16 @@
         super("hasOwnerAccess");
       }
 
+      @Override
       public hasOwnerAccess_args getEmptyArgsInstance() {
         return new hasOwnerAccess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             hasOwnerAccess_result result = new hasOwnerAccess_result();
             result.success = o;
@@ -2414,6 +2499,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2449,10 +2535,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, hasOwnerAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.hasOwnerAccess(args.authzToken, args.groupId, args.ownerId,resultHandler);
       }
@@ -2460,724 +2548,7 @@
 
   }
 
-  public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
-
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_argsTupleSchemeFactory();
-
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-;
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.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) {
-          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 java.lang.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(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
-    }
-
-    public getAPIVersion_args() {
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_args(getAPIVersion_args other) {
-    }
-
-    public getAPIVersion_args deepCopy() {
-      return new getAPIVersion_args(this);
-    }
-
-    @Override
-    public void clear() {
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      }
-      throw new java.lang.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 java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.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;
-      if (this == that)
-        return true;
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      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 {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAPIVersion_args(");
-      boolean first = true;
-
-      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, java.lang.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 org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_argsStandardScheme getScheme() {
-        return new getAPIVersion_argsStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsStandardScheme extends org.apache.thrift.scheme.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) {
-            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);
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_argsTupleScheme getScheme() {
-        return new getAPIVersion_argsTupleScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  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 GSE_FIELD_DESC = new org.apache.thrift.protocol.TField("gse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_resultTupleSchemeFactory();
-
-    public java.lang.String success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // 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"),
-      GSE((short)1, "gse");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.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: // GSE
-            return GSE;
-          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 java.lang.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(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.GSE, new org.apache.thrift.meta_data.FieldMetaData("gse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_result.class, metaDataMap);
-    }
-
-    public getAPIVersion_result() {
-    }
-
-    public getAPIVersion_result(
-      java.lang.String success,
-      org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse)
-    {
-      this();
-      this.success = success;
-      this.gse = gse;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_result(getAPIVersion_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
-      if (other.isSetGse()) {
-        this.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException(other.gse);
-      }
-    }
-
-    public getAPIVersion_result deepCopy() {
-      return new getAPIVersion_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.gse = null;
-    }
-
-    public java.lang.String getSuccess() {
-      return this.success;
-    }
-
-    public getAPIVersion_result setSuccess(java.lang.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.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
-      return this.gse;
-    }
-
-    public getAPIVersion_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
-      this.gse = gse;
-      return this;
-    }
-
-    public void unsetGse() {
-      this.gse = null;
-    }
-
-    /** Returns true if field gse is set (has been assigned a value) and false otherwise */
-    public boolean isSetGse() {
-      return this.gse != null;
-    }
-
-    public void setGseIsSet(boolean value) {
-      if (!value) {
-        this.gse = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.String)value);
-        }
-        break;
-
-      case GSE:
-        if (value == null) {
-          unsetGse();
-        } else {
-          setGse((org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case GSE:
-        return getGse();
-
-      }
-      throw new java.lang.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 java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case GSE:
-        return isSetGse();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.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;
-      if (this == that)
-        return true;
-
-      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_gse = true && this.isSetGse();
-      boolean that_present_gse = true && that.isSetGse();
-      if (this_present_gse || that_present_gse) {
-        if (!(this_present_gse && that_present_gse))
-          return false;
-        if (!this.gse.equals(that.gse))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetGse()) ? 131071 : 524287);
-      if (isSetGse())
-        hashCode = hashCode * 8191 + gse.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.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 = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetGse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gse, other.gse);
-        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 {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.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("gse:");
-      if (this.gse == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.gse);
-      }
-      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, java.lang.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 org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_resultStandardScheme getScheme() {
-        return new getAPIVersion_resultStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_resultStandardScheme extends org.apache.thrift.scheme.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: // GSE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
-                struct.gse.read(iprot);
-                struct.setGseIsSet(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.gse != null) {
-          oprot.writeFieldBegin(GSE_FIELD_DESC);
-          struct.gse.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_resultTupleScheme getScheme() {
-        return new getAPIVersion_resultTupleScheme();
-      }
-    }
-
-    private static class getAPIVersion_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetGse()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
-        }
-        if (struct.isSetGse()) {
-          struct.gse.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.gse = new org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException();
-          struct.gse.read(iprot);
-          struct.setGseIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroup_args implements org.apache.thrift.TBase<createGroup_args, createGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroup_args");
 
@@ -3187,8 +2558,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.group.GroupModel groupModel; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel groupModel; // 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 {
@@ -3206,6 +2577,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -3230,6 +2602,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3242,10 +2615,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3287,6 +2662,7 @@
       }
     }
 
+    @Override
     public createGroup_args deepCopy() {
       return new createGroup_args(this);
     }
@@ -3297,11 +2673,12 @@
       this.groupModel = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public createGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public createGroup_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -3321,11 +2698,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.GroupModel getGroupModel() {
       return this.groupModel;
     }
 
-    public createGroup_args setGroupModel(org.apache.airavata.model.group.GroupModel groupModel) {
+    public createGroup_args setGroupModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel groupModel) {
       this.groupModel = groupModel;
       return this;
     }
@@ -3345,7 +2723,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -3366,6 +2745,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -3379,6 +2760,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3395,8 +2777,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroup_args)
         return this.equals((createGroup_args)that);
       return false;
@@ -3452,7 +2832,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3462,7 +2842,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupModel()).compareTo(other.isSetGroupModel());
+      lastComparison = java.lang.Boolean.compare(isSetGroupModel(), other.isSetGroupModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3475,14 +2855,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -3545,6 +2929,7 @@
     }
 
     private static class createGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_argsStandardScheme getScheme() {
         return new createGroup_argsStandardScheme();
       }
@@ -3552,6 +2937,7 @@
 
     private static class createGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3591,6 +2977,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3612,6 +2999,7 @@
     }
 
     private static class createGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_argsTupleScheme getScheme() {
         return new createGroup_argsTupleScheme();
       }
@@ -3643,6 +3031,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroup_result implements org.apache.thrift.TBase<createGroup_result, createGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroup_result");
 
@@ -3653,9 +3042,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroup_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroup_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -3674,6 +3063,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -3700,6 +3090,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3712,10 +3103,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3764,6 +3157,7 @@
       }
     }
 
+    @Override
     public createGroup_result deepCopy() {
       return new createGroup_result(this);
     }
@@ -3775,11 +3169,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createGroup_result setSuccess(java.lang.String success) {
+    public createGroup_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -3799,11 +3194,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public createGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public createGroup_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -3823,11 +3219,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public createGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public createGroup_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -3847,7 +3244,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -3876,6 +3274,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -3892,6 +3292,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3910,8 +3311,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroup_result)
         return this.equals((createGroup_result)that);
       return false;
@@ -3980,7 +3379,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3990,7 +3389,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4000,7 +3399,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4013,10 +3412,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -4079,6 +3481,7 @@
     }
 
     private static class createGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_resultStandardScheme getScheme() {
         return new createGroup_resultStandardScheme();
       }
@@ -4086,6 +3489,7 @@
 
     private static class createGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4133,6 +3537,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4159,6 +3564,7 @@
     }
 
     private static class createGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_resultTupleScheme getScheme() {
         return new createGroup_resultTupleScheme();
       }
@@ -4217,6 +3623,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroup_args implements org.apache.thrift.TBase<updateGroup_args, updateGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroup_args");
 
@@ -4226,8 +3633,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.group.GroupModel groupModel; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel groupModel; // 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 {
@@ -4245,6 +3652,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -4269,6 +3677,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4281,10 +3690,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4326,6 +3737,7 @@
       }
     }
 
+    @Override
     public updateGroup_args deepCopy() {
       return new updateGroup_args(this);
     }
@@ -4336,11 +3748,12 @@
       this.groupModel = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGroup_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -4360,11 +3773,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.GroupModel getGroupModel() {
       return this.groupModel;
     }
 
-    public updateGroup_args setGroupModel(org.apache.airavata.model.group.GroupModel groupModel) {
+    public updateGroup_args setGroupModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel groupModel) {
       this.groupModel = groupModel;
       return this;
     }
@@ -4384,7 +3798,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -4405,6 +3820,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -4418,6 +3835,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4434,8 +3852,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroup_args)
         return this.equals((updateGroup_args)that);
       return false;
@@ -4491,7 +3907,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4501,7 +3917,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupModel()).compareTo(other.isSetGroupModel());
+      lastComparison = java.lang.Boolean.compare(isSetGroupModel(), other.isSetGroupModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4514,14 +3930,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -4584,6 +4004,7 @@
     }
 
     private static class updateGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_argsStandardScheme getScheme() {
         return new updateGroup_argsStandardScheme();
       }
@@ -4591,6 +4012,7 @@
 
     private static class updateGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4630,6 +4052,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4651,6 +4074,7 @@
     }
 
     private static class updateGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_argsTupleScheme getScheme() {
         return new updateGroup_argsTupleScheme();
       }
@@ -4682,6 +4106,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroup_result implements org.apache.thrift.TBase<updateGroup_result, updateGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroup_result");
 
@@ -4693,8 +4118,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -4713,6 +4138,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -4739,6 +4165,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4751,10 +4178,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4805,6 +4234,7 @@
       }
     }
 
+    @Override
     public updateGroup_result deepCopy() {
       return new updateGroup_result(this);
     }
@@ -4840,11 +4270,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public updateGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public updateGroup_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -4864,11 +4295,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGroup_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -4888,7 +4320,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -4917,6 +4350,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -4933,6 +4368,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4951,8 +4387,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroup_result)
         return this.equals((updateGroup_result)that);
       return false;
@@ -5019,7 +4453,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5029,7 +4463,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5039,7 +4473,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5052,10 +4486,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -5116,6 +4553,7 @@
     }
 
     private static class updateGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_resultStandardScheme getScheme() {
         return new updateGroup_resultStandardScheme();
       }
@@ -5123,6 +4561,7 @@
 
     private static class updateGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5170,6 +4609,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5196,6 +4636,7 @@
     }
 
     private static class updateGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_resultTupleScheme getScheme() {
         return new updateGroup_resultTupleScheme();
       }
@@ -5254,6 +4695,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGroup_args implements org.apache.thrift.TBase<deleteGroup_args, deleteGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGroup_args");
 
@@ -5264,9 +4706,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
-    public java.lang.String ownerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String ownerId; // 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 {
@@ -5285,6 +4727,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -5311,6 +4754,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5323,10 +4767,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5375,6 +4821,7 @@
       }
     }
 
+    @Override
     public deleteGroup_args deepCopy() {
       return new deleteGroup_args(this);
     }
@@ -5386,11 +4833,12 @@
       this.ownerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteGroup_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -5410,11 +4858,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public deleteGroup_args setGroupId(java.lang.String groupId) {
+    public deleteGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -5434,11 +4883,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getOwnerId() {
       return this.ownerId;
     }
 
-    public deleteGroup_args setOwnerId(java.lang.String ownerId) {
+    public deleteGroup_args setOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String ownerId) {
       this.ownerId = ownerId;
       return this;
     }
@@ -5458,7 +4908,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -5487,6 +4938,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -5503,6 +4956,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5521,8 +4975,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGroup_args)
         return this.equals((deleteGroup_args)that);
       return false;
@@ -5591,7 +5043,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5601,7 +5053,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5611,7 +5063,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+      lastComparison = java.lang.Boolean.compare(isSetOwnerId(), other.isSetOwnerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5624,14 +5076,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -5702,6 +5158,7 @@
     }
 
     private static class deleteGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_argsStandardScheme getScheme() {
         return new deleteGroup_argsStandardScheme();
       }
@@ -5709,6 +5166,7 @@
 
     private static class deleteGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5755,6 +5213,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5781,6 +5240,7 @@
     }
 
     private static class deleteGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_argsTupleScheme getScheme() {
         return new deleteGroup_argsTupleScheme();
       }
@@ -5814,6 +5274,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGroup_result implements org.apache.thrift.TBase<deleteGroup_result, deleteGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGroup_result");
 
@@ -5825,8 +5286,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -5845,6 +5306,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -5871,6 +5333,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5883,10 +5346,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5937,6 +5402,7 @@
       }
     }
 
+    @Override
     public deleteGroup_result deepCopy() {
       return new deleteGroup_result(this);
     }
@@ -5972,11 +5438,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public deleteGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public deleteGroup_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -5996,11 +5463,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteGroup_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -6020,7 +5488,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -6049,6 +5518,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -6065,6 +5536,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6083,8 +5555,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGroup_result)
         return this.equals((deleteGroup_result)that);
       return false;
@@ -6151,7 +5621,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6161,7 +5631,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6171,7 +5641,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6184,10 +5654,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -6248,6 +5721,7 @@
     }
 
     private static class deleteGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_resultStandardScheme getScheme() {
         return new deleteGroup_resultStandardScheme();
       }
@@ -6255,6 +5729,7 @@
 
     private static class deleteGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6302,6 +5777,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6328,6 +5804,7 @@
     }
 
     private static class deleteGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_resultTupleScheme getScheme() {
         return new deleteGroup_resultTupleScheme();
       }
@@ -6386,6 +5863,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroup_args implements org.apache.thrift.TBase<getGroup_args, getGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroup_args");
 
@@ -6395,8 +5873,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -6414,6 +5892,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -6438,6 +5917,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6450,10 +5930,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6495,6 +5977,7 @@
       }
     }
 
+    @Override
     public getGroup_args deepCopy() {
       return new getGroup_args(this);
     }
@@ -6505,11 +5988,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroup_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -6529,11 +6013,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public getGroup_args setGroupId(java.lang.String groupId) {
+    public getGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -6553,7 +6038,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -6574,6 +6060,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -6587,6 +6075,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6603,8 +6092,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroup_args)
         return this.equals((getGroup_args)that);
       return false;
@@ -6660,7 +6147,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6670,7 +6157,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6683,14 +6170,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -6750,6 +6241,7 @@
     }
 
     private static class getGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_argsStandardScheme getScheme() {
         return new getGroup_argsStandardScheme();
       }
@@ -6757,6 +6249,7 @@
 
     private static class getGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6795,6 +6288,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6816,6 +6310,7 @@
     }
 
     private static class getGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_argsTupleScheme getScheme() {
         return new getGroup_argsTupleScheme();
       }
@@ -6846,6 +6341,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroup_result implements org.apache.thrift.TBase<getGroup_result, getGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroup_result");
 
@@ -6856,9 +6352,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroup_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroup_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.group.GroupModel success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -6877,6 +6373,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -6903,6 +6400,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6915,10 +6413,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6967,6 +6467,7 @@
       }
     }
 
+    @Override
     public getGroup_result deepCopy() {
       return new getGroup_result(this);
     }
@@ -6978,11 +6479,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.group.GroupModel getSuccess() {
       return this.success;
     }
 
-    public getGroup_result setSuccess(org.apache.airavata.model.group.GroupModel success) {
+    public getGroup_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel success) {
       this.success = success;
       return this;
     }
@@ -7002,11 +6504,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public getGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public getGroup_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -7026,11 +6529,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroup_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -7050,7 +6554,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -7079,6 +6584,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -7095,6 +6602,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7113,8 +6621,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroup_result)
         return this.equals((getGroup_result)that);
       return false;
@@ -7183,7 +6689,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7193,7 +6699,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7203,7 +6709,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7216,10 +6722,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -7285,6 +6794,7 @@
     }
 
     private static class getGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_resultStandardScheme getScheme() {
         return new getGroup_resultStandardScheme();
       }
@@ -7292,6 +6802,7 @@
 
     private static class getGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7340,6 +6851,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7366,6 +6878,7 @@
     }
 
     private static class getGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_resultTupleScheme getScheme() {
         return new getGroup_resultTupleScheme();
       }
@@ -7425,6 +6938,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroups_args implements org.apache.thrift.TBase<getGroups_args, getGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroups_args");
 
@@ -7433,7 +6947,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -7450,6 +6964,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -7472,6 +6987,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7484,10 +7000,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7522,6 +7040,7 @@
       }
     }
 
+    @Override
     public getGroups_args deepCopy() {
       return new getGroups_args(this);
     }
@@ -7531,11 +7050,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGroups_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGroups_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -7555,7 +7075,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -7568,6 +7089,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -7578,6 +7101,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7592,8 +7116,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroups_args)
         return this.equals((getGroups_args)that);
       return false;
@@ -7636,7 +7158,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7649,14 +7171,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -7705,6 +7231,7 @@
     }
 
     private static class getGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_argsStandardScheme getScheme() {
         return new getGroups_argsStandardScheme();
       }
@@ -7712,6 +7239,7 @@
 
     private static class getGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7742,6 +7270,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7758,6 +7287,7 @@
     }
 
     private static class getGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_argsTupleScheme getScheme() {
         return new getGroups_argsTupleScheme();
       }
@@ -7785,6 +7315,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroups_result implements org.apache.thrift.TBase<getGroups_result, getGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroups_result");
 
@@ -7795,9 +7326,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroups_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.group.GroupModel> success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.group.GroupModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -7816,6 +7347,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -7842,6 +7374,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7854,10 +7387,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7911,6 +7446,7 @@
       }
     }
 
+    @Override
     public getGroups_result deepCopy() {
       return new getGroups_result(this);
     }
@@ -7926,6 +7462,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.group.GroupModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -7937,11 +7474,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.group.GroupModel> getSuccess() {
       return this.success;
     }
 
-    public getGroups_result setSuccess(java.util.List<org.apache.airavata.model.group.GroupModel> success) {
+    public getGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.group.GroupModel> success) {
       this.success = success;
       return this;
     }
@@ -7961,11 +7499,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public getGroups_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public getGroups_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -7985,11 +7524,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGroups_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGroups_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -8009,7 +7549,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -8038,6 +7579,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -8054,6 +7597,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8072,8 +7616,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroups_result)
         return this.equals((getGroups_result)that);
       return false;
@@ -8142,7 +7684,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8152,7 +7694,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8162,7 +7704,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8175,10 +7717,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -8241,6 +7786,7 @@
     }
 
     private static class getGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_resultStandardScheme getScheme() {
         return new getGroups_resultStandardScheme();
       }
@@ -8248,6 +7794,7 @@
 
     private static class getGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8263,7 +7810,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(_list0.size);
-                  org.apache.airavata.model.group.GroupModel _elem1;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = new org.apache.airavata.model.group.GroupModel();
@@ -8306,6 +7853,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8339,6 +7887,7 @@
     }
 
     private static class getGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_resultTupleScheme getScheme() {
         return new getGroups_resultTupleScheme();
       }
@@ -8383,9 +7932,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(_list5.size);
-            org.apache.airavata.model.group.GroupModel _elem6;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = new org.apache.airavata.model.group.GroupModel();
@@ -8413,6 +7962,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGroupsUserBelongs_args implements org.apache.thrift.TBase<getAllGroupsUserBelongs_args, getAllGroupsUserBelongs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGroupsUserBelongs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGroupsUserBelongs_args");
 
@@ -8422,8 +7972,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGroupsUserBelongs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGroupsUserBelongs_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -8441,6 +7991,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -8465,6 +8016,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8477,10 +8029,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8522,6 +8076,7 @@
       }
     }
 
+    @Override
     public getAllGroupsUserBelongs_args deepCopy() {
       return new getAllGroupsUserBelongs_args(this);
     }
@@ -8532,11 +8087,12 @@
       this.userName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGroupsUserBelongs_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGroupsUserBelongs_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -8556,11 +8112,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getAllGroupsUserBelongs_args setUserName(java.lang.String userName) {
+    public getAllGroupsUserBelongs_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -8580,7 +8137,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -8601,6 +8159,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -8614,6 +8174,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8630,8 +8191,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGroupsUserBelongs_args)
         return this.equals((getAllGroupsUserBelongs_args)that);
       return false;
@@ -8687,7 +8246,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8697,7 +8256,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8710,14 +8269,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -8777,6 +8340,7 @@
     }
 
     private static class getAllGroupsUserBelongs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGroupsUserBelongs_argsStandardScheme getScheme() {
         return new getAllGroupsUserBelongs_argsStandardScheme();
       }
@@ -8784,6 +8348,7 @@
 
     private static class getAllGroupsUserBelongs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGroupsUserBelongs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGroupsUserBelongs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8822,6 +8387,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGroupsUserBelongs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8843,6 +8409,7 @@
     }
 
     private static class getAllGroupsUserBelongs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGroupsUserBelongs_argsTupleScheme getScheme() {
         return new getAllGroupsUserBelongs_argsTupleScheme();
       }
@@ -8873,6 +8440,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGroupsUserBelongs_result implements org.apache.thrift.TBase<getAllGroupsUserBelongs_result, getAllGroupsUserBelongs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGroupsUserBelongs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGroupsUserBelongs_result");
 
@@ -8883,9 +8451,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGroupsUserBelongs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGroupsUserBelongs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.group.GroupModel> success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.group.GroupModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -8904,6 +8472,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -8930,6 +8499,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8942,10 +8512,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8999,6 +8571,7 @@
       }
     }
 
+    @Override
     public getAllGroupsUserBelongs_result deepCopy() {
       return new getAllGroupsUserBelongs_result(this);
     }
@@ -9014,6 +8587,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.group.GroupModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -9025,11 +8599,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.group.GroupModel> getSuccess() {
       return this.success;
     }
 
-    public getAllGroupsUserBelongs_result setSuccess(java.util.List<org.apache.airavata.model.group.GroupModel> success) {
+    public getAllGroupsUserBelongs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.group.GroupModel> success) {
       this.success = success;
       return this;
     }
@@ -9049,11 +8624,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public getAllGroupsUserBelongs_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public getAllGroupsUserBelongs_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -9073,11 +8649,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGroupsUserBelongs_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGroupsUserBelongs_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -9097,7 +8674,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -9126,6 +8704,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -9142,6 +8722,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9160,8 +8741,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGroupsUserBelongs_result)
         return this.equals((getAllGroupsUserBelongs_result)that);
       return false;
@@ -9230,7 +8809,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9240,7 +8819,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9250,7 +8829,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9263,10 +8842,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -9329,6 +8911,7 @@
     }
 
     private static class getAllGroupsUserBelongs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGroupsUserBelongs_resultStandardScheme getScheme() {
         return new getAllGroupsUserBelongs_resultStandardScheme();
       }
@@ -9336,6 +8919,7 @@
 
     private static class getAllGroupsUserBelongs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGroupsUserBelongs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGroupsUserBelongs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9351,7 +8935,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(_list8.size);
-                  org.apache.airavata.model.group.GroupModel _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.model.group.GroupModel();
@@ -9394,6 +8978,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGroupsUserBelongs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9427,6 +9012,7 @@
     }
 
     private static class getAllGroupsUserBelongs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGroupsUserBelongs_resultTupleScheme getScheme() {
         return new getAllGroupsUserBelongs_resultTupleScheme();
       }
@@ -9471,9 +9057,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.group.GroupModel>(_list13.size);
-            org.apache.airavata.model.group.GroupModel _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.group.GroupModel _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.model.group.GroupModel();
@@ -9501,6 +9087,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUsersToGroup_args implements org.apache.thrift.TBase<addUsersToGroup_args, addUsersToGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUsersToGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUsersToGroup_args");
 
@@ -9511,9 +9098,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUsersToGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUsersToGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.util.List<java.lang.String> userIds; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -9532,6 +9119,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -9558,6 +9146,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9570,10 +9159,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9624,6 +9215,7 @@
       }
     }
 
+    @Override
     public addUsersToGroup_args deepCopy() {
       return new addUsersToGroup_args(this);
     }
@@ -9635,11 +9227,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addUsersToGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addUsersToGroup_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -9663,6 +9256,7 @@
       return (this.userIds == null) ? 0 : this.userIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getUserIdsIterator() {
       return (this.userIds == null) ? null : this.userIds.iterator();
     }
@@ -9674,11 +9268,12 @@
       this.userIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getUserIds() {
       return this.userIds;
     }
 
-    public addUsersToGroup_args setUserIds(java.util.List<java.lang.String> userIds) {
+    public addUsersToGroup_args setUserIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds) {
       this.userIds = userIds;
       return this;
     }
@@ -9698,11 +9293,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public addUsersToGroup_args setGroupId(java.lang.String groupId) {
+    public addUsersToGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -9722,7 +9318,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -9751,6 +9348,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -9767,6 +9366,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9785,8 +9385,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUsersToGroup_args)
         return this.equals((addUsersToGroup_args)that);
       return false;
@@ -9855,7 +9453,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9865,7 +9463,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserIds()).compareTo(other.isSetUserIds());
+      lastComparison = java.lang.Boolean.compare(isSetUserIds(), other.isSetUserIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9875,7 +9473,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9888,14 +9486,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -9966,6 +9568,7 @@
     }
 
     private static class addUsersToGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_argsStandardScheme getScheme() {
         return new addUsersToGroup_argsStandardScheme();
       }
@@ -9973,6 +9576,7 @@
 
     private static class addUsersToGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUsersToGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUsersToGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9997,7 +9601,7 @@
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                   struct.userIds = new java.util.ArrayList<java.lang.String>(_list16.size);
-                  java.lang.String _elem17;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem17;
                   for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                   {
                     _elem17 = iprot.readString();
@@ -10029,6 +9633,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUsersToGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10062,6 +9667,7 @@
     }
 
     private static class addUsersToGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_argsTupleScheme getScheme() {
         return new addUsersToGroup_argsTupleScheme();
       }
@@ -10090,9 +9696,9 @@
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.userIds = new java.util.ArrayList<java.lang.String>(_list21.size);
-          java.lang.String _elem22;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem22;
           for (int _i23 = 0; _i23 < _list21.size; ++_i23)
           {
             _elem22 = iprot.readString();
@@ -10110,6 +9716,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUsersToGroup_result implements org.apache.thrift.TBase<addUsersToGroup_result, addUsersToGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUsersToGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUsersToGroup_result");
 
@@ -10121,8 +9728,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUsersToGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -10141,6 +9748,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -10167,6 +9775,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10179,10 +9788,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10233,6 +9844,7 @@
       }
     }
 
+    @Override
     public addUsersToGroup_result deepCopy() {
       return new addUsersToGroup_result(this);
     }
@@ -10268,11 +9880,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public addUsersToGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public addUsersToGroup_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -10292,11 +9905,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addUsersToGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addUsersToGroup_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -10316,7 +9930,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -10345,6 +9960,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -10361,6 +9978,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10379,8 +9997,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUsersToGroup_result)
         return this.equals((addUsersToGroup_result)that);
       return false;
@@ -10447,7 +10063,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10457,7 +10073,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10467,7 +10083,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10480,10 +10096,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -10544,6 +10163,7 @@
     }
 
     private static class addUsersToGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_resultStandardScheme getScheme() {
         return new addUsersToGroup_resultStandardScheme();
       }
@@ -10551,6 +10171,7 @@
 
     private static class addUsersToGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUsersToGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUsersToGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10598,6 +10219,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUsersToGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10624,6 +10246,7 @@
     }
 
     private static class addUsersToGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_resultTupleScheme getScheme() {
         return new addUsersToGroup_resultTupleScheme();
       }
@@ -10682,6 +10305,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeUsersFromGroup_args implements org.apache.thrift.TBase<removeUsersFromGroup_args, removeUsersFromGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeUsersFromGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeUsersFromGroup_args");
 
@@ -10692,9 +10316,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeUsersFromGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeUsersFromGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.util.List<java.lang.String> userIds; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -10713,6 +10337,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -10739,6 +10364,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10751,10 +10377,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10805,6 +10433,7 @@
       }
     }
 
+    @Override
     public removeUsersFromGroup_args deepCopy() {
       return new removeUsersFromGroup_args(this);
     }
@@ -10816,11 +10445,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeUsersFromGroup_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeUsersFromGroup_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -10844,6 +10474,7 @@
       return (this.userIds == null) ? 0 : this.userIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getUserIdsIterator() {
       return (this.userIds == null) ? null : this.userIds.iterator();
     }
@@ -10855,11 +10486,12 @@
       this.userIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getUserIds() {
       return this.userIds;
     }
 
-    public removeUsersFromGroup_args setUserIds(java.util.List<java.lang.String> userIds) {
+    public removeUsersFromGroup_args setUserIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds) {
       this.userIds = userIds;
       return this;
     }
@@ -10879,11 +10511,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public removeUsersFromGroup_args setGroupId(java.lang.String groupId) {
+    public removeUsersFromGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -10903,7 +10536,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -10932,6 +10566,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -10948,6 +10584,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10966,8 +10603,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeUsersFromGroup_args)
         return this.equals((removeUsersFromGroup_args)that);
       return false;
@@ -11036,7 +10671,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11046,7 +10681,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserIds()).compareTo(other.isSetUserIds());
+      lastComparison = java.lang.Boolean.compare(isSetUserIds(), other.isSetUserIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11056,7 +10691,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11069,14 +10704,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -11147,6 +10786,7 @@
     }
 
     private static class removeUsersFromGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_argsStandardScheme getScheme() {
         return new removeUsersFromGroup_argsStandardScheme();
       }
@@ -11154,6 +10794,7 @@
 
     private static class removeUsersFromGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeUsersFromGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeUsersFromGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11178,7 +10819,7 @@
                 {
                   org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                   struct.userIds = new java.util.ArrayList<java.lang.String>(_list24.size);
-                  java.lang.String _elem25;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem25;
                   for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                   {
                     _elem25 = iprot.readString();
@@ -11210,6 +10851,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeUsersFromGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11243,6 +10885,7 @@
     }
 
     private static class removeUsersFromGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_argsTupleScheme getScheme() {
         return new removeUsersFromGroup_argsTupleScheme();
       }
@@ -11271,9 +10914,9 @@
         struct.authzToken.read(iprot);
         struct.setAuthzTokenIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.userIds = new java.util.ArrayList<java.lang.String>(_list29.size);
-          java.lang.String _elem30;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem30;
           for (int _i31 = 0; _i31 < _list29.size; ++_i31)
           {
             _elem30 = iprot.readString();
@@ -11291,6 +10934,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeUsersFromGroup_result implements org.apache.thrift.TBase<removeUsersFromGroup_result, removeUsersFromGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeUsersFromGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeUsersFromGroup_result");
 
@@ -11302,8 +10946,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeUsersFromGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -11322,6 +10966,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -11348,6 +10993,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11360,10 +11006,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11414,6 +11062,7 @@
       }
     }
 
+    @Override
     public removeUsersFromGroup_result deepCopy() {
       return new removeUsersFromGroup_result(this);
     }
@@ -11449,11 +11098,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public removeUsersFromGroup_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public removeUsersFromGroup_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -11473,11 +11123,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeUsersFromGroup_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeUsersFromGroup_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -11497,7 +11148,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -11526,6 +11178,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -11542,6 +11196,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11560,8 +11215,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeUsersFromGroup_result)
         return this.equals((removeUsersFromGroup_result)that);
       return false;
@@ -11628,7 +11281,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11638,7 +11291,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11648,7 +11301,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11661,10 +11314,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -11725,6 +11381,7 @@
     }
 
     private static class removeUsersFromGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_resultStandardScheme getScheme() {
         return new removeUsersFromGroup_resultStandardScheme();
       }
@@ -11732,6 +11389,7 @@
 
     private static class removeUsersFromGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeUsersFromGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeUsersFromGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11779,6 +11437,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeUsersFromGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11805,6 +11464,7 @@
     }
 
     private static class removeUsersFromGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_resultTupleScheme getScheme() {
         return new removeUsersFromGroup_resultTupleScheme();
       }
@@ -11863,6 +11523,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class transferGroupOwnership_args implements org.apache.thrift.TBase<transferGroupOwnership_args, transferGroupOwnership_args._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_args");
 
@@ -11873,9 +11534,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
-    public java.lang.String newOwnerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newOwnerId; // 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 {
@@ -11894,6 +11555,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -11920,6 +11582,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11932,10 +11595,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11984,6 +11649,7 @@
       }
     }
 
+    @Override
     public transferGroupOwnership_args deepCopy() {
       return new transferGroupOwnership_args(this);
     }
@@ -11995,11 +11661,12 @@
       this.newOwnerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public transferGroupOwnership_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public transferGroupOwnership_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -12019,11 +11686,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public transferGroupOwnership_args setGroupId(java.lang.String groupId) {
+    public transferGroupOwnership_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -12043,11 +11711,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewOwnerId() {
       return this.newOwnerId;
     }
 
-    public transferGroupOwnership_args setNewOwnerId(java.lang.String newOwnerId) {
+    public transferGroupOwnership_args setNewOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String newOwnerId) {
       this.newOwnerId = newOwnerId;
       return this;
     }
@@ -12067,7 +11736,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -12096,6 +11766,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -12112,6 +11784,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12130,8 +11803,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof transferGroupOwnership_args)
         return this.equals((transferGroupOwnership_args)that);
       return false;
@@ -12200,7 +11871,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12210,7 +11881,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12220,7 +11891,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewOwnerId()).compareTo(other.isSetNewOwnerId());
+      lastComparison = java.lang.Boolean.compare(isSetNewOwnerId(), other.isSetNewOwnerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12233,14 +11904,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -12311,6 +11986,7 @@
     }
 
     private static class transferGroupOwnership_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_argsStandardScheme getScheme() {
         return new transferGroupOwnership_argsStandardScheme();
       }
@@ -12318,6 +11994,7 @@
 
     private static class transferGroupOwnership_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12364,6 +12041,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12390,6 +12068,7 @@
     }
 
     private static class transferGroupOwnership_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_argsTupleScheme getScheme() {
         return new transferGroupOwnership_argsTupleScheme();
       }
@@ -12423,6 +12102,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class transferGroupOwnership_result implements org.apache.thrift.TBase<transferGroupOwnership_result, transferGroupOwnership_result._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_result");
 
@@ -12434,8 +12114,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -12454,6 +12134,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -12480,6 +12161,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12492,10 +12174,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12546,6 +12230,7 @@
       }
     }
 
+    @Override
     public transferGroupOwnership_result deepCopy() {
       return new transferGroupOwnership_result(this);
     }
@@ -12581,11 +12266,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public transferGroupOwnership_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public transferGroupOwnership_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -12605,11 +12291,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public transferGroupOwnership_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public transferGroupOwnership_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -12629,7 +12316,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -12658,6 +12346,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -12674,6 +12364,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12692,8 +12383,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof transferGroupOwnership_result)
         return this.equals((transferGroupOwnership_result)that);
       return false;
@@ -12760,7 +12449,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12770,7 +12459,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12780,7 +12469,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12793,10 +12482,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -12857,6 +12549,7 @@
     }
 
     private static class transferGroupOwnership_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_resultStandardScheme getScheme() {
         return new transferGroupOwnership_resultStandardScheme();
       }
@@ -12864,6 +12557,7 @@
 
     private static class transferGroupOwnership_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12911,6 +12605,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12937,6 +12632,7 @@
     }
 
     private static class transferGroupOwnership_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_resultTupleScheme getScheme() {
         return new transferGroupOwnership_resultTupleScheme();
       }
@@ -12995,6 +12691,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGroupAdmins_args implements org.apache.thrift.TBase<addGroupAdmins_args, addGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_args");
 
@@ -13005,9 +12702,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
-    public java.util.List<java.lang.String> adminIds; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds; // 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 {
@@ -13026,6 +12723,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -13052,6 +12750,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13064,10 +12763,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13118,6 +12819,7 @@
       }
     }
 
+    @Override
     public addGroupAdmins_args deepCopy() {
       return new addGroupAdmins_args(this);
     }
@@ -13129,11 +12831,12 @@
       this.adminIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addGroupAdmins_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addGroupAdmins_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -13153,11 +12856,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public addGroupAdmins_args setGroupId(java.lang.String groupId) {
+    public addGroupAdmins_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -13181,6 +12885,7 @@
       return (this.adminIds == null) ? 0 : this.adminIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
       return (this.adminIds == null) ? null : this.adminIds.iterator();
     }
@@ -13192,11 +12897,12 @@
       this.adminIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAdminIds() {
       return this.adminIds;
     }
 
-    public addGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
+    public addGroupAdmins_args setAdminIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds) {
       this.adminIds = adminIds;
       return this;
     }
@@ -13216,7 +12922,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -13245,6 +12952,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -13261,6 +12970,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13279,8 +12989,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGroupAdmins_args)
         return this.equals((addGroupAdmins_args)that);
       return false;
@@ -13349,7 +13057,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13359,7 +13067,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13369,7 +13077,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      lastComparison = java.lang.Boolean.compare(isSetAdminIds(), other.isSetAdminIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13382,14 +13090,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -13460,6 +13172,7 @@
     }
 
     private static class addGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_argsStandardScheme getScheme() {
         return new addGroupAdmins_argsStandardScheme();
       }
@@ -13467,6 +13180,7 @@
 
     private static class addGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13499,7 +13213,7 @@
                 {
                   org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                   struct.adminIds = new java.util.ArrayList<java.lang.String>(_list32.size);
-                  java.lang.String _elem33;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem33;
                   for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                   {
                     _elem33 = iprot.readString();
@@ -13523,6 +13237,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13556,6 +13271,7 @@
     }
 
     private static class addGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_argsTupleScheme getScheme() {
         return new addGroupAdmins_argsTupleScheme();
       }
@@ -13586,9 +13302,9 @@
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list37 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list37 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.adminIds = new java.util.ArrayList<java.lang.String>(_list37.size);
-          java.lang.String _elem38;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem38;
           for (int _i39 = 0; _i39 < _list37.size; ++_i39)
           {
             _elem38 = iprot.readString();
@@ -13604,6 +13320,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGroupAdmins_result implements org.apache.thrift.TBase<addGroupAdmins_result, addGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_result");
 
@@ -13615,8 +13332,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -13635,6 +13352,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -13661,6 +13379,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13673,10 +13392,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13727,6 +13448,7 @@
       }
     }
 
+    @Override
     public addGroupAdmins_result deepCopy() {
       return new addGroupAdmins_result(this);
     }
@@ -13762,11 +13484,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public addGroupAdmins_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public addGroupAdmins_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -13786,11 +13509,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addGroupAdmins_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addGroupAdmins_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -13810,7 +13534,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -13839,6 +13564,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -13855,6 +13582,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13873,8 +13601,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGroupAdmins_result)
         return this.equals((addGroupAdmins_result)that);
       return false;
@@ -13941,7 +13667,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13951,7 +13677,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13961,7 +13687,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13974,10 +13700,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -14038,6 +13767,7 @@
     }
 
     private static class addGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_resultStandardScheme getScheme() {
         return new addGroupAdmins_resultStandardScheme();
       }
@@ -14045,6 +13775,7 @@
 
     private static class addGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14092,6 +13823,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14118,6 +13850,7 @@
     }
 
     private static class addGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_resultTupleScheme getScheme() {
         return new addGroupAdmins_resultTupleScheme();
       }
@@ -14176,6 +13909,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupAdmins_args implements org.apache.thrift.TBase<removeGroupAdmins_args, removeGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_args");
 
@@ -14186,9 +13920,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupAdmins_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
-    public java.util.List<java.lang.String> adminIds; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds; // 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 {
@@ -14207,6 +13941,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -14233,6 +13968,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -14245,10 +13981,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14299,6 +14037,7 @@
       }
     }
 
+    @Override
     public removeGroupAdmins_args deepCopy() {
       return new removeGroupAdmins_args(this);
     }
@@ -14310,11 +14049,12 @@
       this.adminIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeGroupAdmins_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeGroupAdmins_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -14334,11 +14074,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public removeGroupAdmins_args setGroupId(java.lang.String groupId) {
+    public removeGroupAdmins_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -14362,6 +14103,7 @@
       return (this.adminIds == null) ? 0 : this.adminIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
       return (this.adminIds == null) ? null : this.adminIds.iterator();
     }
@@ -14373,11 +14115,12 @@
       this.adminIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAdminIds() {
       return this.adminIds;
     }
 
-    public removeGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
+    public removeGroupAdmins_args setAdminIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds) {
       this.adminIds = adminIds;
       return this;
     }
@@ -14397,7 +14140,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -14426,6 +14170,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -14442,6 +14188,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14460,8 +14207,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupAdmins_args)
         return this.equals((removeGroupAdmins_args)that);
       return false;
@@ -14530,7 +14275,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14540,7 +14285,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14550,7 +14295,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      lastComparison = java.lang.Boolean.compare(isSetAdminIds(), other.isSetAdminIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14563,14 +14308,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -14641,6 +14390,7 @@
     }
 
     private static class removeGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_argsStandardScheme getScheme() {
         return new removeGroupAdmins_argsStandardScheme();
       }
@@ -14648,6 +14398,7 @@
 
     private static class removeGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupAdmins_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14680,7 +14431,7 @@
                 {
                   org.apache.thrift.protocol.TList _list40 = iprot.readListBegin();
                   struct.adminIds = new java.util.ArrayList<java.lang.String>(_list40.size);
-                  java.lang.String _elem41;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem41;
                   for (int _i42 = 0; _i42 < _list40.size; ++_i42)
                   {
                     _elem41 = iprot.readString();
@@ -14704,6 +14455,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14737,6 +14489,7 @@
     }
 
     private static class removeGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_argsTupleScheme getScheme() {
         return new removeGroupAdmins_argsTupleScheme();
       }
@@ -14767,9 +14520,9 @@
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list45 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.adminIds = new java.util.ArrayList<java.lang.String>(_list45.size);
-          java.lang.String _elem46;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem46;
           for (int _i47 = 0; _i47 < _list45.size; ++_i47)
           {
             _elem46 = iprot.readString();
@@ -14785,6 +14538,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupAdmins_result implements org.apache.thrift.TBase<removeGroupAdmins_result, removeGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_result");
 
@@ -14796,8 +14550,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -14816,6 +14570,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -14842,6 +14597,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -14854,10 +14610,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14908,6 +14666,7 @@
       }
     }
 
+    @Override
     public removeGroupAdmins_result deepCopy() {
       return new removeGroupAdmins_result(this);
     }
@@ -14943,11 +14702,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public removeGroupAdmins_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public removeGroupAdmins_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -14967,11 +14727,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeGroupAdmins_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeGroupAdmins_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -14991,7 +14752,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -15020,6 +14782,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -15036,6 +14800,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -15054,8 +14819,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupAdmins_result)
         return this.equals((removeGroupAdmins_result)that);
       return false;
@@ -15122,7 +14885,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15132,7 +14895,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15142,7 +14905,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15155,10 +14918,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -15219,6 +14985,7 @@
     }
 
     private static class removeGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_resultStandardScheme getScheme() {
         return new removeGroupAdmins_resultStandardScheme();
       }
@@ -15226,6 +14993,7 @@
 
     private static class removeGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupAdmins_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -15273,6 +15041,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -15299,6 +15068,7 @@
     }
 
     private static class removeGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_resultTupleScheme getScheme() {
         return new removeGroupAdmins_resultTupleScheme();
       }
@@ -15357,6 +15127,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasAdminAccess_args implements org.apache.thrift.TBase<hasAdminAccess_args, hasAdminAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<hasAdminAccess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_args");
 
@@ -15367,9 +15138,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasAdminAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
-    public java.lang.String adminId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String adminId; // 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 {
@@ -15388,6 +15159,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -15414,6 +15186,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -15426,10 +15199,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -15478,6 +15253,7 @@
       }
     }
 
+    @Override
     public hasAdminAccess_args deepCopy() {
       return new hasAdminAccess_args(this);
     }
@@ -15489,11 +15265,12 @@
       this.adminId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public hasAdminAccess_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public hasAdminAccess_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -15513,11 +15290,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public hasAdminAccess_args setGroupId(java.lang.String groupId) {
+    public hasAdminAccess_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -15537,11 +15315,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAdminId() {
       return this.adminId;
     }
 
-    public hasAdminAccess_args setAdminId(java.lang.String adminId) {
+    public hasAdminAccess_args setAdminId(@org.apache.thrift.annotation.Nullable java.lang.String adminId) {
       this.adminId = adminId;
       return this;
     }
@@ -15561,7 +15340,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -15590,6 +15370,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -15606,6 +15388,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -15624,8 +15407,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasAdminAccess_args)
         return this.equals((hasAdminAccess_args)that);
       return false;
@@ -15694,7 +15475,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15704,7 +15485,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15714,7 +15495,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminId()).compareTo(other.isSetAdminId());
+      lastComparison = java.lang.Boolean.compare(isSetAdminId(), other.isSetAdminId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15727,14 +15508,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -15805,6 +15590,7 @@
     }
 
     private static class hasAdminAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_argsStandardScheme getScheme() {
         return new hasAdminAccess_argsStandardScheme();
       }
@@ -15812,6 +15598,7 @@
 
     private static class hasAdminAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasAdminAccess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -15858,6 +15645,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -15884,6 +15672,7 @@
     }
 
     private static class hasAdminAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_argsTupleScheme getScheme() {
         return new hasAdminAccess_argsTupleScheme();
       }
@@ -15917,6 +15706,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasAdminAccess_result implements org.apache.thrift.TBase<hasAdminAccess_result, hasAdminAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<hasAdminAccess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_result");
 
@@ -15928,8 +15718,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -15948,6 +15738,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -15974,6 +15765,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -15986,10 +15778,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -16040,6 +15834,7 @@
       }
     }
 
+    @Override
     public hasAdminAccess_result deepCopy() {
       return new hasAdminAccess_result(this);
     }
@@ -16075,11 +15870,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public hasAdminAccess_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public hasAdminAccess_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -16099,11 +15895,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public hasAdminAccess_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public hasAdminAccess_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -16123,7 +15920,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -16152,6 +15950,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -16168,6 +15968,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -16186,8 +15987,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasAdminAccess_result)
         return this.equals((hasAdminAccess_result)that);
       return false;
@@ -16254,7 +16053,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16264,7 +16063,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16274,7 +16073,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16287,10 +16086,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -16351,6 +16153,7 @@
     }
 
     private static class hasAdminAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_resultStandardScheme getScheme() {
         return new hasAdminAccess_resultStandardScheme();
       }
@@ -16358,6 +16161,7 @@
 
     private static class hasAdminAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasAdminAccess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16405,6 +16209,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -16431,6 +16236,7 @@
     }
 
     private static class hasAdminAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_resultTupleScheme getScheme() {
         return new hasAdminAccess_resultTupleScheme();
       }
@@ -16489,6 +16295,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasOwnerAccess_args implements org.apache.thrift.TBase<hasOwnerAccess_args, hasOwnerAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<hasOwnerAccess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_args");
 
@@ -16499,9 +16306,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasOwnerAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String groupId; // required
-    public java.lang.String ownerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String ownerId; // 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 {
@@ -16520,6 +16327,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -16546,6 +16354,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -16558,10 +16367,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -16610,6 +16421,7 @@
       }
     }
 
+    @Override
     public hasOwnerAccess_args deepCopy() {
       return new hasOwnerAccess_args(this);
     }
@@ -16621,11 +16433,12 @@
       this.ownerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public hasOwnerAccess_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public hasOwnerAccess_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -16645,11 +16458,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public hasOwnerAccess_args setGroupId(java.lang.String groupId) {
+    public hasOwnerAccess_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -16669,11 +16483,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getOwnerId() {
       return this.ownerId;
     }
 
-    public hasOwnerAccess_args setOwnerId(java.lang.String ownerId) {
+    public hasOwnerAccess_args setOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String ownerId) {
       this.ownerId = ownerId;
       return this;
     }
@@ -16693,7 +16508,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -16722,6 +16538,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -16738,6 +16556,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -16756,8 +16575,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasOwnerAccess_args)
         return this.equals((hasOwnerAccess_args)that);
       return false;
@@ -16826,7 +16643,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16836,7 +16653,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16846,7 +16663,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+      lastComparison = java.lang.Boolean.compare(isSetOwnerId(), other.isSetOwnerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16859,14 +16676,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -16937,6 +16758,7 @@
     }
 
     private static class hasOwnerAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_argsStandardScheme getScheme() {
         return new hasOwnerAccess_argsStandardScheme();
       }
@@ -16944,6 +16766,7 @@
 
     private static class hasOwnerAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasOwnerAccess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16990,6 +16813,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -17016,6 +16840,7 @@
     }
 
     private static class hasOwnerAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_argsTupleScheme getScheme() {
         return new hasOwnerAccess_argsTupleScheme();
       }
@@ -17049,6 +16874,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasOwnerAccess_result implements org.apache.thrift.TBase<hasOwnerAccess_result, hasOwnerAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<hasOwnerAccess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_result");
 
@@ -17060,8 +16886,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -17080,6 +16906,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -17106,6 +16933,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17118,10 +16946,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -17172,6 +17002,7 @@
       }
     }
 
+    @Override
     public hasOwnerAccess_result deepCopy() {
       return new hasOwnerAccess_result(this);
     }
@@ -17207,11 +17038,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException getGse() {
       return this.gse;
     }
 
-    public hasOwnerAccess_result setGse(org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
+    public hasOwnerAccess_result setGse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.groupmanager.cpi.exception.GroupManagerServiceException gse) {
       this.gse = gse;
       return this;
     }
@@ -17231,11 +17063,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public hasOwnerAccess_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public hasOwnerAccess_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -17255,7 +17088,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -17284,6 +17118,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -17300,6 +17136,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -17318,8 +17155,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasOwnerAccess_result)
         return this.equals((hasOwnerAccess_result)that);
       return false;
@@ -17386,7 +17221,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17396,7 +17231,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGse()).compareTo(other.isSetGse());
+      lastComparison = java.lang.Boolean.compare(isSetGse(), other.isSetGse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17406,7 +17241,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17419,10 +17254,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -17483,6 +17321,7 @@
     }
 
     private static class hasOwnerAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_resultStandardScheme getScheme() {
         return new hasOwnerAccess_resultStandardScheme();
       }
@@ -17490,6 +17329,7 @@
 
     private static class hasOwnerAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasOwnerAccess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -17537,6 +17377,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -17563,6 +17404,7 @@
     }
 
     private static class hasOwnerAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_resultTupleScheme getScheme() {
         return new hasOwnerAccess_resultTupleScheme();
       }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/exception/GroupManagerServiceException.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/exception/GroupManagerServiceException.java
index df53896..753b8b6 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/exception/GroupManagerServiceException.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/exception/GroupManagerServiceException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.service.profile.groupmanager.cpi.exception;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupManagerServiceException extends org.apache.thrift.TException implements org.apache.thrift.TBase<GroupManagerServiceException, GroupManagerServiceException._Fields>, java.io.Serializable, Cloneable, Comparable<GroupManagerServiceException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupManagerServiceException");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupManagerServiceExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupManagerServiceExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public GroupManagerServiceException deepCopy() {
     return new GroupManagerServiceException(this);
   }
@@ -131,11 +136,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public GroupManagerServiceException setMessage(java.lang.String message) {
+  public GroupManagerServiceException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -155,7 +161,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -168,6 +175,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -178,6 +187,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -192,8 +202,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupManagerServiceException)
       return this.equals((GroupManagerServiceException)that);
     return false;
@@ -236,7 +244,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -249,14 +257,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class GroupManagerServiceExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupManagerServiceExceptionStandardScheme getScheme() {
       return new GroupManagerServiceExceptionStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class GroupManagerServiceExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupManagerServiceException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupManagerServiceException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -338,6 +352,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupManagerServiceException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -354,6 +369,7 @@
   }
 
   private static class GroupManagerServiceExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupManagerServiceExceptionTupleScheme getScheme() {
       return new GroupManagerServiceExceptionTupleScheme();
     }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java
index d93c5db..1e09fd9 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/groupmanager/cpi/group_manager_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
index 022c687..79b2d60 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/IamAdminServices.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.service.profile.iam.admin.services.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class IamAdminServices {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -61,7 +61,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void setUpGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException;
 
@@ -98,9 +98,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -115,6 +117,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Gateway setUpGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_setUpGateway(authzToken, gateway);
@@ -145,6 +148,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "setUpGateway failed: unknown result");
     }
 
+    @Override
     public boolean isUsernameAvailable(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_isUsernameAvailable(authzToken, username);
@@ -175,6 +179,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUsernameAvailable failed: unknown result");
     }
 
+    @Override
     public boolean registerUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String emailAddress, java.lang.String firstName, java.lang.String lastName, java.lang.String newPassword) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_registerUser(authzToken, username, emailAddress, firstName, lastName, newPassword);
@@ -209,6 +214,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerUser failed: unknown result");
     }
 
+    @Override
     public boolean enableUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_enableUser(authzToken, username);
@@ -239,6 +245,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "enableUser failed: unknown result");
     }
 
+    @Override
     public boolean isUserEnabled(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_isUserEnabled(authzToken, username);
@@ -269,6 +276,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserEnabled failed: unknown result");
     }
 
+    @Override
     public boolean isUserExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_isUserExist(authzToken, username);
@@ -299,6 +307,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserExist failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.user.UserProfile getUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getUser(authzToken, username);
@@ -329,6 +338,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUser failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.user.UserProfile> getUsers(org.apache.airavata.model.security.AuthzToken authzToken, int offset, int limit, java.lang.String search) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getUsers(authzToken, offset, limit, search);
@@ -361,6 +371,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUsers failed: unknown result");
     }
 
+    @Override
     public boolean resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String newPassword) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_resetUserPassword(authzToken, username, newPassword);
@@ -392,6 +403,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "resetUserPassword failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.user.UserProfile> findUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String email, java.lang.String userId) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_findUsers(authzToken, email, userId);
@@ -423,6 +435,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "findUsers failed: unknown result");
     }
 
+    @Override
     public void updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateUserProfile(authzToken, userDetails);
@@ -450,6 +463,7 @@
       return;
     }
 
+    @Override
     public boolean deleteUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_deleteUser(authzToken, username);
@@ -480,6 +494,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUser failed: unknown result");
     }
 
+    @Override
     public boolean addRoleToUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String roleName) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_addRoleToUser(authzToken, username, roleName);
@@ -511,6 +526,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addRoleToUser failed: unknown result");
     }
 
+    @Override
     public boolean removeRoleFromUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String roleName) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_removeRoleFromUser(authzToken, username, roleName);
@@ -542,6 +558,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeRoleFromUser failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.user.UserProfile> getUsersWithRole(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String roleName) throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getUsersWithRole(authzToken, roleName);
@@ -581,6 +598,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -590,6 +608,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void setUpGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       setUpGateway_call method_call = new setUpGateway_call(authzToken, gateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -606,6 +625,7 @@
         this.gateway = gateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("setUpGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         setUpGateway_args args = new setUpGateway_args();
@@ -615,6 +635,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -625,6 +646,7 @@
       }
     }
 
+    @Override
     public void isUsernameAvailable(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUsernameAvailable_call method_call = new isUsernameAvailable_call(authzToken, username, resultHandler, this, ___protocolFactory, ___transport);
@@ -641,6 +663,7 @@
         this.username = username;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUsernameAvailable", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUsernameAvailable_args args = new isUsernameAvailable_args();
@@ -650,6 +673,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -660,6 +684,7 @@
       }
     }
 
+    @Override
     public void registerUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String emailAddress, java.lang.String firstName, java.lang.String lastName, java.lang.String newPassword, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerUser_call method_call = new registerUser_call(authzToken, username, emailAddress, firstName, lastName, newPassword, resultHandler, this, ___protocolFactory, ___transport);
@@ -684,6 +709,7 @@
         this.newPassword = newPassword;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerUser_args args = new registerUser_args();
@@ -697,6 +723,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -707,6 +734,7 @@
       }
     }
 
+    @Override
     public void enableUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       enableUser_call method_call = new enableUser_call(authzToken, username, resultHandler, this, ___protocolFactory, ___transport);
@@ -723,6 +751,7 @@
         this.username = username;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("enableUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         enableUser_args args = new enableUser_args();
@@ -732,6 +761,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -742,6 +772,7 @@
       }
     }
 
+    @Override
     public void isUserEnabled(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserEnabled_call method_call = new isUserEnabled_call(authzToken, username, resultHandler, this, ___protocolFactory, ___transport);
@@ -758,6 +789,7 @@
         this.username = username;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserEnabled", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserEnabled_args args = new isUserEnabled_args();
@@ -767,6 +799,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -777,6 +810,7 @@
       }
     }
 
+    @Override
     public void isUserExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserExist_call method_call = new isUserExist_call(authzToken, username, resultHandler, this, ___protocolFactory, ___transport);
@@ -793,6 +827,7 @@
         this.username = username;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserExist_args args = new isUserExist_args();
@@ -802,6 +837,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -812,6 +848,7 @@
       }
     }
 
+    @Override
     public void getUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUser_call method_call = new getUser_call(authzToken, username, resultHandler, this, ___protocolFactory, ___transport);
@@ -828,6 +865,7 @@
         this.username = username;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUser_args args = new getUser_args();
@@ -837,6 +875,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.user.UserProfile getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -847,6 +886,7 @@
       }
     }
 
+    @Override
     public void getUsers(org.apache.airavata.model.security.AuthzToken authzToken, int offset, int limit, java.lang.String search, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUsers_call method_call = new getUsers_call(authzToken, offset, limit, search, resultHandler, this, ___protocolFactory, ___transport);
@@ -867,6 +907,7 @@
         this.search = search;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUsers_args args = new getUsers_args();
@@ -878,6 +919,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.user.UserProfile> getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -888,6 +930,7 @@
       }
     }
 
+    @Override
     public void resetUserPassword(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String newPassword, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       resetUserPassword_call method_call = new resetUserPassword_call(authzToken, username, newPassword, resultHandler, this, ___protocolFactory, ___transport);
@@ -906,6 +949,7 @@
         this.newPassword = newPassword;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("resetUserPassword", org.apache.thrift.protocol.TMessageType.CALL, 0));
         resetUserPassword_args args = new resetUserPassword_args();
@@ -916,6 +960,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -926,6 +971,7 @@
       }
     }
 
+    @Override
     public void findUsers(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String email, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       findUsers_call method_call = new findUsers_call(authzToken, email, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -944,6 +990,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("findUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         findUsers_args args = new findUsers_args();
@@ -954,6 +1001,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.user.UserProfile> getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -964,6 +1012,7 @@
       }
     }
 
+    @Override
     public void updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userDetails, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserProfile_call method_call = new updateUserProfile_call(authzToken, userDetails, resultHandler, this, ___protocolFactory, ___transport);
@@ -980,6 +1029,7 @@
         this.userDetails = userDetails;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserProfile_args args = new updateUserProfile_args();
@@ -989,16 +1039,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateUserProfile();
         return null;
       }
     }
 
+    @Override
     public void deleteUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUser_call method_call = new deleteUser_call(authzToken, username, resultHandler, this, ___protocolFactory, ___transport);
@@ -1015,6 +1068,7 @@
         this.username = username;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUser_args args = new deleteUser_args();
@@ -1024,6 +1078,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -1034,6 +1089,7 @@
       }
     }
 
+    @Override
     public void addRoleToUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String roleName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addRoleToUser_call method_call = new addRoleToUser_call(authzToken, username, roleName, resultHandler, this, ___protocolFactory, ___transport);
@@ -1052,6 +1108,7 @@
         this.roleName = roleName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addRoleToUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addRoleToUser_args args = new addRoleToUser_args();
@@ -1062,6 +1119,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -1072,6 +1130,7 @@
       }
     }
 
+    @Override
     public void removeRoleFromUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String username, java.lang.String roleName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeRoleFromUser_call method_call = new removeRoleFromUser_call(authzToken, username, roleName, resultHandler, this, ___protocolFactory, ___transport);
@@ -1090,6 +1149,7 @@
         this.roleName = roleName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeRoleFromUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeRoleFromUser_args args = new removeRoleFromUser_args();
@@ -1100,6 +1160,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -1110,6 +1171,7 @@
       }
     }
 
+    @Override
     public void getUsersWithRole(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String roleName, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUsersWithRole_call method_call = new getUsersWithRole_call(authzToken, roleName, resultHandler, this, ___protocolFactory, ___transport);
@@ -1126,6 +1188,7 @@
         this.roleName = roleName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUsersWithRole", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUsersWithRole_args args = new getUsersWithRole_args();
@@ -1135,6 +1198,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.user.UserProfile> getResult() throws org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -1181,14 +1245,22 @@
         super("setUpGateway");
       }
 
+      @Override
       public setUpGateway_args getEmptyArgsInstance() {
         return new setUpGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public setUpGateway_result getResult(I iface, setUpGateway_args args) throws org.apache.thrift.TException {
         setUpGateway_result result = new setUpGateway_result();
         try {
@@ -1207,14 +1279,22 @@
         super("isUsernameAvailable");
       }
 
+      @Override
       public isUsernameAvailable_args getEmptyArgsInstance() {
         return new isUsernameAvailable_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUsernameAvailable_result getResult(I iface, isUsernameAvailable_args args) throws org.apache.thrift.TException {
         isUsernameAvailable_result result = new isUsernameAvailable_result();
         try {
@@ -1234,14 +1314,22 @@
         super("registerUser");
       }
 
+      @Override
       public registerUser_args getEmptyArgsInstance() {
         return new registerUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerUser_result getResult(I iface, registerUser_args args) throws org.apache.thrift.TException {
         registerUser_result result = new registerUser_result();
         try {
@@ -1261,14 +1349,22 @@
         super("enableUser");
       }
 
+      @Override
       public enableUser_args getEmptyArgsInstance() {
         return new enableUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public enableUser_result getResult(I iface, enableUser_args args) throws org.apache.thrift.TException {
         enableUser_result result = new enableUser_result();
         try {
@@ -1288,14 +1384,22 @@
         super("isUserEnabled");
       }
 
+      @Override
       public isUserEnabled_args getEmptyArgsInstance() {
         return new isUserEnabled_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserEnabled_result getResult(I iface, isUserEnabled_args args) throws org.apache.thrift.TException {
         isUserEnabled_result result = new isUserEnabled_result();
         try {
@@ -1315,14 +1419,22 @@
         super("isUserExist");
       }
 
+      @Override
       public isUserExist_args getEmptyArgsInstance() {
         return new isUserExist_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserExist_result getResult(I iface, isUserExist_args args) throws org.apache.thrift.TException {
         isUserExist_result result = new isUserExist_result();
         try {
@@ -1342,14 +1454,22 @@
         super("getUser");
       }
 
+      @Override
       public getUser_args getEmptyArgsInstance() {
         return new getUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUser_result getResult(I iface, getUser_args args) throws org.apache.thrift.TException {
         getUser_result result = new getUser_result();
         try {
@@ -1368,14 +1488,22 @@
         super("getUsers");
       }
 
+      @Override
       public getUsers_args getEmptyArgsInstance() {
         return new getUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUsers_result getResult(I iface, getUsers_args args) throws org.apache.thrift.TException {
         getUsers_result result = new getUsers_result();
         try {
@@ -1394,14 +1522,22 @@
         super("resetUserPassword");
       }
 
+      @Override
       public resetUserPassword_args getEmptyArgsInstance() {
         return new resetUserPassword_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public resetUserPassword_result getResult(I iface, resetUserPassword_args args) throws org.apache.thrift.TException {
         resetUserPassword_result result = new resetUserPassword_result();
         try {
@@ -1421,14 +1557,22 @@
         super("findUsers");
       }
 
+      @Override
       public findUsers_args getEmptyArgsInstance() {
         return new findUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public findUsers_result getResult(I iface, findUsers_args args) throws org.apache.thrift.TException {
         findUsers_result result = new findUsers_result();
         try {
@@ -1447,14 +1591,22 @@
         super("updateUserProfile");
       }
 
+      @Override
       public updateUserProfile_args getEmptyArgsInstance() {
         return new updateUserProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserProfile_result getResult(I iface, updateUserProfile_args args) throws org.apache.thrift.TException {
         updateUserProfile_result result = new updateUserProfile_result();
         try {
@@ -1473,14 +1625,22 @@
         super("deleteUser");
       }
 
+      @Override
       public deleteUser_args getEmptyArgsInstance() {
         return new deleteUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUser_result getResult(I iface, deleteUser_args args) throws org.apache.thrift.TException {
         deleteUser_result result = new deleteUser_result();
         try {
@@ -1500,14 +1660,22 @@
         super("addRoleToUser");
       }
 
+      @Override
       public addRoleToUser_args getEmptyArgsInstance() {
         return new addRoleToUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addRoleToUser_result getResult(I iface, addRoleToUser_args args) throws org.apache.thrift.TException {
         addRoleToUser_result result = new addRoleToUser_result();
         try {
@@ -1527,14 +1695,22 @@
         super("removeRoleFromUser");
       }
 
+      @Override
       public removeRoleFromUser_args getEmptyArgsInstance() {
         return new removeRoleFromUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeRoleFromUser_result getResult(I iface, removeRoleFromUser_args args) throws org.apache.thrift.TException {
         removeRoleFromUser_result result = new removeRoleFromUser_result();
         try {
@@ -1554,14 +1730,22 @@
         super("getUsersWithRole");
       }
 
+      @Override
       public getUsersWithRole_args getEmptyArgsInstance() {
         return new getUsersWithRole_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUsersWithRole_result getResult(I iface, getUsersWithRole_args args) throws org.apache.thrift.TException {
         getUsersWithRole_result result = new getUsersWithRole_result();
         try {
@@ -1611,13 +1795,16 @@
         super("setUpGateway");
       }
 
+      @Override
       public setUpGateway_args getEmptyArgsInstance() {
         return new setUpGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Gateway o) {
             setUpGateway_result result = new setUpGateway_result();
             result.success = o;
@@ -1631,6 +1818,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1666,10 +1854,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, setUpGateway_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
         iface.setUpGateway(args.authzToken, args.gateway,resultHandler);
       }
@@ -1680,13 +1870,16 @@
         super("isUsernameAvailable");
       }
 
+      @Override
       public isUsernameAvailable_args getEmptyArgsInstance() {
         return new isUsernameAvailable_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUsernameAvailable_result result = new isUsernameAvailable_result();
             result.success = o;
@@ -1701,6 +1894,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1736,10 +1930,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUsernameAvailable_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUsernameAvailable(args.authzToken, args.username,resultHandler);
       }
@@ -1750,13 +1946,16 @@
         super("registerUser");
       }
 
+      @Override
       public registerUser_args getEmptyArgsInstance() {
         return new registerUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             registerUser_result result = new registerUser_result();
             result.success = o;
@@ -1771,6 +1970,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1806,10 +2006,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.registerUser(args.authzToken, args.username, args.emailAddress, args.firstName, args.lastName, args.newPassword,resultHandler);
       }
@@ -1820,13 +2022,16 @@
         super("enableUser");
       }
 
+      @Override
       public enableUser_args getEmptyArgsInstance() {
         return new enableUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             enableUser_result result = new enableUser_result();
             result.success = o;
@@ -1841,6 +2046,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1876,10 +2082,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, enableUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.enableUser(args.authzToken, args.username,resultHandler);
       }
@@ -1890,13 +2098,16 @@
         super("isUserEnabled");
       }
 
+      @Override
       public isUserEnabled_args getEmptyArgsInstance() {
         return new isUserEnabled_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserEnabled_result result = new isUserEnabled_result();
             result.success = o;
@@ -1911,6 +2122,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1946,10 +2158,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserEnabled_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserEnabled(args.authzToken, args.username,resultHandler);
       }
@@ -1960,13 +2174,16 @@
         super("isUserExist");
       }
 
+      @Override
       public isUserExist_args getEmptyArgsInstance() {
         return new isUserExist_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserExist_result result = new isUserExist_result();
             result.success = o;
@@ -1981,6 +2198,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2016,10 +2234,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserExist(args.authzToken, args.username,resultHandler);
       }
@@ -2030,13 +2250,16 @@
         super("getUser");
       }
 
+      @Override
       public getUser_args getEmptyArgsInstance() {
         return new getUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.user.UserProfile o) {
             getUser_result result = new getUser_result();
             result.success = o;
@@ -2050,6 +2273,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2085,10 +2309,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUser_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getUser(args.authzToken, args.username,resultHandler);
       }
@@ -2099,13 +2325,16 @@
         super("getUsers");
       }
 
+      @Override
       public getUsers_args getEmptyArgsInstance() {
         return new getUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.user.UserProfile> o) {
             getUsers_result result = new getUsers_result();
             result.success = o;
@@ -2119,6 +2348,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2154,10 +2384,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getUsers(args.authzToken, args.offset, args.limit, args.search,resultHandler);
       }
@@ -2168,13 +2400,16 @@
         super("resetUserPassword");
       }
 
+      @Override
       public resetUserPassword_args getEmptyArgsInstance() {
         return new resetUserPassword_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             resetUserPassword_result result = new resetUserPassword_result();
             result.success = o;
@@ -2189,6 +2424,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2224,10 +2460,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, resetUserPassword_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.resetUserPassword(args.authzToken, args.username, args.newPassword,resultHandler);
       }
@@ -2238,13 +2476,16 @@
         super("findUsers");
       }
 
+      @Override
       public findUsers_args getEmptyArgsInstance() {
         return new findUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.user.UserProfile> o) {
             findUsers_result result = new findUsers_result();
             result.success = o;
@@ -2258,6 +2499,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2293,10 +2535,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, findUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.findUsers(args.authzToken, args.email, args.userId,resultHandler);
       }
@@ -2307,13 +2551,16 @@
         super("updateUserProfile");
       }
 
+      @Override
       public updateUserProfile_args getEmptyArgsInstance() {
         return new updateUserProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateUserProfile_result result = new updateUserProfile_result();
             try {
@@ -2326,6 +2573,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2361,10 +2609,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserProfile(args.authzToken, args.userDetails,resultHandler);
       }
@@ -2375,13 +2625,16 @@
         super("deleteUser");
       }
 
+      @Override
       public deleteUser_args getEmptyArgsInstance() {
         return new deleteUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUser_result result = new deleteUser_result();
             result.success = o;
@@ -2396,6 +2649,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2431,10 +2685,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUser(args.authzToken, args.username,resultHandler);
       }
@@ -2445,13 +2701,16 @@
         super("addRoleToUser");
       }
 
+      @Override
       public addRoleToUser_args getEmptyArgsInstance() {
         return new addRoleToUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addRoleToUser_result result = new addRoleToUser_result();
             result.success = o;
@@ -2466,6 +2725,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2501,10 +2761,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addRoleToUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addRoleToUser(args.authzToken, args.username, args.roleName,resultHandler);
       }
@@ -2515,13 +2777,16 @@
         super("removeRoleFromUser");
       }
 
+      @Override
       public removeRoleFromUser_args getEmptyArgsInstance() {
         return new removeRoleFromUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeRoleFromUser_result result = new removeRoleFromUser_result();
             result.success = o;
@@ -2536,6 +2801,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2571,10 +2837,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeRoleFromUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeRoleFromUser(args.authzToken, args.username, args.roleName,resultHandler);
       }
@@ -2585,13 +2853,16 @@
         super("getUsersWithRole");
       }
 
+      @Override
       public getUsersWithRole_args getEmptyArgsInstance() {
         return new getUsersWithRole_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.user.UserProfile> o) {
             getUsersWithRole_result result = new getUsersWithRole_result();
             result.success = o;
@@ -2605,6 +2876,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2640,10 +2912,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUsersWithRole_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getUsersWithRole(args.authzToken, args.roleName,resultHandler);
       }
@@ -2651,6 +2925,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class setUpGateway_args implements org.apache.thrift.TBase<setUpGateway_args, setUpGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<setUpGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setUpGateway_args");
 
@@ -2660,8 +2935,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setUpGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setUpGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.workspace.Gateway gateway; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway; // 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 {
@@ -2679,6 +2954,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -2703,6 +2979,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2715,10 +2992,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2760,6 +3039,7 @@
       }
     }
 
+    @Override
     public setUpGateway_args deepCopy() {
       return new setUpGateway_args(this);
     }
@@ -2770,11 +3050,12 @@
       this.gateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public setUpGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public setUpGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -2794,11 +3075,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getGateway() {
       return this.gateway;
     }
 
-    public setUpGateway_args setGateway(org.apache.airavata.model.workspace.Gateway gateway) {
+    public setUpGateway_args setGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway) {
       this.gateway = gateway;
       return this;
     }
@@ -2818,7 +3100,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -2839,6 +3122,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -2852,6 +3137,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2868,8 +3154,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof setUpGateway_args)
         return this.equals((setUpGateway_args)that);
       return false;
@@ -2925,7 +3209,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2935,7 +3219,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGateway()).compareTo(other.isSetGateway());
+      lastComparison = java.lang.Boolean.compare(isSetGateway(), other.isSetGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2948,14 +3232,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -3018,6 +3306,7 @@
     }
 
     private static class setUpGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setUpGateway_argsStandardScheme getScheme() {
         return new setUpGateway_argsStandardScheme();
       }
@@ -3025,6 +3314,7 @@
 
     private static class setUpGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<setUpGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, setUpGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3064,6 +3354,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, setUpGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3085,6 +3376,7 @@
     }
 
     private static class setUpGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setUpGateway_argsTupleScheme getScheme() {
         return new setUpGateway_argsTupleScheme();
       }
@@ -3116,6 +3408,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class setUpGateway_result implements org.apache.thrift.TBase<setUpGateway_result, setUpGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<setUpGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("setUpGateway_result");
 
@@ -3126,9 +3419,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new setUpGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new setUpGateway_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Gateway success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -3147,6 +3440,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -3173,6 +3467,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3185,10 +3480,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3237,6 +3534,7 @@
       }
     }
 
+    @Override
     public setUpGateway_result deepCopy() {
       return new setUpGateway_result(this);
     }
@@ -3248,11 +3546,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getSuccess() {
       return this.success;
     }
 
-    public setUpGateway_result setSuccess(org.apache.airavata.model.workspace.Gateway success) {
+    public setUpGateway_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success) {
       this.success = success;
       return this;
     }
@@ -3272,11 +3571,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public setUpGateway_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public setUpGateway_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -3296,11 +3596,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public setUpGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public setUpGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -3320,7 +3621,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -3349,6 +3651,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -3365,6 +3669,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3383,8 +3688,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof setUpGateway_result)
         return this.equals((setUpGateway_result)that);
       return false;
@@ -3453,7 +3756,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3463,7 +3766,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3473,7 +3776,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3486,10 +3789,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -3555,6 +3861,7 @@
     }
 
     private static class setUpGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setUpGateway_resultStandardScheme getScheme() {
         return new setUpGateway_resultStandardScheme();
       }
@@ -3562,6 +3869,7 @@
 
     private static class setUpGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<setUpGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, setUpGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3610,6 +3918,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, setUpGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3636,6 +3945,7 @@
     }
 
     private static class setUpGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public setUpGateway_resultTupleScheme getScheme() {
         return new setUpGateway_resultTupleScheme();
       }
@@ -3695,6 +4005,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUsernameAvailable_args implements org.apache.thrift.TBase<isUsernameAvailable_args, isUsernameAvailable_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUsernameAvailable_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUsernameAvailable_args");
 
@@ -3704,8 +4015,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUsernameAvailable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUsernameAvailable_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -3723,6 +4034,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -3747,6 +4059,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3759,10 +4072,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3804,6 +4119,7 @@
       }
     }
 
+    @Override
     public isUsernameAvailable_args deepCopy() {
       return new isUsernameAvailable_args(this);
     }
@@ -3814,11 +4130,12 @@
       this.username = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isUsernameAvailable_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isUsernameAvailable_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -3838,11 +4155,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public isUsernameAvailable_args setUsername(java.lang.String username) {
+    public isUsernameAvailable_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -3862,7 +4180,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -3883,6 +4202,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -3896,6 +4217,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3912,8 +4234,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUsernameAvailable_args)
         return this.equals((isUsernameAvailable_args)that);
       return false;
@@ -3969,7 +4289,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3979,7 +4299,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3992,14 +4312,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -4059,6 +4383,7 @@
     }
 
     private static class isUsernameAvailable_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUsernameAvailable_argsStandardScheme getScheme() {
         return new isUsernameAvailable_argsStandardScheme();
       }
@@ -4066,6 +4391,7 @@
 
     private static class isUsernameAvailable_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUsernameAvailable_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUsernameAvailable_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4104,6 +4430,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUsernameAvailable_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4125,6 +4452,7 @@
     }
 
     private static class isUsernameAvailable_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUsernameAvailable_argsTupleScheme getScheme() {
         return new isUsernameAvailable_argsTupleScheme();
       }
@@ -4155,6 +4483,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUsernameAvailable_result implements org.apache.thrift.TBase<isUsernameAvailable_result, isUsernameAvailable_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUsernameAvailable_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUsernameAvailable_result");
 
@@ -4166,8 +4495,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUsernameAvailable_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -4186,6 +4515,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -4212,6 +4542,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4224,10 +4555,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4278,6 +4611,7 @@
       }
     }
 
+    @Override
     public isUsernameAvailable_result deepCopy() {
       return new isUsernameAvailable_result(this);
     }
@@ -4313,11 +4647,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public isUsernameAvailable_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public isUsernameAvailable_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -4337,11 +4672,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isUsernameAvailable_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isUsernameAvailable_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -4361,7 +4697,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -4390,6 +4727,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -4406,6 +4745,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4424,8 +4764,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUsernameAvailable_result)
         return this.equals((isUsernameAvailable_result)that);
       return false;
@@ -4492,7 +4830,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4502,7 +4840,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4512,7 +4850,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4525,10 +4863,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -4589,6 +4930,7 @@
     }
 
     private static class isUsernameAvailable_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUsernameAvailable_resultStandardScheme getScheme() {
         return new isUsernameAvailable_resultStandardScheme();
       }
@@ -4596,6 +4938,7 @@
 
     private static class isUsernameAvailable_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUsernameAvailable_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUsernameAvailable_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4643,6 +4986,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUsernameAvailable_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4669,6 +5013,7 @@
     }
 
     private static class isUsernameAvailable_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUsernameAvailable_resultTupleScheme getScheme() {
         return new isUsernameAvailable_resultTupleScheme();
       }
@@ -4727,6 +5072,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerUser_args implements org.apache.thrift.TBase<registerUser_args, registerUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerUser_args");
 
@@ -4740,12 +5086,12 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
-    public java.lang.String emailAddress; // required
-    public java.lang.String firstName; // required
-    public java.lang.String lastName; // required
-    public java.lang.String newPassword; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String emailAddress; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String firstName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String lastName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newPassword; // 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 {
@@ -4767,6 +5113,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -4799,6 +5146,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4811,10 +5159,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4884,6 +5234,7 @@
       }
     }
 
+    @Override
     public registerUser_args deepCopy() {
       return new registerUser_args(this);
     }
@@ -4898,11 +5249,12 @@
       this.newPassword = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public registerUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public registerUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -4922,11 +5274,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public registerUser_args setUsername(java.lang.String username) {
+    public registerUser_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -4946,11 +5299,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEmailAddress() {
       return this.emailAddress;
     }
 
-    public registerUser_args setEmailAddress(java.lang.String emailAddress) {
+    public registerUser_args setEmailAddress(@org.apache.thrift.annotation.Nullable java.lang.String emailAddress) {
       this.emailAddress = emailAddress;
       return this;
     }
@@ -4970,11 +5324,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getFirstName() {
       return this.firstName;
     }
 
-    public registerUser_args setFirstName(java.lang.String firstName) {
+    public registerUser_args setFirstName(@org.apache.thrift.annotation.Nullable java.lang.String firstName) {
       this.firstName = firstName;
       return this;
     }
@@ -4994,11 +5349,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getLastName() {
       return this.lastName;
     }
 
-    public registerUser_args setLastName(java.lang.String lastName) {
+    public registerUser_args setLastName(@org.apache.thrift.annotation.Nullable java.lang.String lastName) {
       this.lastName = lastName;
       return this;
     }
@@ -5018,11 +5374,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewPassword() {
       return this.newPassword;
     }
 
-    public registerUser_args setNewPassword(java.lang.String newPassword) {
+    public registerUser_args setNewPassword(@org.apache.thrift.annotation.Nullable java.lang.String newPassword) {
       this.newPassword = newPassword;
       return this;
     }
@@ -5042,7 +5399,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -5095,6 +5453,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -5120,6 +5480,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5144,8 +5505,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerUser_args)
         return this.equals((registerUser_args)that);
       return false;
@@ -5253,7 +5612,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5263,7 +5622,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5273,7 +5632,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
+      lastComparison = java.lang.Boolean.compare(isSetEmailAddress(), other.isSetEmailAddress());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5283,7 +5642,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFirstName()).compareTo(other.isSetFirstName());
+      lastComparison = java.lang.Boolean.compare(isSetFirstName(), other.isSetFirstName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5293,7 +5652,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLastName()).compareTo(other.isSetLastName());
+      lastComparison = java.lang.Boolean.compare(isSetLastName(), other.isSetLastName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5303,7 +5662,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewPassword()).compareTo(other.isSetNewPassword());
+      lastComparison = java.lang.Boolean.compare(isSetNewPassword(), other.isSetNewPassword());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5316,14 +5675,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -5427,6 +5790,7 @@
     }
 
     private static class registerUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUser_argsStandardScheme getScheme() {
         return new registerUser_argsStandardScheme();
       }
@@ -5434,6 +5798,7 @@
 
     private static class registerUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5504,6 +5869,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5545,6 +5911,7 @@
     }
 
     private static class registerUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUser_argsTupleScheme getScheme() {
         return new registerUser_argsTupleScheme();
       }
@@ -5587,6 +5954,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerUser_result implements org.apache.thrift.TBase<registerUser_result, registerUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerUser_result");
 
@@ -5598,8 +5966,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -5618,6 +5986,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -5644,6 +6013,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5656,10 +6026,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5710,6 +6082,7 @@
       }
     }
 
+    @Override
     public registerUser_result deepCopy() {
       return new registerUser_result(this);
     }
@@ -5745,11 +6118,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public registerUser_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public registerUser_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -5769,11 +6143,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public registerUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public registerUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -5793,7 +6168,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -5822,6 +6198,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -5838,6 +6216,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5856,8 +6235,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerUser_result)
         return this.equals((registerUser_result)that);
       return false;
@@ -5924,7 +6301,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5934,7 +6311,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5944,7 +6321,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5957,10 +6334,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -6021,6 +6401,7 @@
     }
 
     private static class registerUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUser_resultStandardScheme getScheme() {
         return new registerUser_resultStandardScheme();
       }
@@ -6028,6 +6409,7 @@
 
     private static class registerUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6075,6 +6457,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6101,6 +6484,7 @@
     }
 
     private static class registerUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUser_resultTupleScheme getScheme() {
         return new registerUser_resultTupleScheme();
       }
@@ -6159,6 +6543,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class enableUser_args implements org.apache.thrift.TBase<enableUser_args, enableUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<enableUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("enableUser_args");
 
@@ -6168,8 +6553,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new enableUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new enableUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -6187,6 +6572,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -6211,6 +6597,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6223,10 +6610,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6268,6 +6657,7 @@
       }
     }
 
+    @Override
     public enableUser_args deepCopy() {
       return new enableUser_args(this);
     }
@@ -6278,11 +6668,12 @@
       this.username = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public enableUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public enableUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -6302,11 +6693,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public enableUser_args setUsername(java.lang.String username) {
+    public enableUser_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -6326,7 +6718,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -6347,6 +6740,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -6360,6 +6755,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6376,8 +6772,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof enableUser_args)
         return this.equals((enableUser_args)that);
       return false;
@@ -6433,7 +6827,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6443,7 +6837,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6456,14 +6850,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -6523,6 +6921,7 @@
     }
 
     private static class enableUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public enableUser_argsStandardScheme getScheme() {
         return new enableUser_argsStandardScheme();
       }
@@ -6530,6 +6929,7 @@
 
     private static class enableUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<enableUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, enableUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6568,6 +6968,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, enableUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6589,6 +6990,7 @@
     }
 
     private static class enableUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public enableUser_argsTupleScheme getScheme() {
         return new enableUser_argsTupleScheme();
       }
@@ -6619,6 +7021,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class enableUser_result implements org.apache.thrift.TBase<enableUser_result, enableUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<enableUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("enableUser_result");
 
@@ -6630,8 +7033,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new enableUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -6650,6 +7053,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -6676,6 +7080,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6688,10 +7093,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6742,6 +7149,7 @@
       }
     }
 
+    @Override
     public enableUser_result deepCopy() {
       return new enableUser_result(this);
     }
@@ -6777,11 +7185,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public enableUser_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public enableUser_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -6801,11 +7210,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public enableUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public enableUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -6825,7 +7235,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -6854,6 +7265,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -6870,6 +7283,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6888,8 +7302,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof enableUser_result)
         return this.equals((enableUser_result)that);
       return false;
@@ -6956,7 +7368,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6966,7 +7378,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6976,7 +7388,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6989,10 +7401,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -7053,6 +7468,7 @@
     }
 
     private static class enableUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public enableUser_resultStandardScheme getScheme() {
         return new enableUser_resultStandardScheme();
       }
@@ -7060,6 +7476,7 @@
 
     private static class enableUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<enableUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, enableUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7107,6 +7524,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, enableUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7133,6 +7551,7 @@
     }
 
     private static class enableUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public enableUser_resultTupleScheme getScheme() {
         return new enableUser_resultTupleScheme();
       }
@@ -7191,6 +7610,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserEnabled_args implements org.apache.thrift.TBase<isUserEnabled_args, isUserEnabled_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserEnabled_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserEnabled_args");
 
@@ -7200,8 +7620,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserEnabled_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserEnabled_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -7219,6 +7639,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -7243,6 +7664,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7255,10 +7677,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7300,6 +7724,7 @@
       }
     }
 
+    @Override
     public isUserEnabled_args deepCopy() {
       return new isUserEnabled_args(this);
     }
@@ -7310,11 +7735,12 @@
       this.username = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isUserEnabled_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isUserEnabled_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -7334,11 +7760,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public isUserEnabled_args setUsername(java.lang.String username) {
+    public isUserEnabled_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -7358,7 +7785,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -7379,6 +7807,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -7392,6 +7822,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7408,8 +7839,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserEnabled_args)
         return this.equals((isUserEnabled_args)that);
       return false;
@@ -7465,7 +7894,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7475,7 +7904,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7488,14 +7917,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -7555,6 +7988,7 @@
     }
 
     private static class isUserEnabled_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserEnabled_argsStandardScheme getScheme() {
         return new isUserEnabled_argsStandardScheme();
       }
@@ -7562,6 +7996,7 @@
 
     private static class isUserEnabled_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserEnabled_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserEnabled_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7600,6 +8035,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserEnabled_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7621,6 +8057,7 @@
     }
 
     private static class isUserEnabled_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserEnabled_argsTupleScheme getScheme() {
         return new isUserEnabled_argsTupleScheme();
       }
@@ -7651,6 +8088,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserEnabled_result implements org.apache.thrift.TBase<isUserEnabled_result, isUserEnabled_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserEnabled_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserEnabled_result");
 
@@ -7662,8 +8100,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserEnabled_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -7682,6 +8120,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -7708,6 +8147,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7720,10 +8160,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7774,6 +8216,7 @@
       }
     }
 
+    @Override
     public isUserEnabled_result deepCopy() {
       return new isUserEnabled_result(this);
     }
@@ -7809,11 +8252,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public isUserEnabled_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public isUserEnabled_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -7833,11 +8277,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isUserEnabled_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isUserEnabled_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -7857,7 +8302,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -7886,6 +8332,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -7902,6 +8350,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7920,8 +8369,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserEnabled_result)
         return this.equals((isUserEnabled_result)that);
       return false;
@@ -7988,7 +8435,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7998,7 +8445,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8008,7 +8455,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8021,10 +8468,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -8085,6 +8535,7 @@
     }
 
     private static class isUserEnabled_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserEnabled_resultStandardScheme getScheme() {
         return new isUserEnabled_resultStandardScheme();
       }
@@ -8092,6 +8543,7 @@
 
     private static class isUserEnabled_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserEnabled_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserEnabled_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8139,6 +8591,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserEnabled_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8165,6 +8618,7 @@
     }
 
     private static class isUserEnabled_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserEnabled_resultTupleScheme getScheme() {
         return new isUserEnabled_resultTupleScheme();
       }
@@ -8223,6 +8677,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserExist_args implements org.apache.thrift.TBase<isUserExist_args, isUserExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExist_args");
 
@@ -8232,8 +8687,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserExist_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExist_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -8251,6 +8706,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -8275,6 +8731,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8287,10 +8744,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8332,6 +8791,7 @@
       }
     }
 
+    @Override
     public isUserExist_args deepCopy() {
       return new isUserExist_args(this);
     }
@@ -8342,11 +8802,12 @@
       this.username = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isUserExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isUserExist_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -8366,11 +8827,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public isUserExist_args setUsername(java.lang.String username) {
+    public isUserExist_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -8390,7 +8852,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -8411,6 +8874,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -8424,6 +8889,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8440,8 +8906,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExist_args)
         return this.equals((isUserExist_args)that);
       return false;
@@ -8497,7 +8961,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8507,7 +8971,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8520,14 +8984,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -8587,6 +9055,7 @@
     }
 
     private static class isUserExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExist_argsStandardScheme getScheme() {
         return new isUserExist_argsStandardScheme();
       }
@@ -8594,6 +9063,7 @@
 
     private static class isUserExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExist_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8632,6 +9102,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8653,6 +9124,7 @@
     }
 
     private static class isUserExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExist_argsTupleScheme getScheme() {
         return new isUserExist_argsTupleScheme();
       }
@@ -8683,6 +9155,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserExist_result implements org.apache.thrift.TBase<isUserExist_result, isUserExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExist_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExist_result");
 
@@ -8694,8 +9167,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExist_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -8714,6 +9187,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -8740,6 +9214,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8752,10 +9227,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8806,6 +9283,7 @@
       }
     }
 
+    @Override
     public isUserExist_result deepCopy() {
       return new isUserExist_result(this);
     }
@@ -8841,11 +9319,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public isUserExist_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public isUserExist_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -8865,11 +9344,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isUserExist_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isUserExist_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -8889,7 +9369,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -8918,6 +9399,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -8934,6 +9417,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8952,8 +9436,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExist_result)
         return this.equals((isUserExist_result)that);
       return false;
@@ -9020,7 +9502,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9030,7 +9512,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9040,7 +9522,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9053,10 +9535,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -9117,6 +9602,7 @@
     }
 
     private static class isUserExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExist_resultStandardScheme getScheme() {
         return new isUserExist_resultStandardScheme();
       }
@@ -9124,6 +9610,7 @@
 
     private static class isUserExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExist_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExist_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9171,6 +9658,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExist_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9197,6 +9685,7 @@
     }
 
     private static class isUserExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExist_resultTupleScheme getScheme() {
         return new isUserExist_resultTupleScheme();
       }
@@ -9255,6 +9744,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUser_args implements org.apache.thrift.TBase<getUser_args, getUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUser_args");
 
@@ -9264,8 +9754,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -9283,6 +9773,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -9307,6 +9798,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9319,10 +9811,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9364,6 +9858,7 @@
       }
     }
 
+    @Override
     public getUser_args deepCopy() {
       return new getUser_args(this);
     }
@@ -9374,11 +9869,12 @@
       this.username = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -9398,11 +9894,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public getUser_args setUsername(java.lang.String username) {
+    public getUser_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -9422,7 +9919,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -9443,6 +9941,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -9456,6 +9956,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9472,8 +9973,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUser_args)
         return this.equals((getUser_args)that);
       return false;
@@ -9529,7 +10028,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9539,7 +10038,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9552,14 +10051,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -9619,6 +10122,7 @@
     }
 
     private static class getUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_argsStandardScheme getScheme() {
         return new getUser_argsStandardScheme();
       }
@@ -9626,6 +10130,7 @@
 
     private static class getUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9664,6 +10169,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9685,6 +10191,7 @@
     }
 
     private static class getUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_argsTupleScheme getScheme() {
         return new getUser_argsTupleScheme();
       }
@@ -9715,6 +10222,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUser_result implements org.apache.thrift.TBase<getUser_result, getUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUser_result");
 
@@ -9725,9 +10233,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUser_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.user.UserProfile success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -9746,6 +10254,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -9772,6 +10281,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9784,10 +10294,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9836,6 +10348,7 @@
       }
     }
 
+    @Override
     public getUser_result deepCopy() {
       return new getUser_result(this);
     }
@@ -9847,11 +10360,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.user.UserProfile getSuccess() {
       return this.success;
     }
 
-    public getUser_result setSuccess(org.apache.airavata.model.user.UserProfile success) {
+    public getUser_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile success) {
       this.success = success;
       return this;
     }
@@ -9871,11 +10385,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public getUser_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public getUser_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -9895,11 +10410,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -9919,7 +10435,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -9948,6 +10465,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -9964,6 +10483,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9982,8 +10502,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUser_result)
         return this.equals((getUser_result)that);
       return false;
@@ -10052,7 +10570,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10062,7 +10580,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10072,7 +10590,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10085,10 +10603,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -10154,6 +10675,7 @@
     }
 
     private static class getUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_resultStandardScheme getScheme() {
         return new getUser_resultStandardScheme();
       }
@@ -10161,6 +10683,7 @@
 
     private static class getUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10209,6 +10732,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10235,6 +10759,7 @@
     }
 
     private static class getUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_resultTupleScheme getScheme() {
         return new getUser_resultTupleScheme();
       }
@@ -10294,6 +10819,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUsers_args implements org.apache.thrift.TBase<getUsers_args, getUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUsers_args");
 
@@ -10305,10 +10831,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
     public int offset; // required
     public int limit; // required
-    public java.lang.String search; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String search; // 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 {
@@ -10328,6 +10854,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -10356,6 +10883,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10368,10 +10896,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10429,6 +10959,7 @@
       }
     }
 
+    @Override
     public getUsers_args deepCopy() {
       return new getUsers_args(this);
     }
@@ -10443,11 +10974,12 @@
       this.search = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -10513,11 +11045,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSearch() {
       return this.search;
     }
 
-    public getUsers_args setSearch(java.lang.String search) {
+    public getUsers_args setSearch(@org.apache.thrift.annotation.Nullable java.lang.String search) {
       this.search = search;
       return this;
     }
@@ -10537,7 +11070,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -10574,6 +11108,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -10593,6 +11129,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10613,8 +11150,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUsers_args)
         return this.equals((getUsers_args)that);
       return false;
@@ -10692,7 +11227,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10702,7 +11237,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10712,7 +11247,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10722,7 +11257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSearch()).compareTo(other.isSetSearch());
+      lastComparison = java.lang.Boolean.compare(isSetSearch(), other.isSetSearch());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10735,14 +11270,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -10811,6 +11350,7 @@
     }
 
     private static class getUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_argsStandardScheme getScheme() {
         return new getUsers_argsStandardScheme();
       }
@@ -10818,6 +11358,7 @@
 
     private static class getUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10878,6 +11419,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10905,6 +11447,7 @@
     }
 
     private static class getUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_argsTupleScheme getScheme() {
         return new getUsers_argsTupleScheme();
       }
@@ -10951,6 +11494,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUsers_result implements org.apache.thrift.TBase<getUsers_result, getUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUsers_result");
 
@@ -10961,9 +11505,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -10982,6 +11526,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -11008,6 +11553,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11020,10 +11566,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11077,6 +11625,7 @@
       }
     }
 
+    @Override
     public getUsers_result deepCopy() {
       return new getUsers_result(this);
     }
@@ -11092,6 +11641,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.user.UserProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -11103,11 +11653,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.user.UserProfile> getSuccess() {
       return this.success;
     }
 
-    public getUsers_result setSuccess(java.util.List<org.apache.airavata.model.user.UserProfile> success) {
+    public getUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success) {
       this.success = success;
       return this;
     }
@@ -11127,11 +11678,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public getUsers_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public getUsers_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -11151,11 +11703,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -11175,7 +11728,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -11204,6 +11758,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -11220,6 +11776,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11238,8 +11795,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUsers_result)
         return this.equals((getUsers_result)that);
       return false;
@@ -11308,7 +11863,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11318,7 +11873,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11328,7 +11883,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11341,10 +11896,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -11407,6 +11965,7 @@
     }
 
     private static class getUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_resultStandardScheme getScheme() {
         return new getUsers_resultStandardScheme();
       }
@@ -11414,6 +11973,7 @@
 
     private static class getUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11429,7 +11989,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list0.size);
-                  org.apache.airavata.model.user.UserProfile _elem1;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = new org.apache.airavata.model.user.UserProfile();
@@ -11472,6 +12032,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11505,6 +12066,7 @@
     }
 
     private static class getUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_resultTupleScheme getScheme() {
         return new getUsers_resultTupleScheme();
       }
@@ -11549,9 +12111,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list5.size);
-            org.apache.airavata.model.user.UserProfile _elem6;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = new org.apache.airavata.model.user.UserProfile();
@@ -11579,6 +12141,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class resetUserPassword_args implements org.apache.thrift.TBase<resetUserPassword_args, resetUserPassword_args._Fields>, java.io.Serializable, Cloneable, Comparable<resetUserPassword_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("resetUserPassword_args");
 
@@ -11589,9 +12152,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new resetUserPassword_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new resetUserPassword_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
-    public java.lang.String newPassword; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newPassword; // 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 {
@@ -11610,6 +12173,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -11636,6 +12200,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11648,10 +12213,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11700,6 +12267,7 @@
       }
     }
 
+    @Override
     public resetUserPassword_args deepCopy() {
       return new resetUserPassword_args(this);
     }
@@ -11711,11 +12279,12 @@
       this.newPassword = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public resetUserPassword_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public resetUserPassword_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -11735,11 +12304,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public resetUserPassword_args setUsername(java.lang.String username) {
+    public resetUserPassword_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -11759,11 +12329,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewPassword() {
       return this.newPassword;
     }
 
-    public resetUserPassword_args setNewPassword(java.lang.String newPassword) {
+    public resetUserPassword_args setNewPassword(@org.apache.thrift.annotation.Nullable java.lang.String newPassword) {
       this.newPassword = newPassword;
       return this;
     }
@@ -11783,7 +12354,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -11812,6 +12384,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -11828,6 +12402,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11846,8 +12421,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof resetUserPassword_args)
         return this.equals((resetUserPassword_args)that);
       return false;
@@ -11916,7 +12489,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11926,7 +12499,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11936,7 +12509,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewPassword()).compareTo(other.isSetNewPassword());
+      lastComparison = java.lang.Boolean.compare(isSetNewPassword(), other.isSetNewPassword());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11949,14 +12522,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -12027,6 +12604,7 @@
     }
 
     private static class resetUserPassword_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public resetUserPassword_argsStandardScheme getScheme() {
         return new resetUserPassword_argsStandardScheme();
       }
@@ -12034,6 +12612,7 @@
 
     private static class resetUserPassword_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<resetUserPassword_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, resetUserPassword_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12080,6 +12659,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, resetUserPassword_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12106,6 +12686,7 @@
     }
 
     private static class resetUserPassword_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public resetUserPassword_argsTupleScheme getScheme() {
         return new resetUserPassword_argsTupleScheme();
       }
@@ -12139,6 +12720,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class resetUserPassword_result implements org.apache.thrift.TBase<resetUserPassword_result, resetUserPassword_result._Fields>, java.io.Serializable, Cloneable, Comparable<resetUserPassword_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("resetUserPassword_result");
 
@@ -12150,8 +12732,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new resetUserPassword_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -12170,6 +12752,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -12196,6 +12779,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12208,10 +12792,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12262,6 +12848,7 @@
       }
     }
 
+    @Override
     public resetUserPassword_result deepCopy() {
       return new resetUserPassword_result(this);
     }
@@ -12297,11 +12884,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public resetUserPassword_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public resetUserPassword_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -12321,11 +12909,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public resetUserPassword_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public resetUserPassword_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -12345,7 +12934,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -12374,6 +12964,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -12390,6 +12982,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12408,8 +13001,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof resetUserPassword_result)
         return this.equals((resetUserPassword_result)that);
       return false;
@@ -12476,7 +13067,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12486,7 +13077,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12496,7 +13087,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12509,10 +13100,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -12573,6 +13167,7 @@
     }
 
     private static class resetUserPassword_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public resetUserPassword_resultStandardScheme getScheme() {
         return new resetUserPassword_resultStandardScheme();
       }
@@ -12580,6 +13175,7 @@
 
     private static class resetUserPassword_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<resetUserPassword_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, resetUserPassword_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12627,6 +13223,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, resetUserPassword_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12653,6 +13250,7 @@
     }
 
     private static class resetUserPassword_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public resetUserPassword_resultTupleScheme getScheme() {
         return new resetUserPassword_resultTupleScheme();
       }
@@ -12711,6 +13309,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class findUsers_args implements org.apache.thrift.TBase<findUsers_args, findUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<findUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("findUsers_args");
 
@@ -12721,9 +13320,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new findUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new findUsers_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String email; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String email; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -12742,6 +13341,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -12768,6 +13368,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12780,10 +13381,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12832,6 +13435,7 @@
       }
     }
 
+    @Override
     public findUsers_args deepCopy() {
       return new findUsers_args(this);
     }
@@ -12843,11 +13447,12 @@
       this.userId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public findUsers_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public findUsers_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -12867,11 +13472,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEmail() {
       return this.email;
     }
 
-    public findUsers_args setEmail(java.lang.String email) {
+    public findUsers_args setEmail(@org.apache.thrift.annotation.Nullable java.lang.String email) {
       this.email = email;
       return this;
     }
@@ -12891,11 +13497,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public findUsers_args setUserId(java.lang.String userId) {
+    public findUsers_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -12915,7 +13522,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -12944,6 +13552,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -12960,6 +13570,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12978,8 +13589,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof findUsers_args)
         return this.equals((findUsers_args)that);
       return false;
@@ -13048,7 +13657,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13058,7 +13667,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEmail()).compareTo(other.isSetEmail());
+      lastComparison = java.lang.Boolean.compare(isSetEmail(), other.isSetEmail());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13068,7 +13677,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13081,14 +13690,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -13159,6 +13772,7 @@
     }
 
     private static class findUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public findUsers_argsStandardScheme getScheme() {
         return new findUsers_argsStandardScheme();
       }
@@ -13166,6 +13780,7 @@
 
     private static class findUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<findUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, findUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13212,6 +13827,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, findUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13238,6 +13854,7 @@
     }
 
     private static class findUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public findUsers_argsTupleScheme getScheme() {
         return new findUsers_argsTupleScheme();
       }
@@ -13271,6 +13888,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class findUsers_result implements org.apache.thrift.TBase<findUsers_result, findUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<findUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("findUsers_result");
 
@@ -13281,9 +13899,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new findUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new findUsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -13302,6 +13920,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -13328,6 +13947,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13340,10 +13960,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13397,6 +14019,7 @@
       }
     }
 
+    @Override
     public findUsers_result deepCopy() {
       return new findUsers_result(this);
     }
@@ -13412,6 +14035,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.user.UserProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -13423,11 +14047,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.user.UserProfile> getSuccess() {
       return this.success;
     }
 
-    public findUsers_result setSuccess(java.util.List<org.apache.airavata.model.user.UserProfile> success) {
+    public findUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success) {
       this.success = success;
       return this;
     }
@@ -13447,11 +14072,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public findUsers_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public findUsers_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -13471,11 +14097,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public findUsers_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public findUsers_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -13495,7 +14122,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -13524,6 +14152,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -13540,6 +14170,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13558,8 +14189,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof findUsers_result)
         return this.equals((findUsers_result)that);
       return false;
@@ -13628,7 +14257,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13638,7 +14267,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13648,7 +14277,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13661,10 +14290,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -13727,6 +14359,7 @@
     }
 
     private static class findUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public findUsers_resultStandardScheme getScheme() {
         return new findUsers_resultStandardScheme();
       }
@@ -13734,6 +14367,7 @@
 
     private static class findUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<findUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, findUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13749,7 +14383,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list8.size);
-                  org.apache.airavata.model.user.UserProfile _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.model.user.UserProfile();
@@ -13792,6 +14426,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, findUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13825,6 +14460,7 @@
     }
 
     private static class findUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public findUsers_resultTupleScheme getScheme() {
         return new findUsers_resultTupleScheme();
       }
@@ -13869,9 +14505,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list13.size);
-            org.apache.airavata.model.user.UserProfile _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.model.user.UserProfile();
@@ -13899,6 +14535,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserProfile_args implements org.apache.thrift.TBase<updateUserProfile_args, updateUserProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserProfile_args");
 
@@ -13908,8 +14545,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.user.UserProfile userDetails; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userDetails; // 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 {
@@ -13927,6 +14564,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -13951,6 +14589,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13963,10 +14602,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14008,6 +14649,7 @@
       }
     }
 
+    @Override
     public updateUserProfile_args deepCopy() {
       return new updateUserProfile_args(this);
     }
@@ -14018,11 +14660,12 @@
       this.userDetails = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUserProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUserProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -14042,11 +14685,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.user.UserProfile getUserDetails() {
       return this.userDetails;
     }
 
-    public updateUserProfile_args setUserDetails(org.apache.airavata.model.user.UserProfile userDetails) {
+    public updateUserProfile_args setUserDetails(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userDetails) {
       this.userDetails = userDetails;
       return this;
     }
@@ -14066,7 +14710,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -14087,6 +14732,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -14100,6 +14747,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14116,8 +14764,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserProfile_args)
         return this.equals((updateUserProfile_args)that);
       return false;
@@ -14173,7 +14819,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14183,7 +14829,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserDetails()).compareTo(other.isSetUserDetails());
+      lastComparison = java.lang.Boolean.compare(isSetUserDetails(), other.isSetUserDetails());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14196,14 +14842,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -14266,6 +14916,7 @@
     }
 
     private static class updateUserProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_argsStandardScheme getScheme() {
         return new updateUserProfile_argsStandardScheme();
       }
@@ -14273,6 +14924,7 @@
 
     private static class updateUserProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14312,6 +14964,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14333,6 +14986,7 @@
     }
 
     private static class updateUserProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_argsTupleScheme getScheme() {
         return new updateUserProfile_argsTupleScheme();
       }
@@ -14364,6 +15018,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserProfile_result implements org.apache.thrift.TBase<updateUserProfile_result, updateUserProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserProfile_result");
 
@@ -14373,8 +15028,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -14392,6 +15047,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // IDSE
@@ -14416,6 +15072,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -14428,10 +15085,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14473,6 +15132,7 @@
       }
     }
 
+    @Override
     public updateUserProfile_result deepCopy() {
       return new updateUserProfile_result(this);
     }
@@ -14483,11 +15143,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public updateUserProfile_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public updateUserProfile_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -14507,11 +15168,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUserProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUserProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -14531,7 +15193,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case IDSE:
         if (value == null) {
@@ -14552,6 +15215,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case IDSE:
@@ -14565,6 +15230,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14581,8 +15247,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserProfile_result)
         return this.equals((updateUserProfile_result)that);
       return false;
@@ -14638,7 +15302,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14648,7 +15312,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14661,10 +15325,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -14719,6 +15386,7 @@
     }
 
     private static class updateUserProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_resultStandardScheme getScheme() {
         return new updateUserProfile_resultStandardScheme();
       }
@@ -14726,6 +15394,7 @@
 
     private static class updateUserProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14765,6 +15434,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14786,6 +15456,7 @@
     }
 
     private static class updateUserProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_resultTupleScheme getScheme() {
         return new updateUserProfile_resultTupleScheme();
       }
@@ -14834,6 +15505,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUser_args implements org.apache.thrift.TBase<deleteUser_args, deleteUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUser_args");
 
@@ -14843,8 +15515,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -14862,6 +15534,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -14886,6 +15559,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -14898,10 +15572,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14943,6 +15619,7 @@
       }
     }
 
+    @Override
     public deleteUser_args deepCopy() {
       return new deleteUser_args(this);
     }
@@ -14953,11 +15630,12 @@
       this.username = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -14977,11 +15655,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public deleteUser_args setUsername(java.lang.String username) {
+    public deleteUser_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -15001,7 +15680,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -15022,6 +15702,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -15035,6 +15717,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -15051,8 +15734,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUser_args)
         return this.equals((deleteUser_args)that);
       return false;
@@ -15108,7 +15789,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15118,7 +15799,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15131,14 +15812,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -15198,6 +15883,7 @@
     }
 
     private static class deleteUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_argsStandardScheme getScheme() {
         return new deleteUser_argsStandardScheme();
       }
@@ -15205,6 +15891,7 @@
 
     private static class deleteUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -15243,6 +15930,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -15264,6 +15952,7 @@
     }
 
     private static class deleteUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_argsTupleScheme getScheme() {
         return new deleteUser_argsTupleScheme();
       }
@@ -15294,6 +15983,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUser_result implements org.apache.thrift.TBase<deleteUser_result, deleteUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUser_result");
 
@@ -15305,8 +15995,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -15325,6 +16015,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -15351,6 +16042,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -15363,10 +16055,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -15417,6 +16111,7 @@
       }
     }
 
+    @Override
     public deleteUser_result deepCopy() {
       return new deleteUser_result(this);
     }
@@ -15452,11 +16147,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public deleteUser_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public deleteUser_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -15476,11 +16172,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -15500,7 +16197,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -15529,6 +16227,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -15545,6 +16245,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -15563,8 +16264,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUser_result)
         return this.equals((deleteUser_result)that);
       return false;
@@ -15631,7 +16330,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15641,7 +16340,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15651,7 +16350,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15664,10 +16363,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -15728,6 +16430,7 @@
     }
 
     private static class deleteUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_resultStandardScheme getScheme() {
         return new deleteUser_resultStandardScheme();
       }
@@ -15735,6 +16438,7 @@
 
     private static class deleteUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -15782,6 +16486,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -15808,6 +16513,7 @@
     }
 
     private static class deleteUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_resultTupleScheme getScheme() {
         return new deleteUser_resultTupleScheme();
       }
@@ -15866,6 +16572,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addRoleToUser_args implements org.apache.thrift.TBase<addRoleToUser_args, addRoleToUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<addRoleToUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addRoleToUser_args");
 
@@ -15876,9 +16583,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addRoleToUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addRoleToUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
-    public java.lang.String roleName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String roleName; // 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 {
@@ -15897,6 +16604,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -15923,6 +16631,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -15935,10 +16644,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -15987,6 +16698,7 @@
       }
     }
 
+    @Override
     public addRoleToUser_args deepCopy() {
       return new addRoleToUser_args(this);
     }
@@ -15998,11 +16710,12 @@
       this.roleName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addRoleToUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addRoleToUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -16022,11 +16735,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public addRoleToUser_args setUsername(java.lang.String username) {
+    public addRoleToUser_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -16046,11 +16760,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getRoleName() {
       return this.roleName;
     }
 
-    public addRoleToUser_args setRoleName(java.lang.String roleName) {
+    public addRoleToUser_args setRoleName(@org.apache.thrift.annotation.Nullable java.lang.String roleName) {
       this.roleName = roleName;
       return this;
     }
@@ -16070,7 +16785,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -16099,6 +16815,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -16115,6 +16833,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -16133,8 +16852,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addRoleToUser_args)
         return this.equals((addRoleToUser_args)that);
       return false;
@@ -16203,7 +16920,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16213,7 +16930,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16223,7 +16940,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRoleName()).compareTo(other.isSetRoleName());
+      lastComparison = java.lang.Boolean.compare(isSetRoleName(), other.isSetRoleName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16236,14 +16953,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -16314,6 +17035,7 @@
     }
 
     private static class addRoleToUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addRoleToUser_argsStandardScheme getScheme() {
         return new addRoleToUser_argsStandardScheme();
       }
@@ -16321,6 +17043,7 @@
 
     private static class addRoleToUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addRoleToUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addRoleToUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16367,6 +17090,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addRoleToUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -16393,6 +17117,7 @@
     }
 
     private static class addRoleToUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addRoleToUser_argsTupleScheme getScheme() {
         return new addRoleToUser_argsTupleScheme();
       }
@@ -16426,6 +17151,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addRoleToUser_result implements org.apache.thrift.TBase<addRoleToUser_result, addRoleToUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<addRoleToUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addRoleToUser_result");
 
@@ -16437,8 +17163,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addRoleToUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -16457,6 +17183,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -16483,6 +17210,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -16495,10 +17223,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -16549,6 +17279,7 @@
       }
     }
 
+    @Override
     public addRoleToUser_result deepCopy() {
       return new addRoleToUser_result(this);
     }
@@ -16584,11 +17315,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public addRoleToUser_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public addRoleToUser_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -16608,11 +17340,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addRoleToUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addRoleToUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -16632,7 +17365,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -16661,6 +17395,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -16677,6 +17413,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -16695,8 +17432,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addRoleToUser_result)
         return this.equals((addRoleToUser_result)that);
       return false;
@@ -16763,7 +17498,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16773,7 +17508,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16783,7 +17518,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16796,10 +17531,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -16860,6 +17598,7 @@
     }
 
     private static class addRoleToUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addRoleToUser_resultStandardScheme getScheme() {
         return new addRoleToUser_resultStandardScheme();
       }
@@ -16867,6 +17606,7 @@
 
     private static class addRoleToUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addRoleToUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addRoleToUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16914,6 +17654,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addRoleToUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -16940,6 +17681,7 @@
     }
 
     private static class addRoleToUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addRoleToUser_resultTupleScheme getScheme() {
         return new addRoleToUser_resultTupleScheme();
       }
@@ -16998,6 +17740,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeRoleFromUser_args implements org.apache.thrift.TBase<removeRoleFromUser_args, removeRoleFromUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeRoleFromUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeRoleFromUser_args");
 
@@ -17008,9 +17751,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeRoleFromUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeRoleFromUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String username; // required
-    public java.lang.String roleName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String username; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String roleName; // 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 {
@@ -17029,6 +17772,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -17055,6 +17799,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17067,10 +17812,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -17119,6 +17866,7 @@
       }
     }
 
+    @Override
     public removeRoleFromUser_args deepCopy() {
       return new removeRoleFromUser_args(this);
     }
@@ -17130,11 +17878,12 @@
       this.roleName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public removeRoleFromUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public removeRoleFromUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -17154,11 +17903,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUsername() {
       return this.username;
     }
 
-    public removeRoleFromUser_args setUsername(java.lang.String username) {
+    public removeRoleFromUser_args setUsername(@org.apache.thrift.annotation.Nullable java.lang.String username) {
       this.username = username;
       return this;
     }
@@ -17178,11 +17928,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getRoleName() {
       return this.roleName;
     }
 
-    public removeRoleFromUser_args setRoleName(java.lang.String roleName) {
+    public removeRoleFromUser_args setRoleName(@org.apache.thrift.annotation.Nullable java.lang.String roleName) {
       this.roleName = roleName;
       return this;
     }
@@ -17202,7 +17953,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -17231,6 +17983,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -17247,6 +18001,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -17265,8 +18020,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeRoleFromUser_args)
         return this.equals((removeRoleFromUser_args)that);
       return false;
@@ -17335,7 +18088,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17345,7 +18098,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUsername()).compareTo(other.isSetUsername());
+      lastComparison = java.lang.Boolean.compare(isSetUsername(), other.isSetUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17355,7 +18108,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRoleName()).compareTo(other.isSetRoleName());
+      lastComparison = java.lang.Boolean.compare(isSetRoleName(), other.isSetRoleName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17368,14 +18121,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -17446,6 +18203,7 @@
     }
 
     private static class removeRoleFromUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeRoleFromUser_argsStandardScheme getScheme() {
         return new removeRoleFromUser_argsStandardScheme();
       }
@@ -17453,6 +18211,7 @@
 
     private static class removeRoleFromUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeRoleFromUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeRoleFromUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -17499,6 +18258,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeRoleFromUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -17525,6 +18285,7 @@
     }
 
     private static class removeRoleFromUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeRoleFromUser_argsTupleScheme getScheme() {
         return new removeRoleFromUser_argsTupleScheme();
       }
@@ -17558,6 +18319,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeRoleFromUser_result implements org.apache.thrift.TBase<removeRoleFromUser_result, removeRoleFromUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeRoleFromUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeRoleFromUser_result");
 
@@ -17569,8 +18331,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeRoleFromUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -17589,6 +18351,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -17615,6 +18378,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17627,10 +18391,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -17681,6 +18447,7 @@
       }
     }
 
+    @Override
     public removeRoleFromUser_result deepCopy() {
       return new removeRoleFromUser_result(this);
     }
@@ -17716,11 +18483,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public removeRoleFromUser_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public removeRoleFromUser_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -17740,11 +18508,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public removeRoleFromUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public removeRoleFromUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -17764,7 +18533,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -17793,6 +18563,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -17809,6 +18581,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -17827,8 +18600,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeRoleFromUser_result)
         return this.equals((removeRoleFromUser_result)that);
       return false;
@@ -17895,7 +18666,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17905,7 +18676,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17915,7 +18686,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17928,10 +18699,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -17992,6 +18766,7 @@
     }
 
     private static class removeRoleFromUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeRoleFromUser_resultStandardScheme getScheme() {
         return new removeRoleFromUser_resultStandardScheme();
       }
@@ -17999,6 +18774,7 @@
 
     private static class removeRoleFromUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeRoleFromUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeRoleFromUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -18046,6 +18822,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeRoleFromUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -18072,6 +18849,7 @@
     }
 
     private static class removeRoleFromUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeRoleFromUser_resultTupleScheme getScheme() {
         return new removeRoleFromUser_resultTupleScheme();
       }
@@ -18130,6 +18908,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUsersWithRole_args implements org.apache.thrift.TBase<getUsersWithRole_args, getUsersWithRole_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUsersWithRole_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUsersWithRole_args");
 
@@ -18139,8 +18918,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUsersWithRole_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUsersWithRole_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String roleName; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String roleName; // 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 {
@@ -18158,6 +18937,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -18182,6 +18962,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -18194,10 +18975,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -18239,6 +19022,7 @@
       }
     }
 
+    @Override
     public getUsersWithRole_args deepCopy() {
       return new getUsersWithRole_args(this);
     }
@@ -18249,11 +19033,12 @@
       this.roleName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUsersWithRole_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUsersWithRole_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -18273,11 +19058,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getRoleName() {
       return this.roleName;
     }
 
-    public getUsersWithRole_args setRoleName(java.lang.String roleName) {
+    public getUsersWithRole_args setRoleName(@org.apache.thrift.annotation.Nullable java.lang.String roleName) {
       this.roleName = roleName;
       return this;
     }
@@ -18297,7 +19083,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -18318,6 +19105,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -18331,6 +19120,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -18347,8 +19137,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUsersWithRole_args)
         return this.equals((getUsersWithRole_args)that);
       return false;
@@ -18404,7 +19192,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18414,7 +19202,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRoleName()).compareTo(other.isSetRoleName());
+      lastComparison = java.lang.Boolean.compare(isSetRoleName(), other.isSetRoleName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18427,14 +19215,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -18494,6 +19286,7 @@
     }
 
     private static class getUsersWithRole_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsersWithRole_argsStandardScheme getScheme() {
         return new getUsersWithRole_argsStandardScheme();
       }
@@ -18501,6 +19294,7 @@
 
     private static class getUsersWithRole_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUsersWithRole_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUsersWithRole_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -18539,6 +19333,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUsersWithRole_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -18560,6 +19355,7 @@
     }
 
     private static class getUsersWithRole_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsersWithRole_argsTupleScheme getScheme() {
         return new getUsersWithRole_argsTupleScheme();
       }
@@ -18590,6 +19386,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUsersWithRole_result implements org.apache.thrift.TBase<getUsersWithRole_result, getUsersWithRole_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUsersWithRole_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUsersWithRole_result");
 
@@ -18600,9 +19397,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUsersWithRole_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUsersWithRole_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
-    public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -18621,6 +19418,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -18647,6 +19445,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -18659,10 +19458,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -18716,6 +19517,7 @@
       }
     }
 
+    @Override
     public getUsersWithRole_result deepCopy() {
       return new getUsersWithRole_result(this);
     }
@@ -18731,6 +19533,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.user.UserProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -18742,11 +19545,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.user.UserProfile> getSuccess() {
       return this.success;
     }
 
-    public getUsersWithRole_result setSuccess(java.util.List<org.apache.airavata.model.user.UserProfile> success) {
+    public getUsersWithRole_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success) {
       this.success = success;
       return this;
     }
@@ -18766,11 +19570,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException getIdse() {
       return this.Idse;
     }
 
-    public getUsersWithRole_result setIdse(org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
+    public getUsersWithRole_result setIdse(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.iam.admin.services.cpi.exception.IamAdminServicesException Idse) {
       this.Idse = Idse;
       return this;
     }
@@ -18790,11 +19595,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUsersWithRole_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUsersWithRole_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -18814,7 +19620,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -18843,6 +19650,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -18859,6 +19668,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -18877,8 +19687,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUsersWithRole_result)
         return this.equals((getUsersWithRole_result)that);
       return false;
@@ -18947,7 +19755,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18957,7 +19765,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetIdse()).compareTo(other.isSetIdse());
+      lastComparison = java.lang.Boolean.compare(isSetIdse(), other.isSetIdse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18967,7 +19775,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18980,10 +19788,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -19046,6 +19857,7 @@
     }
 
     private static class getUsersWithRole_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsersWithRole_resultStandardScheme getScheme() {
         return new getUsersWithRole_resultStandardScheme();
       }
@@ -19053,6 +19865,7 @@
 
     private static class getUsersWithRole_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUsersWithRole_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUsersWithRole_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -19068,7 +19881,7 @@
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list16.size);
-                  org.apache.airavata.model.user.UserProfile _elem17;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem17;
                   for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                   {
                     _elem17 = new org.apache.airavata.model.user.UserProfile();
@@ -19111,6 +19924,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUsersWithRole_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -19144,6 +19958,7 @@
     }
 
     private static class getUsersWithRole_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsersWithRole_resultTupleScheme getScheme() {
         return new getUsersWithRole_resultTupleScheme();
       }
@@ -19188,9 +20003,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list21.size);
-            org.apache.airavata.model.user.UserProfile _elem22;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem22;
             for (int _i23 = 0; _i23 < _list21.size; ++_i23)
             {
               _elem22 = new org.apache.airavata.model.user.UserProfile();
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/exception/IamAdminServicesException.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/exception/IamAdminServicesException.java
index 29aaaf8..7491dca 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/exception/IamAdminServicesException.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/exception/IamAdminServicesException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.service.profile.iam.admin.services.cpi.exception;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class IamAdminServicesException extends org.apache.thrift.TException implements org.apache.thrift.TBase<IamAdminServicesException, IamAdminServicesException._Fields>, java.io.Serializable, Cloneable, Comparable<IamAdminServicesException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("IamAdminServicesException");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new IamAdminServicesExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new IamAdminServicesExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public IamAdminServicesException deepCopy() {
     return new IamAdminServicesException(this);
   }
@@ -131,11 +136,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public IamAdminServicesException setMessage(java.lang.String message) {
+  public IamAdminServicesException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -155,7 +161,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -168,6 +175,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -178,6 +187,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -192,8 +202,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof IamAdminServicesException)
       return this.equals((IamAdminServicesException)that);
     return false;
@@ -236,7 +244,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -249,14 +257,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class IamAdminServicesExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public IamAdminServicesExceptionStandardScheme getScheme() {
       return new IamAdminServicesExceptionStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class IamAdminServicesExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<IamAdminServicesException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, IamAdminServicesException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -338,6 +352,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, IamAdminServicesException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -354,6 +369,7 @@
   }
 
   private static class IamAdminServicesExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public IamAdminServicesExceptionTupleScheme getScheme() {
       return new IamAdminServicesExceptionTupleScheme();
     }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/iam_admin_services_cpiConstants.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/iam_admin_services_cpiConstants.java
index 2c269f1..8a6d3f1 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/iam_admin_services_cpiConstants.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/iam/admin/services/cpi/iam_admin_services_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/TenantProfileService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/TenantProfileService.java
index acf9197..00893f8 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/TenantProfileService.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/TenantProfileService.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.service.profile.tenant.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class TenantProfileService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -51,7 +51,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
@@ -72,9 +72,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -89,6 +91,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public java.lang.String addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_addGateway(authzToken, gateway);
@@ -119,6 +122,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
     }
 
+    @Override
     public boolean updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateGateway(authzToken, updatedGateway);
@@ -149,6 +153,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGateway failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Gateway getGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataInternalGatewayId) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getGateway(authzToken, airavataInternalGatewayId);
@@ -179,6 +184,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
     }
 
+    @Override
     public boolean deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataInternalGatewayId, java.lang.String gatewayId) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_deleteGateway(authzToken, airavataInternalGatewayId, gatewayId);
@@ -210,6 +216,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getAllGateways(authzToken);
@@ -239,6 +246,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
     }
 
+    @Override
     public boolean isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_isGatewayExist(authzToken, gatewayId);
@@ -269,6 +277,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getAllGatewaysForUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String requesterUsername) throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getAllGatewaysForUser(authzToken, requesterUsername);
@@ -308,6 +317,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -317,6 +327,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void addGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGateway_call method_call = new addGateway_call(authzToken, gateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -333,6 +344,7 @@
         this.gateway = gateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGateway_args args = new addGateway_args();
@@ -342,6 +354,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -352,6 +365,7 @@
       }
     }
 
+    @Override
     public void updateGateway(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGateway_call method_call = new updateGateway_call(authzToken, updatedGateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -368,6 +382,7 @@
         this.updatedGateway = updatedGateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGateway_args args = new updateGateway_args();
@@ -377,6 +392,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -387,6 +403,7 @@
       }
     }
 
+    @Override
     public void getGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataInternalGatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGateway_call method_call = new getGateway_call(authzToken, airavataInternalGatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -403,6 +420,7 @@
         this.airavataInternalGatewayId = airavataInternalGatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGateway_args args = new getGateway_args();
@@ -412,6 +430,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -422,6 +441,7 @@
       }
     }
 
+    @Override
     public void deleteGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String airavataInternalGatewayId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGateway_call method_call = new deleteGateway_call(authzToken, airavataInternalGatewayId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -440,6 +460,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGateway_args args = new deleteGateway_args();
@@ -450,6 +471,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -460,6 +482,7 @@
       }
     }
 
+    @Override
     public void getAllGateways(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGateways_call method_call = new getAllGateways_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -474,6 +497,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGateways", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGateways_args args = new getAllGateways_args();
@@ -482,6 +506,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -492,6 +517,7 @@
       }
     }
 
+    @Override
     public void isGatewayExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isGatewayExist_call method_call = new isGatewayExist_call(authzToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -508,6 +534,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGatewayExist_args args = new isGatewayExist_args();
@@ -517,6 +544,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -527,6 +555,7 @@
       }
     }
 
+    @Override
     public void getAllGatewaysForUser(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String requesterUsername, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewaysForUser_call method_call = new getAllGatewaysForUser_call(authzToken, requesterUsername, resultHandler, this, ___protocolFactory, ___transport);
@@ -543,6 +572,7 @@
         this.requesterUsername = requesterUsername;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewaysForUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewaysForUser_args args = new getAllGatewaysForUser_args();
@@ -552,6 +582,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -590,14 +621,22 @@
         super("addGateway");
       }
 
+      @Override
       public addGateway_args getEmptyArgsInstance() {
         return new addGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGateway_result getResult(I iface, addGateway_args args) throws org.apache.thrift.TException {
         addGateway_result result = new addGateway_result();
         try {
@@ -616,14 +655,22 @@
         super("updateGateway");
       }
 
+      @Override
       public updateGateway_args getEmptyArgsInstance() {
         return new updateGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGateway_result getResult(I iface, updateGateway_args args) throws org.apache.thrift.TException {
         updateGateway_result result = new updateGateway_result();
         try {
@@ -643,14 +690,22 @@
         super("getGateway");
       }
 
+      @Override
       public getGateway_args getEmptyArgsInstance() {
         return new getGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGateway_result getResult(I iface, getGateway_args args) throws org.apache.thrift.TException {
         getGateway_result result = new getGateway_result();
         try {
@@ -669,14 +724,22 @@
         super("deleteGateway");
       }
 
+      @Override
       public deleteGateway_args getEmptyArgsInstance() {
         return new deleteGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGateway_result getResult(I iface, deleteGateway_args args) throws org.apache.thrift.TException {
         deleteGateway_result result = new deleteGateway_result();
         try {
@@ -696,14 +759,22 @@
         super("getAllGateways");
       }
 
+      @Override
       public getAllGateways_args getEmptyArgsInstance() {
         return new getAllGateways_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGateways_result getResult(I iface, getAllGateways_args args) throws org.apache.thrift.TException {
         getAllGateways_result result = new getAllGateways_result();
         try {
@@ -722,14 +793,22 @@
         super("isGatewayExist");
       }
 
+      @Override
       public isGatewayExist_args getEmptyArgsInstance() {
         return new isGatewayExist_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isGatewayExist_result getResult(I iface, isGatewayExist_args args) throws org.apache.thrift.TException {
         isGatewayExist_result result = new isGatewayExist_result();
         try {
@@ -749,14 +828,22 @@
         super("getAllGatewaysForUser");
       }
 
+      @Override
       public getAllGatewaysForUser_args getEmptyArgsInstance() {
         return new getAllGatewaysForUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewaysForUser_result getResult(I iface, getAllGatewaysForUser_args args) throws org.apache.thrift.TException {
         getAllGatewaysForUser_result result = new getAllGatewaysForUser_result();
         try {
@@ -798,13 +885,16 @@
         super("addGateway");
       }
 
+      @Override
       public addGateway_args getEmptyArgsInstance() {
         return new addGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addGateway_result result = new addGateway_result();
             result.success = o;
@@ -818,6 +908,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -853,10 +944,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addGateway(args.authzToken, args.gateway,resultHandler);
       }
@@ -867,13 +960,16 @@
         super("updateGateway");
       }
 
+      @Override
       public updateGateway_args getEmptyArgsInstance() {
         return new updateGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGateway_result result = new updateGateway_result();
             result.success = o;
@@ -888,6 +984,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -923,10 +1020,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGateway(args.authzToken, args.updatedGateway,resultHandler);
       }
@@ -937,13 +1036,16 @@
         super("getGateway");
       }
 
+      @Override
       public getGateway_args getEmptyArgsInstance() {
         return new getGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Gateway o) {
             getGateway_result result = new getGateway_result();
             result.success = o;
@@ -957,6 +1059,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -992,10 +1095,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGateway_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
         iface.getGateway(args.authzToken, args.airavataInternalGatewayId,resultHandler);
       }
@@ -1006,13 +1111,16 @@
         super("deleteGateway");
       }
 
+      @Override
       public deleteGateway_args getEmptyArgsInstance() {
         return new deleteGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGateway_result result = new deleteGateway_result();
             result.success = o;
@@ -1027,6 +1135,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1062,10 +1171,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGateway(args.authzToken, args.airavataInternalGatewayId, args.gatewayId,resultHandler);
       }
@@ -1076,13 +1187,16 @@
         super("getAllGateways");
       }
 
+      @Override
       public getAllGateways_args getEmptyArgsInstance() {
         return new getAllGateways_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Gateway> o) {
             getAllGateways_result result = new getAllGateways_result();
             result.success = o;
@@ -1096,6 +1210,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1131,10 +1246,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGateways_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGateways(args.authzToken,resultHandler);
       }
@@ -1145,13 +1262,16 @@
         super("isGatewayExist");
       }
 
+      @Override
       public isGatewayExist_args getEmptyArgsInstance() {
         return new isGatewayExist_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isGatewayExist_result result = new isGatewayExist_result();
             result.success = o;
@@ -1166,6 +1286,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1201,10 +1322,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isGatewayExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isGatewayExist(args.authzToken, args.gatewayId,resultHandler);
       }
@@ -1215,13 +1338,16 @@
         super("getAllGatewaysForUser");
       }
 
+      @Override
       public getAllGatewaysForUser_args getEmptyArgsInstance() {
         return new getAllGatewaysForUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Gateway> o) {
             getAllGatewaysForUser_result result = new getAllGatewaysForUser_result();
             result.success = o;
@@ -1235,6 +1361,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1270,10 +1397,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewaysForUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewaysForUser(args.authzToken, args.requesterUsername,resultHandler);
       }
@@ -1281,6 +1410,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGateway_args implements org.apache.thrift.TBase<addGateway_args, addGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_args");
 
@@ -1290,8 +1420,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.workspace.Gateway gateway; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway; // 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 {
@@ -1309,6 +1439,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -1333,6 +1464,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -1345,10 +1477,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -1390,6 +1524,7 @@
       }
     }
 
+    @Override
     public addGateway_args deepCopy() {
       return new addGateway_args(this);
     }
@@ -1400,11 +1535,12 @@
       this.gateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -1424,11 +1560,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getGateway() {
       return this.gateway;
     }
 
-    public addGateway_args setGateway(org.apache.airavata.model.workspace.Gateway gateway) {
+    public addGateway_args setGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway) {
       this.gateway = gateway;
       return this;
     }
@@ -1448,7 +1585,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -1469,6 +1607,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -1482,6 +1622,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -1498,8 +1639,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGateway_args)
         return this.equals((addGateway_args)that);
       return false;
@@ -1555,7 +1694,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1565,7 +1704,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGateway()).compareTo(other.isSetGateway());
+      lastComparison = java.lang.Boolean.compare(isSetGateway(), other.isSetGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1578,14 +1717,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -1648,6 +1791,7 @@
     }
 
     private static class addGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_argsStandardScheme getScheme() {
         return new addGateway_argsStandardScheme();
       }
@@ -1655,6 +1799,7 @@
 
     private static class addGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -1694,6 +1839,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -1715,6 +1861,7 @@
     }
 
     private static class addGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_argsTupleScheme getScheme() {
         return new addGateway_argsTupleScheme();
       }
@@ -1746,6 +1893,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGateway_result implements org.apache.thrift.TBase<addGateway_result, addGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_result");
 
@@ -1756,9 +1904,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -1777,6 +1925,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -1803,6 +1952,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -1815,10 +1965,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -1867,6 +2019,7 @@
       }
     }
 
+    @Override
     public addGateway_result deepCopy() {
       return new addGateway_result(this);
     }
@@ -1878,11 +2031,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addGateway_result setSuccess(java.lang.String success) {
+    public addGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -1902,11 +2056,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public addGateway_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public addGateway_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -1926,11 +2081,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -1950,7 +2106,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -1979,6 +2136,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -1995,6 +2154,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2013,8 +2173,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGateway_result)
         return this.equals((addGateway_result)that);
       return false;
@@ -2083,7 +2241,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2093,7 +2251,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2103,7 +2261,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2116,10 +2274,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -2182,6 +2343,7 @@
     }
 
     private static class addGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_resultStandardScheme getScheme() {
         return new addGateway_resultStandardScheme();
       }
@@ -2189,6 +2351,7 @@
 
     private static class addGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2236,6 +2399,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2262,6 +2426,7 @@
     }
 
     private static class addGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_resultTupleScheme getScheme() {
         return new addGateway_resultTupleScheme();
       }
@@ -2320,6 +2485,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGateway_args implements org.apache.thrift.TBase<updateGateway_args, updateGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_args");
 
@@ -2329,8 +2495,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.workspace.Gateway updatedGateway; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway updatedGateway; // 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 {
@@ -2348,6 +2514,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -2372,6 +2539,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2384,10 +2552,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2429,6 +2599,7 @@
       }
     }
 
+    @Override
     public updateGateway_args deepCopy() {
       return new updateGateway_args(this);
     }
@@ -2439,11 +2610,12 @@
       this.updatedGateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -2463,11 +2635,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getUpdatedGateway() {
       return this.updatedGateway;
     }
 
-    public updateGateway_args setUpdatedGateway(org.apache.airavata.model.workspace.Gateway updatedGateway) {
+    public updateGateway_args setUpdatedGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway updatedGateway) {
       this.updatedGateway = updatedGateway;
       return this;
     }
@@ -2487,7 +2660,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -2508,6 +2682,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -2521,6 +2697,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2537,8 +2714,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGateway_args)
         return this.equals((updateGateway_args)that);
       return false;
@@ -2594,7 +2769,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2604,7 +2779,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedGateway()).compareTo(other.isSetUpdatedGateway());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedGateway(), other.isSetUpdatedGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2617,14 +2792,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -2687,6 +2866,7 @@
     }
 
     private static class updateGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_argsStandardScheme getScheme() {
         return new updateGateway_argsStandardScheme();
       }
@@ -2694,6 +2874,7 @@
 
     private static class updateGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2733,6 +2914,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2754,6 +2936,7 @@
     }
 
     private static class updateGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_argsTupleScheme getScheme() {
         return new updateGateway_argsTupleScheme();
       }
@@ -2785,6 +2968,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGateway_result implements org.apache.thrift.TBase<updateGateway_result, updateGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_result");
 
@@ -2796,8 +2980,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -2816,6 +3000,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -2842,6 +3027,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2854,10 +3040,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2908,6 +3096,7 @@
       }
     }
 
+    @Override
     public updateGateway_result deepCopy() {
       return new updateGateway_result(this);
     }
@@ -2943,11 +3132,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public updateGateway_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public updateGateway_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -2967,11 +3157,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -2991,7 +3182,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -3020,6 +3212,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -3036,6 +3230,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3054,8 +3249,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGateway_result)
         return this.equals((updateGateway_result)that);
       return false;
@@ -3122,7 +3315,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3132,7 +3325,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3142,7 +3335,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3155,10 +3348,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -3219,6 +3415,7 @@
     }
 
     private static class updateGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_resultStandardScheme getScheme() {
         return new updateGateway_resultStandardScheme();
       }
@@ -3226,6 +3423,7 @@
 
     private static class updateGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3273,6 +3471,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3299,6 +3498,7 @@
     }
 
     private static class updateGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_resultTupleScheme getScheme() {
         return new updateGateway_resultTupleScheme();
       }
@@ -3357,6 +3557,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGateway_args implements org.apache.thrift.TBase<getGateway_args, getGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_args");
 
@@ -3366,8 +3567,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataInternalGatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalGatewayId; // 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 {
@@ -3385,6 +3586,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -3409,6 +3611,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3421,10 +3624,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3466,6 +3671,7 @@
       }
     }
 
+    @Override
     public getGateway_args deepCopy() {
       return new getGateway_args(this);
     }
@@ -3476,11 +3682,12 @@
       this.airavataInternalGatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -3500,11 +3707,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataInternalGatewayId() {
       return this.airavataInternalGatewayId;
     }
 
-    public getGateway_args setAiravataInternalGatewayId(java.lang.String airavataInternalGatewayId) {
+    public getGateway_args setAiravataInternalGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalGatewayId) {
       this.airavataInternalGatewayId = airavataInternalGatewayId;
       return this;
     }
@@ -3524,7 +3732,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -3545,6 +3754,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -3558,6 +3769,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3574,8 +3786,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGateway_args)
         return this.equals((getGateway_args)that);
       return false;
@@ -3631,7 +3841,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3641,7 +3851,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalGatewayId()).compareTo(other.isSetAiravataInternalGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataInternalGatewayId(), other.isSetAiravataInternalGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3654,14 +3864,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -3721,6 +3935,7 @@
     }
 
     private static class getGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_argsStandardScheme getScheme() {
         return new getGateway_argsStandardScheme();
       }
@@ -3728,6 +3943,7 @@
 
     private static class getGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3766,6 +3982,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3787,6 +4004,7 @@
     }
 
     private static class getGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_argsTupleScheme getScheme() {
         return new getGateway_argsTupleScheme();
       }
@@ -3817,6 +4035,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGateway_result implements org.apache.thrift.TBase<getGateway_result, getGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_result");
 
@@ -3827,9 +4046,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Gateway success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -3848,6 +4067,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -3874,6 +4094,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3886,10 +4107,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3938,6 +4161,7 @@
       }
     }
 
+    @Override
     public getGateway_result deepCopy() {
       return new getGateway_result(this);
     }
@@ -3949,11 +4173,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getSuccess() {
       return this.success;
     }
 
-    public getGateway_result setSuccess(org.apache.airavata.model.workspace.Gateway success) {
+    public getGateway_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success) {
       this.success = success;
       return this;
     }
@@ -3973,11 +4198,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public getGateway_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public getGateway_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -3997,11 +4223,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -4021,7 +4248,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -4050,6 +4278,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -4066,6 +4296,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4084,8 +4315,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGateway_result)
         return this.equals((getGateway_result)that);
       return false;
@@ -4154,7 +4383,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4164,7 +4393,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4174,7 +4403,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4187,10 +4416,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -4256,6 +4488,7 @@
     }
 
     private static class getGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_resultStandardScheme getScheme() {
         return new getGateway_resultStandardScheme();
       }
@@ -4263,6 +4496,7 @@
 
     private static class getGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4311,6 +4545,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4337,6 +4572,7 @@
     }
 
     private static class getGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_resultTupleScheme getScheme() {
         return new getGateway_resultTupleScheme();
       }
@@ -4396,6 +4632,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGateway_args implements org.apache.thrift.TBase<deleteGateway_args, deleteGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_args");
 
@@ -4406,9 +4643,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String airavataInternalGatewayId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataInternalGatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -4427,6 +4664,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -4453,6 +4691,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4465,10 +4704,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4517,6 +4758,7 @@
       }
     }
 
+    @Override
     public deleteGateway_args deepCopy() {
       return new deleteGateway_args(this);
     }
@@ -4528,11 +4770,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -4552,11 +4795,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataInternalGatewayId() {
       return this.airavataInternalGatewayId;
     }
 
-    public deleteGateway_args setAiravataInternalGatewayId(java.lang.String airavataInternalGatewayId) {
+    public deleteGateway_args setAiravataInternalGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String airavataInternalGatewayId) {
       this.airavataInternalGatewayId = airavataInternalGatewayId;
       return this;
     }
@@ -4576,11 +4820,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteGateway_args setGatewayId(java.lang.String gatewayId) {
+    public deleteGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -4600,7 +4845,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -4629,6 +4875,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -4645,6 +4893,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4663,8 +4912,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGateway_args)
         return this.equals((deleteGateway_args)that);
       return false;
@@ -4733,7 +4980,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4743,7 +4990,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataInternalGatewayId()).compareTo(other.isSetAiravataInternalGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataInternalGatewayId(), other.isSetAiravataInternalGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4753,7 +5000,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4766,14 +5013,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -4844,6 +5095,7 @@
     }
 
     private static class deleteGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_argsStandardScheme getScheme() {
         return new deleteGateway_argsStandardScheme();
       }
@@ -4851,6 +5103,7 @@
 
     private static class deleteGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4897,6 +5150,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4923,6 +5177,7 @@
     }
 
     private static class deleteGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_argsTupleScheme getScheme() {
         return new deleteGateway_argsTupleScheme();
       }
@@ -4956,6 +5211,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGateway_result implements org.apache.thrift.TBase<deleteGateway_result, deleteGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_result");
 
@@ -4967,8 +5223,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -4987,6 +5243,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -5013,6 +5270,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5025,10 +5283,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5079,6 +5339,7 @@
       }
     }
 
+    @Override
     public deleteGateway_result deepCopy() {
       return new deleteGateway_result(this);
     }
@@ -5114,11 +5375,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public deleteGateway_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public deleteGateway_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -5138,11 +5400,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -5162,7 +5425,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -5191,6 +5455,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -5207,6 +5473,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5225,8 +5492,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGateway_result)
         return this.equals((deleteGateway_result)that);
       return false;
@@ -5293,7 +5558,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5303,7 +5568,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5313,7 +5578,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5326,10 +5591,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -5390,6 +5658,7 @@
     }
 
     private static class deleteGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_resultStandardScheme getScheme() {
         return new deleteGateway_resultStandardScheme();
       }
@@ -5397,6 +5666,7 @@
 
     private static class deleteGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5444,6 +5714,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5470,6 +5741,7 @@
     }
 
     private static class deleteGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_resultTupleScheme getScheme() {
         return new deleteGateway_resultTupleScheme();
       }
@@ -5528,6 +5800,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGateways_args implements org.apache.thrift.TBase<getAllGateways_args, getAllGateways_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_args");
 
@@ -5536,7 +5809,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGateways_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -5553,6 +5826,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -5575,6 +5849,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5587,10 +5862,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5625,6 +5902,7 @@
       }
     }
 
+    @Override
     public getAllGateways_args deepCopy() {
       return new getAllGateways_args(this);
     }
@@ -5634,11 +5912,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGateways_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGateways_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -5658,7 +5937,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -5671,6 +5951,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -5681,6 +5963,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5695,8 +5978,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGateways_args)
         return this.equals((getAllGateways_args)that);
       return false;
@@ -5739,7 +6020,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5752,14 +6033,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -5808,6 +6093,7 @@
     }
 
     private static class getAllGateways_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_argsStandardScheme getScheme() {
         return new getAllGateways_argsStandardScheme();
       }
@@ -5815,6 +6101,7 @@
 
     private static class getAllGateways_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5845,6 +6132,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGateways_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5861,6 +6149,7 @@
     }
 
     private static class getAllGateways_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_argsTupleScheme getScheme() {
         return new getAllGateways_argsTupleScheme();
       }
@@ -5888,6 +6177,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGateways_result implements org.apache.thrift.TBase<getAllGateways_result, getAllGateways_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_result");
 
@@ -5898,9 +6188,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGateways_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -5919,6 +6209,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -5945,6 +6236,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5957,10 +6249,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6014,6 +6308,7 @@
       }
     }
 
+    @Override
     public getAllGateways_result deepCopy() {
       return new getAllGateways_result(this);
     }
@@ -6029,6 +6324,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Gateway> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -6040,11 +6336,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getSuccess() {
       return this.success;
     }
 
-    public getAllGateways_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
+    public getAllGateways_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
       this.success = success;
       return this;
     }
@@ -6064,11 +6361,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public getAllGateways_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public getAllGateways_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -6088,11 +6386,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGateways_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGateways_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -6112,7 +6411,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -6141,6 +6441,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -6157,6 +6459,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6175,8 +6478,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGateways_result)
         return this.equals((getAllGateways_result)that);
       return false;
@@ -6245,7 +6546,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6255,7 +6556,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6265,7 +6566,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6278,10 +6579,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -6344,6 +6648,7 @@
     }
 
     private static class getAllGateways_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_resultStandardScheme getScheme() {
         return new getAllGateways_resultStandardScheme();
       }
@@ -6351,6 +6656,7 @@
 
     private static class getAllGateways_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6366,7 +6672,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list0.size);
-                  org.apache.airavata.model.workspace.Gateway _elem1;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = new org.apache.airavata.model.workspace.Gateway();
@@ -6409,6 +6715,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGateways_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6442,6 +6749,7 @@
     }
 
     private static class getAllGateways_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_resultTupleScheme getScheme() {
         return new getAllGateways_resultTupleScheme();
       }
@@ -6486,9 +6794,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list5.size);
-            org.apache.airavata.model.workspace.Gateway _elem6;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = new org.apache.airavata.model.workspace.Gateway();
@@ -6516,6 +6824,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayExist_args implements org.apache.thrift.TBase<isGatewayExist_args, isGatewayExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_args");
 
@@ -6525,8 +6834,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayExist_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -6544,6 +6853,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -6568,6 +6878,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6580,10 +6891,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6625,6 +6938,7 @@
       }
     }
 
+    @Override
     public isGatewayExist_args deepCopy() {
       return new isGatewayExist_args(this);
     }
@@ -6635,11 +6949,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public isGatewayExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public isGatewayExist_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -6659,11 +6974,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isGatewayExist_args setGatewayId(java.lang.String gatewayId) {
+    public isGatewayExist_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -6683,7 +6999,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -6704,6 +7021,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -6717,6 +7036,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6733,8 +7053,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayExist_args)
         return this.equals((isGatewayExist_args)that);
       return false;
@@ -6790,7 +7108,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6800,7 +7118,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6813,14 +7131,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -6880,6 +7202,7 @@
     }
 
     private static class isGatewayExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_argsStandardScheme getScheme() {
         return new isGatewayExist_argsStandardScheme();
       }
@@ -6887,6 +7210,7 @@
 
     private static class isGatewayExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6925,6 +7249,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6946,6 +7271,7 @@
     }
 
     private static class isGatewayExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_argsTupleScheme getScheme() {
         return new isGatewayExist_argsTupleScheme();
       }
@@ -6976,6 +7302,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayExist_result implements org.apache.thrift.TBase<isGatewayExist_result, isGatewayExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_result");
 
@@ -6987,8 +7314,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -7007,6 +7334,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -7033,6 +7361,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7045,10 +7374,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7099,6 +7430,7 @@
       }
     }
 
+    @Override
     public isGatewayExist_result deepCopy() {
       return new isGatewayExist_result(this);
     }
@@ -7134,11 +7466,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public isGatewayExist_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public isGatewayExist_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -7158,11 +7491,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public isGatewayExist_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public isGatewayExist_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -7182,7 +7516,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -7211,6 +7546,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -7227,6 +7564,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7245,8 +7583,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayExist_result)
         return this.equals((isGatewayExist_result)that);
       return false;
@@ -7313,7 +7649,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7323,7 +7659,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7333,7 +7669,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7346,10 +7682,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -7410,6 +7749,7 @@
     }
 
     private static class isGatewayExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_resultStandardScheme getScheme() {
         return new isGatewayExist_resultStandardScheme();
       }
@@ -7417,6 +7757,7 @@
 
     private static class isGatewayExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7464,6 +7805,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7490,6 +7832,7 @@
     }
 
     private static class isGatewayExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_resultTupleScheme getScheme() {
         return new isGatewayExist_resultTupleScheme();
       }
@@ -7548,6 +7891,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewaysForUser_args implements org.apache.thrift.TBase<getAllGatewaysForUser_args, getAllGatewaysForUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewaysForUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewaysForUser_args");
 
@@ -7557,8 +7901,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewaysForUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewaysForUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String requesterUsername; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String requesterUsername; // 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 {
@@ -7576,6 +7920,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -7600,6 +7945,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7612,10 +7958,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7657,6 +8005,7 @@
       }
     }
 
+    @Override
     public getAllGatewaysForUser_args deepCopy() {
       return new getAllGatewaysForUser_args(this);
     }
@@ -7667,11 +8016,12 @@
       this.requesterUsername = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllGatewaysForUser_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllGatewaysForUser_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -7691,11 +8041,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getRequesterUsername() {
       return this.requesterUsername;
     }
 
-    public getAllGatewaysForUser_args setRequesterUsername(java.lang.String requesterUsername) {
+    public getAllGatewaysForUser_args setRequesterUsername(@org.apache.thrift.annotation.Nullable java.lang.String requesterUsername) {
       this.requesterUsername = requesterUsername;
       return this;
     }
@@ -7715,7 +8066,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -7736,6 +8088,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -7749,6 +8103,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7765,8 +8120,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewaysForUser_args)
         return this.equals((getAllGatewaysForUser_args)that);
       return false;
@@ -7822,7 +8175,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7832,7 +8185,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRequesterUsername()).compareTo(other.isSetRequesterUsername());
+      lastComparison = java.lang.Boolean.compare(isSetRequesterUsername(), other.isSetRequesterUsername());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7845,14 +8198,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -7912,6 +8269,7 @@
     }
 
     private static class getAllGatewaysForUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewaysForUser_argsStandardScheme getScheme() {
         return new getAllGatewaysForUser_argsStandardScheme();
       }
@@ -7919,6 +8277,7 @@
 
     private static class getAllGatewaysForUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewaysForUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewaysForUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7957,6 +8316,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewaysForUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7978,6 +8338,7 @@
     }
 
     private static class getAllGatewaysForUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewaysForUser_argsTupleScheme getScheme() {
         return new getAllGatewaysForUser_argsTupleScheme();
       }
@@ -8008,6 +8369,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewaysForUser_result implements org.apache.thrift.TBase<getAllGatewaysForUser_result, getAllGatewaysForUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewaysForUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewaysForUser_result");
 
@@ -8018,9 +8380,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewaysForUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewaysForUser_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
-    public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -8039,6 +8401,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -8065,6 +8428,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8077,10 +8441,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8134,6 +8500,7 @@
       }
     }
 
+    @Override
     public getAllGatewaysForUser_result deepCopy() {
       return new getAllGatewaysForUser_result(this);
     }
@@ -8149,6 +8516,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Gateway> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -8160,11 +8528,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewaysForUser_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
+    public getAllGatewaysForUser_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
       this.success = success;
       return this;
     }
@@ -8184,11 +8553,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException getTpe() {
       return this.tpe;
     }
 
-    public getAllGatewaysForUser_result setTpe(org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
+    public getAllGatewaysForUser_result setTpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.tenant.cpi.exception.TenantProfileServiceException tpe) {
       this.tpe = tpe;
       return this;
     }
@@ -8208,11 +8578,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllGatewaysForUser_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllGatewaysForUser_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -8232,7 +8603,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -8261,6 +8633,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -8277,6 +8651,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8295,8 +8670,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewaysForUser_result)
         return this.equals((getAllGatewaysForUser_result)that);
       return false;
@@ -8365,7 +8738,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8375,7 +8748,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTpe()).compareTo(other.isSetTpe());
+      lastComparison = java.lang.Boolean.compare(isSetTpe(), other.isSetTpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8385,7 +8758,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8398,10 +8771,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -8464,6 +8840,7 @@
     }
 
     private static class getAllGatewaysForUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewaysForUser_resultStandardScheme getScheme() {
         return new getAllGatewaysForUser_resultStandardScheme();
       }
@@ -8471,6 +8848,7 @@
 
     private static class getAllGatewaysForUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewaysForUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewaysForUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8486,7 +8864,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list8.size);
-                  org.apache.airavata.model.workspace.Gateway _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.model.workspace.Gateway();
@@ -8529,6 +8907,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewaysForUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8562,6 +8941,7 @@
     }
 
     private static class getAllGatewaysForUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewaysForUser_resultTupleScheme getScheme() {
         return new getAllGatewaysForUser_resultTupleScheme();
       }
@@ -8606,9 +8986,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list13.size);
-            org.apache.airavata.model.workspace.Gateway _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.model.workspace.Gateway();
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/exception/TenantProfileServiceException.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/exception/TenantProfileServiceException.java
index a8dd5be..4eff906 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/exception/TenantProfileServiceException.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/exception/TenantProfileServiceException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.service.profile.tenant.cpi.exception;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class TenantProfileServiceException extends org.apache.thrift.TException implements org.apache.thrift.TBase<TenantProfileServiceException, TenantProfileServiceException._Fields>, java.io.Serializable, Cloneable, Comparable<TenantProfileServiceException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("TenantProfileServiceException");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new TenantProfileServiceExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new TenantProfileServiceExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public TenantProfileServiceException deepCopy() {
     return new TenantProfileServiceException(this);
   }
@@ -131,11 +136,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public TenantProfileServiceException setMessage(java.lang.String message) {
+  public TenantProfileServiceException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -155,7 +161,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -168,6 +175,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -178,6 +187,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -192,8 +202,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof TenantProfileServiceException)
       return this.equals((TenantProfileServiceException)that);
     return false;
@@ -236,7 +244,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -249,14 +257,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class TenantProfileServiceExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantProfileServiceExceptionStandardScheme getScheme() {
       return new TenantProfileServiceExceptionStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class TenantProfileServiceExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<TenantProfileServiceException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, TenantProfileServiceException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -338,6 +352,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, TenantProfileServiceException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -354,6 +369,7 @@
   }
 
   private static class TenantProfileServiceExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public TenantProfileServiceExceptionTupleScheme getScheme() {
       return new TenantProfileServiceExceptionTupleScheme();
     }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/profile_tenant_cpiConstants.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/profile_tenant_cpiConstants.java
index 1b73c5f..44e9e2b 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/profile_tenant_cpiConstants.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/tenant/cpi/profile_tenant_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
index e626d24..8bc718e 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/UserProfileService.java
@@ -16,21 +16,19 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.service.profile.user.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class UserProfileService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
 
-    public java.lang.String getAPIVersion() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.thrift.TException;
-
     /**
      * Create an initial UserProfile based on information in the IAM service for this user.
      * 
@@ -38,6 +36,14 @@
      */
     public java.lang.String initializeUserProfile(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
+    /**
+     * This method is deprecated and will be removed in future versions of Airavata. Please use
+     * the initializeUserProfile method which fetches the information about the user profile from
+     * IAM service - @Deprecated
+     * 
+     * @param authzToken
+     * @param userProfile
+     */
     public java.lang.String addUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
 
     public boolean updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException;
@@ -52,9 +58,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
-
-    public void getAPIVersion(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void initializeUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
@@ -75,9 +79,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -92,31 +98,7 @@
       super(iprot, oprot);
     }
 
-    public java.lang.String getAPIVersion() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.thrift.TException
-    {
-      send_getAPIVersion();
-      return recv_getAPIVersion();
-    }
-
-    public void send_getAPIVersion() throws org.apache.thrift.TException
-    {
-      getAPIVersion_args args = new getAPIVersion_args();
-      sendBase("getAPIVersion", args);
-    }
-
-    public java.lang.String recv_getAPIVersion() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.thrift.TException
-    {
-      getAPIVersion_result result = new getAPIVersion_result();
-      receiveBase(result, "getAPIVersion");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.upe != null) {
-        throw result.upe;
-      }
-      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAPIVersion failed: unknown result");
-    }
-
+    @Override
     public java.lang.String initializeUserProfile(org.apache.airavata.model.security.AuthzToken authzToken) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_initializeUserProfile(authzToken);
@@ -146,6 +128,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "initializeUserProfile failed: unknown result");
     }
 
+    @Override
     public java.lang.String addUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_addUserProfile(authzToken, userProfile);
@@ -176,6 +159,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserProfile failed: unknown result");
     }
 
+    @Override
     public boolean updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_updateUserProfile(authzToken, userProfile);
@@ -206,6 +190,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserProfile failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.user.UserProfile getUserProfileById(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getUserProfileById(authzToken, userId, gatewayId);
@@ -237,6 +222,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserProfileById failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_deleteUserProfile(authzToken, userId, gatewayId);
@@ -268,6 +254,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserProfile failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.user.UserProfile> getAllUserProfilesInGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, int offset, int limit) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_getAllUserProfilesInGateway(authzToken, gatewayId, offset, limit);
@@ -300,6 +287,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserProfilesInGateway failed: unknown result");
     }
 
+    @Override
     public boolean doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayId) throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException
     {
       send_doesUserExist(authzToken, userId, gatewayId);
@@ -340,6 +328,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -349,35 +338,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
-    public void getAPIVersion(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-      checkReady();
-      getAPIVersion_call method_call = new getAPIVersion_call(resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class getAPIVersion_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.String> {
-      public getAPIVersion_call(org.apache.thrift.async.AsyncMethodCallback<java.lang.String> 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);
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
-        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAPIVersion", org.apache.thrift.protocol.TMessageType.CALL, 0));
-        getAPIVersion_args args = new getAPIVersion_args();
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public java.lang.String getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.thrift.TException {
-        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new java.lang.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_getAPIVersion();
-      }
-    }
-
+    @Override
     public void initializeUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       initializeUserProfile_call method_call = new initializeUserProfile_call(authzToken, resultHandler, this, ___protocolFactory, ___transport);
@@ -392,6 +353,7 @@
         this.authzToken = authzToken;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("initializeUserProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         initializeUserProfile_args args = new initializeUserProfile_args();
@@ -400,6 +362,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -410,6 +373,7 @@
       }
     }
 
+    @Override
     public void addUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUserProfile_call method_call = new addUserProfile_call(authzToken, userProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -426,6 +390,7 @@
         this.userProfile = userProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUserProfile_args args = new addUserProfile_args();
@@ -435,6 +400,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -445,6 +411,7 @@
       }
     }
 
+    @Override
     public void updateUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, org.apache.airavata.model.user.UserProfile userProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserProfile_call method_call = new updateUserProfile_call(authzToken, userProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -461,6 +428,7 @@
         this.userProfile = userProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserProfile_args args = new updateUserProfile_args();
@@ -470,6 +438,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -480,6 +449,7 @@
       }
     }
 
+    @Override
     public void getUserProfileById(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserProfileById_call method_call = new getUserProfileById_call(authzToken, userId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -498,6 +468,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserProfileById", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserProfileById_args args = new getUserProfileById_args();
@@ -508,6 +479,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.user.UserProfile getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -518,6 +490,7 @@
       }
     }
 
+    @Override
     public void deleteUserProfile(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserProfile_call method_call = new deleteUserProfile_call(authzToken, userId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -536,6 +509,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserProfile_args args = new deleteUserProfile_args();
@@ -546,6 +520,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -556,6 +531,7 @@
       }
     }
 
+    @Override
     public void getAllUserProfilesInGateway(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String gatewayId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserProfilesInGateway_call method_call = new getAllUserProfilesInGateway_call(authzToken, gatewayId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -576,6 +552,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserProfilesInGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserProfilesInGateway_args args = new getAllUserProfilesInGateway_args();
@@ -587,6 +564,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.user.UserProfile> getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -597,6 +575,7 @@
       }
     }
 
+    @Override
     public void doesUserExist(org.apache.airavata.model.security.AuthzToken authzToken, java.lang.String userId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       doesUserExist_call method_call = new doesUserExist_call(authzToken, userId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -615,6 +594,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("doesUserExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         doesUserExist_args args = new doesUserExist_args();
@@ -625,6 +605,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException, org.apache.airavata.model.error.AuthorizationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -648,7 +629,6 @@
     }
 
     private static <I extends Iface> java.util.Map<java.lang.String,  org.apache.thrift.ProcessFunction<I, ? extends org.apache.thrift.TBase>> getProcessMap(java.util.Map<java.lang.String, org.apache.thrift.ProcessFunction<I, ? extends  org.apache.thrift.TBase>> processMap) {
-      processMap.put("getAPIVersion", new getAPIVersion());
       processMap.put("initializeUserProfile", new initializeUserProfile());
       processMap.put("addUserProfile", new addUserProfile());
       processMap.put("updateUserProfile", new updateUserProfile());
@@ -659,43 +639,27 @@
       return processMap;
     }
 
-    public static class getAPIVersion<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAPIVersion_args> {
-      public getAPIVersion() {
-        super("getAPIVersion");
-      }
-
-      public getAPIVersion_args getEmptyArgsInstance() {
-        return new getAPIVersion_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public getAPIVersion_result getResult(I iface, getAPIVersion_args args) throws org.apache.thrift.TException {
-        getAPIVersion_result result = new getAPIVersion_result();
-        try {
-          result.success = iface.getAPIVersion();
-        } catch (org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
-          result.upe = upe;
-        }
-        return result;
-      }
-    }
-
     public static class initializeUserProfile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, initializeUserProfile_args> {
       public initializeUserProfile() {
         super("initializeUserProfile");
       }
 
+      @Override
       public initializeUserProfile_args getEmptyArgsInstance() {
         return new initializeUserProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public initializeUserProfile_result getResult(I iface, initializeUserProfile_args args) throws org.apache.thrift.TException {
         initializeUserProfile_result result = new initializeUserProfile_result();
         try {
@@ -714,14 +678,22 @@
         super("addUserProfile");
       }
 
+      @Override
       public addUserProfile_args getEmptyArgsInstance() {
         return new addUserProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUserProfile_result getResult(I iface, addUserProfile_args args) throws org.apache.thrift.TException {
         addUserProfile_result result = new addUserProfile_result();
         try {
@@ -740,14 +712,22 @@
         super("updateUserProfile");
       }
 
+      @Override
       public updateUserProfile_args getEmptyArgsInstance() {
         return new updateUserProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserProfile_result getResult(I iface, updateUserProfile_args args) throws org.apache.thrift.TException {
         updateUserProfile_result result = new updateUserProfile_result();
         try {
@@ -767,14 +747,22 @@
         super("getUserProfileById");
       }
 
+      @Override
       public getUserProfileById_args getEmptyArgsInstance() {
         return new getUserProfileById_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserProfileById_result getResult(I iface, getUserProfileById_args args) throws org.apache.thrift.TException {
         getUserProfileById_result result = new getUserProfileById_result();
         try {
@@ -793,14 +781,22 @@
         super("deleteUserProfile");
       }
 
+      @Override
       public deleteUserProfile_args getEmptyArgsInstance() {
         return new deleteUserProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserProfile_result getResult(I iface, deleteUserProfile_args args) throws org.apache.thrift.TException {
         deleteUserProfile_result result = new deleteUserProfile_result();
         try {
@@ -820,14 +816,22 @@
         super("getAllUserProfilesInGateway");
       }
 
+      @Override
       public getAllUserProfilesInGateway_args getEmptyArgsInstance() {
         return new getAllUserProfilesInGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserProfilesInGateway_result getResult(I iface, getAllUserProfilesInGateway_args args) throws org.apache.thrift.TException {
         getAllUserProfilesInGateway_result result = new getAllUserProfilesInGateway_result();
         try {
@@ -846,14 +850,22 @@
         super("doesUserExist");
       }
 
+      @Override
       public doesUserExist_args getEmptyArgsInstance() {
         return new doesUserExist_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public doesUserExist_result getResult(I iface, doesUserExist_args args) throws org.apache.thrift.TException {
         doesUserExist_result result = new doesUserExist_result();
         try {
@@ -881,7 +893,6 @@
     }
 
     private static <I extends AsyncIface> java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase,?>> getProcessMap(java.util.Map<java.lang.String,  org.apache.thrift.AsyncProcessFunction<I, ? extends  org.apache.thrift.TBase, ?>> processMap) {
-      processMap.put("getAPIVersion", new getAPIVersion());
       processMap.put("initializeUserProfile", new initializeUserProfile());
       processMap.put("addUserProfile", new addUserProfile());
       processMap.put("updateUserProfile", new updateUserProfile());
@@ -892,83 +903,21 @@
       return processMap;
     }
 
-    public static class getAPIVersion<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAPIVersion_args, java.lang.String> {
-      public getAPIVersion() {
-        super("getAPIVersion");
-      }
-
-      public getAPIVersion_args getEmptyArgsInstance() {
-        return new getAPIVersion_args();
-      }
-
-      public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
-          public void onComplete(java.lang.String o) {
-            getAPIVersion_result result = new getAPIVersion_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-            } catch (org.apache.thrift.transport.TTransportException e) {
-              _LOGGER.error("TTransportException writing to internal frame buffer", e);
-              fb.close();
-            } catch (java.lang.Exception e) {
-              _LOGGER.error("Exception writing to internal frame buffer", e);
-              onError(e);
-            }
-          }
-          public void onError(java.lang.Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TSerializable msg;
-            getAPIVersion_result result = new getAPIVersion_result();
-            if (e instanceof org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException) {
-              result.upe = (org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException) e;
-              result.setUpeIsSet(true);
-              msg = result;
-            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
-              _LOGGER.error("TTransportException inside handler", e);
-              fb.close();
-              return;
-            } else if (e instanceof org.apache.thrift.TApplicationException) {
-              _LOGGER.error("TApplicationException inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TApplicationException)e;
-            } else {
-              _LOGGER.error("Exception inside handler", e);
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-            } catch (java.lang.Exception ex) {
-              _LOGGER.error("Exception writing to internal frame buffer", ex);
-              fb.close();
-            }
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getAPIVersion_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
-        iface.getAPIVersion(resultHandler);
-      }
-    }
-
     public static class initializeUserProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, initializeUserProfile_args, java.lang.String> {
       public initializeUserProfile() {
         super("initializeUserProfile");
       }
 
+      @Override
       public initializeUserProfile_args getEmptyArgsInstance() {
         return new initializeUserProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             initializeUserProfile_result result = new initializeUserProfile_result();
             result.success = o;
@@ -982,6 +931,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1017,10 +967,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, initializeUserProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.initializeUserProfile(args.authzToken,resultHandler);
       }
@@ -1031,13 +983,16 @@
         super("addUserProfile");
       }
 
+      @Override
       public addUserProfile_args getEmptyArgsInstance() {
         return new addUserProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addUserProfile_result result = new addUserProfile_result();
             result.success = o;
@@ -1051,6 +1006,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1086,10 +1042,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUserProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addUserProfile(args.authzToken, args.userProfile,resultHandler);
       }
@@ -1100,13 +1058,16 @@
         super("updateUserProfile");
       }
 
+      @Override
       public updateUserProfile_args getEmptyArgsInstance() {
         return new updateUserProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserProfile_result result = new updateUserProfile_result();
             result.success = o;
@@ -1121,6 +1082,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1156,10 +1118,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserProfile(args.authzToken, args.userProfile,resultHandler);
       }
@@ -1170,13 +1134,16 @@
         super("getUserProfileById");
       }
 
+      @Override
       public getUserProfileById_args getEmptyArgsInstance() {
         return new getUserProfileById_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.user.UserProfile o) {
             getUserProfileById_result result = new getUserProfileById_result();
             result.success = o;
@@ -1190,6 +1157,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1225,10 +1193,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserProfileById_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.user.UserProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getUserProfileById(args.authzToken, args.userId, args.gatewayId,resultHandler);
       }
@@ -1239,13 +1209,16 @@
         super("deleteUserProfile");
       }
 
+      @Override
       public deleteUserProfile_args getEmptyArgsInstance() {
         return new deleteUserProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserProfile_result result = new deleteUserProfile_result();
             result.success = o;
@@ -1260,6 +1233,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1295,10 +1269,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserProfile(args.authzToken, args.userId, args.gatewayId,resultHandler);
       }
@@ -1309,13 +1285,16 @@
         super("getAllUserProfilesInGateway");
       }
 
+      @Override
       public getAllUserProfilesInGateway_args getEmptyArgsInstance() {
         return new getAllUserProfilesInGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.user.UserProfile> o) {
             getAllUserProfilesInGateway_result result = new getAllUserProfilesInGateway_result();
             result.success = o;
@@ -1329,6 +1308,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1364,10 +1344,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserProfilesInGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.user.UserProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserProfilesInGateway(args.authzToken, args.gatewayId, args.offset, args.limit,resultHandler);
       }
@@ -1378,13 +1360,16 @@
         super("doesUserExist");
       }
 
+      @Override
       public doesUserExist_args getEmptyArgsInstance() {
         return new doesUserExist_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             doesUserExist_result result = new doesUserExist_result();
             result.success = o;
@@ -1399,6 +1384,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1434,10 +1420,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, doesUserExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.doesUserExist(args.authzToken, args.userId, args.gatewayId,resultHandler);
       }
@@ -1445,724 +1433,7 @@
 
   }
 
-  public static class getAPIVersion_args implements org.apache.thrift.TBase<getAPIVersion_args, getAPIVersion_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAPIVersion_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAPIVersion_args");
-
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_argsStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_argsTupleSchemeFactory();
-
-
-    /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-;
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.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) {
-          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 java.lang.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(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class, metaDataMap);
-    }
-
-    public getAPIVersion_args() {
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_args(getAPIVersion_args other) {
-    }
-
-    public getAPIVersion_args deepCopy() {
-      return new getAPIVersion_args(this);
-    }
-
-    @Override
-    public void clear() {
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      }
-      throw new java.lang.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 java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.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;
-      if (this == that)
-        return true;
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      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 {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-    }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAPIVersion_args(");
-      boolean first = true;
-
-      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, java.lang.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 org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_argsStandardScheme getScheme() {
-        return new getAPIVersion_argsStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsStandardScheme extends org.apache.thrift.scheme.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) {
-            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);
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_argsTupleScheme getScheme() {
-        return new getAPIVersion_argsTupleScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
-  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 UPE_FIELD_DESC = new org.apache.thrift.protocol.TField("upe", org.apache.thrift.protocol.TType.STRUCT, (short)1);
-
-    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAPIVersion_resultStandardSchemeFactory();
-    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAPIVersion_resultTupleSchemeFactory();
-
-    public java.lang.String success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // 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"),
-      UPE((short)1, "upe");
-
-      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
-
-      static {
-        for (_Fields field : java.util.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: // UPE
-            return UPE;
-          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 java.lang.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(java.lang.String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final java.lang.String _fieldName;
-
-      _Fields(short thriftId, java.lang.String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public java.lang.String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.UPE, new org.apache.thrift.meta_data.FieldMetaData("upe", org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException.class)));
-      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
-      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_result.class, metaDataMap);
-    }
-
-    public getAPIVersion_result() {
-    }
-
-    public getAPIVersion_result(
-      java.lang.String success,
-      org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe)
-    {
-      this();
-      this.success = success;
-      this.upe = upe;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_result(getAPIVersion_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
-      if (other.isSetUpe()) {
-        this.upe = new org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException(other.upe);
-      }
-    }
-
-    public getAPIVersion_result deepCopy() {
-      return new getAPIVersion_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.upe = null;
-    }
-
-    public java.lang.String getSuccess() {
-      return this.success;
-    }
-
-    public getAPIVersion_result setSuccess(java.lang.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.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
-      return this.upe;
-    }
-
-    public getAPIVersion_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
-      this.upe = upe;
-      return this;
-    }
-
-    public void unsetUpe() {
-      this.upe = null;
-    }
-
-    /** Returns true if field upe is set (has been assigned a value) and false otherwise */
-    public boolean isSetUpe() {
-      return this.upe != null;
-    }
-
-    public void setUpeIsSet(boolean value) {
-      if (!value) {
-        this.upe = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, java.lang.Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((java.lang.String)value);
-        }
-        break;
-
-      case UPE:
-        if (value == null) {
-          unsetUpe();
-        } else {
-          setUpe((org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException)value);
-        }
-        break;
-
-      }
-    }
-
-    public java.lang.Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case UPE:
-        return getUpe();
-
-      }
-      throw new java.lang.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 java.lang.IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case UPE:
-        return isSetUpe();
-      }
-      throw new java.lang.IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(java.lang.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;
-      if (this == that)
-        return true;
-
-      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_upe = true && this.isSetUpe();
-      boolean that_present_upe = true && that.isSetUpe();
-      if (this_present_upe || that_present_upe) {
-        if (!(this_present_upe && that_present_upe))
-          return false;
-        if (!this.upe.equals(that.upe))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      int hashCode = 1;
-
-      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
-      if (isSetSuccess())
-        hashCode = hashCode * 8191 + success.hashCode();
-
-      hashCode = hashCode * 8191 + ((isSetUpe()) ? 131071 : 524287);
-      if (isSetUpe())
-        hashCode = hashCode * 8191 + upe.hashCode();
-
-      return hashCode;
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = java.lang.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 = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetUpe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.upe, other.upe);
-        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 {
-      scheme(iprot).read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-      scheme(oprot).write(oprot, this);
-      }
-
-    @Override
-    public java.lang.String toString() {
-      java.lang.StringBuilder sb = new java.lang.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("upe:");
-      if (this.upe == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.upe);
-      }
-      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, java.lang.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 org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_resultStandardScheme getScheme() {
-        return new getAPIVersion_resultStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_resultStandardScheme extends org.apache.thrift.scheme.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: // UPE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-                struct.upe = new org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException();
-                struct.upe.read(iprot);
-                struct.setUpeIsSet(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.upe != null) {
-          oprot.writeFieldBegin(UPE_FIELD_DESC);
-          struct.upe.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
-      public getAPIVersion_resultTupleScheme getScheme() {
-        return new getAPIVersion_resultTupleScheme();
-      }
-    }
-
-    private static class getAPIVersion_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAPIVersion_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet optionals = new java.util.BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetUpe()) {
-          optionals.set(1);
-        }
-        oprot.writeBitSet(optionals, 2);
-        if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
-        }
-        if (struct.isSetUpe()) {
-          struct.upe.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, getAPIVersion_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
-        java.util.BitSet incoming = iprot.readBitSet(2);
-        if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.upe = new org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException();
-          struct.upe.read(iprot);
-          struct.setUpeIsSet(true);
-        }
-      }
-    }
-
-    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
-      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
-    }
-  }
-
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class initializeUserProfile_args implements org.apache.thrift.TBase<initializeUserProfile_args, initializeUserProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<initializeUserProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("initializeUserProfile_args");
 
@@ -2171,7 +1442,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new initializeUserProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new initializeUserProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // 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 {
@@ -2188,6 +1459,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -2210,6 +1482,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2222,10 +1495,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2260,6 +1535,7 @@
       }
     }
 
+    @Override
     public initializeUserProfile_args deepCopy() {
       return new initializeUserProfile_args(this);
     }
@@ -2269,11 +1545,12 @@
       this.authzToken = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public initializeUserProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public initializeUserProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -2293,7 +1570,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -2306,6 +1584,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -2316,6 +1596,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2330,8 +1611,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof initializeUserProfile_args)
         return this.equals((initializeUserProfile_args)that);
       return false;
@@ -2374,7 +1653,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2387,14 +1666,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -2443,6 +1726,7 @@
     }
 
     private static class initializeUserProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public initializeUserProfile_argsStandardScheme getScheme() {
         return new initializeUserProfile_argsStandardScheme();
       }
@@ -2450,6 +1734,7 @@
 
     private static class initializeUserProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<initializeUserProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, initializeUserProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2480,6 +1765,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, initializeUserProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2496,6 +1782,7 @@
     }
 
     private static class initializeUserProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public initializeUserProfile_argsTupleScheme getScheme() {
         return new initializeUserProfile_argsTupleScheme();
       }
@@ -2523,6 +1810,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class initializeUserProfile_result implements org.apache.thrift.TBase<initializeUserProfile_result, initializeUserProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<initializeUserProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("initializeUserProfile_result");
 
@@ -2533,9 +1821,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new initializeUserProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new initializeUserProfile_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -2554,6 +1842,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -2580,6 +1869,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2592,10 +1882,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2644,6 +1936,7 @@
       }
     }
 
+    @Override
     public initializeUserProfile_result deepCopy() {
       return new initializeUserProfile_result(this);
     }
@@ -2655,11 +1948,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public initializeUserProfile_result setSuccess(java.lang.String success) {
+    public initializeUserProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -2679,11 +1973,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public initializeUserProfile_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public initializeUserProfile_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -2703,11 +1998,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public initializeUserProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public initializeUserProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -2727,7 +2023,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -2756,6 +2053,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -2772,6 +2071,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2790,8 +2090,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof initializeUserProfile_result)
         return this.equals((initializeUserProfile_result)that);
       return false;
@@ -2860,7 +2158,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2870,7 +2168,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2880,7 +2178,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2893,10 +2191,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -2959,6 +2260,7 @@
     }
 
     private static class initializeUserProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public initializeUserProfile_resultStandardScheme getScheme() {
         return new initializeUserProfile_resultStandardScheme();
       }
@@ -2966,6 +2268,7 @@
 
     private static class initializeUserProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<initializeUserProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, initializeUserProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3013,6 +2316,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, initializeUserProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3039,6 +2343,7 @@
     }
 
     private static class initializeUserProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public initializeUserProfile_resultTupleScheme getScheme() {
         return new initializeUserProfile_resultTupleScheme();
       }
@@ -3097,6 +2402,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserProfile_args implements org.apache.thrift.TBase<addUserProfile_args, addUserProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUserProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserProfile_args");
 
@@ -3106,8 +2412,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUserProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.user.UserProfile userProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userProfile; // 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 {
@@ -3125,6 +2431,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -3149,6 +2456,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3161,10 +2469,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3206,6 +2516,7 @@
       }
     }
 
+    @Override
     public addUserProfile_args deepCopy() {
       return new addUserProfile_args(this);
     }
@@ -3216,11 +2527,12 @@
       this.userProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public addUserProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public addUserProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -3240,11 +2552,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.user.UserProfile getUserProfile() {
       return this.userProfile;
     }
 
-    public addUserProfile_args setUserProfile(org.apache.airavata.model.user.UserProfile userProfile) {
+    public addUserProfile_args setUserProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userProfile) {
       this.userProfile = userProfile;
       return this;
     }
@@ -3264,7 +2577,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -3285,6 +2599,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -3298,6 +2614,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3314,8 +2631,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserProfile_args)
         return this.equals((addUserProfile_args)that);
       return false;
@@ -3371,7 +2686,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3381,7 +2696,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserProfile()).compareTo(other.isSetUserProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserProfile(), other.isSetUserProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3394,14 +2709,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -3464,6 +2783,7 @@
     }
 
     private static class addUserProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserProfile_argsStandardScheme getScheme() {
         return new addUserProfile_argsStandardScheme();
       }
@@ -3471,6 +2791,7 @@
 
     private static class addUserProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3510,6 +2831,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3531,6 +2853,7 @@
     }
 
     private static class addUserProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserProfile_argsTupleScheme getScheme() {
         return new addUserProfile_argsTupleScheme();
       }
@@ -3562,6 +2885,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserProfile_result implements org.apache.thrift.TBase<addUserProfile_result, addUserProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUserProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserProfile_result");
 
@@ -3572,9 +2896,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUserProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserProfile_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -3593,6 +2917,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -3619,6 +2944,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3631,10 +2957,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3683,6 +3011,7 @@
       }
     }
 
+    @Override
     public addUserProfile_result deepCopy() {
       return new addUserProfile_result(this);
     }
@@ -3694,11 +3023,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addUserProfile_result setSuccess(java.lang.String success) {
+    public addUserProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -3718,11 +3048,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public addUserProfile_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public addUserProfile_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -3742,11 +3073,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public addUserProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public addUserProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -3766,7 +3098,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -3795,6 +3128,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -3811,6 +3146,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3829,8 +3165,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserProfile_result)
         return this.equals((addUserProfile_result)that);
       return false;
@@ -3899,7 +3233,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3909,7 +3243,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3919,7 +3253,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3932,10 +3266,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -3998,6 +3335,7 @@
     }
 
     private static class addUserProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserProfile_resultStandardScheme getScheme() {
         return new addUserProfile_resultStandardScheme();
       }
@@ -4005,6 +3343,7 @@
 
     private static class addUserProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4052,6 +3391,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4078,6 +3418,7 @@
     }
 
     private static class addUserProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserProfile_resultTupleScheme getScheme() {
         return new addUserProfile_resultTupleScheme();
       }
@@ -4136,6 +3477,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserProfile_args implements org.apache.thrift.TBase<updateUserProfile_args, updateUserProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserProfile_args");
 
@@ -4145,8 +3487,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public org.apache.airavata.model.user.UserProfile userProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userProfile; // 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 {
@@ -4164,6 +3506,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -4188,6 +3531,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4200,10 +3544,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4245,6 +3591,7 @@
       }
     }
 
+    @Override
     public updateUserProfile_args deepCopy() {
       return new updateUserProfile_args(this);
     }
@@ -4255,11 +3602,12 @@
       this.userProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public updateUserProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public updateUserProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -4279,11 +3627,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.user.UserProfile getUserProfile() {
       return this.userProfile;
     }
 
-    public updateUserProfile_args setUserProfile(org.apache.airavata.model.user.UserProfile userProfile) {
+    public updateUserProfile_args setUserProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userProfile) {
       this.userProfile = userProfile;
       return this;
     }
@@ -4303,7 +3652,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -4324,6 +3674,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -4337,6 +3689,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4353,8 +3706,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserProfile_args)
         return this.equals((updateUserProfile_args)that);
       return false;
@@ -4410,7 +3761,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4420,7 +3771,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserProfile()).compareTo(other.isSetUserProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserProfile(), other.isSetUserProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4433,14 +3784,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -4503,6 +3858,7 @@
     }
 
     private static class updateUserProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_argsStandardScheme getScheme() {
         return new updateUserProfile_argsStandardScheme();
       }
@@ -4510,6 +3866,7 @@
 
     private static class updateUserProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4549,6 +3906,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4570,6 +3928,7 @@
     }
 
     private static class updateUserProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_argsTupleScheme getScheme() {
         return new updateUserProfile_argsTupleScheme();
       }
@@ -4601,6 +3960,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserProfile_result implements org.apache.thrift.TBase<updateUserProfile_result, updateUserProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserProfile_result");
 
@@ -4612,8 +3972,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -4632,6 +3992,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -4658,6 +4019,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4670,10 +4032,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4724,6 +4088,7 @@
       }
     }
 
+    @Override
     public updateUserProfile_result deepCopy() {
       return new updateUserProfile_result(this);
     }
@@ -4759,11 +4124,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public updateUserProfile_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public updateUserProfile_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -4783,11 +4149,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public updateUserProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public updateUserProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -4807,7 +4174,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -4836,6 +4204,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -4852,6 +4222,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4870,8 +4241,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserProfile_result)
         return this.equals((updateUserProfile_result)that);
       return false;
@@ -4938,7 +4307,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4948,7 +4317,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4958,7 +4327,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4971,10 +4340,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -5035,6 +4407,7 @@
     }
 
     private static class updateUserProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_resultStandardScheme getScheme() {
         return new updateUserProfile_resultStandardScheme();
       }
@@ -5042,6 +4415,7 @@
 
     private static class updateUserProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5089,6 +4463,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5115,6 +4490,7 @@
     }
 
     private static class updateUserProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserProfile_resultTupleScheme getScheme() {
         return new updateUserProfile_resultTupleScheme();
       }
@@ -5173,6 +4549,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserProfileById_args implements org.apache.thrift.TBase<getUserProfileById_args, getUserProfileById_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProfileById_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProfileById_args");
 
@@ -5183,9 +4560,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserProfileById_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserProfileById_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -5204,6 +4581,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -5230,6 +4608,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5242,10 +4621,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5294,6 +4675,7 @@
       }
     }
 
+    @Override
     public getUserProfileById_args deepCopy() {
       return new getUserProfileById_args(this);
     }
@@ -5305,11 +4687,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getUserProfileById_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getUserProfileById_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -5329,11 +4712,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserProfileById_args setUserId(java.lang.String userId) {
+    public getUserProfileById_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -5353,11 +4737,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getUserProfileById_args setGatewayId(java.lang.String gatewayId) {
+    public getUserProfileById_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -5377,7 +4762,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -5406,6 +4792,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -5422,6 +4810,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5440,8 +4829,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserProfileById_args)
         return this.equals((getUserProfileById_args)that);
       return false;
@@ -5510,7 +4897,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5520,7 +4907,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5530,7 +4917,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5543,14 +4930,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -5621,6 +5012,7 @@
     }
 
     private static class getUserProfileById_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProfileById_argsStandardScheme getScheme() {
         return new getUserProfileById_argsStandardScheme();
       }
@@ -5628,6 +5020,7 @@
 
     private static class getUserProfileById_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserProfileById_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProfileById_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5674,6 +5067,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProfileById_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5700,6 +5094,7 @@
     }
 
     private static class getUserProfileById_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProfileById_argsTupleScheme getScheme() {
         return new getUserProfileById_argsTupleScheme();
       }
@@ -5733,6 +5128,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserProfileById_result implements org.apache.thrift.TBase<getUserProfileById_result, getUserProfileById_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProfileById_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProfileById_result");
 
@@ -5743,9 +5139,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserProfileById_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserProfileById_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.user.UserProfile success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -5764,6 +5160,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -5790,6 +5187,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5802,10 +5200,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5854,6 +5254,7 @@
       }
     }
 
+    @Override
     public getUserProfileById_result deepCopy() {
       return new getUserProfileById_result(this);
     }
@@ -5865,11 +5266,12 @@
       this.ae = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.user.UserProfile getSuccess() {
       return this.success;
     }
 
-    public getUserProfileById_result setSuccess(org.apache.airavata.model.user.UserProfile success) {
+    public getUserProfileById_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile success) {
       this.success = success;
       return this;
     }
@@ -5889,11 +5291,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public getUserProfileById_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public getUserProfileById_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -5913,11 +5316,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getUserProfileById_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getUserProfileById_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -5937,7 +5341,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -5966,6 +5371,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -5982,6 +5389,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6000,8 +5408,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserProfileById_result)
         return this.equals((getUserProfileById_result)that);
       return false;
@@ -6070,7 +5476,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6080,7 +5486,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6090,7 +5496,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6103,10 +5509,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -6172,6 +5581,7 @@
     }
 
     private static class getUserProfileById_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProfileById_resultStandardScheme getScheme() {
         return new getUserProfileById_resultStandardScheme();
       }
@@ -6179,6 +5589,7 @@
 
     private static class getUserProfileById_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserProfileById_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProfileById_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6227,6 +5638,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProfileById_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6253,6 +5665,7 @@
     }
 
     private static class getUserProfileById_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProfileById_resultTupleScheme getScheme() {
         return new getUserProfileById_resultTupleScheme();
       }
@@ -6312,6 +5725,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserProfile_args implements org.apache.thrift.TBase<deleteUserProfile_args, deleteUserProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserProfile_args");
 
@@ -6322,9 +5736,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -6343,6 +5757,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -6369,6 +5784,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6381,10 +5797,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6433,6 +5851,7 @@
       }
     }
 
+    @Override
     public deleteUserProfile_args deepCopy() {
       return new deleteUserProfile_args(this);
     }
@@ -6444,11 +5863,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public deleteUserProfile_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public deleteUserProfile_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -6468,11 +5888,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserProfile_args setUserId(java.lang.String userId) {
+    public deleteUserProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -6492,11 +5913,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteUserProfile_args setGatewayId(java.lang.String gatewayId) {
+    public deleteUserProfile_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -6516,7 +5938,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -6545,6 +5968,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -6561,6 +5986,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6579,8 +6005,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserProfile_args)
         return this.equals((deleteUserProfile_args)that);
       return false;
@@ -6649,7 +6073,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6659,7 +6083,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6669,7 +6093,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6682,14 +6106,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -6760,6 +6188,7 @@
     }
 
     private static class deleteUserProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserProfile_argsStandardScheme getScheme() {
         return new deleteUserProfile_argsStandardScheme();
       }
@@ -6767,6 +6196,7 @@
 
     private static class deleteUserProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6813,6 +6243,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6839,6 +6270,7 @@
     }
 
     private static class deleteUserProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserProfile_argsTupleScheme getScheme() {
         return new deleteUserProfile_argsTupleScheme();
       }
@@ -6872,6 +6304,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserProfile_result implements org.apache.thrift.TBase<deleteUserProfile_result, deleteUserProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserProfile_result");
 
@@ -6883,8 +6316,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -6903,6 +6336,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -6929,6 +6363,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6941,10 +6376,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6995,6 +6432,7 @@
       }
     }
 
+    @Override
     public deleteUserProfile_result deepCopy() {
       return new deleteUserProfile_result(this);
     }
@@ -7030,11 +6468,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public deleteUserProfile_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public deleteUserProfile_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -7054,11 +6493,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public deleteUserProfile_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public deleteUserProfile_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -7078,7 +6518,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -7107,6 +6548,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -7123,6 +6566,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7141,8 +6585,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserProfile_result)
         return this.equals((deleteUserProfile_result)that);
       return false;
@@ -7209,7 +6651,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7219,7 +6661,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7229,7 +6671,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7242,10 +6684,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -7306,6 +6751,7 @@
     }
 
     private static class deleteUserProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserProfile_resultStandardScheme getScheme() {
         return new deleteUserProfile_resultStandardScheme();
       }
@@ -7313,6 +6759,7 @@
 
     private static class deleteUserProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7360,6 +6807,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7386,6 +6834,7 @@
     }
 
     private static class deleteUserProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserProfile_resultTupleScheme getScheme() {
         return new deleteUserProfile_resultTupleScheme();
       }
@@ -7444,6 +6893,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserProfilesInGateway_args implements org.apache.thrift.TBase<getAllUserProfilesInGateway_args, getAllUserProfilesInGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserProfilesInGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserProfilesInGateway_args");
 
@@ -7455,8 +6905,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserProfilesInGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserProfilesInGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
     public int offset; // required
     public int limit; // required
 
@@ -7478,6 +6928,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -7506,6 +6957,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7518,10 +6970,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7579,6 +7033,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getAllUserProfilesInGateway_args deepCopy() {
       return new getAllUserProfilesInGateway_args(this);
     }
@@ -7593,11 +7048,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public getAllUserProfilesInGateway_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public getAllUserProfilesInGateway_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -7617,11 +7073,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllUserProfilesInGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getAllUserProfilesInGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -7687,7 +7144,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -7724,6 +7182,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -7743,6 +7203,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7763,8 +7224,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserProfilesInGateway_args)
         return this.equals((getAllUserProfilesInGateway_args)that);
       return false;
@@ -7842,7 +7301,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7852,7 +7311,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7862,7 +7321,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7872,7 +7331,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7885,14 +7344,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -7964,6 +7427,7 @@
     }
 
     private static class getAllUserProfilesInGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserProfilesInGateway_argsStandardScheme getScheme() {
         return new getAllUserProfilesInGateway_argsStandardScheme();
       }
@@ -7971,6 +7435,7 @@
 
     private static class getAllUserProfilesInGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserProfilesInGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserProfilesInGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8031,6 +7496,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserProfilesInGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8058,6 +7524,7 @@
     }
 
     private static class getAllUserProfilesInGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserProfilesInGateway_argsTupleScheme getScheme() {
         return new getAllUserProfilesInGateway_argsTupleScheme();
       }
@@ -8094,6 +7561,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserProfilesInGateway_result implements org.apache.thrift.TBase<getAllUserProfilesInGateway_result, getAllUserProfilesInGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserProfilesInGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserProfilesInGateway_result");
 
@@ -8104,9 +7572,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserProfilesInGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserProfilesInGateway_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -8125,6 +7593,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -8151,6 +7620,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8163,10 +7633,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8220,6 +7692,7 @@
       }
     }
 
+    @Override
     public getAllUserProfilesInGateway_result deepCopy() {
       return new getAllUserProfilesInGateway_result(this);
     }
@@ -8235,6 +7708,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.user.UserProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -8246,11 +7720,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.user.UserProfile> getSuccess() {
       return this.success;
     }
 
-    public getAllUserProfilesInGateway_result setSuccess(java.util.List<org.apache.airavata.model.user.UserProfile> success) {
+    public getAllUserProfilesInGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.user.UserProfile> success) {
       this.success = success;
       return this;
     }
@@ -8270,11 +7745,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public getAllUserProfilesInGateway_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public getAllUserProfilesInGateway_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -8294,11 +7770,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public getAllUserProfilesInGateway_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public getAllUserProfilesInGateway_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -8318,7 +7795,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -8347,6 +7825,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -8363,6 +7843,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8381,8 +7862,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserProfilesInGateway_result)
         return this.equals((getAllUserProfilesInGateway_result)that);
       return false;
@@ -8451,7 +7930,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8461,7 +7940,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8471,7 +7950,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8484,10 +7963,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -8550,6 +8032,7 @@
     }
 
     private static class getAllUserProfilesInGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserProfilesInGateway_resultStandardScheme getScheme() {
         return new getAllUserProfilesInGateway_resultStandardScheme();
       }
@@ -8557,6 +8040,7 @@
 
     private static class getAllUserProfilesInGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserProfilesInGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserProfilesInGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8572,7 +8056,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list0.size);
-                  org.apache.airavata.model.user.UserProfile _elem1;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = new org.apache.airavata.model.user.UserProfile();
@@ -8615,6 +8099,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserProfilesInGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8648,6 +8133,7 @@
     }
 
     private static class getAllUserProfilesInGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserProfilesInGateway_resultTupleScheme getScheme() {
         return new getAllUserProfilesInGateway_resultTupleScheme();
       }
@@ -8692,9 +8178,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.user.UserProfile>(_list5.size);
-            org.apache.airavata.model.user.UserProfile _elem6;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = new org.apache.airavata.model.user.UserProfile();
@@ -8722,6 +8208,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class doesUserExist_args implements org.apache.thrift.TBase<doesUserExist_args, doesUserExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserExist_args");
 
@@ -8732,9 +8219,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new doesUserExist_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new doesUserExist_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.security.AuthzToken authzToken; // required
-    public java.lang.String userId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -8753,6 +8240,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AUTHZ_TOKEN
@@ -8779,6 +8267,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8791,10 +8280,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8843,6 +8334,7 @@
       }
     }
 
+    @Override
     public doesUserExist_args deepCopy() {
       return new doesUserExist_args(this);
     }
@@ -8854,11 +8346,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
       return this.authzToken;
     }
 
-    public doesUserExist_args setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
+    public doesUserExist_args setAuthzToken(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.security.AuthzToken authzToken) {
       this.authzToken = authzToken;
       return this;
     }
@@ -8878,11 +8371,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public doesUserExist_args setUserId(java.lang.String userId) {
+    public doesUserExist_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -8902,11 +8396,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public doesUserExist_args setGatewayId(java.lang.String gatewayId) {
+    public doesUserExist_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -8926,7 +8421,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AUTHZ_TOKEN:
         if (value == null) {
@@ -8955,6 +8451,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AUTHZ_TOKEN:
@@ -8971,6 +8469,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8989,8 +8488,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof doesUserExist_args)
         return this.equals((doesUserExist_args)that);
       return false;
@@ -9059,7 +8556,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
+      lastComparison = java.lang.Boolean.compare(isSetAuthzToken(), other.isSetAuthzToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9069,7 +8566,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9079,7 +8576,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9092,14 +8589,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -9170,6 +8671,7 @@
     }
 
     private static class doesUserExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserExist_argsStandardScheme getScheme() {
         return new doesUserExist_argsStandardScheme();
       }
@@ -9177,6 +8679,7 @@
 
     private static class doesUserExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<doesUserExist_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, doesUserExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9223,6 +8726,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, doesUserExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9249,6 +8753,7 @@
     }
 
     private static class doesUserExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserExist_argsTupleScheme getScheme() {
         return new doesUserExist_argsTupleScheme();
       }
@@ -9282,6 +8787,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class doesUserExist_result implements org.apache.thrift.TBase<doesUserExist_result, doesUserExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<doesUserExist_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("doesUserExist_result");
 
@@ -9293,8 +8799,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new doesUserExist_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
-    public org.apache.airavata.model.error.AuthorizationException ae; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe; // required
+    public @org.apache.thrift.annotation.Nullable 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 {
@@ -9313,6 +8819,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -9339,6 +8846,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9351,10 +8859,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9405,6 +8915,7 @@
       }
     }
 
+    @Override
     public doesUserExist_result deepCopy() {
       return new doesUserExist_result(this);
     }
@@ -9440,11 +8951,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException getUpe() {
       return this.upe;
     }
 
-    public doesUserExist_result setUpe(org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
+    public doesUserExist_result setUpe(@org.apache.thrift.annotation.Nullable org.apache.airavata.service.profile.user.cpi.exception.UserProfileServiceException upe) {
       this.upe = upe;
       return this;
     }
@@ -9464,11 +8976,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.AuthorizationException getAe() {
       return this.ae;
     }
 
-    public doesUserExist_result setAe(org.apache.airavata.model.error.AuthorizationException ae) {
+    public doesUserExist_result setAe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.AuthorizationException ae) {
       this.ae = ae;
       return this;
     }
@@ -9488,7 +9001,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -9517,6 +9031,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -9533,6 +9049,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9551,8 +9068,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof doesUserExist_result)
         return this.equals((doesUserExist_result)that);
       return false;
@@ -9619,7 +9134,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9629,7 +9144,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpe()).compareTo(other.isSetUpe());
+      lastComparison = java.lang.Boolean.compare(isSetUpe(), other.isSetUpe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9639,7 +9154,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
+      lastComparison = java.lang.Boolean.compare(isSetAe(), other.isSetAe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9652,10 +9167,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -9716,6 +9234,7 @@
     }
 
     private static class doesUserExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserExist_resultStandardScheme getScheme() {
         return new doesUserExist_resultStandardScheme();
       }
@@ -9723,6 +9242,7 @@
 
     private static class doesUserExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<doesUserExist_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, doesUserExist_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9770,6 +9290,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, doesUserExist_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9796,6 +9317,7 @@
     }
 
     private static class doesUserExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public doesUserExist_resultTupleScheme getScheme() {
         return new doesUserExist_resultTupleScheme();
       }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/exception/UserProfileServiceException.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/exception/UserProfileServiceException.java
index 947d58b..6f28110 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/exception/UserProfileServiceException.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/exception/UserProfileServiceException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.service.profile.user.cpi.exception;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserProfileServiceException extends org.apache.thrift.TException implements org.apache.thrift.TBase<UserProfileServiceException, UserProfileServiceException._Fields>, java.io.Serializable, Cloneable, Comparable<UserProfileServiceException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserProfileServiceException");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserProfileServiceExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserProfileServiceExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public UserProfileServiceException deepCopy() {
     return new UserProfileServiceException(this);
   }
@@ -131,11 +136,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public UserProfileServiceException setMessage(java.lang.String message) {
+  public UserProfileServiceException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -155,7 +161,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -168,6 +175,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -178,6 +187,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -192,8 +202,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserProfileServiceException)
       return this.equals((UserProfileServiceException)that);
     return false;
@@ -236,7 +244,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -249,14 +257,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class UserProfileServiceExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserProfileServiceExceptionStandardScheme getScheme() {
       return new UserProfileServiceExceptionStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class UserProfileServiceExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserProfileServiceException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserProfileServiceException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -338,6 +352,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserProfileServiceException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -354,6 +369,7 @@
   }
 
   private static class UserProfileServiceExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserProfileServiceExceptionTupleScheme getScheme() {
       return new UserProfileServiceExceptionTupleScheme();
     }
diff --git a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/profile_user_cpiConstants.java b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/profile_user_cpiConstants.java
index 2272f09..5bac6ea 100644
--- a/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/profile_user_cpiConstants.java
+++ b/airavata-services/profile-service/profile-service-stubs/src/main/java/org/apache/airavata/service/profile/user/cpi/profile_user_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/dev-tools/ansible/airavata.yml b/dev-tools/ansible/airavata.yml
index 5969528..cc55664 100644
--- a/dev-tools/ansible/airavata.yml
+++ b/dev-tools/ansible/airavata.yml
@@ -43,6 +43,7 @@
     - role: common
       become: yes
       become_user: "{{user}}"
+    - letsencrypt
     - role: api-orch
       become: yes
       become_user: "{{user}}"
diff --git a/dev-tools/ansible/apiserver.yml b/dev-tools/ansible/apiserver.yml
index 8a22961..505d73a 100644
--- a/dev-tools/ansible/apiserver.yml
+++ b/dev-tools/ansible/apiserver.yml
@@ -31,6 +31,7 @@
     - role: common
       become: yes
       become_user: "{{user}}"
+    - letsencrypt
     - role: api-orch
       become: yes
       become_user: "{{user}}"
diff --git a/dev-tools/ansible/inventories/scigap/develop/files/airavata.jks b/dev-tools/ansible/inventories/scigap/develop/files/airavata.jks
index 4124c40..c669c81 100644
--- a/dev-tools/ansible/inventories/scigap/develop/files/airavata.jks
+++ b/dev-tools/ansible/inventories/scigap/develop/files/airavata.jks
Binary files differ
diff --git a/dev-tools/ansible/inventories/scigap/develop/files/airavata_sym.jks b/dev-tools/ansible/inventories/scigap/develop/files/airavata_sym.jks
index 13ccf1b..57434f0 100644
--- a/dev-tools/ansible/inventories/scigap/develop/files/airavata_sym.jks
+++ b/dev-tools/ansible/inventories/scigap/develop/files/airavata_sym.jks
Binary files differ
diff --git a/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
index f90e1c7..15c5d33 100644
--- a/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/group_vars/all/vars.yml
@@ -71,8 +71,9 @@
 api_server_name: "apiserver-node0"
 api_server_host: "{{ groups['api-orch'][0] }}"
 api_server_port: "8930"
+api_server_public_hostname: "apidev.scigap.org"
 api_secured: "true"
-tls_enable: "true"
+tls_enable: "false"
 api_server_tls_port: "9930"
 enable_sharing: "true"
 iam_server_url: "https://iamdev.scigap.org/auth"
@@ -234,4 +235,18 @@
 monitoring_subnets: "{{ iu_subnets }}"
 
 # Zabbix
-zabbix_server: "rt-watch.uits.indiana.edu"
+zabbix_server: "rt-monitor.uits.iu.edu"
+
+
+#variables for metscheduler
+cluster_monitoring_enabled: true
+metascheduler_resource_selection_policy_class: org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection.MultipleComputeResourcePolicy
+metascheduler_gateway: dev-ultrascan
+metascheduler_group_resource_profile: bd83e541-fb7b-4878-a11b-dc56696700d5
+metascheduler_username: metascheacc
+cluster_scanning_interval: 7800
+job_scanning_interval: 180
+cluster_scanning_parallel_jobs: 1
+metaschedluer_job_scanning_enable: true
+metascheduler_maximum_rescheduler_threshold: 5
+compute_resource_rescheduler_policy_class: org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler.ExponentialBackOffReScheduler
\ No newline at end of file
diff --git a/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml b/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml
index 60351ff..0b76cae 100644
--- a/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/group_vars/django/vars.yml
@@ -22,13 +22,10 @@
 user: "pga"
 group: "pga"
 gateway_data_store_hostname: "web.dev.scigap.org"
+gateway_data_store_resource_id: "web.dev.scigap.org_ba01452f-44e5-4e03-b35f-756630539198"
 django_gateway_user_storages:
   - alias: "default"
-    storage_resource_id: "web.dev.scigap.org_ba01452f-44e5-4e03-b35f-756630539198"
-    options:
-      directory: "{{ experiment_data_dir }}"
-  - alias: "pgadev"
-    storage_resource_id: "pgadev.scigap.org_7ddf28fd-d503-4ff8-bbc5-3279a7c3b99e"
+    storage_resource_id: "{{ gateway_data_store_resource_id }}"
     options:
       directory: "{{ experiment_data_dir }}"
 django_wsgi_processes: 1
@@ -37,10 +34,12 @@
 django_hidden_airavata_apps: "['django_airavata_dataparsers']"
 tusd_vhost_servername: "tus.dev.scigap.org"
 tusd_upload_dir: "{{real_user_data_dir}}/tus-temp-dir"
-airavata_django_git_branch: "develop"
+airavata_django_git_branch: "AIRAVATA-3698--Add-support-for-Python-3.11"
 cilogon_userinfo_url: "https://cilogon.org/oauth2/userinfo"
 real_user_data_dir: "/media/volume/sdb/gateway-user-data"
 
+django_user_data_archive_directory: "{{ user_data_dir }}/user-data-archives/{{ gateway_id }}"
+
 # Default email settings
 portal_email_host: "smtp.gmail.com"
 portal_email_port: 587
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/amp/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/amp/vars.yml
index c57e5c7..7cbd933 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/amp/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/amp/vars.yml
@@ -31,7 +31,8 @@
 httpd_selinux_mode: "permissive"
 
 airavata_django_extra_dependencies:
-  - name: "git+ssh://git@github.com/SciGaP/trecx-django-app.git#egg=trecx-django-app"
+# Multiple GitHub SSH Deploy Keys on dev.amp, the trecx one is aliased to host github.com-trecx in .ssh/config
+  - name: "git+ssh://git@github.com-trecx/SciGaP/trecx-django-app.git#egg=trecx-django-app"
     editable: true
 
 # tus isn't setup yet
@@ -57,20 +58,18 @@
 experiment_data_dir: "{{ user_data_dir }}/django-amp"
 gateway_data_store_resource_id: "dev.ampgateway.org_b8228bc7-fad2-45db-8ed1-47de359a54a5"
 gateway_data_store_hostname: "dev.ampgateway.org"
-
-django_gateway_user_storages:
-  - alias: "default"
-    storage_resource_id: "{{ gateway_data_store_resource_id }}"
-    options:
-      directory: "{{ experiment_data_dir }}"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCMuKQoD6K1DpgHyoY2/eyLMNc5UdupqWqBFEnSO24izMXeOqTityLDRrVZGMLvV/t9wZEig1dhg21Ic5wRSHpCra2BXRn+WjgVdR20EGWPkuFYoDyeMyp8YKjaf1+Fcz+2H52wnrC0RFOHExgB3DWkRSEGghyyIXSBPMxrpS+f0FAfTc36i+EQq2UC0n1xvcdrtGjCKv56mafiKgFfYHbFw7Y7eJxhDCYlRYnzeTJBxWATu9tMGKZgGOxdDXR5hjTvqnpMpk3QpvY/BzAYpCIXxZbb7C41vHaGA9kabjuSlQG4nd+YAxiPrUZdExQNHUE9SCPFQMd/FxsNGdf7YCGH"
 
-django_error_emails: "[('Marcus Christie', 'machrist@iu.edu'), ('Eroma Abeysinghe', 'eabeysin@iu.edu'), ('Sudhakar Pamidighantam', 'pamidigs@iu.edu'), ('Dinuka De Silva', 'dinsdesi@iu.edu')]"
+django_error_emails: "[('Eroma Abeysinghe', 'eabeysin@iu.edu'), ('Sudhakar Pamidighantam', 'pamidigs@iu.edu'), ('Tom Wolcott', 'wolcott.tomj@gmail.com')]"
 
 portal_title: "Dev AMP Gateway"
 
 django_extra_settings:
+  GATEWAY_DATA_SHARED_DIRECTORIES:
+    shared:
+      path: /var/www/portals/gateway-user-data/shared
   TRECX:
     TRECX_APPLICATION_ID: "tRecX_70fc89f8-424f-4495-99e3-f3aa6a75f967"
 ...
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/cyberwater/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/cyberwater/vars.yml
index a3dded5..b1d8609 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/cyberwater/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/cyberwater/vars.yml
@@ -41,6 +41,7 @@
 gateway_id: "cyberwater"
 experiment_data_dir: "{{ user_data_dir }}/django-cyberwater"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgbggEQsHObu9N03L2mTOEwd6+U5w7j5VuYCkkbT8Cz/XNTDmdX/bNHlTlaWafm37mfmJznI6owl2XwoYWmV4etTs1OpPsffqDXkO7QUsDzvwWzWkqKjhkdD2e7pJ2dPdWrMQbDHdi7RnmapX4+JI042dqbJUd15xBgS0Jud/eVXGZsyeMDbGfMJ4m4ckV2ywSwvxAT5XFald5I25tdi7dwPA8g+hcIQNxRF+oBX5L+mepqTV5KNFQzmKFh1eREf8+yVkSU6NKLsZc2CSghquU58KKWtJbXEo9L31jcn0Jxxf3VjdchbLzAh3nVwoNhLfeYr5ox0YGpW6Xk3ROb14r"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 portal_title: "Beta Cyberwater Gateway"
 ...
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml
index 48007e5..f439164 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/delta/vars.yml
@@ -54,6 +54,7 @@
 gateway_id: "dev-delta"
 experiment_data_dir: "{{ user_data_dir }}/django-dev-delta"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCls5UgazweDc9d4NN65D+JVCeiBUhMSHTRWNHI6v1RPq/Or84fF41+HaemToQverQ73b/gUiXWuGfb75Y7JK5sgqRXCUiL1OVHICX3h4sh8UiMHEe5fUY/PNme2+witXYFr8EkYrdseJgnKXNULsgZEkuHzYbDFrn6z+pc4zXtoT/iUic8lUmeR1h8Quac7G0cSS0X8CFDMjkBKoX3KU7wffwuLGO2IhIdNpBgKzQUWRm6vEA48wdjEQTneX9rQefASOsbp/HNJHN/xsovFTNdatnezKz1Dt8cpSl32KEFs1YQYB6UmGJimRWiAAQBNCcaHLlgXWIQQ2U0vbsrVKZr"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 admin_emails: "[('SGRC', 'circ-iu-group@iu.edu')]"
 portal_title: "Dev DELTA Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vars.yml
new file mode 100644
index 0000000..f328c5b
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vars.yml
@@ -0,0 +1,62 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+
+# NOTE: Plasma Science VLab is deployed to a Jetstream2 VM
+real_user_data_dir: "/media/volume/gateway-data/data"
+user_data_dir: "/var/www/portals/gateway-user-data"
+gateway_data_store_hostname: "149.165.152.93"
+gateway_data_store_resource_id: "149.165.152.93_730d2033-c4f0-4fa6-8c45-429a595a52f8"
+
+vhost_servername: "dev.vlab.plasmascience.scigap.org"
+vhost_ssl: true
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+# tus isn't setup yet
+tusd_vhost_servername:
+
+airavata_django_extra_dependencies:
+  - name: git+https://github.com/matthew-mccall/zenodo_integration_app.git#egg=zenodo_integration_app
+    editable: true
+
+## Keycloak related variables
+tenant_domain: "devgkeyll"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Dev Gkeyll"
+#  external:
+#    - name: "Existing Institute Login"
+#      idp_alias: "cilogon"
+
+gateway_id: "devgkeyll"
+experiment_data_dir: "{{ user_data_dir }}/django-dev-gkeyll"
+# gateway_data_store_ssh_public_key: "TODO"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCsYjZYzdzpYqzFqLIAxGRxxTYMogApIvMw7nMxueL/SS7W2BuHmHNTQA2KAqcTBca3Whe88rzek5jebU44GqAG20Gya3a4HMInwFyxpsXdtFiCpsZfHaV/05OwpuHJ87Yn+rcOffs6cCvbe9SkxteFoEYTrqxUmVlC0mwHm3pLBpjBtl5UwAXD53D2LJ05vMpxQ3F1ncGL7bV2JThJUYidlwgTySOtjuuRz0/sCsYfgnG7iEhsQRc6Konq/m+uvzk1rdMdxyPhgAaN4xw2LRKm+W0KqXwv5GNV0iMTrge/Nb4AYa2tKi07v8HYpfGrjPCDRHZJl3C3SGS9d8wtBeP"
+#django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
+
+admin_emails: "[('Eroma Abeysinghe', 'eabeysin@iu.edu')]"
+portal_title: "Dev Gkeyll Gateway"
+...
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vault.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vault.yml
new file mode 100644
index 0000000..c268c95
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-gkeyll/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+38396634316433343133626162353265646139393639616330333438363236636661316538386339
+3766623161626464303231323237363333386338303339640a653666616633333131646631626537
+39653966663763633032366566626230383262323834663731333765373230663733386634373932
+3239613066353832330a373435383737363637396335613861313662356132313464356435663532
+65663239663764663632633263383763343730636566303336376437306633376134393863666134
+61393631616461386261306439613965663337373137363866396332333162626631383465633538
+65336639353232626336366630313562626435613936613133336133306131356430366631383139
+33393737303739393132343765393765343834663735636561643461366136616139333438386465
+63373363313436623062653436353133313566396565366161323139666162346438326565663730
+30303036376564376232663537393162633232666134653736646464363966323062316533353133
+346430373334333765613061643262373132
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-ultrascan/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-ultrascan/vars.yml
new file mode 100644
index 0000000..81380d8
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-ultrascan/vars.yml
@@ -0,0 +1,48 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+vhost_servername: "dev.ultrascan.scigap.org"
+vhost_ssl: true
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+## Keycloak related variables
+tenant_domain: "dev-ultrascan"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Ultrascan"
+  external:
+    - name: "Existing Institute Login"
+      idp_alias: "cilogon"
+
+gateway_id: "dev-ultrascan"
+experiment_data_dir: "{{ user_data_dir }}/django-dev-ultrascan"
+# gateway_data_store_ssh_public_key: "TODO"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdefavkuUfn4yNXpAiqHufQ/sk13f5yf4WFt4G4sAN6fwgdL1+90ShtU+BL0TJCaLpLtuFIFvoMh0wwwA1WYCVSpZ/brdnTvcd9y/Vcfiu7fbKNhh03PlX5wwbxNqGDURB+HtWZg2JDYuBHBhNon6/39HZzLCr5wyX4OUSIxWZ9D9g8y1rwgbAQ7PwNA1/kUulBf/gEBMAypX1I/q0/6ZkaRp7M8dVfX7wPX5bXcj7hYLyNFXQ+TDQYm+Z0sPjPAJCzyLxXfBtzacWUX5PVm3mxFRHO0VYxpZ6BCGool02Zo/xOdMGR8BX9Zu0JYiOmNBhXrKvscqTROLwEcLWdaXZ"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
+
+admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
+portal_title: "Dev UltraScan Gateway"
+...
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-ultrascan/vault.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-ultrascan/vault.yml
new file mode 100644
index 0000000..e6eef00
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/dev-ultrascan/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+38653663643061323334633234613161613461386432363139633531306531613633633233386166
+6536333538666464393866306130623961656362386464320a326263656165663936383533313965
+39323038313531383563336130386337613532383062623933376664316462626366383961623037
+3737303035313565380a386536353866346537643964333034323066633261356531303536656234
+65353332616163313364303431656165613534616634376330336664326435303161643230346462
+38613035613862333866366230333931313036366539326130353264336536363062353433343132
+31343862363963376365383966383639343638353530613532636562363866656163333233333730
+36356634646139643965373936333836363766633566323932303639656465616431356563373530
+35393032383831356361343564633466353635656438316138323265346265306637656533306263
+38653339336132326536366333626639333861313666306634623563333731306565366266353165
+626266633132613366633534373532653865
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/geo/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/geo/vars.yml
index d9d3622..2d06b87 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/geo/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/geo/vars.yml
@@ -54,6 +54,7 @@
 gateway_id: "beta-geo"
 experiment_data_dir: "{{ user_data_dir }}/django-geo"
 # gateway_data_store_ssh_public_key: "TODO"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 admin_emails: "[('SGRC', 'sgg@iu.edu')]"
 portal_title: "Beta GEO Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml
index 57d015e..428a33e 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/interactwel/vars.yml
@@ -25,11 +25,10 @@
 ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
 ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
 
-interactwel_django_app_branch: "api-integration"
-# Disable installing the interactwel app until we can fix the install
-# airavata_django_extra_dependencies:
-#   - name: git+https://github.com/InterACTWEL/interactactwel-django-app.git@{{ interactwel_django_app_branch }}#egg=interactwel-django-app
-#     editable: true
+interactwel_django_app_branch: "master"
+airavata_django_extra_dependencies:
+  - name: git+https://github.com/InterACTWEL/interactactwel-django-app.git@{{ interactwel_django_app_branch }}#egg=interactwel-django-app
+    editable: true
 
 django_extra_settings:
   LOGIN_REDIRECT_URL: "/interactwel/"
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/rnamake/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/rnamake/vars.yml
index 689b738..2d35425 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/rnamake/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/rnamake/vars.yml
@@ -40,6 +40,7 @@
 gateway_id: "rnamake"
 experiment_data_dir: "{{ user_data_dir }}/django-rnamake"
 # gateway_data_store_ssh_public_key: "TODO"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
 portal_title: "Dev RNAMake Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/seagrid/vars.yml b/dev-tools/ansible/inventories/scigap/develop/host_vars/seagrid/vars.yml
index 5c287a9..ae7eb17 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/seagrid/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/seagrid/vars.yml
@@ -39,9 +39,15 @@
       idp_token_url: "{{ oauth_service_url }}/realms/{{ tenant_domain }}/broker/oidc/token"
       userinfo_url: "{{ cilogon_userinfo_url }}"
 
+django_extra_settings:
+  GATEWAY_DATA_SHARED_DIRECTORIES:
+    Shared:
+      path: /data/gateway-user-data/shared-seagrid/Shared
+
 gateway_id: "seagrid"
 experiment_data_dir: "{{ user_data_dir }}/django-seagrid"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCFgLWSw6Mf0tPbkeSyzPMxgT50cNEXFDiE9UnEx0tIm+is9C3hIK78Ct8NAWgPxdXy1vd/9NBVIqkR516NZ7VyGbUHkrtPLOYL+Of9IyvxOQmrLzTLQNS9yVkxwxykJzBePZySyLcOKQdG8YoNj6+2iRolzfo5/w4Gz+MSqKmPJcVH8hjwTdoE5s0hYU4MaLF966hh6LUH7SG31BcTadtEgnE8nYfxeoa20oj0h0n1LKO06OZgVXVN3iulHimQ1paQiW71X9UPUhgpLnYAiI99BmYOQqEM4IndwZLZPwDeb23A0Dh3bLO8CAPgPRcG5b1Da6kABi5i5gcIt3WCJzeP"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'), ('Sudhakar Pamidighantam', 'pamidigs@iu.edu'), ('Eroma Abeysinghe', 'eroma.abeysinghe@gmail.com')]"
 portal_title: "SEAGrid Portal"
diff --git a/dev-tools/ansible/inventories/scigap/develop/host_vars/simccs/files/django-ssl-vhost.conf.j2 b/dev-tools/ansible/inventories/scigap/develop/host_vars/simccs/files/django-ssl-vhost.conf.j2
index 2e482d2..bc0426f 100644
--- a/dev-tools/ansible/inventories/scigap/develop/host_vars/simccs/files/django-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/inventories/scigap/develop/host_vars/simccs/files/django-ssl-vhost.conf.j2
@@ -43,7 +43,7 @@
     # Reverse proxy to geoserver on gf8
     ProxyPass /geoserver "http://gf8.ucs.indiana.edu/geoserver"
     ProxyPassReverse /geoserver "http://gf8.ucs.indiana.edu/geoserver"
-    
+
     Alias /robots.txt {{ doc_root_dir }}/static/robots.txt
     Alias /favicon.ico {{ doc_root_dir }}/static/favicon.ico
 
@@ -68,7 +68,7 @@
     </Directory>
     {% endfor %}
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ django_venv_dir }} python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
diff --git a/dev-tools/ansible/inventories/scigap/develop/hosts b/dev-tools/ansible/inventories/scigap/develop/hosts
index f6b351a..e68daf5 100644
--- a/dev-tools/ansible/inventories/scigap/develop/hosts
+++ b/dev-tools/ansible/inventories/scigap/develop/hosts
@@ -13,7 +13,7 @@
 apidev.scigap.org ansible_python_interpreter=/usr/bin/python3
 
 [keycloak]
-iamdev.scigap.org ansible_python_interpreter=/usr/bin/python3 public_ipv4=149.165.152.23
+iamdev.scigap.org ansible_python_interpreter=/usr/bin/python3 public_ipv4=149.165.153.195
 
 [helix]
 helix.js2.scigap.org ansible_python_interpreter=/usr/bin/python3
@@ -35,9 +35,11 @@
 ; mines ansible_host=149.165.156.46
 amp ansible_host=149.165.153.222
 geo ansible_host=web.dev.scigap.org
-delta ansible_host=149.165.153.181
+; delta ansible_host=149.165.153.181
 ; custos-testdrive ansible_host=pgadev.scigap.org
 rnamake ansible_host=web.dev.scigap.org
+dev-ultrascan ansible_host=web.dev.scigap.org
+dev-gkeyll ansible_host=149.165.152.93
 
 [pga]
 scigap ansible_host=149.165.155.229
diff --git a/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml b/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
index c3aae31..284ebb0 100644
--- a/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/group_vars/all/vars.yml
@@ -67,8 +67,9 @@
 api_server_name: "apiserver-node0"
 api_server_host: "{{ groups['api-orch'][0] }}"
 api_server_port: "8930"
+api_server_public_hostname: "apiprod.scigap.org"
 api_secured: "true"
-tls_enable: "true"
+tls_enable: "false"
 api_server_tls_port: "9930"
 enable_sharing: "true"
 iam_server_url: "https://iam.scigap.org/auth"
@@ -234,4 +235,17 @@
 monitoring_subnets: "{{ iu_subnets }}"
 
 # Zabbix
-zabbix_server: "rt-watch.uits.indiana.edu"
+zabbix_server: "rt-monitor.uits.iu.edu"
+
+#variables for metscheduler
+cluster_monitoring_enabled: true
+metascheduler_resource_selection_policy_class: org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection.MultipleComputeResourcePolicy
+metascheduler_gateway: ultrascan
+metascheduler_group_resource_profile: 6de84d0c-2bc5-4971-811e-5a56bde63ba2
+metascheduler_username: metascheacc
+cluster_scanning_interval: 7800
+job_scanning_interval: 180
+cluster_scanning_parallel_jobs: 1
+metaschedluer_job_scanning_enable: true
+metascheduler_maximum_rescheduler_threshold: 5
+compute_resource_rescheduler_policy_class: org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler.ExponentialBackOffReScheduler
diff --git a/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml b/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml
index da6381a..2502b87 100644
--- a/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/group_vars/django/vars.yml
@@ -32,6 +32,8 @@
 # django_keycloak_ca_certfile_path: 'os.path.join(BASE_DIR, "django_airavata", "resources", "incommon_rsa_server_ca.pem")'
 cilogon_userinfo_url: "https://cilogon.org/oauth2/userinfo"
 
+django_user_data_archive_directory: "{{ user_data_dir }}/user-data-archives/{{ gateway_id }}"
+
 # Default email settings
 portal_email_host: "smtp.gmail.com"
 portal_email_port: 587
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vars.yml
new file mode 100644
index 0000000..4792f33
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "ai.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 200MB
+#django_file_upload_max_file_size_mb: 200
+
+## Keycloak related variables
+tenant_domain: "ai-confluence"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "AI Confluence Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "ai-confluence"
+experiment_data_dir: "{{ user_data_dir }}/ai-confluence"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVSe+qdmtbC0557O4C+Xv5jrSr66Wjj/zx9fDHhX3j5xHxWA90mnc5HNfFRSM+IqL4kICY83M7YQWClOdpITMb1tLFNzY4ZkR4X7xTxFw8MGkMGm3lEPFhr2Sht7CwC3Br/5x4wUIlNfWMkWmRT+evaM1GGHozkjgCVutsSINLKbz38L2/ZYlJ5l14WaCq602IY8qUFDNUzSC8Tl44IyG9l6ocnEvE4sBbMiFKx38jIRTlZDyIqJ5V1WzeW0xm7wzVQQsAQHn7x2yTNgJ2I6EX4kJeyjwXIbl4N70QuISaHz4XOe6/L1a/c2fMuLmjc5GgjoUPxscvyCvCrTSu/3Zf"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "AI Confluence Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vault.yml
new file mode 100644
index 0000000..c67f63a
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ai-confluence/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+63316230363261343835663931313830316132666565323138353866353061363734323566616430
+6465666666313261316439353261343230626130633437310a623938623865303662383365663965
+35366163613336356630313366653830643934656435356536613933646231313931396139653232
+3134663335346239640a336230663731363366636231383838383964353631393530303537343432
+39396466323465333034303236303832663966633138363739323665303162613137303333396432
+65353765306339323166643439343737336639383461333264633236383664346464623635353366
+39363062623531643561393138313830396330626533376362633265303830323531333435643034
+66326439613764323637623238623063646665373432656238306362363638663730323537356636
+32333666336138656336633163653262306639373139636532306435323363326235376561383130
+31653132336565326662333133366335373232643462663337353236353036306666623733303964
+376334376536623637633266636532386464
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml
index d14bed3..a9139d0 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ampgateway/vars.yml
@@ -19,10 +19,9 @@
 #
 
 ---
-# TODO: Need Node upgrade to build the Django app Vue.js code
-# airavata_django_extra_dependencies:
-#   - name: "git+ssh://git@github.com/SciGaP/trecx-django-app.git#egg=trecx-django-app"
-#     editable: true
+airavata_django_extra_dependencies:
+  - name: "git+ssh://git@github.com/SciGaP/trecx-django-app.git#egg=trecx-django-app"
+    editable: true
 
 vhost_servername: "amosgateway.org"
 
@@ -52,6 +51,7 @@
 gateway_id: "amp"
 experiment_data_dir: "{{ user_data_dir }}/amp"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCAfFAdLrGC/om63ipx9RhuzcGnMlVQkKsuy5NtUgK7I4OdTJ1Ck1H/ARBwiWNQy08GO2HETfM7StCROwW+tlZ6n+THBkbei4G8q6xV6UXlC3BJxuDlwkxnyOFSYEt8Qd2g8IC/X0qo9/m5Ea9Z5axzTk+n2OZlV87DrLheV+OVhgf+yYGVo9egTZ7Kg/TV/Hl1xeU5JgRcPPrLrWYn8vEQo7xT5boS3X9y2o7FgNTdUf5K10ZJ37RWcLQpzZ+7zEKs/P/I/QU+BUhxRRfnEf/4e4L3OFE36SQ4DSFmu3lKU4BcQQb3A6SfQGC1PwQdD5y9MUkpit4hMCSJLjVBTN3H"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Barry Schneider', '	bis@nist.gov')]"
 portal_title: "Atomic, Molecular, and Optical Science Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/bayesprism/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/bayesprism/vars.yml
index 8f54dfc..ac5bfd1 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/bayesprism/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/bayesprism/vars.yml
@@ -22,8 +22,9 @@
 #gateway_data_store_resource_id: "js-168-166.jetstream-cloud.org_e86fd426-201a-461a-a0b4-4368af59ca28"
 #gateway_data_store_hostname: "js-168-166.jetstream-cloud.org"
 
-vhost_servername: "www.bayesprism.org"
-gateway_data_store_resource_id: "baysprism-gateway-host.BIO220088.projects.jetstream-cloud.org"
+vhost_servername: "django.bayesprism.org"
+httpd_selinux_mode: "permissive"
+gateway_data_store_resource_id: "baysprism-gateway-host.BIO220088.projects.jetstream-cloud.org_fce7b852-a3b7-4a6b-ba9d-48269a9133e0"
 real_user_data_dir: "/media/volume/sdb/gateway-user-data"
 # Keep user_data_dir same as it was on old VM
 user_data_dir: "/var/www/portals/gateway-user-data"
@@ -33,9 +34,9 @@
 
 
 vhost_ssl: True
-ssl_certificate_file: "/etc/letsencrypt/live/www.bayesprism.org/cert.pem"
-ssl_certificate_chain_file: "/etc/letsencrypt/live/www.bayesprism.org/fullchain.pem"
-ssl_certificate_key_file: "/etc/letsencrypt/live/www.bayesprism.org/privkey.pem"
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
 
 # Increase max upload size to 1GB
 django_file_upload_max_file_size_mb: 1024
@@ -55,10 +56,12 @@
 
 gateway_id: "bayesprism"
 experiment_data_dir: "{{ user_data_dir }}/bayesprism"
-#gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKu0jZiwCbADA1JeyU+HNQWsMmY+kgryiwt7C1Apt2CqECtFFOUW+uEvWDVFHqdzitAXUbo+0ZiEzdr4Qk045s+HdFe5R1Z9QhxNNSePJpmQldbW+h6NpdrdsXmHsocPcm6cHVbYNUCRvuTf9qy0cZBlYV09yXzWg2oSXRkcNMJuvjXCDQJk5VyxpQz8vk2Px/fEFkRikvACeotUaKvCjxVXc+h+Q4vRmKlrBOG9GGJRliqLEopu0jKVZ68QmfYANsD/i2/SOGn2XPR8wqTSUjcwlrG9avE7DwEPB2lynRvngklp/fUeBGFcujqEpdZ0A1dYqgV6Lrls/x3aFCw0i/"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKu0jZiwCbADA1JeyU+HNQWsMmY+kgryiwt7C1Apt2CqECtFFOUW+uEvWDVFHqdzitAXUbo+0ZiEzdr4Qk045s+HdFe5R1Z9QhxNNSePJpmQldbW+h6NpdrdsXmHsocPcm6cHVbYNUCRvuTf9qy0cZBlYV09yXzWg2oSXRkcNMJuvjXCDQJk5VyxpQz8vk2Px/fEFkRikvACeotUaKvCjxVXc+h+Q4vRmKlrBOG9GGJRliqLEopu0jKVZ68QmfYANsD/i2/SOGn2XPR8wqTSUjcwlrG9avE7DwEPB2lynRvngklp/fUeBGFcujqEpdZ0A1dYqgV6Lrls/x3aFCw0i/"
 
 admin_emails: "[('Eroma Abeysinghe', 'eabeysin@iu.edu'),('Tinyi Chu', 'ChuT@mskcc.org'),('Zhong Wang', 'zw355@cornell.edu')]"
 portal_title: "BayesPrism Gateway"
 
 #django_google_analytics_tracking_id: "UA-66348921-1"
+django_extra_settings:
+  LOGOUT_REDIRECT_URL: "https://www.bayesprism.org/"
 ...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
index ebe806b..03257d0 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/bcbportal/vars.yml
@@ -47,6 +47,7 @@
 gateway_id: "bcbportal"
 experiment_data_dir: "{{ user_data_dir }}/bcbportal"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1WOyu47oKrRhIBUGI5aJsFk4wxCEgf3DzFdlYrWbGacfEETbE1Cxe8Tdj5TevIflui+HWJq5quHkMiZtHhGZbC4JMDKlzJaBn5vHpEAWtyvCXglkpu+Q+/XGLOwqy4XGa4rdf/CXvuWgc5+XCBb++A/eBswQVPt4C631Xsym7LA1NQXK3XxJApP/2IHnWtJI2d9g5TnzH8Oa99d146KmAKMl73lsCZtC1saBtGRsggJ7dRal7ush3XqiNCMgWPM8QU0ogbOBXDUZKRGAoY+frDaJdA3eQISiRRknpFyZwWcXU0CGnqaBiJdJEGYKLMvP9qBz/juN8jKMBkEJLGU1/"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
 portal_title: "BCB Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
index e94accd..36e52aa 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/covid-geoact/vars.yml
@@ -46,6 +46,7 @@
 gateway_id: "covid-geoact"
 experiment_data_dir: "{{ user_data_dir }}/covid-geoact"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZpB6Q2bMcB9eTpMXBf6adFysDWE++Q7cNFfo3bTZgfH9YqZlvBLCDgQ7dWB5fiag2y/AGm0DPnEerIbG8df9HpJ/pOvqGjHKzkoz+Xi1J0n8FFCiPtuOE2sWwnFNniAwQeAKzCiBn1oL84IiYsJ2nTmRXcl6qIREsBOfG6oDMGYbI3fOaGKwVscJSKFjfRVhaHRgwcOuvsuf1Z/E4X9C1uhIE4BSFA7BoTbtTictTVp7lo4XvCorBziO3fZacFI9gCMVSNnI4OUZu5rXqXPjXfmIV2tDz9kGMTzW5OIk3xdU6MHGprwUkXPttdERVGTbFha+HJk3S2jaeV1pnDxlt"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'), ('Ilya Zaslavsky', 'zaslavsk@sdsc.edu'), ('Kaushik Ganapathy', 'krganapa@ucsd.edu'), ('Johnny Lei', 'jil1119@ucsd.edu')]"
 portal_title: "Covid GeoAct Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/delta/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/delta/vars.yml
index cc720ab..2c4fea0 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/delta/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/delta/vars.yml
@@ -29,12 +29,17 @@
 tusd_vhost_servername:
 airavata_django_git_branch: "delta-topology-workshop"
 
-vhost_servername: "delta-topology.org"
+vhost_servername: "delta-topology.scigap.org"
 vhost_ssl: True
 ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
 ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
 ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
 
+vhost_server_redirect: "delta-topology.org"
+vhost_server_redirect_ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_server_redirect }}/cert.pem"
+vhost_server_redirect_ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_server_redirect }}/fullchain.pem"
+vhost_server_redirect_ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_server_redirect }}/privkey.pem"
+
 django_file_upload_max_file_size_mb: 10000
 
 ## Keycloak related variables
@@ -63,5 +68,5 @@
 
 django_extra_settings:
   ACCESS_TOKEN_REDIRECT_ALLOWED_URIS:
-    - URI: "https://jupyterhub.delta-topology.org/hub/login?next=/hub/spawn"
+    - URI: "https://jupyterhub.delta-topology.scigap.org/hub/login?next=/hub/spawn"
 ...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/files/django-ssl-vhost.conf.j2 b/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/files/django-ssl-vhost.conf.j2
index 6060667..b8d95b4 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/files/django-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/dreg/files/django-ssl-vhost.conf.j2
@@ -29,7 +29,7 @@
 
 <VirtualHost *:{{ httpd_default_http_port }}>
     ServerName {{ vhost_servername }}
-    
+
     ## Redirect all http traffic to https
     RewriteEngine On
     RewriteCond %{HTTPS} off
@@ -66,7 +66,7 @@
     </Directory>
     {% endfor %}
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ django_venv_dir }} python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml
index d51ed6c..a62297f 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ehtgateway/vars.yml
@@ -47,6 +47,7 @@
 gateway_id: "ehtgateway"
 experiment_data_dir: "{{ user_data_dir }}/ehtgateway"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCr7wFmAAPMfHAuCFPZJHZSUqLMiL9LwEC8tkfIIrgLtphuDT7Jgmq37XFK2/llg1clb0Ugehpl35OVnNLOb4IZqAgUYIvm2298sHfUT9W/TIpAqMg7hSiK5x8SWDn0zC6+APQMiEIJD9Q/pfJ1vAUbMrkkwQ4cXtqcF6f478Ou7juwIBCzywEbqdtQ+x8kBIglk4/QAtSSekRWmOTvqq5B1sXpB7scWQUb/D/ZCpMRlbOpctmE8D9alkNMdKe/5wUfIvdwg2WzRtgOho5pg/deWaOpfMUa0FQbdV8iO22xr7j6y9Rj25rYiHqJFqFsEK/aO0aMT+OXTH6JbJi8p1Fp"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Chan Chi-kwan', 'chanc@arizona.edu'),('Rob Quick', 'rquick@iu.edu')]"
 portal_title: "EHT Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml
index 97aac8b..14d9ab2 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/geo/vars.yml
@@ -57,6 +57,7 @@
 gateway_id: "geo"
 experiment_data_dir: "{{ user_data_dir }}/geo"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZyps8huDQdr9ZJARtF0RcbyOD3FqMZZKldhW7soaWvOn7ev5rMgpto+TI/YQ8w5lWwWsqtxOByxJaGFgAkwI9+/vr0MPsMz/gmHi2NaEOYm+AA25ozPW9aMWRkaeAlK9sLWI85Cg6owozZngXV745R1LjtxhGO4/sOJLBIZxndLuaIlV1th2yontOsjv5CLr525mc8+0keViSWf7agdqTI7hN51fyyDM1KucwLfXXZZd4vQRJ68o9A6INH66KAbx54u6dd7PBKrJQC63RsPZG6i9jn6qBaLv7xkGH2iM7HfVy8ywMlyvQRb3DJdxG0AUXlZuxOHRH95hdBlgiSsTl"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "Geo Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml
index ff2cf97..860556d 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/georgiastate/vars.yml
@@ -41,6 +41,7 @@
 gateway_id: "georgiastate"
 experiment_data_dir: "{{ user_data_dir }}/georgia-state"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCFSg9IEgsXlGhgPkj4hPuON30rbE3/gUUn4K3NVvBFKLyQQ8Pm/NR6dZmFglQR1HxBRSnq4WmH3EVyxHuT7MkQDAjTkclEuhaRjcYN0nua8g4dI9SgO9DeqbOyurVIuw/YChP5nC+6/ubMyzYPr6Z5xU5QHZI/QlVG4nz3joMIKkRXt/bsaEvv+/nzED/j6FTdK6P6dg1ESkNVZUPqhtWpwuC28Et7/86jcEObJedwx8geLoxKogPZ6kqO+Q/WUHDtMpFYtwuPaiYuN3Pb/GCvnDRsSoFmtRU+UH1UIdEy0piYUuBW+5aCv/PbH/UtHFg1Y1942TYCXv4rl1i/KW1z"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Suranga Edirisinghe Pathirannehelage','neranjan@gsu.edu')]"
 portal_title: "Georgia State Science Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml
index 50e738b..404b501 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/global-flood/vars.yml
@@ -23,6 +23,8 @@
 #gateway_data_store_hostname: "js-168-166.jetstream-cloud.org"
 
 airavata_django_extra_dependencies:
+  # Production server has gdal library 3.4 installed
+  - name: "GDAL<3.5"
   - name: "git+https://github.com/Global-Flood-Assessment/global-floods-django-app.git#egg=global_floods_django_app"
     editable: true
 
@@ -53,6 +55,7 @@
 gateway_id: "global-flood"
 experiment_data_dir: "{{ user_data_dir }}/global-flood"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDPuGmLPwwXu15TCdLwsE9dFoWJu1kzQzdLukslMKjVCf05Fe+MyCP7EG5n1psGigSORGm0bo/9t9fPQGyPRUR2jIBI5lR2bE5JJ8XNotf+Gdv45FXhXHTIPSeb1bAymEQVghALxqeYOWnnP+6aL61Zy6nAokMJdkdRXFRxr0paYLbH3oaCAVdp2ggMXP+KMvkKHjMSa9aZFK/V/YrIRONKDrdK+DV7D0xk4XGplRAsw8UpS8GJipfq8uTM23Tr/UMCYUCbW8qqf0HYFohY+51lT/1JjYb+cBWjy1iuNGVQVnQsuNSOoDnW1C07V6VFzwKZJOv+rYhw6iL5rcq3fzDD"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Wang Jun','wang208@iu.edu')]"
 portal_title: "Global Floods Assessment Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml
index d9c4e4a..35b804b 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/immune/vars.yml
@@ -56,6 +56,7 @@
 gateway_id: "immune"
 experiment_data_dir: "{{ user_data_dir }}/immune"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCntbE2GLI5S2QNRlruR8vjmLHUbpePz9NBcSJuvffOT+R75nsWlyjVEI7Tn43qvJMPR7SpOy5W5u7mmjLYx0lphMv5RJ64Hy5tIK39RlXya3s/+0gyA//I9tS4BAt7NKmGItvIZI/JLGxyUY8ZTnkRofAbEHJy3KtW1lBWUHKNsJfXyR7KJwmEkOVMU8x4fC/C/OyfsofsipG82fYJlfAgpJc+kODAgJBZI90h9pisOmfk2Wkiqt6aC3JHUZmIF2x3w5eXyhTc6RCBgNNQUy88KPOp5neMnCEbrCMx0aZGqLZFb9Q+4DVdnsmS+QvCEEpI8eFiceSN0D1Yo5IC9bvh"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Chuanpeng Dong','cpdong@iu.edu')]"
 portal_title: "Immune Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml
index 98dabe2..4197d0c 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/interactwel/vars.yml
@@ -42,6 +42,7 @@
 experiment_data_dir: "{{ user_data_dir }}/interactwel"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCFkcK2krGe1tZ339p5bGrBi6+Vrgl9q7VRILUP39C5vC753dajWBtRWI3Id47KXcGPsbl/JPYAn5+jHDFlQwP6aXrGt3npL0thPXOMQ8pykrQs6ridaeFwa3QrlwFVeAhf+Y0FqlXNbl8aHTP0oQAaG8p2ID1/K7GLty0cgiVgEY1aPY6/aQT/81zCoxQzpOodJtU247Ls8I6Lgha/jv6P+fKgcogqaAm39UzCDTy7HN1Owh+yfLh6Cy3XT8SPegVw8XFpOLP8AO1S3CB3B5s1DBdHYOeEGserIbaEgtDHoLw/YIXtAZt9QL6IJ3g9uXVDtZhexj7Rp07QCQhhiaep"
 django_hidden_airavata_apps: "[]"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Samuel Rivera','sammy.rivera@oregonstate.edu'),('Meghna Babbar-Sebens','meghna@oregonstate.edu')]"
 portal_title: "InterACTWEL Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
index c0149f2..14225bd 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/lrose/vars.yml
@@ -48,6 +48,7 @@
 gateway_id: "lrose"
 experiment_data_dir: "{{ user_data_dir }}/lrose"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCBRVHtPN6m/9VUXuYK6+92BSWR65D7+8Y+HAwevv1teLTuaZutyvysbQDPeKYMpqj+z3GMPo0E86zIoXXFHKXS6assBsvpQNNXBfIl91J0b3gUD3SukBbShPyhTawIi7za6VPMvUSa3koC/52Ihbz8VQLNc0xCxnSWHhgc1bIBMoA1JsXOnKPAQZvjkBwXAZUeDXLyS3koE9WNnbRoqOUkqs0MO8tKCvfaVTqILHToOSvgaXrXbEEpND9dCvIuer6tREgakoig+1ck9t9VzPLb/1FsaWGA/V/0WKHcsGvfDmIZcjtdL+eUhVJIJif3BCXDeQJJVap7smll3DXmkgKb"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Brenda Javornik', 'brenda@ucar.edu'),('Mike Dixon', 'dixon@ucar.edu'),('Ting-Yu Cha', 'tingyu@rams.colostate.edu'),('Jen DeHart', 'jcdehart@colostate.edu')]"
 portal_title: "LROSE Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
index 7b87d78..11c7a92 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/microbial-genomes/vars.yml
@@ -25,11 +25,16 @@
     editable: true
 
 #vhost_servername: "clades.microbial-genomes.org" #Changed on Miguel's request on 06/25/2020
-vhost_servername: "xsede.microbial-genomes.org"
+vhost_servername: "gateway.microbial-genomes.org"
 vhost_ssl: True
-ssl_certificate_file: "/etc/letsencrypt/live/xsede.microbial-genomes.org/cert.pem"
-ssl_certificate_chain_file: "/etc/letsencrypt/live/xsede.microbial-genomes.org/fullchain.pem"
-ssl_certificate_key_file: "/etc/letsencrypt/live/xsede.microbial-genomes.org/privkey.pem"
+ssl_certificate_file: "/etc/letsencrypt/live/gateway.microbial-genomes.org/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/gateway.microbial-genomes.org/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/gateway.microbial-genomes.org/privkey.pem"
+
+vhost_server_redirect: "xsede.microbial-genomes.org"
+vhost_server_redirect_ssl_certificate_file: "/etc/letsencrypt/live/xsede.microbial-genomes.org/cert.pem"
+vhost_server_redirect_ssl_certificate_chain_file: "/etc/letsencrypt/live/xsede.microbial-genomes.org/fullchain.pem"
+vhost_server_redirect_ssl_certificate_key_file: "/etc/letsencrypt/live/xsede.microbial-genomes.org/privkey.pem"
 
 django_file_upload_max_file_size_mb: 10000
 
@@ -52,6 +57,7 @@
 gateway_id: "microbial-genomes"
 experiment_data_dir: "{{ user_data_dir }}/microbial-genomes"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCG/syNtrxrgfdHpxln172epFN36uztXhblac4uqNYW9Qlp8K5YI1MICxCW+HJu1mOkIvOLseYaZm1m8Vt7KwTvp/RP6iyZ8M/fWMPO+v9ZLjGupi/iDLA8JNfD0trpwXzW4PCFaqPG2+LtpzsfsI8Bx6UwFXbHKdEo5eC548Cc5EVkZ9xFEChCQHdUcxWI7zs7+S9wsAOY3Qbsrg/UtLAe4P8ZFxABSgBdirKusxdbw/0LgVhkj1aTKIE7n+7b7b11m4A1bzvsvhNLBlN+hRXG9ZiOOYExO1T5p3rX+HHIeUNAi1AMlc6KTa833ni0FWK3EYbGEwC1og6hSfl2ZGRp"
+django_user_data_archive_max_age_days: 90
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Luis Rodriguez Rojas', 'miguel.rodriguez@uibk.ac.at'),('Konstantinos Konstantinidis','kostas@ce.gatech.edu'),('Luis Rodriguez Rojas','lmrodriguezr@gmail.com')]"
 portal_title: "Microbial Genomes Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vars.yml
new file mode 100644
index 0000000..15771ab
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vars.yml
@@ -0,0 +1,54 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+vhost_servername: "md.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 640MB
+django_file_upload_max_file_size_mb: 640
+
+## Keycloak related variables
+tenant_domain: "molecular-dynamics"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Molecular Dynamics Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "molecular-dynamics"
+experiment_data_dir: "{{ user_data_dir }}/molecular-dynamics"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCE1feXCJlzfxtkwqrwfHRXqmfR0tKyiGg/NXhYht9mO/WMvuSeKysByCBDnFO1PVF+qGJILOE7E9n6e9xOfTqpuLJsYi4UwLRKu7nGOsERj7ei+1+UpJDn/m8FoDoEInokrkzHeqFJ2NeTSTTU4SKrdvoRF9BWRQW3s3YDILwfh646dvm0wvuxBvif6O/t58svYwVH08MhDK8q06qWeYb21vqI4rk5jM9gObUUcdKuONpSCj9Q8VcnhelHCEu6oyQWcfxaD0k9/qGjEetv2Y/h2dGLSbXxadePkLOojHEAkStzHOYAqlgr0Ig/wav/PgyQBXAWJ4+FjnfVvJ++CCif"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "Molecular Dynamics Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vault.yml
new file mode 100644
index 0000000..4536cde
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/molecular-dynamics/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+66396632386236353530653733363831366335643137333664356434336333393234633466633138
+6265353330303335343262393535666234353138356562330a663264353831363336396330663130
+61623064386530366634316531343136393837376662323832623033336462343332316239616565
+3232623064383330320a343433656466656236616665653034373963303934626439363630343332
+38326661386337383834633861323830643834383064656336333237653965316563623831326138
+64366331353664346137393933363533653830643638366433386337376230633764663931323532
+30643038643837306531333466666637643466663639313763643439623131393537346366613332
+62353639633239653537333130313962393137666436613765393034323665623235363961663464
+39663638363562326663663265353234616465346438306330373137626632626562393461313737
+39343239363237643031306264653264396462383834633535396638303034383562336133386632
+633564653066613064303639613432333333
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vars.yml
new file mode 100644
index 0000000..7245820
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "veda.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 200MB
+#django_file_upload_max_file_size_mb: 200
+
+## Keycloak related variables
+tenant_domain: "nasa-veda"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "NASA VEDA Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "nasa-veda"
+experiment_data_dir: "{{ user_data_dir }}/nasa-veda"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCp8LKgKow4ksZJLSm/6qwKA9D1w4+CQcjgl0VJHZSTGFxPxG4Z75hgIlLDDe5tpa8pfwgKywIn8/QNvay2B7lgrEtxH/MkJYoeRiz8w9gq9svWYddFGq+rSAWtyaB3KroPL4N77xiZ6BnGsjhQY80Umsusj4SP3ue1L/2mKkN/POOPP75b2lONxJqYwMT2Bdusa6lbReEM9iv089Ef0nRAfxhOh2mX9/XghDBcx6GYEqcs2rvaQkwEcqroJiozTgcROJLp5kwCdJ/O5vdr3wIoAqOWlyUbU32oGiHvDcz2GYNxyZUeEC6M5sxtz3NzqSHVtl8sJKS2UOuNOH+sbuvZ"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "NASA VEDA Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vault.yml
new file mode 100644
index 0000000..af3e708
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/nasa-veda/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+62626364616539366331623738616565623364396334333361316564646338613633366539343437
+6566346261626230616230623066623532343633626635350a313938373362336433636638623137
+37623031636266383761343261366564316161373962633861636163646430316530666466313234
+3063633530666631610a383266363162363937636439303264353734663462303535356234326439
+36613763653838343361366337393735343534356638353238343262613330393033376630363736
+35663338663533393535363835343234323836313137616635353761616364653665336563383230
+64313566613432383664333333353137343838316532393765633930633866646238663535663337
+34643639396462343732636539393430643264336562613731353034346333373761353036303936
+36373266663831646661316363633137306663303433383863323731396536306632623439633336
+35666165663465613938633938376238613033616237393732343861303037656538393834323934
+646539346163646436616339663361343537
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml
new file mode 100644
index 0000000..eb4ca5d
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vars.yml
@@ -0,0 +1,57 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "neuroscience.cybershuttle.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 200MB
+django_file_upload_max_file_size_mb: 200
+
+## Keycloak related variables
+tenant_domain: "neuroscience-cybershuttle"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "NeuroScience Cybershuttle Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "neuroscience-cybershuttle"
+experiment_data_dir: "{{ user_data_dir }}/neuroscience-cybershuttle"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCnsRKJRqFvjmNUwChRLMzHZBCzVxh4kK/GBFagzjI5WL5l4RFsnXXpmIFpi1VKGcll/LDnI1PvDdZPP+KaGkuuEmaTgCJD8BSgxz7PmTsOuka6Fl7YwTRcXhv/vYfDQLYUNKfWWmBPyIhfnn+St0jsOSogTvM6Cvajb5/42btCRAcQ9PV6ZqUNdrHWf8fQI+rb9kmb/3H4tI40MG0p68WuhKuf0Fbdrn/Roc7//yRo854WtUi1XpXyLp4W9ggkVEOAlJPTACVA63mSaO3qyY5Hqplwk7iDM+/c0QKB1jKCwqzZdh5djP6GxloO9K5dDyUyn+jtHk+dwAdTKpjlWR1d"
+django_user_data_archive_max_age_days: 180
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "NeuroScience Cybershuttle Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vault.yml
new file mode 100644
index 0000000..a2cb7ca
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/neuroscience-cybershuttle/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+32366335643736356230333636333361366635386265343633613136613134393466333363613630
+3961383764643162323161313737396132633138646466610a393633306337336235393030333931
+37616239356435316135363138626231346332653737336236633130316239313535366365346134
+3234323763343666620a353062396634333137303264346261663832366265633337666634393032
+30663634383935353161626437636436656438616362656137613265373364383165366466633838
+65326364303638343135316138336534393061303930393336343939366637343533663264666333
+38393861623733626632663564653366623162636335366265333534336433316236333736303138
+34656466656138333431643833666131623839386363326534393036316361343563336462383864
+37633766363130623631623762383731626130343731616364383532306462333335333034633937
+31643532333331643336653664376362356466383233376665316137623430393365643561626438
+306263313138363633306362373238316139
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml
index 7f76d88..e6bca1e 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/nexttdb/vars.yml
@@ -44,6 +44,7 @@
 gateway_id: "nexttdb"
 experiment_data_dir: "{{ user_data_dir }}/nexttdb"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC9jXb9oP4qh3S5Au98nYyV6rOfBXgnvq2asVuapb+a2zyzKKXVxl254IKvFC709F3U9i0re/Z+FQO9qDPZFAgQLps8anyE6+xKuU0DUvzk76OVX/ZMlHfSyRFqKuDBIln02M5rM6qLEUjh7INk1y6z0D1kPW3TsU7w7uY66k4FSAX9qAEZlemy4oCCIQVrege4ZWYSd02H/jXm6j6z7XPI63UbXhpFbZHwdGEAeiQaaas9fDDsy33lN66fC39qV80R5A/7rYQwhyfL1V3wic97lplNyPdZ2fGSUUtFLZxOtJQ1IhDq6kCSYVgQg8U3QviJ5QlYs2CSusshcWUkIZQ/"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Chen Zhu','chenzhu@indiana.edu'),('Lei Gong','lgong@indiana.edu'),('Kevin Tu','tuk@iu.edu')]"
 portal_title: "NextGen Thermodynamics Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/pace-gatech/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/pace-gatech/vars.yml
index 093aea4..0e6f9c6 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/pace-gatech/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/pace-gatech/vars.yml
@@ -41,6 +41,8 @@
     - name: "Existing Institution Credentials"
       idp_alias: "cilogon"
       logo: "images/cilogon-logo-24x24-b.png"
+      idp_token_url: "{{ oauth_service_url }}/realms/{{ tenant_domain }}/broker/cilogon/token"
+      userinfo_url: "{{ cilogon_userinfo_url }}"
 
 gateway_id: "pace-gatech"
 experiment_data_dir: "{{ user_data_dir }}/pace-gatech"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
index f83b413..28cf39b 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/physicell/vars.yml
@@ -43,6 +43,7 @@
 gateway_id: "physicell"
 experiment_data_dir: "{{ user_data_dir }}/physicell"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCagNzgz6E90G5LPsVNGvV45AOR5mtO9JN3ZAqEGp3a8k36IjFTOL5vF44cw0xLdWWDIZNLEd2ufJyTpdyrMPZrblh+z45U3YTiMcDvbtyxVypF84df00AnzvC5Vv2Hzc4v8cTXJyP9hsMQ/phnkbDGFSLEA5WveFkIH5CXMePQ4MjmmTi6eq8xPyjI3R1l4xG9MJQmFOdHT/IRvtUhT35qZDTnZA5LvYwynuyjdRUxNojZuhJAJVgMFEPdMSwB83T+sO/V7IZL8CF9L0179KTGk87gtis+NAhM4tn2CvSh1jvftoG7c67vOnRny5x3SI+pxDvulVEiUVw/xAMyMmyn"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Suresh Marru','smarru@iu.edu')]"
 portal_title: "Physicell Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml
index 8b4c139..9162933 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/regsnps/vars.yml
@@ -55,6 +55,7 @@
 gateway_id: "regsnps"
 experiment_data_dir: "{{ user_data_dir }}/regsnps"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAlldWcIK6yNgrj8Firns6JzHVv7iHEdj+VRe6GBIbPSsvY70dx6wfxxCaQvaEvfbXasdPsteTGxjYZ1qSiFQ5XWbX0azThxtMpz/ycQ0V9npsEhRMQ7dzRCI/r5RJOMryVK8KeHRxKJC3SUg4NkDqQ9TFkxYv0vWdsuhPFflpR2QvacD4kfh7nBvVhjxLqSlyDYJEJkKBuvx2n6p+Kx9sr9V1UXDZl22TXyTIHGdVwcTS6nhItqMeSCtBDsofv7U1xvKCb3u4D0tXlSAgLv7Anc+CQmJlj6QJQV4U2fsRy0eW+kkn5U3Dza9km0aXdAo+VHuBXdCGTG13e7yTgRRr"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "RegSNPs Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml
index 3ffaecd..d725d5d 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/sdstate/vars.yml
@@ -43,6 +43,7 @@
 gateway_id: "sdstate"
 experiment_data_dir: "{{ user_data_dir }}/sdstate"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7vqwM+CWfqVWODe3iLsKN9leJ9nI+pKFZhrVUG8K/ODycXT5tQOxMhsC+HG6/wJ1W7+LeA6uvVnltnFlVozfTs2jeJzVQ71UvfUiZFVhXian3f8Nd4DXBvqPUY8dmhWP/UJCIKO47fSI/RC2ZlMa1K4yRYPdRgLRuSmtzG8Rb7YGVjkt1uDOLMh6hAS1KKpWVSxESFeqqoKj2xqOKBnbf2PdJt/D4/2R6H8D/WAM0cdZnls5fmiUysHK+bU8atzMukLQ6STglVv0WuqNGdAw6zWZH+Kaj8bP19jfkGCbMLP1vPYRkcxLmtnSzbg2Hams9npwdAA+xwwjuS6/tAX+p"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC','sgrc-iu-group@iu.edu'),('Chad Julius','Chad.Julius@sdstate.edu'),('Kevin Brandt','Kevin.Brandt@sdstate.edu'),('Luke Gassman','luke.gassman@sdstate.edu')]"
 portal_title: "South Dakota State University Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml
index 20a4354..8c4120b 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/seagrid/vars.yml
@@ -48,6 +48,7 @@
 gateway_id: "seagrid"
 experiment_data_dir: "{{ user_data_dir }}/seagrid"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCApfdud3cJ7rx44M41gEKVgRfefk/Vd/7dIp9Xr9juX4jqmGuLoZR+hk287Hmbps6hZv23Av97XkCLldH0pueDekthcBDo4cRiQMDBp9NLz/9muqYVBl985psEbazYygagy/q/3ebi4CVEYVd4cHBee1V3GYyuJS2RklF0s/Otyf8x8auJSMniHGbTbVqtFlEOYuPdXlRBfH37k55N7+2iXKsIVvgn1MDweHEbQWJMx2LDCkLfJitreTiwcuST55w6N/n8WYZM2t+ie3BJEr6tcGAVIuyxj7CbMYMziM/hM5J+oQGPY/IBtiNZoxiZ0DeAC9SiEvE9fbTEW2iRWnQL"
+django_user_data_archive_max_age_days: "{{ 2 * 365 }}"
 
 django_extra_settings:
   GATEWAY_DATA_SHARED_DIRECTORIES:
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml
index 29cd923..6cc719c 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/searchsra/vars.yml
@@ -44,6 +44,7 @@
 gateway_id: "searching-sra"
 experiment_data_dir: "{{ user_data_dir }}/searching-sra"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCx981DispO1AnkOAwq1oJ3iaYUW6KT4jn4OPSrvIb1fJyjkNdBK8KQUTviBMgqLH9+FlIx/FYjN7sVLelGUmfOgguIWB4Ea2epAyvGFfrVeF83w5A4uILfrd5AJQuk0sZkNjnnGmmpx6z60IThaof2f14uD7JPcn5Kf0xnfmhJGIo2DYJRp8DYJ4Upd1ENu4p3CqylZGBFTx0ROe3hCNj28BxCY+kTgKTQJQHdwuHK9WxovQHdv2ZrN9GeSyIPUX8W1PpYKqM2i8xGaagPUamHON9TonHyuAdd84CagonwuaG54+jbFbB9uW/zhhnP5vNRxK8aSNIhszOucE2g8xzL"
+django_user_data_archive_max_age_days: 60
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Robert Edwards', 'raedwards@gmail.com'),('Robert Edwards', 'redwards@sdsu.edu'), ('Mats Rynge','rynge@isi.edu'), ('Eroma Abeysinghe', 'eabeysin@iu.edu')]"
 portal_title: "Search-SRA Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/files/django-ssl-vhost.conf.j2 b/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/files/django-ssl-vhost.conf.j2
index 6090cd1..9f63307 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/files/django-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/files/django-ssl-vhost.conf.j2
@@ -43,7 +43,7 @@
     # Reverse proxy to geoserver on gf8
     ProxyPass /geoserver "http://gf8.ucs.indiana.edu/geoserver"
     ProxyPassReverse /geoserver "http://gf8.ucs.indiana.edu/geoserver"
-    
+
     Alias /robots.txt {{ doc_root_dir }}/static/robots.txt
     Alias /favicon.ico {{ doc_root_dir }}/static/favicon.ico
 
@@ -60,7 +60,7 @@
         Require all granted
     </Directory>
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ django_venv_dir }} python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/vars.yml
index 86232af..4a87629 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/simccs/vars.yml
@@ -42,6 +42,7 @@
     CPLEX_APPLICATION_ID: "cplex-solver_99721933-c9e4-4285-9ef1-d035ca82b541"
     DATASETS_DIR: "/data/gateway-user-data/simccs-datasets"
     JAVA_OPTIONS: "-Xmx16g"
+    CPLEX_HOSTNAME: "carbonate.uits.iu.edu"
   LOGIN_REDIRECT_URL: "simccs_maptool:home"
 
 vhost_servername: "simccs.org"
@@ -71,8 +72,8 @@
 experiment_data_dir: "{{ user_data_dir }}/iu-geology-survey"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEuA1indjdczBXg2qrmD0bB0QfKq0u2q3o25DegTaty5LoogW+APEvXmwc2g6PzkM75MgfMsTErMQaQ3/PoElADQKg2/NePz05YWobn9zrPZFeRWfOqWMjFDx72cffHKBzgnahFDBlR/YJhf4IZJ+EOA1zMiMF2oZQmEYQtbQFhbKPF+jrScEQeuXVuXWSS2sKNAVKj3pY4kmi9kEOYELee/O6ghBUfrVhB95vDKJPgmQSuo3pgkLRdflTBSAQ54UchwjXi2RA9Xv0RXJF/JyyRGn6bSbRxYhsm5RJeiBVj4ua7p2b36rSYVqtVsTKEonx5kYdKzwyjJXWpjB2KtQp"
 
-admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'), ('Kevin Ellett', 'kmellett@indiana.edu'),('Ashley Douds', 'adouds@iu.edu')]"
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'), ('Kevin Ellett', 'kmellett@indiana.edu'),('Ashley Douds', 'adouds@iu.edu'), ('Jun Wang','wang208@iu.edu')]"
 portal_title: "SimCCS Portal"
 
-django_google_analytics_tracking_id: "UA-130065143-1"
+django_google_analytics_tracking_id: "G-WM162V9Q9X"
 ...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml
index 915388b..e0449dd 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/simvascular_old/vars.yml
@@ -45,6 +45,7 @@
 gateway_id: "simvascular"
 experiment_data_dir: "{{ user_data_dir }}/simvascular"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCNdivlUyLh11poF2vufwa8pCjVY0/fkvym9qdpEeu6nS55CVZe5VXqA1NZ+IwVDabAFwoLrUvaWt7eE8POEZNiBgtonZ21x6KIK5/HilSM6jHds1u6NY436AiHqmcybO/u+NkUI8gUjWTbs4S/i/2WfvAHZc3dbcCHls3QgG55TqOdNnh2pjFLSA1wu0d1qRnrPwnje/yC4GD+3XU1HPLHb9FXLHO4umswKq8sDk2lOIN7u08pCF8Y+BPYfmEdvY8oFwdVsj3OoA3fWEE42xTjb3g65X2oCbhco1g1ya0cfJMgSUbHCcOc2D//rXD+L4/z0/A2VCiEFJtTllrws609"
+django_user_data_archive_max_age_days: 75
 
 admin_emails: "[('Nathan Wilson', 'nwilson@osmsc.com'), ('Eroma Abeysinghe', 'eabeysin@iu.edu'), ('Martin Pfaller','pfaller@stanford.edu'), ('Weiguang Yang','wgyang@stanford.edu'), ('David W. Parker','davep@stanford.edu'),('Justin Tran','justran@Fullerton.edu')]"
 portal_title: "SimVascular Gateway Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
index 7593cb2..6df2c43 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/smaltr/vars.yml
@@ -43,6 +43,7 @@
 gateway_id: "smaltr"
 experiment_data_dir: "{{ user_data_dir }}/smaltr"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtM2RTAS0ZnwJNjYEWjvt2JArjyoCZQzBJlXYvqeRyYTQPeSTH5nJP1VCkpJ4a7B44gHkcKGORkvNd+PrW7An8otTIGlXfbwn5L20CeKPsk6fWwF99fU4JFvakNANgAfefsQ3OrTgBBvZWkKeK7JztMHbEZw+SJoPZnjlxoKRib/Ymt6Bo/gh833eHth+Rvp2v3k4DPu6cTsOaTCv45JT8E3dBeERASZNdepKanxiQpz/QZg344JxYYQpJP5zKQ7jmfUphDkwFkp7RlAYgkSVC7yiQSgRqcKR38BXEAMqR/0eax/T1IujDKscSJpS/ibXToOl8qoRDwMStAi6Ym2wx"
+django_user_data_archive_max_age_days: 90
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu'),('Aaron Frank', 'afrankz@umich.edu')]"
 portal_title: "SMALTR Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/smiles/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/smiles/vars.yml
new file mode 100644
index 0000000..c6b4021
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/smiles/vars.yml
@@ -0,0 +1,69 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+# NOTE: simccs is deployed on scigap13
+gateway_data_store_hostname: "scigap13.sciencegateways.iu.edu"
+gateway_data_store_resource_id: "scigap13.sciencegateways.iu.edu_6af5c97c-a593-443a-9ac4-fdaca1170304"
+
+vhost_servername: "gateway.smiles.iu.edu"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# TODO: fix frontend build on install, for now install/update manually
+# airavata_django_extra_dependencies:
+#   - name: "git+https://github.com/SciGaP/smiles-django-portal.git#egg=smiles-django-portal"
+#     editable: true
+
+# Increase max upload size to 2GB
+django_file_upload_max_file_size_mb: 2000
+
+django_extra_settings:
+  CELERY_BROKER_URL: "redis://localhost:6379"
+  CELERY_RESULT_BACKEND: "redis://localhost:6379"
+
+## Keycloak related variables
+tenant_domain: "smiles"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "SMILES Gateway"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "smiles"
+experiment_data_dir: "{{ user_data_dir }}/smiles"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCBya+UFROosd6bakQ9u44egbNI0n0aDgjNviif7c7HnUVT1NzmvTy4tqzWJOj5XFsZ0cvM8Csn/BazI93g9YvVxovPnH/gyu3gUZgV/XbV4ZRRmEFXV43K0CzSqRaAHMf7pLPsH4fyuWjKTuJDV3bUXdd75b0TetjzfKwT43moEmLG/G2Je3eMWZ37aHYaDcyCSPgOihZTiQebiqp4draZHvA/+DC4T7KUqRyty8XSW9Vdp8pW09NhY+J7fXg0jbN6W/mCD9OqG/jcPcPc7GpxnNNeUeCQ2yelzJ3UEgIIkO8vnTjotXGThPezRxGh537qCZRuOLpcwZBve+VrtVsT"
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
+portal_title: "SMILES Gateway"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/smiles/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/smiles/vault.yml
new file mode 100644
index 0000000..9b45e27
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/smiles/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+30623936616139343931636662306564396663626438316337616431633365306134663665623762
+6232646263353139363066653065643066333831353834620a393662643565333838383737316130
+61373735376132323032656632613835306136353430333034633031646234343265326561633736
+3837303432383162390a366330316538623561393339643765356331313731303839313666326331
+39306530653238363966666137343665383437353836653533366138323536353436313034383631
+62323632626462636531366663656134653833616265386262356336373034366535306561373731
+35316362333262663533663232363534336439336239623839653361666634326362336230653862
+36666434656532643465396134316337656539643137333935343235363934353638653332623866
+66616365306437656635653332656333366632396437393535666434336661333639386633376339
+38303734616663646530373733373463373563633862373662643234343034326431656636313066
+653633373732653362636333346261366333
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml
index 76fec55..2cd1274 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/snowvision/vars.yml
@@ -41,6 +41,7 @@
 gateway_id: "snowvision"
 experiment_data_dir: "{{ user_data_dir }}/snowvision"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCovd8MvofK9SPJZiElqP4rd3xpaHZ7qXK0RFxRQxcCTcAJbDMGubZlo1+N0Io02ZIVkKfdtbee+sznpQ6ri6MMaK1xnYmfyMT5yj/pUZo+g/jIC0PMYQcHpnq49U7Fz2BBYqbc9EAAcU35X4ctof1/UwlWMFa+gegky8NngHBZmZSpgIzVb5jlgti14OD5ETVFG4YvZ2ZRhkQESSuZPFdjxiXoDqsJkF80cD+JTu5LWha1UwhAC2yrGZuI/16WABzx/zUGOS0NK0RYS/giIzVGQSYVp9S8GgZKuvJx3xk7nW6HOMbjpVeukjkWareIkVAWXgFIMptX0QRhL4mcjCIB"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('SGRC','sgrc-iu-group@iu.edu')]"
 portal_title: "SnowVision Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/southdakota/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/southdakota/vars.yml
index 5a3ba99..6997c87 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/southdakota/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/southdakota/vars.yml
@@ -42,7 +42,7 @@
 experiment_data_dir: "{{ user_data_dir }}/southdakota"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCIUqpKWHwawFHnbWvs6pie+fDA9NlqMZNvzil7e8FQz7543+FOzdTl/octACjGnSTwHewpyTe9sAUVcnq6VJ5XYtApR68zMasEzyCZUMWhMqEuxopRZcUGDJVcq5hD4RZcer3aMPWSVmXVCNJeT4EsB52Zp2DfDVgfaOOfY8Ga4mcR2IdOyizV8HWXTH6vWFK+dD1GoPY0ECikwlsF1QA0vzqAcb1NYOTc70hZ9Pb0/78XF790joZ80hRsHGIc7IfncoLgRUkKSkMaoXbfy/tbqf76V0ZxaQOgayaLGF19oBlREO6ZQ3rDCOWgVJC32dCwAsaL9qWd0IZrprUEUQOd"
 
-admin_emails: "[('SGRC','sgrc-iu-group@iu.edu'),('Adison Kleinsasser','Adison.Kleinsasser@usd.edu'),('Bill James','CBill.Conn@usd.edu'),('Luke Gassman','luke.gassman@sdstate.edu')]"
+admin_emails: "[('SGRC','sgrc-iu-group@iu.edu'),('Adison Kleinsasser','Adison.Kleinsasser@usd.edu'),('Bill James','CBill.Conn@usd.edu')]"
 portal_title: "University of South Dakota Gateway"
 
 django_google_analytics_tracking_id: "UA-111528347-1"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml
index ba2a2aa..0ffc743 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/testdrive/vars.yml
@@ -47,6 +47,7 @@
 gateway_id: "default"
 experiment_data_dir: "{{ user_data_dir }}/testdrive"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCUF51b2cYYqqadLHL9M/oPY0ZHZlWbdOdaIgjpzIzMnO7M9hKrHVY2pqyLPvqCLzaunxITPWsTqw0E8hwub4ttGLAx/O4kIf+BgyZK7iuwXWhI7u85/o58IfrD4B+jVCYKRNayuLR+lJWsiOeS6HSlunpTKTEhFGeOHn2UzdbLfgWYQ3VUFDtKN1oDPDT78ml5c2RCibJ21jltpevVfEtCUctERpTfniWSuQZggP1qiLNa1+PfiJ3mGsEzJFDntQvQetdinaAbEaT7+sctS8nBNjapkmYMf6tBl3S0bLttYPH51f8lUQAFaAzrestO1JpJNnIeY01/S3MWIlAWASnn"
+django_user_data_archive_max_age_days: 90
 
 admin_emails: "[('SGRC', 'sgrc-iu-group@iu.edu')]"
 portal_title: "Airavata Test Drive Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml
index 7de5979..09d19a1 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/tsunami/vars.yml
@@ -44,6 +44,7 @@
 gateway_id: "tsunami"
 experiment_data_dir: "{{ user_data_dir }}/tsunami"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC4/mMdvcRHp7ThTToIRpmO+O46pme1Oo649yFLNoFlnIYHxT3cUnxYbxrxgcw83PwwFTK4FV04ITUEyOmD9Qoa1liwdrCvEqR31eTD+GkUVVGUgCp+GvqCWnZkEJ8+z/VBLuJjK0HxpT+9kSh0DChoZ6k64/dsNrA4l1YE0EBrOfLKSGJ0Ik2tlKxbIrwTe8ZDWu2iVKFMnFaLbsWoraQ+sYWTbW+1BCYAxsT9ykH4KOYE/YPBUECr8zVzBSXSxyNPtuySvy0PzNjLrm8nN4uIr5wgrFqi2iL2i2vQyFMTJJToyvcBVLK3eCw+AmYrlHZq49E8+uAhfDhDahy4WraJ"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "TSUNAMI Gateway"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml
index d555b10..daa20e4 100644
--- a/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/ultrascan/vars.yml
@@ -46,6 +46,7 @@
 gateway_id: "ultrascan"
 experiment_data_dir: "{{ user_data_dir }}/ultrascan"
 gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCrWuccVtWQMpOgx9eueQgwS/Kj/ONcY2xOHgkQ1wmorhvWjtU4Sr3mtu/6QvU3suzpclZQkl237ONbPa7J9h1sGINiel4Crrc6P8EWvL/vT/wW2K+8AiG5ktAtMnsCroLnebD0tfVj1vj0BDJmG6g47JBKptPayY64eU43NZ2E9QroB55esDN+IF52w/VDZtjqAp1wsXTvvwqnNoC1hbHyx12JzMKJHdZAp/lRkssNj7WZxwyQDcwaAli5VA1sie0NjduvBgSlHy7kEjdv5yrVov/kIvSq9AEUi9UI+BjJFpCGjGYJbJlh2hJepeMYC6FFE+cTgI+5ZFSVw1qLivL3"
+django_user_data_archive_max_age_days: 180
 
 admin_emails: "[('CIRC', 'circ-iu-group@iu.edu')]"
 portal_title: "Ultrascan Portal"
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/vlab-plasmascience/vars.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/vlab-plasmascience/vars.yml
new file mode 100644
index 0000000..ab8280b
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/vlab-plasmascience/vars.yml
@@ -0,0 +1,64 @@
+#
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+---
+#gateway_data_store_resource_id: "js-168-166.jetstream-cloud.org_e86fd426-201a-461a-a0b4-4368af59ca28"
+#gateway_data_store_hostname: "js-168-166.jetstream-cloud.org"
+
+# NOTE: Plasma Science VLab is deployed to a Jetstream2 VM
+real_user_data_dir: "/media/volume/sdb/data/gateway-user-data"
+user_data_dir: "/var/www/portals/gateway-user-data"
+gateway_data_store_hostname: "js-172-104.jetstream-cloud.org"
+gateway_data_store_resource_id: "js-172-104.jetstream-cloud.org_0122ebcd-eb2c-48b0-9742-c95961d28a79"
+
+# TODO: tus not setup yet
+tusd_vhost_servername:
+
+vhost_servername: "vlab.plasmascience.scigap.org"
+vhost_ssl: True
+ssl_certificate_file: "/etc/letsencrypt/live/{{ vhost_servername }}/cert.pem"
+ssl_certificate_chain_file: "/etc/letsencrypt/live/{{ vhost_servername }}/fullchain.pem"
+ssl_certificate_key_file: "/etc/letsencrypt/live/{{ vhost_servername }}/privkey.pem"
+
+# Increase max upload size to 500MB
+django_file_upload_max_file_size_mb: 500
+
+## Keycloak related variables
+tenant_domain: "vlab-plasmascience"
+oauth_client_key: "{{ vault_oauth_client_key }}"
+oauth_client_secret: "{{ vault_oauth_client_secret }}"
+
+auth_options:
+  password:
+    name: "Plasma Science Virtual Laboratory"
+  external:
+    - name: "Existing Institution Credentials"
+      idp_alias: "cilogon"
+      logo: "images/cilogon-logo-24x24-b.png"
+
+gateway_id: "vlab-plasmascience"
+experiment_data_dir: "{{ user_data_dir }}/vlab-plasmascience"
+gateway_data_store_ssh_public_key: "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCQ+coR/ZU4cnFFKt7jXUxbSQiEvSJtRl8gT6ZgE5kbMKjruAnwVH0H9M/FUyOxutT7p4qMmdBuRJJtUNiYfPJ/zgJqGweoXbk5sJwYRBSM2v8DNI9394ffun3N+46MMhaSinBDbhLPXOE9sPZlfmhUozwsC7+32Hd0Hv48cYpNCDB8ccsKzCcUzfD/OesIxuM1d8FE4O0FA66MrPmquzQM0otG2Tx7nOeFMjXWzYgk0fhEYJHMHhdMXRoVVT/eeuTvvmOGDbTNwtWaG/hoBAL643Tk/YgILE03WrmS0iULmC9DZ8sxCntFpqZjlOn5H9MvFwV3xfAU3RsaDw3xAGg7"
+
+admin_emails: "[('CIRC', 'circ-iu-group@iu.edu'),('Cameron Smith', 'smithc11@rpi.edu')]"
+portal_title: "Plasma Science Virtual Laboratory"
+
+#django_google_analytics_tracking_id: "UA-66348921-1"
+...
diff --git a/dev-tools/ansible/inventories/scigap/production/host_vars/vlab-plasmascience/vault.yml b/dev-tools/ansible/inventories/scigap/production/host_vars/vlab-plasmascience/vault.yml
new file mode 100644
index 0000000..c3d4790
--- /dev/null
+++ b/dev-tools/ansible/inventories/scigap/production/host_vars/vlab-plasmascience/vault.yml
@@ -0,0 +1,12 @@
+$ANSIBLE_VAULT;1.1;AES256
+64613763653965346162366133626466613166643464343835306666396537396564613465363063
+3565356532623434326164306637303631613164366564360a393436616664373461346339366130
+30333832383164623061353031363932373761393238666361383937393838303037616534306437
+3038326462623030380a376462363134343139323736666234643339353335323762663265613362
+62626630646330643363663330396135623830323335643362393064376265386533363035316362
+64383037353862653361376261313432386164393739316162373137373336633230376639373231
+62306464616636653264613830376661613833376163363334616361633533613062663438623139
+63383162313163343462326133393361643532383239663938366638386465633066363664623561
+61626539663432363964343531363936393436663463353335666331303864326535633066343532
+37623663326566373034323133636563343961623766663630323966663664333538356434343861
+633932396335303664653963306465383131
diff --git a/dev-tools/ansible/inventories/scigap/production/hosts b/dev-tools/ansible/inventories/scigap/production/hosts
index ff05ef2..adbaa50 100644
--- a/dev-tools/ansible/inventories/scigap/production/hosts
+++ b/dev-tools/ansible/inventories/scigap/production/hosts
@@ -26,41 +26,40 @@
 
 [django]
 ampgateway ansible_host=156.56.104.84
-csbglsu ansible_host=156.56.104.84
+# csbglsu ansible_host=156.56.104.84
 # disable distantreader deploy
 # distantreader ansible_host=156.56.104.84
-epwgateway ansible_host=156.56.104.84
+# epwgateway ansible_host=156.56.104.84
 georgiastate ansible_host=156.56.104.84
-hubzero ansible_host=156.56.104.84
+# hubzero ansible_host=156.56.104.84
 interactwel ansible_host=156.56.104.84
-iugateway ansible_host=156.56.104.84
-kentucky ansible_host=156.56.104.84
-mines ansible_host=156.56.104.84
-nanoconfinement ansible_host=156.56.104.84
-nanoshape ansible_host=156.56.104.84
-ncsaindustry ansible_host=156.56.104.84
-newmexicostate ansible_host=156.56.104.84
+# iugateway ansible_host=156.56.104.84
+# kentucky ansible_host=156.56.104.84
+# mines ansible_host=156.56.104.84
+# nanoconfinement ansible_host=156.56.104.84
+# nanoshape ansible_host=156.56.104.84
+# ncsaindustry ansible_host=156.56.104.84
+# newmexicostate ansible_host=156.56.104.84
 nexttdb ansible_host=156.56.104.84
 # oscer ansible_host=156.56.104.84
-phasta ansible_host=156.56.104.84
-r-hpc ansible_host=156.56.104.84
-saverx ansible_host=156.56.104.84
+# phasta ansible_host=156.56.104.84
+# r-hpc ansible_host=156.56.104.84
+# saverx ansible_host=156.56.104.84
 sdstate ansible_host=156.56.104.84
 seagrid ansible_host=156.56.104.84
 searchsra ansible_host=156.56.104.84
 snowvision ansible_host=156.56.104.84
-# disable usd/southdakota until we can get valid SSL certificate
-# southdakota ansible_host=156.56.104.84
+southdakota ansible_host=156.56.104.84
 testdrive ansible_host=156.56.104.84
-uab ansible_host=156.56.104.84
-wvsu ansible_host=156.56.104.84
+#uab ansible_host=156.56.104.84
+#wvsu ansible_host=156.56.104.84
 pace-gatech ansible_host=156.56.104.84
-smaltr ansible_host=156.56.104.84
-toppic ansible_host=156.56.104.84
+#smaltr ansible_host=156.56.104.84
+#toppic ansible_host=156.56.104.84
 microbial-genomes ansible_host=156.56.104.84
-v4i ansible_host=156.56.104.84
+#v4i ansible_host=156.56.104.84
 physicell ansible_host=156.56.104.84
-pathogenomics ansible_host=156.56.104.84
+# pathogenomics ansible_host=156.56.104.84
 bcbportal ansible_host=156.56.104.84
 lrose ansible_host=156.56.104.84
 tsunami ansible_host=156.56.104.84
@@ -69,25 +68,35 @@
 immune ansible_host=156.56.104.84
 regsnps ansible_host=156.56.104.84
 global-flood ansible_host=156.56.104.84
-louisiana-state ansible_host=156.56.104.84
-hicops-deepsnap ansible_host=156.56.104.84
+# louisiana-state ansible_host=156.56.104.84
+# hicops-deepsnap ansible_host=156.56.104.84
 ultrascan ansible_host=156.56.104.84
-unggateway ansible_host=156.56.104.84
-ucmerced ansible_host=156.56.104.84
-deeppdb ansible_host=156.56.104.84
+#unggateway ansible_host=156.56.104.84
+# ucmerced ansible_host=156.56.104.84
+# deeppdb ansible_host=156.56.104.84
 ehtgateway ansible_host=156.56.104.84
+neuroscience-cybershuttle ansible_host=156.56.104.84
+ai-confluence ansible_host=156.56.104.84
+molecular-dynamics ansible_host=156.56.104.84
+nasa-veda ansible_host=156.56.104.84
+
+# smiles server
+smiles ansible_host=scigap13.sciencegateways.iu.edu ansible_user=root
+
+# vlab-plasmasciene server
+vlab-plasmascience ansible_host=149.165.172.104 ansible_user=exouser
 
 # Baysprism Jetstream2 server
 bayesprism ansible_host=149.165.155.90 ansible_user=exouser
 
-# dreg jetstream server
-dreg ansible_host=149.165.154.48 ansible_user=exouser
+# dreg jetstream server The old is 149.165.154.48
+dreg ansible_host=149.165.171.97 ansible_user=exouser
 
 # futurewater jetstream server
-futurewater ansible_host=149.165.154.245 ansible_user=exouser
+futurewater ansible_host=149.165.154.212 ansible_user=exouser
 
 # Delta Jetstream server
-delta ansible_host=149.165.153.181 ansible_user=exouser
+# delta ansible_host=149.165.153.181 ansible_user=exouser
 
 # Container-Tutorial Jetstream server
 # This JS1 VM no longer exists
@@ -97,6 +106,6 @@
 simccs ansible_host=scigap11.sciencegateways.iu.edu ansible_user=root
 
 # simvascular server
-simvascular ansible_host=simvascular.stanford.edu ansible_user=gateway
+# simvascular ansible_host=simvascular.stanford.edu ansible_user=gateway
 # we can remove this once the migration is complete
 simvascular_old ansible_host=156.56.104.84
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vars.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vars.yml
index d2dc7d4..e6130c4 100644
--- a/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vars.yml
+++ b/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vars.yml
@@ -58,8 +58,8 @@
 
 ## Portal related variables
 super_admin_portal: "true"
-admin_emails: "['sgrc-iu-group@iu.edu']"
-portal_email_username: "pga.airavata@gmail.com"
+admin_emails: "['circ-iu-group@iu.edu']"
+portal_email_username: "django.portal@scigap.org"
 portal_email_password: "{{ vault_portal_email_password }}"
 portal_theme: "scigap"
 portal_theme_repo: "https://github.com/SciGaP/scigap-portal-theme"
diff --git a/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vault.yml b/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vault.yml
index fecaa71..b59f16b 100644
--- a/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vault.yml
+++ b/dev-tools/ansible/inventories/scigap/production/pga_config/scigap/vault.yml
@@ -1,18 +1,18 @@
 $ANSIBLE_VAULT;1.1;AES256
-37316430346432346631396330363763323036316131396463376232373137333631626664373435
-3432626264383530393434656264336631653433633637340a383161636134376230336233353232
-34366238613232393134663865626138613866623133616261373434653664313132323864336661
-6337356131643630360a343262646466393439313964353730653237386161346538383563396130
-65623231663331616634623463373231333633336633653138343730633839316530666633306266
-34653062386565666665616638633134616638363532613036616433626630326666636662383338
-30323237393763326364393265613937326565386330316165303366396466633866633438643166
-34613335623231303664363865393138343434333330393039393966323961383033653964343339
-38346635353465616139373037666636313266316637656534613063363130633833613733343430
-38306634363831633966356361366236666264346133323161626330623634326130343239623764
-38376336303663623261376133333833383633356436313134313837633730323034336161396564
-63393537306164393365343737393565613831303335323661623266393430663761626666623030
-36633531383665303835623031343133313665653437303465663334303135643264646436616566
-39383734396630356433313036333461633631616530373633396136643766616530653931363236
-37646237643030333634633739373932323064313536656566353135313939646138633636353737
-65323837346132363833333133323033646238393037653038646234316465333761336366323035
-3830
+63626136313334316563623234393235326165303164346664313737303564333532303265333436
+6264323730643736636635643032333366303335343764620a336536383738336338663131633034
+36373132303031303932353963316666663966323166643666393861633736393062623636333931
+3837373366626236320a333439666662363637646530636261643531666362623238396639313665
+66366235346231633963316432353832623135616663303266323136656436356533383463393232
+37363565353839343232666134303935623135383430613139386134343561653363356137633734
+37376636393435626463663533666437383939643733633163316435373835393664353230356165
+33633832323332646137646431623363353835393863316131313537303864303963356466303532
+35356338623132626234363138663362313666363832666539343161373434663165373433653861
+65313437646536323630316639393737333966623038376266343935663935633730316330623837
+39373538666439333366633965653465346166366336386138306435323933636434636434356438
+35343233383066376434386330353537373133363838626130356165613936373862303365646465
+38326135343336623339623734343164636162343865363566326632333364353639376636383835
+65306364653334323166343237316332343839366366626562653835316436626566333334303362
+66383561613838356135383262343961653230343663356132613836383263343664663833353063
+36656233653662323061373764356137663530333938643234323965343435366465386665316435
+31356161623563373237343564653664633561313933393130313132313839663963
diff --git a/dev-tools/ansible/roles/api-orch/defaults/main.yml b/dev-tools/ansible/roles/api-orch/defaults/main.yml
index e1c0476..0f6fa21 100644
--- a/dev-tools/ansible/roles/api-orch/defaults/main.yml
+++ b/dev-tools/ansible/roles/api-orch/defaults/main.yml
@@ -47,3 +47,13 @@
 
 thrift_client_pool_abandoned_removal_enabled: false
 thrift_client_pool_abandoned_removal_logged: false
+
+api_server_public_hostname: "localhost"
+haproxy_api_server_ssl_cert: "/etc/ssl/{{ api_server_public_hostname }}/{{ api_server_public_hostname }}.pem"
+api_server_letsencrypt_ssl_cert: "/etc/letsencrypt/live/{{ api_server_public_hostname }}/cert.pem"
+haproxy_service_name:
+ CentOS_7: haproxy18
+ Rocky_8: haproxy
+haproxy_config_dir:
+ CentOS_7: /etc/haproxy18/
+ Rocky_8: /etc/haproxy/
diff --git a/dev-tools/ansible/roles/api-orch/files/prepareLetsEncryptCertificates.sh b/dev-tools/ansible/roles/api-orch/files/prepareLetsEncryptCertificates.sh
new file mode 100644
index 0000000..8138751
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/files/prepareLetsEncryptCertificates.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+umask 077
+
+# Loop through all Let's Encrypt certificates
+for CERTIFICATE in `find /etc/letsencrypt/live/* -type d`; do
+
+  CERTIFICATE=`basename $CERTIFICATE`
+
+  # Combine certificate and private key to single file
+  mkdir -p /etc/ssl/$CERTIFICATE/
+  cat /etc/letsencrypt/live/$CERTIFICATE/fullchain.pem /etc/letsencrypt/live/$CERTIFICATE/privkey.pem > /etc/ssl/$CERTIFICATE/$CERTIFICATE.pem
+
+done
diff --git a/.travis.yml b/dev-tools/ansible/roles/api-orch/handlers/main.yml
similarity index 77%
rename from .travis.yml
rename to dev-tools/ansible/roles/api-orch/handlers/main.yml
index 21894a5..08d9f9e 100644
--- a/.travis.yml
+++ b/dev-tools/ansible/roles/api-orch/handlers/main.yml
@@ -18,20 +18,8 @@
 # under the License.
 #
 
-language: java
-
-sudo: false
-
-notifications:
-  email:
-    on_success: change
-    on_failure: always
-
-jdk:
-  - oraclejdk11
-
-script: mvn clean install
-
-# Git-describe Maven plugin needs the full history
-git:
-  depth: false
+---
+- name: restart haproxy
+  service: name={{ haproxy_service_name[ansible_distribution + "_" + ansible_distribution_major_version]}} state=reloaded enabled=yes
+  become: yes
+  become_user: root
diff --git a/.travis.yml b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Centos_7.yml
similarity index 77%
copy from .travis.yml
copy to dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Centos_7.yml
index 21894a5..9776dd4 100644
--- a/.travis.yml
+++ b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Centos_7.yml
@@ -18,20 +18,12 @@
 # under the License.
 #
 
-language: java
+---
 
-sudo: false
+- name: yum install haproxy18 (Centos 7)
+  yum: name=haproxy18 state=present
+  become: true
+  become_user: root
 
-notifications:
-  email:
-    on_success: change
-    on_failure: always
 
-jdk:
-  - oraclejdk11
-
-script: mvn clean install
-
-# Git-describe Maven plugin needs the full history
-git:
-  depth: false
+...
diff --git a/.travis.yml b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Rocky_8.yml
similarity index 77%
copy from .travis.yml
copy to dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Rocky_8.yml
index 21894a5..8d48c47 100644
--- a/.travis.yml
+++ b/dev-tools/ansible/roles/api-orch/tasks/haproxy/install_deps_Rocky_8.yml
@@ -18,20 +18,15 @@
 # under the License.
 #
 
-language: java
+---
 
-sudo: false
+- name: dnf install haproxy (Rocky 8)
+  dnf: name={{ package }} state=latest
+  loop:
+    - haproxy
+  loop_control:
+    loop_var: package
+  become: true
+  become_user: root
 
-notifications:
-  email:
-    on_success: change
-    on_failure: always
-
-jdk:
-  - oraclejdk11
-
-script: mvn clean install
-
-# Git-describe Maven plugin needs the full history
-git:
-  depth: false
+...
diff --git a/dev-tools/ansible/roles/api-orch/tasks/main.yml b/dev-tools/ansible/roles/api-orch/tasks/main.yml
index a458638..3ba7012 100644
--- a/dev-tools/ansible/roles/api-orch/tasks/main.yml
+++ b/dev-tools/ansible/roles/api-orch/tasks/main.yml
@@ -82,6 +82,66 @@
           owner={{ user }}
           group={{ group }}
 
+# Create a SSL certificate for the api server
+
+- name: allow http for Let's Encrypt certificate renewal
+  firewalld:
+    zone: public
+    permanent: yes
+    state: enabled
+    immediate: yes
+    service: http
+  become_user: root
+
+- name: copy prepareLetsEncryptCertificates.sh script
+  copy:
+    src: prepareLetsEncryptCertificates.sh
+    dest: "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version]}}"
+    mode: 755
+  become_user: root
+
+- name: check if SSL certificate exists
+  stat:
+    path: "{{ api_server_letsencrypt_ssl_cert }}"
+  register: stat_api_server_ssl_cert_result
+  become_user: root
+
+- name: generate certificate if it doesn't exist
+  command: certbot --standalone --non-interactive --agree-tos --email "{{ letsencrypt_email }}" -d {{ api_server_public_hostname }} certonly
+  become_user: root
+  when: not stat_api_server_ssl_cert_result.stat.exists
+
+- name: set certificate renewal post-hook
+  command: certbot renew --force-renewal --installer null --standalone --post-hook "{{ haproxy_config_dir[ansible_distribution + '_' + ansible_distribution_major_version]}}/prepareLetsEncryptCertificates.sh && systemctl reload {{ haproxy_service_name[ansible_distribution + '_' + ansible_distribution_major_version]}}.service" --quiet
+  become_user: root
+  # Renewal might fail due to rate limiting, which is fine since we only need to set the post-hook
+  ignore_errors: true
+
+# Use HAProxy to proxy SSL port to non-SSL port
+- name: allow haproxy to bind to TCP ports
+  seboolean:
+    name: haproxy_connect_any
+    state: yes
+    persistent: yes
+  become_user: root
+  when: ansible_os_family == "RedHat"
+
+- name: Install HAProxy
+  include_tasks: haproxy/install_deps_{{ ansible_distribution }}_{{ ansible_distribution_major_version }}.yml
+
+- name: Copy HAProxy config file
+  template: src=haproxy.cfg.j2
+            dest={{ haproxy_config_dir[ansible_distribution + "_" + ansible_distribution_major_version]}}/haproxy.cfg
+            backup=true
+  become_user: root
+  notify:
+    - restart haproxy
+
+- name: start haproxy
+  service: name={{ haproxy_service_name[ansible_distribution + "_" + ansible_distribution_major_version]}} state=started enabled=yes daemon_reload=yes
+  become: true
+  become_user: root
+
 - name: allow only selected networks to access Airavata Sharing Registry
   firewalld:
     zone: public
diff --git a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2 b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
index 4f1af00..107c2d3 100644
--- a/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
+++ b/dev-tools/ansible/roles/api-orch/templates/airavata-server.properties.j2
@@ -338,3 +338,27 @@
 api.server.monitoring.enabled={{ api_server_monitoring_enabled }}
 api.server.monitoring.host={{ api_server_monitoring_host }}
 api.server.monitoring.port={{ api_server_monitoring_port }}
+
+
+###########################################################################
+# Metascheduler And Compute Resource Monitoring Configuration
+###########################################################################
+cluster.status.monitoring.enable={{ cluster_monitoring_enabled }}
+compute.resource.selection.policy.class={{ metascheduler_resource_selection_policy_class }}
+metascheduler.gateway={{ metascheduler_gateway }}
+metascheduler.group.resource.profile={{ metascheduler_group_resource_profile }}
+metascheduler.username={{ metascheduler_username }}
+cluster.scanning.interval={{ cluster_scanning_interval }}
+job.scanning.interval={{job_scanning_interval}}
+cluster.scanning.parallel.jobs={{ cluster_scanning_parallel_jobs }}
+metaschedluer.job.scanning.enable={{ metaschedluer_job_scanning_enable }}
+metascheduler.maximum.rescheduler.threshold = {{ metascheduler_maximum_rescheduler_threshold }}
+compute.resource.rescheduler.policy.class = {{ compute_resource_rescheduler_policy_class }}
+data.analyzer.scanning.interval=3600
+data.analyzer.scanning.parallel.jobs=1
+data.analyzer.enabled.gateways=dev-ultrascan
+data.analyzer.time.step.seconds=5
+data.analyzer.job.scanning.enable=False
+metascheduler.multiple.cr.enabling.factor=1
+
+
diff --git a/dev-tools/ansible/roles/api-orch/templates/haproxy.cfg.j2 b/dev-tools/ansible/roles/api-orch/templates/haproxy.cfg.j2
new file mode 100644
index 0000000..d735289
--- /dev/null
+++ b/dev-tools/ansible/roles/api-orch/templates/haproxy.cfg.j2
@@ -0,0 +1,75 @@
+#---------------------------------------------------------------------
+# Example configuration for a possible web application.  See the
+# full configuration options online.
+#
+#   https://www.haproxy.org/download/1.8/doc/configuration.txt
+#
+#---------------------------------------------------------------------
+
+#---------------------------------------------------------------------
+# Global settings
+#---------------------------------------------------------------------
+global
+    # to have these messages end up in /var/log/haproxy.log you will
+    # need to:
+    #
+    # 1) configure syslog to accept network log events.  This is done
+    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
+    #    /etc/sysconfig/syslog
+    #
+    # 2) configure local2 events to go to the /var/log/haproxy.log
+    #   file. A line like the following can be added to
+    #   /etc/sysconfig/syslog
+    #
+    #    local2.*                       /var/log/haproxy.log
+    #
+    log         127.0.0.1 local2
+
+    chroot      /var/lib/haproxy
+    pidfile     /var/run/haproxy.pid
+    maxconn     4000
+    user        haproxy
+    group       haproxy
+    daemon
+
+    # turn on stats unix socket
+    stats socket /var/lib/haproxy/stats
+
+    # utilize system-wide crypto-policies
+    # ssl-default-bind-ciphers PROFILE=SYSTEM
+    # ssl-default-server-ciphers PROFILE=SYSTEM
+
+#---------------------------------------------------------------------
+# common defaults that all the 'listen' and 'backend' sections will
+# use if not designated in their block
+#---------------------------------------------------------------------
+defaults
+    log                     global
+    option                  httplog
+    option                  dontlognull
+    option http-server-close
+    option forwardfor       except 127.0.0.0/8
+    option                  redispatch
+
+#---------------------------------------------------------------------
+# main frontend which proxys to the backends
+#---------------------------------------------------------------------
+frontend main
+  mode tcp
+  log global
+  option tcplog
+  bind *:{{ api_server_tls_port }} ssl crt {{ haproxy_api_server_ssl_cert }}
+  default_backend fix-backend
+
+#---------------------------------------------------------------------
+# static backend for serving up images, stylesheets and such
+#---------------------------------------------------------------------
+
+#---------------------------------------------------------------------
+# round robin balancing between the various backends
+#---------------------------------------------------------------------
+backend fix-backend
+  mode tcp
+  log global
+  option tcplog
+  server quickfix {{ api_server_host }}:{{ api_server_port }} check
diff --git a/dev-tools/ansible/roles/django/defaults/main.yml b/dev-tools/ansible/roles/django/defaults/main.yml
index 882a3bc..4ebf418 100644
--- a/dev-tools/ansible/roles/django/defaults/main.yml
+++ b/dev-tools/ansible/roles/django/defaults/main.yml
@@ -21,7 +21,9 @@
 ---
 doc_root_dir: "/var/www/django-{{ gateway_id }}"
 user_data_dir: "/var/www/user_data"
-django_venv_dir: "{{ doc_root_dir }}/venv"
+python_virtualenv_python: "python3.9"
+# Upgrading Python version from 3.6 to 3.9, so creating a separate virtual env directory for 3.9
+django_venv_dir: "{{ doc_root_dir }}/venv3.9"
 # real_user_data_dir is the same as user_data_dir but without symbolic links in it
 real_user_data_dir: "{{ user_data_dir }}"
 vhost_servername: "{{ groups['django'][0] }}"
@@ -40,6 +42,11 @@
  Debian: /var/log/apache2
  RedHat: /var/log/httpd
 
+# User data archive related variables
+django_user_data_archive_max_age_days:
+django_user_data_archive_directory: "/tmp"
+django_user_data_archive_minimum_archive_size_gb: 1
+
 django_vhost_template: "django-vhost.conf.j2"
 django_ssl_vhost_template: "django-ssl-vhost.conf.j2"
 django_settings_local_template: "settings_local.py.j2"
@@ -54,7 +61,7 @@
 
 # Should be a python expression that evaluates to a string representing a file path. For example:
 # django_keycloak_ca_certfile_path: "/etc/ca.pem"
-# or 
+# or
 # django_keycloak_ca_certfile_path: 'os.path.join(BASE_DIR, "django_airavata", "resources", "incommon_rsa_server_ca.pem")'
 # By default it has no value meaning system default CA certs will be used for validation.
 django_keycloak_ca_certfile_path:
@@ -63,7 +70,6 @@
 
 django_debug: false
 django_error_emails: "{{ admin_emails }}"
-python_virtualenv_command: "pyvenv-3.6"
 
 # These directories need to be copied out of the build container and then
 # separately rsynced to deployment
diff --git a/dev-tools/ansible/roles/django/tasks/main.yml b/dev-tools/ansible/roles/django/tasks/main.yml
index 892a394..23d3c9c 100644
--- a/dev-tools/ansible/roles/django/tasks/main.yml
+++ b/dev-tools/ansible/roles/django/tasks/main.yml
@@ -162,7 +162,7 @@
   pip:
     name: "{{ item }}"
     virtualenv: "{{ django_venv_dir }}"
-    virtualenv_command: "{{ python_virtualenv_command }}"
+    virtualenv_python: "{{ python_virtualenv_python }}"
     chdir: "{{ airavata_django_checkout }}"
     state: latest
   become: yes
@@ -176,7 +176,7 @@
   pip:
     requirements: "{{ item }}"
     virtualenv: "{{ django_venv_dir }}"
-    virtualenv_command: "{{ python_virtualenv_command }}"
+    virtualenv_python: "{{ python_virtualenv_python }}"
     chdir: "{{ airavata_django_checkout }}"
   become: yes
   become_user: "{{user}}"
@@ -298,6 +298,18 @@
     - restart httpd
   when: not vhost_ssl
 
+- name: check if SSL certificate exists
+  stat:
+    path: "{{ ssl_certificate_file }}"
+  register: stat_ssl_cert_result
+  become: yes
+  when: vhost_ssl
+
+- name: generate certificate if it doesn't exist
+  command: certbot --apache --non-interactive --agree-tos --email "{{ letsencrypt_email }}" -d {{ vhost_servername }} certonly
+  become: yes
+  when: vhost_ssl and not stat_ssl_cert_result.stat.exists
+
 - name: copy SSL enabled virtual host config file
   template: src={{ django_ssl_vhost_template }} dest={{ httpd_confd_file_location[ansible_os_family] }} backup=yes
   become: yes
@@ -351,3 +363,12 @@
     create: yes
   become: yes
   when: vhost_ssl and vhost_server_redirect_ssl_certificate_file is defined
+
+- name: Install archive_user_data.cron script
+  template:
+    src: archive_user_data.cron.j2
+    dest: /etc/cron.daily/{{ gateway_id }}-archive_user_data.cron
+    mode: 0755
+  become: yes
+  become_user: root
+  when: django_user_data_archive_max_age_days and django_user_data_archive_max_age_days|int > 0
diff --git a/dev-tools/ansible/roles/django/templates/archive_user_data.cron.j2 b/dev-tools/ansible/roles/django/templates/archive_user_data.cron.j2
new file mode 100644
index 0000000..f735ed5
--- /dev/null
+++ b/dev-tools/ansible/roles/django/templates/archive_user_data.cron.j2
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+su {{user}} -c ' source "{{ django_venv_dir }}/bin/activate"; cd "{{ airavata_django_checkout }}"; python manage.py archive_user_data'
diff --git a/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2 b/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
index 2c2f73f..a35d78c 100644
--- a/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
+++ b/dev-tools/ansible/roles/django/templates/django-ssl-vhost.conf.j2
@@ -43,7 +43,7 @@
 
 <VirtualHost *:{{ httpd_default_http_port }}>
     ServerName {{ vhost_servername }}
-    
+
     ## Redirect all http traffic to https
     RewriteEngine On
     RewriteCond %{HTTPS} off
@@ -61,14 +61,14 @@
 
     <Directory {{ doc_root_dir }}/static>
     Require all granted
-    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript
+    AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript image/svg+xml
 
     # Force browser to revalidate cached static resources
     Header set Cache-Control "no-cache"
     # Workaround for ETag bug: https://bz.apache.org/bugzilla/show_bug.cgi?id=45023#c22
     RequestHeader edit "If-None-Match" '^"((.*)-gzip)"$' '"$1", "$2"'
     # If file has a content hash, cache for a year
-    <FilesMatch "\.[0-9a-f]{8}\.(css|js)$">
+    <FilesMatch "\.[0-9a-f]{8}\.(css|js|svg)$">
         Header set Cache-Control "max-age=31536000, public"
     </FilesMatch>
     </Directory>
@@ -99,7 +99,15 @@
     {% endif %}
     {% endfor %}
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} \
+            display-name=%{GROUP} \
+            python-home={{ django_venv_dir }} \
+            python-path={{ doc_root_dir }}/airavata-django-portal \
+            processes={{ django_wsgi_processes }} \
+            user={{ user }} \
+            group={{ group }} \
+            lang=en_US.UTF-8 \
+            locale=en_US.UTF-8
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
diff --git a/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2 b/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2
index db95fb6..d9e54a8 100644
--- a/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2
+++ b/dev-tools/ansible/roles/django/templates/django-vhost.conf.j2
@@ -30,7 +30,7 @@
 <VirtualHost *:{{ httpd_default_http_port }}>
     ServerName {{ vhost_servername }}
     TimeOut {{ vhost_timeout }}
-    
+
     Alias /robots.txt {{ doc_root_dir }}/static/robots.txt
     Alias /favicon.ico {{ doc_root_dir }}/static/favicon.ico
 
@@ -75,7 +75,7 @@
     {% endif %}
     {% endfor %}
 
-    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ doc_root_dir }}/venv python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
+    WSGIDaemonProcess {{ vhost_servername }} display-name=%{GROUP} python-home={{ django_venv_dir }} python-path={{ doc_root_dir }}/airavata-django-portal processes={{ django_wsgi_processes }} user={{ user }} group={{ group }}
     WSGIProcessGroup {{ vhost_servername }}
 
     WSGIScriptAlias / {{ doc_root_dir }}/airavata-django-portal/django_airavata/wsgi.py
diff --git a/dev-tools/ansible/roles/django/templates/settings_local.py.j2 b/dev-tools/ansible/roles/django/templates/settings_local.py.j2
index 0028c0a..97d65b2 100644
--- a/dev-tools/ansible/roles/django/templates/settings_local.py.j2
+++ b/dev-tools/ansible/roles/django/templates/settings_local.py.j2
@@ -184,6 +184,12 @@
 GOOGLE_ANALYTICS_TRACKING_ID = "{{ django_google_analytics_tracking_id }}"
 {% endif %}
 
+{% if django_user_data_archive_max_age_days and django_user_data_archive_max_age_days|int > 0 %}
+GATEWAY_USER_DATA_ARCHIVE_MAX_AGE_DAYS = {{ django_user_data_archive_max_age_days }}
+{% endif %}
+GATEWAY_USER_DATA_ARCHIVE_DIRECTORY = "{{ django_user_data_archive_directory }}"
+GATEWAY_USER_DATA_ARCHIVE_MINIMUM_ARCHIVE_SIZE_GB = {{ django_user_data_archive_minimum_archive_size_gb }}
+
 # Extra settings
 {% for extra_setting in django_extra_settings.items() | list %}
 {{ extra_setting[0] }} = {{ extra_setting[1] | to_nice_json }}
diff --git a/dev-tools/ansible/roles/django_setup/defaults/main.yml b/dev-tools/ansible/roles/django_setup/defaults/main.yml
index e09cec4..c75d7f4 100644
--- a/dev-tools/ansible/roles/django_setup/defaults/main.yml
+++ b/dev-tools/ansible/roles/django_setup/defaults/main.yml
@@ -19,10 +19,11 @@
 #
 
 ---
-mod_wsgi_dir: /opt/mod_wsgi
-mod_wsgi_url: https://github.com/GrahamDumpleton/mod_wsgi/archive/4.5.17.tar.gz
+# Upgrade to Python 3.9, separate install directory
+mod_wsgi_dir: /opt/mod_wsgi-py3.9
+mod_wsgi_url: https://github.com/GrahamDumpleton/mod_wsgi/archive/4.9.4.tar.gz
 mod_wsgi_tarball_dest: "{{ mod_wsgi_dir }}/{{ mod_wsgi_url | basename }}"
-mod_wsgi_unarchive_dir: "{{ mod_wsgi_dir }}/mod_wsgi-4.5.17"
+mod_wsgi_unarchive_dir: "{{ mod_wsgi_dir }}/mod_wsgi-4.9.4"
 httpd_conf_modules_dir: "/etc/httpd/conf.modules.d"
 
 ...
diff --git a/dev-tools/ansible/roles/django_setup/tasks/install_deps_Rocky_8.yml b/dev-tools/ansible/roles/django_setup/tasks/install_deps_Rocky_8.yml
index 80f8266..0b0803e 100644
--- a/dev-tools/ansible/roles/django_setup/tasks/install_deps_Rocky_8.yml
+++ b/dev-tools/ansible/roles/django_setup/tasks/install_deps_Rocky_8.yml
@@ -23,13 +23,15 @@
 - name: Install Airavata Django Portal prerequisites (Rocky 8)
   dnf: name={{ item }} state=latest
   with_items:
-    - python36
+    - python39
     - httpd-devel
-    - python36-devel
+    - python39-devel
     - mysql-devel
     - gcc
     - zlib-devel
     - openssl-devel
+    - make
+    - redhat-rpm-config
   become: yes
 
 - name: Create mod_wsgi directory
@@ -51,7 +53,7 @@
   become: yes
 
 - name: Configure mod_wsgi
-  command: ./configure --with-python=/usr/bin/python3
+  command: ./configure --with-python=/usr/bin/python3.9
   args:
     chdir: "{{ mod_wsgi_unarchive_dir }}"
     creates: "{{ mod_wsgi_unarchive_dir }}/Makefile"
diff --git a/dev-tools/ansible/roles/env_setup/tasks/main.yml b/dev-tools/ansible/roles/env_setup/tasks/main.yml
index b8c8e11..31cbf4a 100644
--- a/dev-tools/ansible/roles/env_setup/tasks/main.yml
+++ b/dev-tools/ansible/roles/env_setup/tasks/main.yml
@@ -94,6 +94,12 @@
   become: yes
   when: ansible_distribution == "CentOS"
 
+- name: Install dnf-automatic (Rocky)
+  dnf:
+    name: dnf-automatic
+  become: yes
+  when: ansible_distribution == "Rocky"
+
 - name: Copy dnf-cron.conf config file (Rocky)
   copy:
     src: dnf-cron.conf
diff --git a/dev-tools/ansible/roles/httpd/tasks/main.yml b/dev-tools/ansible/roles/httpd/tasks/main.yml
index 6b3ae38..70bc08f 100644
--- a/dev-tools/ansible/roles/httpd/tasks/main.yml
+++ b/dev-tools/ansible/roles/httpd/tasks/main.yml
@@ -32,7 +32,7 @@
   ignore_errors: yes
 
 - name: create default ssl vhost certificate
-  command: openssl req -x509 -sha256 -newkey rsa:2048 -keyout {{ httpd_default_ssl_vhost_certificate_key_location[ansible_os_family]}} -out {{ httpd_default_ssl_vhost_certificate_location[ansible_os_family]}} -days 1024 -nodes -subj '/CN={{ ansible_host }}'
+  command: openssl req -x509 -sha256 -newkey rsa:2048 -keyout {{ httpd_default_ssl_vhost_certificate_key_location[ansible_os_family]}} -out {{ httpd_default_ssl_vhost_certificate_location[ansible_os_family]}} -days 1024 -nodes -subj '/CN={{ inventory_hostname }}'
   become: yes
   when: default_vhost_ssl_cert_check is failed
 
@@ -46,6 +46,13 @@
   notify:
     - restart httpd
 
+- name: Enable default site in Apache (Debian)
+  command: a2ensite {{ httpd_default_conf_file_location[ansible_os_family] | basename | splitext | first }}
+  become: yes
+  notify:
+    - restart httpd
+  when: ansible_os_family == "Debian"
+
 - name: copy modified ssl.conf file
   template: src={{ httpd_ssl_conf_template }} dest={{ httpd_ssl_conf_file_location[ansible_os_family] }} backup=yes
   become: yes
diff --git a/lp.pdf b/lp.pdf
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/lp.pdf
diff --git a/modules/airavata-helix/agent-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java b/modules/airavata-helix/agent-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java
index fa6c448..cb8b716 100644
--- a/modules/airavata-helix/agent-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java
+++ b/modules/airavata-helix/agent-api/src/main/java/org/apache/airavata/agents/api/AgentUtils.java
@@ -16,16 +16,19 @@
         try {
             final int serverPort = Integer.parseInt(ServerSettings.getRegistryServerPort());
             final String serverHost = ServerSettings.getRegistryServerHost();
-            return RegistryServiceClientFactory.createRegistryClient(serverHost, serverPort);
+
+            return RegistryServiceClientFactory.createRegistryClient(serverHost,
+                    serverPort);
         } catch (RegistryServiceException | ApplicationSettingsException e) {
             throw new AgentException("Unable to create registry client...", e);
         }
+
     }
 
     public static CredentialStoreService.Client getCredentialClient() throws AgentException {
         try {
             final int serverPort = Integer.parseInt(ServerSettings.getCredentialStoreServerPort());
-            final String serverHost =ServerSettings.getCredentialStoreServerHost();
+            final String serverHost = ServerSettings.getCredentialStoreServerHost();
             return CredentialStoreClientFactory.createAiravataCSClient(serverHost, serverPort);
         } catch (CredentialStoreException | ApplicationSettingsException e) {
             throw new AgentException("Unable to create credential client...", e);
diff --git a/modules/airavata-helix/agent-impl/sshj-agent/src/main/java/org/apache/airavata/helix/adaptor/SSHJAgentAdaptor.java b/modules/airavata-helix/agent-impl/sshj-agent/src/main/java/org/apache/airavata/helix/adaptor/SSHJAgentAdaptor.java
index 5e6059f..79a7dfc 100644
--- a/modules/airavata-helix/agent-impl/sshj-agent/src/main/java/org/apache/airavata/helix/adaptor/SSHJAgentAdaptor.java
+++ b/modules/airavata-helix/agent-impl/sshj-agent/src/main/java/org/apache/airavata/helix/adaptor/SSHJAgentAdaptor.java
@@ -143,6 +143,9 @@
 
             int selectedPort = sshJobSubmission.getSshPort() == 0 ? 22 : sshJobSubmission.getSshPort();
 
+            logger.info("Using user {}, Host {}, Port {} to create ssh client for compute resource {}",
+                    userId, selectedHostName, selectedPort, computeResource);
+
             createPoolingSSHJClient(userId, selectedHostName, selectedPort,
                     sshCredential.getPublicKey(), sshCredential.getPrivateKey(), sshCredential.getPassphrase());
 
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java
index ace7af7..d2208d5 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/AiravataTask.java
@@ -97,6 +97,9 @@
     @TaskParam(name ="Force Run Task")
     private boolean forceRunTask = false;
 
+    @TaskParam(name ="Auto Schedule")
+    private boolean autoSchedule = false;
+
     protected TaskResult onSuccess(String message) {
         logger.info(message);
         if (!skipAllStatusPublish) {
@@ -184,6 +187,11 @@
 
             cleanup();
 
+            if (autoSchedule){
+                ProcessStatus requeueStatus = new ProcessStatus(ProcessState.REQUEUED);
+                saveAndPublishProcessStatus(requeueStatus);
+            }
+
             return onFail(errorMessage, fatal);
         } else {
             return onFail("Handover back to helix engine to retry", fatal);
@@ -598,6 +606,14 @@
         this.forceRunTask = forceRunTask;
     }
 
+    public boolean isAutoSchedule() {
+        return autoSchedule;
+    }
+
+    public void setAutoSchedule(boolean autoSchedule) {
+        this.autoSchedule = autoSchedule;
+    }
+
     // TODO this is inefficient. Try to use a connection pool
     public static RegistryService.Client getRegistryServiceClient() {
         try {
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java
index f91b983..17c48ea 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/TaskContext.java
@@ -621,6 +621,7 @@
         if (this.resourceJobManager == null) {
             JobSubmissionInterface jsInterface = getPreferredJobSubmissionInterface();
 
+
             if (jsInterface == null) {
                 throw new Exception("Job Submission interface cannot be empty at this point");
 
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java
index 77f4d72..5b815b8 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/JobSubmissionTask.java
@@ -32,6 +32,7 @@
 import org.apache.airavata.helix.impl.task.submission.config.JobManagerConfiguration;
 import org.apache.airavata.helix.impl.task.submission.config.RawCommandInfo;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.status.JobStatus;
 import org.apache.commons.io.FileUtils;
@@ -59,7 +60,9 @@
         JobManagerConfiguration jobManagerConfiguration = JobFactory.getJobManagerConfiguration(JobFactory.getResourceJobManager(
                 getRegistryServiceClient(), getTaskContext().getJobSubmissionProtocol(), getTaskContext().getPreferredJobSubmissionInterface()));
 
-        addMonitoringCommands(groovyMapData);
+        if (getTaskContext().getResourceJobManager().getResourceJobManagerType() != ResourceJobManagerType.HTCONDOR) {
+            addMonitoringCommands(groovyMapData);
+        }
 
         String scriptAsString = groovyMapData.loadFromFile(jobManagerConfiguration.getJobDescriptionTemplateName());
         logger.info("Generated job submission script : " + scriptAsString);
@@ -173,6 +176,8 @@
 
         JobManagerConfiguration jobManagerConfiguration = JobFactory.getJobManagerConfiguration(resourceJobManager);
 
+
+
         CommandOutput commandOutput = agentAdaptor.executeCommand(jobManagerConfiguration.getMonitorCommand(jobId).getRawCommand(), null);
 
         return jobManagerConfiguration.getParser().parseJobStatus(jobId, commandOutput.getStdOut());
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/JobManagerConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/JobManagerConfiguration.java
index f205609..ea93965 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/JobManagerConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/JobManagerConfiguration.java
@@ -45,4 +45,7 @@
 
     public String getBaseSubmitCommand();
 
+    public String getLivenessCheckCommand(String queueName, String partition);
+
+
 }
\ No newline at end of file
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/ForkJobConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/ForkJobConfiguration.java
index 59dafdc..9604ed9 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/ForkJobConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/ForkJobConfiguration.java
@@ -110,4 +110,9 @@
     public String getBaseSubmitCommand() {
         return null;
     }
+
+    @Override
+    public String getLivenessCheckCommand(String queueName, String partition) {
+        return null;
+    }
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/HTCondorJobConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/HTCondorJobConfiguration.java
index 034b887..601c625 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/HTCondorJobConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/HTCondorJobConfiguration.java
@@ -114,4 +114,9 @@
     public String getBaseSubmitCommand() {
         return jMCommands.get(JobManagerCommand.SUBMISSION).trim();
     }
+
+    @Override
+    public String getLivenessCheckCommand(String queueName, String partition) {
+        return null;
+    }
 }
\ No newline at end of file
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/LSFJobConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/LSFJobConfiguration.java
index ca8366a..c64376f 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/LSFJobConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/LSFJobConfiguration.java
@@ -117,4 +117,10 @@
     public String getBaseSubmitCommand() {
         return "bsub";
     }
+
+
+    @Override
+    public String getLivenessCheckCommand(String queueName, String partition) {
+        return null;
+    }
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/PBSJobConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/PBSJobConfiguration.java
index d38a301..ddec477 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/PBSJobConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/PBSJobConfiguration.java
@@ -119,4 +119,10 @@
 	public String getBaseSubmitCommand() {
 		return jobManagerCommands.get(JobManagerCommand.SUBMISSION).trim();
 	}
+
+
+	@Override
+	public String getLivenessCheckCommand(String queueName, String partition) {
+		return null;
+	}
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/SlurmJobConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/SlurmJobConfiguration.java
index acbf74b..7f5352c 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/SlurmJobConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/SlurmJobConfiguration.java
@@ -114,4 +114,13 @@
     public String getBaseSubmitCommand() {
         return jMCommands.get(JobManagerCommand.SUBMISSION).trim();
     }
+
+    @Override
+    public String getLivenessCheckCommand(String queueName, String projectNumber) {
+        String command = jMCommands.get(JobManagerCommand.SHOW_CLUSTER_INFO).trim()+" --account"
+                + projectNumber + " --partition "
+                + queueName ;
+
+        return command;
+    }
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/UGEJobConfiguration.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/UGEJobConfiguration.java
index eef8486..972d276 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/UGEJobConfiguration.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/task/submission/config/app/UGEJobConfiguration.java
@@ -114,4 +114,10 @@
     public String getBaseSubmitCommand() {
         return "qsub ";
     }
+
+
+    @Override
+    public String getLivenessCheckCommand(String queueName, String partition) {
+        return null;
+    }
 }
diff --git a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
index 195526f..8f509cf 100644
--- a/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
+++ b/modules/airavata-helix/helix-spectator/src/main/java/org/apache/airavata/helix/impl/workflow/PreWorkflowManager.java
@@ -148,6 +148,7 @@
                     airavataTask.setProcessId(processModel.getProcessId());
                     airavataTask.setTaskId(taskModel.getTaskId());
                     airavataTask.setRetryCount(taskModel.getMaxRetry());
+                    airavataTask.setAutoSchedule(experimentModel.getUserConfigurationData().isAiravataAutoSchedule());
                     if (allTasks.size() > 0) {
                         allTasks.get(allTasks.size() -1).setNextTask(new OutPort(airavataTask.getTaskId(), airavataTask));
                     }
diff --git a/modules/airavata-metascheduler/metadata-analyzer/pom.xml b/modules/airavata-metascheduler/metadata-analyzer/pom.xml
new file mode 100644
index 0000000..34fcad2
--- /dev/null
+++ b/modules/airavata-metascheduler/metadata-analyzer/pom.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>airavata</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.21-SNAPSHOT</version>
+        <relativePath>../../../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <name>Metadata Analyzer</name>
+    <artifactId>metadata-analyzer</artifactId>
+
+    <properties>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-data-models</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>registry-api-stubs</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <version>2.3.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-messaging-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>metascheduler-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/DataInterpreterService.java b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/DataInterpreterService.java
new file mode 100644
index 0000000..16dc092
--- /dev/null
+++ b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/DataInterpreterService.java
@@ -0,0 +1,103 @@
+package org.apache.airavata.metascheduler.metadata.analyzer;
+
+import org.apache.airavata.common.utils.IServer;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.metascheduler.metadata.analyzer.impl.DataAnalyzerImpl;
+import org.apache.airavata.metascheduler.metadata.analyzer.utils.Constants;
+import org.quartz.*;
+import org.quartz.impl.StdSchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+public class DataInterpreterService implements IServer {
+
+    private final static Logger logger = LoggerFactory.getLogger(DataInterpreterService.class);
+    private static final String SERVER_NAME = "Data Interpreter Service";
+    private static final String SERVER_VERSION = "1.0";
+
+    private static ServerStatus status;
+    private static Scheduler scheduler;
+    private static Map<JobDetail, Trigger> jobTriggerMap = new HashMap<>();
+
+
+
+    @Override
+    public String getName() {
+        return SERVER_NAME;
+    }
+
+    @Override
+    public String getVersion() {
+        return SERVER_VERSION;
+    }
+
+    @Override
+    public void start() throws Exception {
+        jobTriggerMap.clear();
+        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
+        scheduler = schedulerFactory.getScheduler();
+
+        final int parallelJobs = ServerSettings.getDataAnalyzerNoOfScanningParallelJobs();
+        final double scanningInterval = ServerSettings.getDataAnalyzerScanningInterval();
+
+
+        for (int i = 0; i < parallelJobs; i++) {
+            String name = Constants.METADATA_SCANNER_TRIGGER + "_" + i;
+            Trigger trigger = TriggerBuilder.newTrigger()
+                    .withIdentity(name, Constants.METADATA_SCANNER_GROUP)
+                    .startNow()
+                    .withSchedule(SimpleScheduleBuilder.simpleSchedule()
+                            .withIntervalInSeconds((int) scanningInterval)
+                            .repeatForever())
+                    .build();
+
+            String jobName = Constants.METADATA_SCANNER_JOB + "_" + i;
+
+            JobDetail jobC = JobBuilder
+                    .newJob(DataAnalyzerImpl.class)
+                    .withIdentity(jobName, Constants.METADATA_SCANNER_JOB)
+                    .build();
+            jobTriggerMap.put(jobC, trigger);
+        }
+        scheduler.start();
+
+        jobTriggerMap.forEach((x, v) -> {
+            try {
+                scheduler.scheduleJob(x, v);
+            } catch (SchedulerException e) {
+                logger.error("Error occurred while scheduling job " + x.getKey().getName());
+            }
+        });
+
+    }
+
+    @Override
+    public void stop() throws Exception {
+        scheduler.unscheduleJobs(new ArrayList(jobTriggerMap.values()));
+    }
+
+    @Override
+    public void restart() throws Exception {
+        stop();
+        start();
+    }
+
+    @Override
+    public void configure() throws Exception {
+
+    }
+
+    @Override
+    public ServerStatus getStatus() throws Exception {
+        return status;
+    }
+
+
+    public void setServerStatus(ServerStatus status) {
+        this.status = status;
+    }
+}
diff --git a/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java
new file mode 100644
index 0000000..4072170
--- /dev/null
+++ b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/impl/DataAnalyzerImpl.java
@@ -0,0 +1,82 @@
+package org.apache.airavata.metascheduler.metadata.analyzer.impl;
+
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.metascheduler.core.engine.DataAnalyzer;
+import org.apache.airavata.metascheduler.core.utils.Utils;
+import org.apache.airavata.model.status.JobState;
+import org.apache.airavata.model.status.JobStatus;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+
+public class DataAnalyzerImpl implements DataAnalyzer {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(DataAnalyzerImpl.class);
+
+    protected static ThriftClientPool<RegistryService.Client> registryClientPool = Utils.getRegistryServiceClientPool();
+
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        RegistryService.Client client = null;
+
+        try {
+            LOGGER.debug("Executing Data Analyzer ....... ");
+            client = this.registryClientPool.getResource();
+
+            //TODO: handle multiple gateways
+            String gateway = ServerSettings.getDataAnalyzingEnabledGateways();
+
+            JobState state = JobState.SUBMITTED;
+            JobStatus jobStatus = new JobStatus();
+            jobStatus.setJobState(state);
+            double time = ServerSettings.getDataAnalyzerTimeStep();
+
+            int fiveMinuteCount = client.getJobCount(jobStatus, gateway, 5);
+
+            int tenMinuteCount = client.getJobCount(jobStatus, gateway, 10);
+
+            int fifteenMinuteCount = client.getJobCount(jobStatus, gateway, 15);
+
+
+            double fiveMinuteAverage = fiveMinuteCount * time / (5 * 60);
+
+            double tenMinuteAverage = tenMinuteCount * time / (10 * 60);
+
+            double fifteenMinuteAverage = fifteenMinuteCount * time / (10 * 60);
+
+            LOGGER.info("service rate: 5 min avg " + fiveMinuteAverage + " 10 min avg "
+                    + tenMinuteAverage + " 15 min avg " + fifteenMinuteAverage);
+
+            Map<String, Double> timeDistribution = client.getAVGTimeDistribution(gateway,15);
+
+            String msg ="";
+            for(Map.Entry<String, Double> entry: timeDistribution.entrySet()){
+                msg = msg+ " avg time "+entry.getKey()+"  : "+entry.getValue();
+            }
+            LOGGER.info(msg);
+
+        } catch (Exception ex) {
+            String msg = "Error occurred while executing data analyzer" + ex.getMessage();
+            LOGGER.error(msg, ex);
+            if (client != null) {
+                this.registryClientPool.returnBrokenResource(client);
+            }
+            client = null;
+        } finally {
+            if (client != null) {
+                this.registryClientPool.returnResource(client);
+            }
+        }
+
+
+    }
+
+
+}
diff --git a/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/utils/Constants.java b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/utils/Constants.java
new file mode 100644
index 0000000..f74c830
--- /dev/null
+++ b/modules/airavata-metascheduler/metadata-analyzer/src/main/java/org/apache/airavata/metascheduler/metadata/analyzer/utils/Constants.java
@@ -0,0 +1,7 @@
+package org.apache.airavata.metascheduler.metadata.analyzer.utils;
+
+public class Constants {
+    public static final String METADATA_SCANNER_GROUP = "metadata.scanner.group";
+    public static final String METADATA_SCANNER_TRIGGER = "metadata.scanner.trigger";
+    public static  final String METADATA_SCANNER_JOB = "metadata.scanner.job";
+}
diff --git a/modules/airavata-metascheduler/metascheduler-core/pom.xml b/modules/airavata-metascheduler/metascheduler-core/pom.xml
new file mode 100644
index 0000000..1c1d20b
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>airavata</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.21-SNAPSHOT</version>
+        <relativePath>../../../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <name>Metascheduler Core</name>
+    <artifactId>metascheduler-core</artifactId>
+
+    <properties>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
+    </properties>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-data-models</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>registry-api-stubs</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <version>2.3.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-messaging-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <version>2.2.1</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-messaging-core</artifactId>
+            <version>0.21-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/api/ProcessScheduler.java b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/api/ProcessScheduler.java
new file mode 100644
index 0000000..224bf39
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/api/ProcessScheduler.java
@@ -0,0 +1,32 @@
+package org.apache.airavata.metascheduler.core.api;
+
+import org.apache.airavata.model.process.ProcessModel;
+
+import java.util.Optional;
+
+/**
+ * Provides interfaces for Process related scheduling operations
+ */
+public interface ProcessScheduler {
+
+
+    /**
+     * This method checks experiment can be instantly scheduled to a computer resource,
+     * If it can be scheduled, Processes are updated with selected Scheduling resource otherwise all are
+     *  moved to Queued state
+     * @param experimentId
+     * @return boolean
+     */
+      boolean canLaunch(String experimentId);
+
+
+    /**
+     * This method can be used to reschedule a failed experiment.
+     * If experiment can be scheduled instantly, Processes are updated with scheduling resources, otherwise
+     * is moved to Queued state
+     * @param experimentId
+     * @return boolean
+     */
+    boolean  reschedule(String experimentId);
+
+}
diff --git a/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ComputeResourceSelectionPolicy.java b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ComputeResourceSelectionPolicy.java
new file mode 100644
index 0000000..cf1ee1c
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ComputeResourceSelectionPolicy.java
@@ -0,0 +1,24 @@
+package org.apache.airavata.metascheduler.core.engine;
+
+import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+
+import java.util.Optional;
+
+/**
+ * This interface provides apis to implement for select compute resources
+ * from compute resource pool according to different selection strategies
+ */
+public interface ComputeResourceSelectionPolicy {
+
+
+    /**
+     * This interface implements compute resource selection
+     * @param experimentId
+     * @return Optional<ComputationalResourceSchedulingModel>
+     */
+    Optional<ComputationalResourceSchedulingModel> selectComputeResource(String processId);
+
+
+
+
+}
diff --git a/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/DataAnalyzer.java b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/DataAnalyzer.java
new file mode 100644
index 0000000..7d3125a
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/DataAnalyzer.java
@@ -0,0 +1,8 @@
+package org.apache.airavata.metascheduler.core.engine;
+
+import org.quartz.Job;
+
+public interface DataAnalyzer extends Job {
+
+
+}
diff --git a/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ProcessScanner.java b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ProcessScanner.java
new file mode 100644
index 0000000..4c6b799
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ProcessScanner.java
@@ -0,0 +1,12 @@
+package org.apache.airavata.metascheduler.core.engine;
+
+import org.quartz.Job;
+
+/**
+ * This class scans all queued processes and relaunch them based on
+ * activated rescheduling algorithm
+ */
+public interface ProcessScanner extends Job {
+
+
+}
diff --git a/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ReScheduler.java b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ReScheduler.java
new file mode 100644
index 0000000..8eaf8fe
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/engine/ReScheduler.java
@@ -0,0 +1,13 @@
+package org.apache.airavata.metascheduler.core.engine;
+
+import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.status.ProcessState;
+
+/**
+ * This is the interface class for ReScheduling
+ * algorithm.
+ */
+public interface ReScheduler {
+
+    void reschedule(ProcessModel processModel, ProcessState processState);
+}
diff --git a/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/utils/Utils.java b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/utils/Utils.java
new file mode 100644
index 0000000..154fc1e
--- /dev/null
+++ b/modules/airavata-metascheduler/metascheduler-core/src/main/java/org/apache/airavata/metascheduler/core/utils/Utils.java
@@ -0,0 +1,130 @@
+package org.apache.airavata.metascheduler.core.utils;
+
+import org.apache.airavata.common.exception.AiravataException;
+import org.apache.airavata.common.utils.AiravataUtils;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.messaging.core.MessageContext;
+import org.apache.airavata.messaging.core.MessagingFactory;
+import org.apache.airavata.messaging.core.Publisher;
+import org.apache.airavata.messaging.core.Type;
+import org.apache.airavata.model.messaging.event.MessageType;
+import org.apache.airavata.model.messaging.event.ProcessIdentifier;
+import org.apache.airavata.model.messaging.event.ProcessStatusChangeEvent;
+import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.model.status.ProcessStatus;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.apache.airavata.registry.api.exception.RegistryServiceException;
+import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
+import org.apache.thrift.TException;
+
+
+/**
+ * This class contains all utility methods across scheduler sub projects
+ */
+public class Utils {
+
+    private static ThriftClientPool<RegistryService.Client> registryClientPool;
+    private static Publisher statusPublisher;
+
+    /**
+     * Provides registry client to access databases
+     *
+     * @return RegistryService.Client
+     */
+    public static synchronized ThriftClientPool<RegistryService.Client> getRegistryServiceClientPool() {
+        if (registryClientPool != null) {
+            return registryClientPool;
+        }
+        try {
+//            final int serverPort = Integer.parseInt(ServerSettings.getRegistryServerPort());
+//            final String serverHost = ServerSettings.getRegistryServerHost();
+            registryClientPool = new ThriftClientPool<RegistryService.Client>(
+                    tProtocol -> new RegistryService.Client(tProtocol),
+                    Utils.<RegistryService.Client>createGenericObjectPoolConfig(),
+                    ServerSettings.getRegistryServerHost(),
+                    Integer.parseInt(ServerSettings.getRegistryServerPort()));
+            return registryClientPool;
+        } catch (Exception e) {
+            throw new RuntimeException("Unable to create registry client...", e);
+        }
+    }
+
+    private static <T> GenericObjectPoolConfig<T> createGenericObjectPoolConfig() {
+
+        GenericObjectPoolConfig<T> poolConfig = new GenericObjectPoolConfig<T>();
+        poolConfig.setMaxTotal(100);
+        poolConfig.setMinIdle(5);
+        poolConfig.setBlockWhenExhausted(true);
+        poolConfig.setTestOnBorrow(true);
+        poolConfig.setTestWhileIdle(true);
+        // must set timeBetweenEvictionRunsMillis since eviction doesn't run unless that is positive
+        poolConfig.setTimeBetweenEvictionRunsMillis(5L * 60L * 1000L);
+        poolConfig.setNumTestsPerEvictionRun(10);
+        poolConfig.setMaxWaitMillis(3000);
+        return poolConfig;
+    }
+
+    public static void saveAndPublishProcessStatus(ProcessState processState, String processId,
+                                                   String experimentId, String gatewayId)
+            throws RegistryServiceException, TException, AiravataException {
+         RegistryService.Client registryClient = null;
+        try {
+            registryClient = registryClientPool.getResource();
+            ProcessStatus processStatus = new ProcessStatus(processState);
+            processStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+
+            registryClientPool.getResource().addProcessStatus(processStatus, processId);
+            ProcessIdentifier identifier = new ProcessIdentifier(processId, experimentId, gatewayId);
+            ProcessStatusChangeEvent processStatusChangeEvent = new ProcessStatusChangeEvent(processState, identifier);
+            MessageContext msgCtx = new MessageContext(processStatusChangeEvent, MessageType.PROCESS,
+                    AiravataUtils.getId(MessageType.PROCESS.name()), gatewayId);
+            msgCtx.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
+            getStatusPublisher().publish(msgCtx);
+        } catch (Exception ex){
+            if (registryClient != null) {
+                registryClientPool.returnBrokenResource(registryClient);
+                registryClient = null;
+            }
+        } finally {
+            if (registryClient != null) {
+                registryClientPool.returnResource(registryClient);
+            }
+        }
+    }
+
+    public static void updateProcessStatusAndPublishStatus(ProcessState processState, String processId,
+                                                   String experimentId, String gatewayId)
+            throws RegistryServiceException, TException, AiravataException {
+        RegistryService.Client registryClient = null;
+        try {
+            ProcessStatus processStatus = new ProcessStatus(processState);
+            processStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+
+            registryClientPool.getResource().updateProcessStatus(processStatus, processId);
+            ProcessIdentifier identifier = new ProcessIdentifier(processId, experimentId, gatewayId);
+            ProcessStatusChangeEvent processStatusChangeEvent = new ProcessStatusChangeEvent(processState, identifier);
+            MessageContext msgCtx = new MessageContext(processStatusChangeEvent, MessageType.PROCESS,
+                    AiravataUtils.getId(MessageType.PROCESS.name()), gatewayId);
+            msgCtx.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
+            getStatusPublisher().publish(msgCtx);
+        } catch (Exception ex) {
+            if (registryClient != null) {
+                registryClientPool.returnBrokenResource(registryClient);
+                registryClient = null;
+            }
+        } finally {
+            if (registryClient != null) {
+                registryClientPool.returnResource(registryClient);
+            }
+        }
+    }
+
+    public static synchronized Publisher getStatusPublisher() throws AiravataException {
+        if (statusPublisher == null) {
+            statusPublisher = MessagingFactory.getPublisher(Type.STATUS);
+        }
+        return statusPublisher;
+    }
+}
diff --git a/modules/airavata-metascheduler/pom.xml b/modules/airavata-metascheduler/pom.xml
new file mode 100644
index 0000000..f2a93aa
--- /dev/null
+++ b/modules/airavata-metascheduler/pom.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>airavata</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.21-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <name>Airavata Metascheduler</name>
+    <artifactId>airavata-metascheduler</artifactId>
+
+    <properties>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
+    </properties>
+
+</project>
\ No newline at end of file
diff --git a/modules/airavata-metascheduler/process-scheduler/pom.xml b/modules/airavata-metascheduler/process-scheduler/pom.xml
new file mode 100644
index 0000000..fc5d372
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/pom.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>airavata</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.21-SNAPSHOT</version>
+        <relativePath>../../../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <name>Process Scheduler</name>
+    <artifactId>process-scheduler</artifactId>
+
+    <properties>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>metascheduler-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>task-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-orchestrator-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-orchestrator-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <version>2.3.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>helix-spectator</artifactId>
+            <version>0.21-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <version>2.3.0</version>
+            <scope>compile</scope>
+        </dependency>
+    </dependencies>
+
+</project>
\ No newline at end of file
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java
new file mode 100644
index 0000000..d6dbed0
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/api/ProcessSchedulerImpl.java
@@ -0,0 +1,122 @@
+package org.apache.airavata.metascheduler.process.scheduling.api;
+
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.metascheduler.core.api.ProcessScheduler;
+import org.apache.airavata.metascheduler.core.engine.ComputeResourceSelectionPolicy;
+import org.apache.airavata.metascheduler.core.utils.Utils;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.model.experiment.UserConfigurationDataModel;
+import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.model.status.ProcessStatus;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+/**
+ * This class provides implementation of the ProcessSchedule Interface
+ */
+public class ProcessSchedulerImpl implements ProcessScheduler {
+    private static Logger LOGGER = LoggerFactory.getLogger(ProcessSchedulerImpl.class);
+
+    private ThriftClientPool<RegistryService.Client> registryClientPool;
+
+    public ProcessSchedulerImpl() {
+        try {
+            registryClientPool = Utils.getRegistryServiceClientPool();
+        } catch (Exception e) {
+            LOGGER.error("Error occurred while fetching registry client pool", e);
+        }
+    }
+
+
+    @Override
+    public boolean canLaunch(String experimentId) {
+        final RegistryService.Client registryClient = this.registryClientPool.getResource();
+        try {
+            List<ProcessModel> processModels = registryClient.getProcessList(experimentId);
+
+            ExperimentModel experiment = registryClient.getExperiment(experimentId);
+            boolean allProcessesScheduled = true;
+
+            String selectionPolicyClass = ServerSettings.getComputeResourceSelectionPolicyClass();
+
+            ComputeResourceSelectionPolicy policy = (ComputeResourceSelectionPolicy) Class.forName(selectionPolicyClass).newInstance();
+
+            for(ProcessModel processModel:processModels) {
+                ProcessStatus processStatus = registryClient.getProcessStatus(processModel.getProcessId());
+
+                if (processStatus.getState().equals(ProcessState.CREATED) || processStatus.getState().equals(ProcessState.VALIDATED)) {
+
+                    Optional<ComputationalResourceSchedulingModel> computationalResourceSchedulingModel = policy.
+                            selectComputeResource(processModel.getProcessId());
+
+                    if (computationalResourceSchedulingModel.isPresent()) {
+                        ComputationalResourceSchedulingModel resourceSchedulingModel = computationalResourceSchedulingModel.get();
+                        List<InputDataObjectType> inputDataObjectTypeList =  experiment.getExperimentInputs();
+                        inputDataObjectTypeList.forEach(obj->{
+                            if (obj.getName().equals("Wall_Time")){
+                                obj.setValue("-walltime="+resourceSchedulingModel.getWallTimeLimit());
+                            }
+                            if (obj.getName().equals("Parallel_Group_Count")){
+                                obj.setValue("-mgroupcount="+resourceSchedulingModel.getMGroupCount());
+                            }
+                        });
+
+                        experiment.setExperimentInputs(inputDataObjectTypeList);
+
+                        //update experiment model with selected compute resource
+                        experiment.setProcesses(new ArrayList<>()); // avoid duplication issues
+                        UserConfigurationDataModel userConfigurationDataModel = experiment.getUserConfigurationData();
+                        userConfigurationDataModel.setComputationalResourceScheduling(resourceSchedulingModel);
+                        experiment.setUserConfigurationData(userConfigurationDataModel);
+                        registryClient.updateExperiment(experimentId,experiment);
+
+                        List<InputDataObjectType> processInputDataObjectTypeList =  processModel.getProcessInputs();
+                        processInputDataObjectTypeList.forEach(obj->{
+                            if (obj.getName().equals("Wall_Time")){
+                                obj.setValue("-walltime="+resourceSchedulingModel.getWallTimeLimit());
+                            }
+                            if (obj.getName().equals("Parallel_Group_Count")){
+                                obj.setValue("-mgroupcount="+resourceSchedulingModel.getMGroupCount());
+                            }
+                        });
+
+                        processModel.setProcessInputs(processInputDataObjectTypeList);
+                        processModel.setProcessResourceSchedule(resourceSchedulingModel);
+                        processModel.setComputeResourceId(resourceSchedulingModel.getResourceHostId());
+
+                        registryClient.updateProcess(processModel, processModel.getProcessId());
+
+                    } else {
+                        ProcessStatus newProcessStatus = new ProcessStatus();
+                        newProcessStatus.setState(ProcessState.QUEUED);
+                        registryClient.updateProcessStatus(newProcessStatus,processModel.getProcessId());
+                        allProcessesScheduled = false;
+                    }
+                }
+            }
+            return allProcessesScheduled;
+        } catch (Exception exception) {
+            LOGGER.error(" Exception occurred while scheduling experiment with Id {}", experimentId, exception);
+        } finally {
+            this.registryClientPool.returnResource(registryClient);
+        }
+
+        return false;
+    }
+
+    @Override
+    public boolean reschedule(String experimentId) {
+        return false;
+    }
+
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/ComputeResourceSelectionPolicyImpl.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/ComputeResourceSelectionPolicyImpl.java
new file mode 100644
index 0000000..70f56be
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/ComputeResourceSelectionPolicyImpl.java
@@ -0,0 +1,34 @@
+package org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection;
+
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.metascheduler.core.engine.ComputeResourceSelectionPolicy;
+import org.apache.airavata.metascheduler.core.utils.Utils;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+
+public abstract class ComputeResourceSelectionPolicyImpl implements ComputeResourceSelectionPolicy {
+
+    protected ThriftClientPool<RegistryService.Client> registryClientPool;
+
+    public ComputeResourceSelectionPolicyImpl() {
+        this.registryClientPool = Utils.getRegistryServiceClientPool();
+    }
+
+
+    public GroupComputeResourcePreference getGroupComputeResourcePreference(String computeResourcId, String groupResourceProfileId) throws Exception {
+        RegistryService.Client client = this.registryClientPool.getResource();
+        try {
+            if (client.isGroupComputeResourcePreferenceExists(computeResourcId,
+                    groupResourceProfileId)) {
+                return client.getGroupComputeResourcePreference(
+                        computeResourcId,
+                        groupResourceProfileId);
+            }
+            return null;
+        } finally {
+            this.registryClientPool.returnResource(client);
+        }
+    }
+
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/DefaultComputeResourceSelectionPolicy.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/DefaultComputeResourceSelectionPolicy.java
new file mode 100644
index 0000000..3a452e0
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/DefaultComputeResourceSelectionPolicy.java
@@ -0,0 +1,71 @@
+package org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection;
+
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.model.experiment.UserConfigurationDataModel;
+import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.status.QueueStatusModel;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Optional;
+
+/**
+ * This class implements selecting compute resource defined in USER_CONFIGURATION_DATA and assumes only one
+ * compute resource is selected for experiment.
+ * This checks whether defined CR is live
+ */
+public class DefaultComputeResourceSelectionPolicy extends ComputeResourceSelectionPolicyImpl {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(DefaultComputeResourceSelectionPolicy.class);
+
+    @Override
+    public Optional<ComputationalResourceSchedulingModel> selectComputeResource(String processId) {
+        RegistryService.Client registryClient = this.registryClientPool.getResource();
+        try {
+            ProcessModel processModel = registryClient.getProcess(processId);
+
+            ExperimentModel experiment = registryClient.getExperiment(processModel.getExperimentId());
+
+
+            UserConfigurationDataModel userConfigurationDataModel = experiment.getUserConfigurationData();
+
+            // Assume scheduling data is populated in USER_CONFIGURATION_DATA_MODEL
+            ComputationalResourceSchedulingModel computationalResourceSchedulingModel = userConfigurationDataModel
+                    .getComputationalResourceScheduling();
+
+            String computeResourceId = computationalResourceSchedulingModel.getResourceHostId();
+
+            ComputeResourceDescription comResourceDes = registryClient.getComputeResource(computeResourceId);
+
+            GroupComputeResourcePreference computeResourcePreference = getGroupComputeResourcePreference(computeResourceId,
+                    processModel.getGroupResourceProfileId());
+
+            String hostName = comResourceDes.getHostName();
+            String queueName = computationalResourceSchedulingModel.getQueueName();
+
+            QueueStatusModel queueStatusModel = registryClient.getQueueStatus(hostName, queueName);
+            if (queueStatusModel.isQueueUp()) {
+              return  Optional.of(computationalResourceSchedulingModel);
+            }
+        } catch (Exception exception) {
+            LOGGER.error(" Exception occurred while scheduling Process with Id {}", processId, exception);
+            this.registryClientPool.returnBrokenResource(registryClient);
+            registryClient = null;
+        } finally {
+            if(registryClient != null) {
+                this.registryClientPool.returnResource(registryClient);
+            }
+        }
+        return Optional.empty();
+    }
+
+    public static void main(String[] args) {
+        DefaultComputeResourceSelectionPolicy defaultComputeResourceSelectionPolicy = new DefaultComputeResourceSelectionPolicy();
+        defaultComputeResourceSelectionPolicy.selectComputeResource("PROCESS_5dd4f56b-f0fd-41d0-9437-693ad25f4a1d");
+    }
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/MultipleComputeResourcePolicy.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/MultipleComputeResourcePolicy.java
new file mode 100644
index 0000000..6a2bd22
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/cr/selection/MultipleComputeResourcePolicy.java
@@ -0,0 +1,80 @@
+package org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection;
+
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.model.experiment.UserConfigurationDataModel;
+import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.status.QueueStatusModel;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+import java.util.Random;
+
+/**
+ * This class implements selecting one compute resource out of enabled multiple compute resource polices.
+ * //TODO: implemented for load testing, for proper usecases airavata should enable multiple compute resources in Experiment creation
+ */
+public class MultipleComputeResourcePolicy extends ComputeResourceSelectionPolicyImpl  {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(MultipleComputeResourcePolicy.class);
+
+    @Override
+    public Optional<ComputationalResourceSchedulingModel> selectComputeResource(String processId) {
+        RegistryService.Client registryClient = super.registryClientPool.getResource();
+        try {
+
+                ProcessModel processModel = registryClient.getProcess(processId);
+
+
+                ExperimentModel experiment = registryClient.getExperiment(processModel.getExperimentId());
+
+
+                UserConfigurationDataModel userConfigurationDataModel = experiment.getUserConfigurationData();
+
+
+                List<ComputationalResourceSchedulingModel> resourceSchedulingModels =
+                        userConfigurationDataModel.getAutoScheduledCompResourceSchedulingList();
+
+                List<String> retries = new ArrayList<>();
+
+                while (retries.size()<resourceSchedulingModels.size()) {
+                    Random rand = new Random();
+                    int upperbound = resourceSchedulingModels.size();
+                    int int_random = rand.nextInt(upperbound);
+                    ComputationalResourceSchedulingModel resourceSchedulingModel = resourceSchedulingModels.get(int_random);
+                    String key = resourceSchedulingModel.getResourceHostId()+"_"+resourceSchedulingModel.getQueueName();
+                    if(!retries.contains(key)){
+                        ComputeResourceDescription comResourceDes = registryClient.getComputeResource(resourceSchedulingModel.getResourceHostId());
+                        QueueStatusModel queueStatusModel = registryClient.getQueueStatus(comResourceDes.getHostName(),
+                                resourceSchedulingModel.getQueueName());
+                        if (queueStatusModel.isQueueUp()) {
+                            return Optional.of(resourceSchedulingModel);
+                        }else{
+                            retries.add(key);
+                        }
+                    }
+                }
+
+
+        } catch (Exception exception) {
+            LOGGER.error(" Exception occurred while scheduling Process with Id {}", processId, exception);
+            this.registryClientPool.returnBrokenResource(registryClient);
+            registryClient = null;
+        } finally {
+            if (registryClient != null) {
+                this.registryClientPool.returnResource(registryClient);
+            }
+        }
+
+        return Optional.empty();
+    }
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java
new file mode 100644
index 0000000..26383b6
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ExponentialBackOffReScheduler.java
@@ -0,0 +1,163 @@
+package org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler;
+
+import org.apache.airavata.common.exception.ApplicationSettingsException;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.metascheduler.core.engine.ComputeResourceSelectionPolicy;
+import org.apache.airavata.metascheduler.core.engine.ReScheduler;
+import org.apache.airavata.metascheduler.core.utils.Utils;
+import org.apache.airavata.model.application.io.InputDataObjectType;
+import org.apache.airavata.model.error.ExperimentNotFoundException;
+import org.apache.airavata.model.experiment.ExperimentModel;
+import org.apache.airavata.model.experiment.UserConfigurationDataModel;
+import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.model.status.ProcessStatus;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.apache.airavata.registry.api.exception.RegistryServiceException;
+import org.apache.thrift.TException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Optional;
+
+public class ExponentialBackOffReScheduler implements ReScheduler {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ExponentialBackOffReScheduler.class);
+
+    protected ThriftClientPool<RegistryService.Client> registryClientPool = Utils.getRegistryServiceClientPool();
+
+    @Override
+    public void reschedule(ProcessModel processModel, ProcessState processState) {
+        RegistryService.Client client = null;
+        try {
+            client = this.registryClientPool.getResource();
+            int maxReschedulingCount = ServerSettings.getMetaschedulerReschedulingThreshold();
+            List<ProcessStatus> processStatusList = processModel.getProcessStatuses();
+            ExperimentModel experimentModel = client.getExperiment(processModel.getExperimentId());
+            LOGGER.info("Rescheduling process with Id " + processModel.getProcessId() + " experimentId " +
+                    processModel.getExperimentId());
+            String selectionPolicyClass = ServerSettings.getComputeResourceSelectionPolicyClass();
+            ComputeResourceSelectionPolicy policy = (ComputeResourceSelectionPolicy) Class.forName(selectionPolicyClass)
+                    .newInstance();
+            if (processState.equals(ProcessState.QUEUED)) {
+                Optional<ComputationalResourceSchedulingModel> computationalResourceSchedulingModel = policy.
+                        selectComputeResource(processModel.getProcessId());
+
+                if (computationalResourceSchedulingModel.isPresent()) {
+                    updateResourceSchedulingModel(processModel,experimentModel,client);
+                    Utils.updateProcessStatusAndPublishStatus(ProcessState.DEQUEUING, processModel.getProcessId(),
+                            processModel.getExperimentId(),
+                            experimentModel.getGatewayId());
+                }
+            } else if (processState.equals(ProcessState.REQUEUED)) {
+                int currentCount = getRequeuedCount(processStatusList);
+                if (currentCount >= maxReschedulingCount) {
+                    Utils.updateProcessStatusAndPublishStatus(ProcessState.FAILED, processModel.getProcessId(),
+                            processModel.getExperimentId(),
+                            experimentModel.getGatewayId());
+                } else {
+
+                    client.deleteJobs(processModel.getProcessId());
+                    LOGGER.debug("Cleaned up current  job stack for process " + processModel.getProcessId() +
+                            " experimentId " + processModel.getExperimentId());
+                    ProcessStatus processStatus = client.getProcessStatus(processModel.getProcessId());
+                    long pastValue = processStatus.getTimeOfStateChange();
+
+                    int value = fib(currentCount);
+
+                    long currentTime = System.currentTimeMillis();
+
+                    double scanningInterval = ServerSettings.getMetaschedulerJobScanningInterval();
+
+                    if (currentTime >= (pastValue + value * scanningInterval * 1000)) {
+                        updateResourceSchedulingModel(processModel,experimentModel,client);
+                        Utils.saveAndPublishProcessStatus(ProcessState.DEQUEUING, processModel.getProcessId(),
+                                processModel.getExperimentId(),
+                                experimentModel.getGatewayId());
+                    }
+                }
+            }
+            return;
+        } catch (Exception exception) {
+            if (client != null) {
+                registryClientPool.returnBrokenResource(client);
+                client = null;
+            }
+        } finally {
+            if (client != null) {
+                registryClientPool.returnResource(client);
+            }
+        }
+    }
+
+
+    private int getRequeuedCount(List<ProcessStatus> processStatusList) {
+        return (int) processStatusList.stream().filter(x -> {
+            if (x.getState().equals(ProcessState.REQUEUED)) {
+                return true;
+            }
+            return false;
+        }).count();
+    }
+
+    private int fib(int n) {
+        if (n <= 1)
+            return n;
+        return fib(n - 1) + fib(n - 2);
+    }
+
+
+    private void updateResourceSchedulingModel(ProcessModel processModel, ExperimentModel experimentModel,
+                                               RegistryService.Client registryClient) throws
+            TException, ExperimentNotFoundException,ApplicationSettingsException, ClassNotFoundException, IllegalAccessException, InstantiationException, RegistryServiceException {
+        String selectionPolicyClass = ServerSettings.getComputeResourceSelectionPolicyClass();
+        ComputeResourceSelectionPolicy policy = (ComputeResourceSelectionPolicy) Class.forName(selectionPolicyClass)
+                .newInstance();
+
+        Optional<ComputationalResourceSchedulingModel> computationalResourceSchedulingModel = policy.
+                selectComputeResource(processModel.getProcessId());
+
+        if (computationalResourceSchedulingModel.isPresent()) {
+            ComputationalResourceSchedulingModel resourceSchedulingModel = computationalResourceSchedulingModel.get();
+            List<InputDataObjectType> inputDataObjectTypeList = experimentModel.getExperimentInputs();
+            inputDataObjectTypeList.forEach(obj -> {
+                if (obj.getName().equals("Wall_Time")) {
+                    obj.setValue("-walltime=" + resourceSchedulingModel.getWallTimeLimit());
+                }
+                if (obj.getName().equals("Parallel_Group_Count")) {
+                    obj.setValue("-mgroupcount=" + resourceSchedulingModel.getMGroupCount());
+                }
+            });
+
+            List<InputDataObjectType> processInputDataObjectTypeList =  processModel.getProcessInputs();
+            processInputDataObjectTypeList.forEach(obj->{
+                if (obj.getName().equals("Wall_Time")){
+                    obj.setValue("-walltime="+resourceSchedulingModel.getWallTimeLimit());
+                }
+                if (obj.getName().equals("Parallel_Group_Count")){
+                    obj.setValue("-mgroupcount="+resourceSchedulingModel.getMGroupCount());
+                }
+            });
+
+            processModel.setProcessInputs(processInputDataObjectTypeList);
+            experimentModel.setExperimentInputs(inputDataObjectTypeList);
+
+            //update experiment model with selected compute resource
+            experimentModel.setProcesses(new ArrayList<>()); // avoid duplication issues
+            UserConfigurationDataModel userConfigurationDataModel = experimentModel.getUserConfigurationData();
+            userConfigurationDataModel.setComputationalResourceScheduling(resourceSchedulingModel);
+            experimentModel.setUserConfigurationData(userConfigurationDataModel);
+            registryClient.updateExperiment(processModel.getExperimentId(),experimentModel);
+
+            processModel.setProcessResourceSchedule(resourceSchedulingModel);
+            processModel.setComputeResourceId(resourceSchedulingModel.getResourceHostId());
+            registryClient.updateProcess(processModel, processModel.getProcessId());
+
+        }
+    }
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ProcessReschedulingService.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ProcessReschedulingService.java
new file mode 100644
index 0000000..be8b5f7
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ProcessReschedulingService.java
@@ -0,0 +1,106 @@
+package org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler;
+
+import org.apache.airavata.common.utils.IServer;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.metascheduler.process.scheduling.utils.Constants;
+import org.quartz.*;
+import org.quartz.impl.StdSchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Process rescheduling service to scann the Queue or Requeued services and relaunch them.
+ */
+public class ProcessReschedulingService implements IServer {
+
+    private final static Logger logger = LoggerFactory.getLogger(ProcessReschedulingService.class);
+    private static final String SERVER_NAME = "Airavata Process Rescheduling Service";
+    private static final String SERVER_VERSION = "1.0";
+
+    private static ServerStatus status;
+    private static Scheduler scheduler;
+    private static Map<JobDetail, Trigger> jobTriggerMap = new HashMap<>();
+
+
+    @Override
+    public String getName() {
+        return SERVER_NAME;
+    }
+
+    @Override
+    public String getVersion() {
+        return SERVER_VERSION;
+    }
+
+    @Override
+    public void start() throws Exception {
+
+        jobTriggerMap.clear();
+        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
+        scheduler = schedulerFactory.getScheduler();
+
+        final int parallelJobs = ServerSettings.getMetaschedulerNoOfScanningParallelJobs();
+        final double scanningInterval = ServerSettings.getMetaschedulerJobScanningInterval();
+
+
+        for (int i = 0; i < parallelJobs; i++) {
+            String name = Constants.PROCESS_SCANNER_TRIGGER + "_" + i;
+            Trigger trigger = TriggerBuilder.newTrigger()
+                    .withIdentity(name, Constants.PROCESS_SCANNER_GROUP)
+                    .startNow()
+                    .withSchedule(SimpleScheduleBuilder.simpleSchedule()
+                            .withIntervalInSeconds((int) scanningInterval)
+                            .repeatForever())
+                    .build();
+
+            String jobName = Constants.PROCESS_SCANNER_JOB + "_" + i;
+
+            JobDetail jobC = JobBuilder
+                    .newJob(ProcessScannerImpl.class)
+                    .withIdentity(jobName, Constants.PROCESS_SCANNER_JOB)
+                    .build();
+            jobTriggerMap.put(jobC, trigger);
+        }
+        scheduler.start();
+
+        jobTriggerMap.forEach((x, v) -> {
+            try {
+                scheduler.scheduleJob(x, v);
+            } catch (SchedulerException e) {
+                logger.error("Error occurred while scheduling job " + x.getKey().getName());
+            }
+        });
+
+    }
+
+    @Override
+    public void stop() throws Exception {
+        scheduler.unscheduleJobs(new ArrayList(jobTriggerMap.values()));
+    }
+
+    @Override
+    public void restart() throws Exception {
+        stop();
+        start();
+    }
+
+    @Override
+    public void configure() throws Exception {
+
+    }
+
+    @Override
+    public ServerStatus getStatus() throws Exception {
+        return status;
+    }
+
+
+    public void setServerStatus(ServerStatus status) {
+        this.status = status;
+    }
+
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ProcessScannerImpl.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ProcessScannerImpl.java
new file mode 100644
index 0000000..e355b3f
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/engine/rescheduler/ProcessScannerImpl.java
@@ -0,0 +1,64 @@
+package org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler;
+
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.metascheduler.core.engine.ProcessScanner;
+import org.apache.airavata.metascheduler.core.engine.ReScheduler;
+import org.apache.airavata.metascheduler.core.utils.Utils;
+import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.status.ProcessState;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.quartz.impl.JobExecutionContextImpl;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.List;
+
+public class ProcessScannerImpl implements ProcessScanner {
+    private static final Logger LOGGER = LoggerFactory.getLogger(ProcessScannerImpl.class);
+
+    protected static ThriftClientPool<RegistryService.Client> registryClientPool = Utils.getRegistryServiceClientPool();
+
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        RegistryService.Client client = null;
+        try {
+            LOGGER.debug("Executing Process scanner ....... ");
+            client = this.registryClientPool.getResource();
+            ProcessState state = ProcessState.QUEUED;
+            List<ProcessModel> processModelList = client.getProcessListInState(state);
+
+            String reSchedulerPolicyClass = ServerSettings.getReSchedulerPolicyClass();
+            ReScheduler reScheduler = (ReScheduler) Class.forName(reSchedulerPolicyClass).newInstance();
+
+            for (ProcessModel processModel : processModelList) {
+                reScheduler.reschedule(processModel, state);
+            }
+
+            ProcessState ReQueuedState = ProcessState.REQUEUED;
+            List<ProcessModel> reQueuedProcessModels = client.getProcessListInState(ReQueuedState);
+
+            for (ProcessModel processModel : reQueuedProcessModels) {
+                reScheduler.reschedule(processModel, ReQueuedState);
+            }
+
+        } catch (Exception ex) {
+            String msg = "Error occurred while executing job" + ex.getMessage();
+            LOGGER.error(msg, ex);
+            if (client != null) {
+                this.registryClientPool.returnBrokenResource(client);
+            }
+            client = null;
+        } finally {
+            if (client != null) {
+                this.registryClientPool.returnResource(client);
+            }
+        }
+
+
+    }
+}
diff --git a/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/utils/Constants.java b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/utils/Constants.java
new file mode 100644
index 0000000..4e51c47
--- /dev/null
+++ b/modules/airavata-metascheduler/process-scheduler/src/main/java/org/apache/airavata/metascheduler/process/scheduling/utils/Constants.java
@@ -0,0 +1,7 @@
+package org.apache.airavata.metascheduler.process.scheduling.utils;
+
+public class Constants {
+    public static final String PROCESS_SCANNER_GROUP = "process.scanner.group";
+    public static final String PROCESS_SCANNER_TRIGGER = "prcoess.scanner.trigger";
+    public static  final String PROCESS_SCANNER_JOB = "process.scanner.job";
+}
diff --git a/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java
index 0875130..9e747d5 100644
--- a/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java
+++ b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java
@@ -54,7 +54,7 @@
                 .withIdentity("cluster-status-monitoring-trigger", "airavata")
                 .startNow()
                 .withSchedule(simpleSchedule()
-                        .withIntervalInSeconds(Integer.parseInt(ServerSettings.getClusterStatusMonitoringRepatTime()))
+                        .withIntervalInSeconds(Integer.parseInt(ServerSettings.getClusterStatusMonitoringRepeatTime()))
                         .repeatForever())
                 .build();
 
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
index 55805e7..88c334d 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java
@@ -453,7 +453,7 @@
         return getSetting("super.tenant.gatewayId");
     }
 
-    public static String getClusterStatusMonitoringRepatTime() throws ApplicationSettingsException {
+    public static String getClusterStatusMonitoringRepeatTime() throws ApplicationSettingsException {
         return getSetting("cluster.status.monitoring.repeat.time");
     }
 
@@ -461,6 +461,13 @@
         return getSetting("cluster.status.monitoring.enable").equalsIgnoreCase("true");
     }
 
+    public static Boolean enableMetaschedulerJobScanning() throws ApplicationSettingsException {
+        return getSetting("metaschedluer.job.scanning.enable").equalsIgnoreCase("true");
+    }
+    public static Boolean enableDataAnalyzerJobScanning() throws ApplicationSettingsException {
+        return getSetting("data.analyzer.job.scanning.enable").equalsIgnoreCase("true");
+    }
+
     public static String getUserProfileServerHost() throws ApplicationSettingsException {
         return getSetting(ServerSettings.USER_PROFILE_SERVER_HOST);
     }
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java
index 7cc993a..18cb994 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/DBInitializer.java
@@ -60,7 +60,9 @@
             }
 
         } catch (Exception e) {
-            throw new RuntimeException("Failed to initialize database for " + initScriptPrefix, e);
+            String message = "Failed to initialize database for " + initScriptPrefix;
+            logger.error(message, e);
+            throw new RuntimeException(message, e);
         } finally {
             if (conn != null) {
                 DBUtil.cleanup(conn);
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index 003ddb0..6ed5c3f 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -64,10 +63,10 @@
 
     // Aurora Scheduler Constants
     public static final String AURORA_SCHEDULER_HOSTS = "aurora.scheduler.hosts";
-	public static final String AURORA_EXECUTOR_NAME = "aurora.executor.name";
-	public static final String MESOS_CLUSTER_NAME = "mesos.cluster.name";
-	public static final String AURORA_SCHEDULER_CONNECT_TIMEOUT_MS = "aurora.scheduler.timeoutms";
-	public static final String AURORA_EXECUTOR_CONFIG_TEMPLATE_FILE = "aurora.executor.config.template.filename";
+    public static final String AURORA_EXECUTOR_NAME = "aurora.executor.name";
+    public static final String MESOS_CLUSTER_NAME = "mesos.cluster.name";
+    public static final String AURORA_SCHEDULER_CONNECT_TIMEOUT_MS = "aurora.scheduler.timeoutms";
+    public static final String AURORA_EXECUTOR_CONFIG_TEMPLATE_FILE = "aurora.executor.config.template.filename";
 
     private static final String CREDENTIAL_STORE_DB_URL = "credential.store.jdbc.url";
     private static final String CREDENTIAL_STORE_DB_USER = "credential.store.jdbc.user";
@@ -97,8 +96,8 @@
     public static final String RABBITMQ_EXPERIMENT_EXCHANGE_NAME = "rabbitmq.experiment.exchange.name";
     public static final String RABBITMQ_PROCESS_LAUNCH_QUEUE_NAME = "process.launch.queue.name";
     public static final String RABBITMQ_EXPERIMENT_LAUNCH_QUEUE_NAME = "experiment.launch.queue.name";
-    public static final String RABBITMQ_DURABLE_QUEUE="durable.queue";
-    public static final String RABBITMQ_PREFETCH_COUNT="prefetch.count";
+    public static final String RABBITMQ_DURABLE_QUEUE = "durable.queue";
+    public static final String RABBITMQ_PREFETCH_COUNT = "prefetch.count";
 
 
     //    Workflow Enactment Service component configuration.
@@ -143,6 +142,25 @@
     private static boolean emailBaseNotificationEnable;
     private static String outputLocation;
 
+
+    //Airavata Metascheduler
+    public static final String COMPUTE_RESOURCE_SELECTION_POLICY_CLASS = "compute.resource.selection.policy.class";
+    public static final String METASCHEDULER_GATEWAY = "metascheduler.gateway";
+    public static final String METASCHEDULER_GRP_ID = "metascheduler.group.resource.profile";
+    public static final String METASCHEDULER_USERNAME = "metascheduler.username";
+    public static final String METASCHEDULER_CLUSTER_SCANNING_INTERVAL = "cluster.scanning.interval";
+    public static final String METASCHEDULER_JOB_SCANNING_INTERVAL = "job.scanning.interval";
+    public static final String METASCHEDULER_NO_OF_SCANNING_PARALLEL_JOBS = "cluster.scanning.parallel.jobs";
+    public static final String COMPUTE_RESOURCE_RESCHEDULER_CLASS = "compute.resource.rescheduler.policy.class";
+    public static final String METASCHEDULER_MAXIMUM_RESCHEDULED_THRESHOLD= "metascheduler.maximum.rescheduler.threshold";
+    public static final String METASCHEDULER_MULTIPLE_CR_ENABLING_FACTOR= "metascheduler.multiple.cr.enabling.factor";
+    public static final String DATA_ANALYZER_SCANNING_INTERVAL = "data.analyzer.scanning.interval";
+    public static final String DATA_ANALYZER_NO_OF_SCANNING_PARALLEL_JOBS = "data.analyzer.scanning.parallel.jobs";
+    public static final String DATA_ANALYZER_ENABLED_GATEWAYS = "data.analyzer.enabled.gateways";
+    public static final String DATA_ANALYZER_TIME_STEP_IN_SECONDS = "data.analyzer.time.step.seconds";
+
+
+
     public static String getDefaultUser() throws ApplicationSettingsException {
         return getSetting(DEFAULT_USER);
     }
@@ -159,11 +177,11 @@
         return getSetting(RABBITMQ_BROKER_URL, "amqp://localhost:5672");
     }
 
-    public static String getRabbitmqStatusExchangeName(){
+    public static String getRabbitmqStatusExchangeName() {
         return getSetting(RABBITMQ_STATUS_EXCHANGE_NAME, "status_exchange");
     }
 
-    public static String getRabbitmqProcessExchangeName(){
+    public static String getRabbitmqProcessExchangeName() {
         return getSetting(RABBITMQ_PROCESS_EXCHANGE_NAME, "process_exchange");
     }
 
@@ -171,11 +189,11 @@
         return getSetting(RABBITMQ_EXPERIMENT_EXCHANGE_NAME, "experiment_exchange");
     }
 
-    public static boolean getRabbitmqDurableQueue(){
+    public static boolean getRabbitmqDurableQueue() {
         return Boolean.valueOf(getSetting(RABBITMQ_DURABLE_QUEUE, "false"));
     }
 
-    public static int getRabbitmqPrefetchCount(){
+    public static int getRabbitmqPrefetchCount() {
         return Integer.valueOf(getSetting(RABBITMQ_PREFETCH_COUNT, "200"));
     }
 
@@ -228,11 +246,11 @@
         }
     }
 
-    public static String getApiServerKeystorePasswd() throws ApplicationSettingsException{
+    public static String getApiServerKeystorePasswd() throws ApplicationSettingsException {
         return getSetting(API_SERVER_KEYSTORE_PASSWD);
     }
 
-    public static String getApiServerKeystore() throws ApplicationSettingsException{
+    public static String getApiServerKeystore() throws ApplicationSettingsException {
         return getSetting(API_SERVER_KEYSTORE);
     }
 
@@ -444,6 +462,7 @@
     public static Boolean isEnableSharing() throws ApplicationSettingsException {
         return Boolean.parseBoolean(getSetting(ENABLE_SHARING));
     }
+
     public static boolean isRunningOnAws() {
         return Boolean.valueOf(getSetting(IS_RUNNING_ON_AWS, "false"));
     }
@@ -455,25 +474,25 @@
     public static String[] getServerRoles() {
         return listConfigurations.get(SERVER_ROLES);
     }
-    
+
     public static String getAuroraSchedulerHosts() throws ApplicationSettingsException {
-    	return getSetting(AURORA_SCHEDULER_HOSTS);
+        return getSetting(AURORA_SCHEDULER_HOSTS);
     }
-    
+
     public static String getMesosClusterName() throws ApplicationSettingsException {
-    	return getSetting(MESOS_CLUSTER_NAME);
+        return getSetting(MESOS_CLUSTER_NAME);
     }
-    
+
     public static String getAuroraExecutorName() throws ApplicationSettingsException {
-    	return getSetting(AURORA_EXECUTOR_NAME);
+        return getSetting(AURORA_EXECUTOR_NAME);
     }
-    
+
     public static String getAuroraExecutorConfigTemplateFileName() throws ApplicationSettingsException {
-    	return getSetting(AURORA_EXECUTOR_CONFIG_TEMPLATE_FILE);
+        return getSetting(AURORA_EXECUTOR_CONFIG_TEMPLATE_FILE);
     }
-    
+
     public static int getAuroraSchedulerTimeout() throws ApplicationSettingsException {
-    	return Integer.valueOf(getSetting(AURORA_SCHEDULER_CONNECT_TIMEOUT_MS));
+        return Integer.valueOf(getSetting(AURORA_SCHEDULER_CONNECT_TIMEOUT_MS));
     }
 
     public static int getSessionCacheAccessTimeout() {
@@ -491,4 +510,78 @@
     public static Boolean isSteamingEnabled() {
         return Boolean.valueOf(getSetting(Constants.ENABLE_STREAMING_TRANSFER, "True"));
     }
+
+
+    public static String getComputeResourceSelectionPolicyClass() throws ApplicationSettingsException {
+        return getSetting(COMPUTE_RESOURCE_SELECTION_POLICY_CLASS,
+                "org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection.MultipleComputeResourcePolicy");
+    }
+
+    public static String getReSchedulerPolicyClass() throws ApplicationSettingsException {
+        return getSetting(COMPUTE_RESOURCE_RESCHEDULER_CLASS,
+                "org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler.ExponentialBackOffReScheduler");
+    }
+
+    public static String getMetaschedulerGateway() throws ApplicationSettingsException {
+        return getSetting(METASCHEDULER_GATEWAY,
+                "");
+    }
+
+    public static String getMetaschedulerGrpId() throws ApplicationSettingsException {
+        return getSetting(METASCHEDULER_GRP_ID,
+                "");
+    }
+
+
+    public static String getMetaschedulerUsername() throws ApplicationSettingsException {
+        return getSetting(METASCHEDULER_USERNAME,
+                "");
+    }
+
+    public static String getDataAnalyzingEnabledGateways() throws ApplicationSettingsException {
+        return getSetting(DATA_ANALYZER_ENABLED_GATEWAYS,
+                "");
+    }
+
+    public static int getDataAnalyzerTimeStep() throws ApplicationSettingsException {
+        return Integer.parseInt(getSetting(DATA_ANALYZER_TIME_STEP_IN_SECONDS,
+                "1"));
+    }
+
+    public static double getMetaschedulerClusterScanningInterval() throws ApplicationSettingsException {
+        return Double.parseDouble(getSetting(METASCHEDULER_CLUSTER_SCANNING_INTERVAL,
+                "1800000"));
+    }
+
+    public static double getMetaschedulerJobScanningInterval() throws ApplicationSettingsException {
+        return Double.parseDouble(getSetting(METASCHEDULER_JOB_SCANNING_INTERVAL,
+                "1800000"));
+    }
+
+    public static int getMetaschedulerNoOfScanningParallelJobs() throws ApplicationSettingsException {
+        return Integer.parseInt(getSetting(METASCHEDULER_NO_OF_SCANNING_PARALLEL_JOBS,
+                "1"));
+    }
+
+    public static double getDataAnalyzerScanningInterval() throws ApplicationSettingsException {
+        return Double.parseDouble(getSetting(DATA_ANALYZER_SCANNING_INTERVAL,
+                "1800000"));
+    }
+
+    public static int getDataAnalyzerNoOfScanningParallelJobs() throws ApplicationSettingsException {
+        return Integer.parseInt(getSetting(DATA_ANALYZER_NO_OF_SCANNING_PARALLEL_JOBS,
+                "1"));
+    }
+
+    public static int getMetaschedulerReschedulingThreshold() throws ApplicationSettingsException {
+        return Integer.parseInt(getSetting(METASCHEDULER_MAXIMUM_RESCHEDULED_THRESHOLD,
+                "5"));
+    }
+
+    public static int getMetaschedulerMultipleCREnablingFactor() throws ApplicationSettingsException {
+        return Integer.parseInt(getSetting(METASCHEDULER_MULTIPLE_CR_ENABLING_FACTOR,
+                "0.5"));
+    }
+
+
 }
diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ThriftClientPool.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ThriftClientPool.java
index 1cbfee6..707fba6 100644
--- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ThriftClientPool.java
+++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ThriftClientPool.java
@@ -154,8 +154,9 @@
         }
 
         public TProtocol make() {
-            TTransport transport = new TSocket(host, port);
+            TTransport transport;
             try {
+                transport = new TSocket(host, port);
                 transport.open();
             } catch (TTransportException e) {
                 logger.warn(e.getMessage(), e);
diff --git a/modules/computer-resource-monitoring-service/pom.xml b/modules/computer-resource-monitoring-service/pom.xml
new file mode 100644
index 0000000..6586d36
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/pom.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>airavata</artifactId>
+        <groupId>org.apache.airavata</groupId>
+        <version>0.21-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <name>MetaScheduler Compute Resource Monitoring Service</name>
+    <artifactId>computer-resource-monitoring-service</artifactId>
+
+
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>agent-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>task-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-orchestrator-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>helix-spectator</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.quartz-scheduler</groupId>
+            <artifactId>quartz</artifactId>
+            <version>2.3.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>metascheduler-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>airavata-commons</artifactId>
+            <version>0.21-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+
+    </dependencies>
+
+    <properties>
+        <maven.compiler.source>11</maven.compiler.source>
+        <maven.compiler.target>11</maven.compiler.target>
+    </properties>
+
+</project>
\ No newline at end of file
diff --git a/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/ComputationalResourceMonitoringService.java b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/ComputationalResourceMonitoringService.java
new file mode 100644
index 0000000..631542f
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/ComputationalResourceMonitoringService.java
@@ -0,0 +1,119 @@
+package org.apache.airavata.compute.resource.monitoring;
+
+import org.apache.airavata.common.utils.IServer;
+import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.compute.resource.monitoring.job.MonitoringJob;
+import org.apache.airavata.compute.resource.monitoring.utils.Constants;
+import org.quartz.*;
+import org.quartz.impl.StdSchedulerFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * Computational Resource Monitoring Service
+ */
+public class ComputationalResourceMonitoringService implements IServer {
+
+    private final static Logger logger = LoggerFactory.getLogger(ComputationalResourceMonitoringService.class);
+    private static final String SERVER_NAME = "Airavata Compute Resource Monitoring Service";
+    private static final String SERVER_VERSION = "1.0";
+
+    private static  ServerStatus status;
+    private static Scheduler scheduler;
+    private static Map<JobDetail, Trigger> jobTriggerMap = new HashMap<>();
+
+
+    @Override
+    public String getName() {
+        return null;
+    }
+
+    @Override
+    public String getVersion() {
+        return null;
+    }
+
+    @Override
+    public void start() throws Exception {
+
+        jobTriggerMap.clear();
+        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
+        scheduler = schedulerFactory.getScheduler();
+
+        final String metaUsername = ServerSettings.getMetaschedulerUsername();
+        final String metaGatewayId = ServerSettings.getMetaschedulerGateway();
+        final String metaGroupResourceProfileId = ServerSettings.getMetaschedulerGrpId();
+        final int parallelJobs = ServerSettings.getMetaschedulerNoOfScanningParallelJobs();
+        final double scanningInterval = ServerSettings.getMetaschedulerClusterScanningInterval();
+
+
+        for (int i = 0; i < parallelJobs; i++) {
+            String name = Constants.COMPUTE_RESOURCE_SCANNER_TRIGGER + "_" + i;
+            Trigger trigger = TriggerBuilder.newTrigger()
+                    .withIdentity(name, Constants.COMPUTE_RESOURCE_SCANNER_GROUP)
+                    .startNow()
+                    .withSchedule(SimpleScheduleBuilder.simpleSchedule()
+                            .withIntervalInSeconds((int) scanningInterval)
+                            .repeatForever())
+                    .build();
+
+            String jobName = Constants.COMPUTE_RESOURCE_SCANNER_JOB + "_" + i;
+
+            JobDetail jobC = JobBuilder
+                    .newJob(MonitoringJob.class)
+                    .withIdentity(jobName, Constants.COMPUTE_RESOURCE_SCANNER_JOB)
+                    .usingJobData(Constants.METASCHEDULER_SCANNING_JOBS, parallelJobs)
+                    .usingJobData(Constants.METASCHEDULER_SCANNING_JOB_ID, i)
+                    .usingJobData(Constants.METASCHEDULER_USERNAME, metaUsername)
+                    .usingJobData(Constants.METASCHEDULER_GATEWAY, metaGatewayId)
+                    .usingJobData(Constants.METASCHEDULER_GRP_ID, metaGroupResourceProfileId)
+                    .build();
+            jobTriggerMap.put(jobC, trigger);
+        }
+        scheduler.start();
+
+        jobTriggerMap.forEach((x, v) -> {
+            try {
+                scheduler.scheduleJob(x, v);
+            } catch (SchedulerException e) {
+                logger.error("Error occurred while scheduling job " + x.getKey().getName());
+            }
+        });
+
+
+    }
+
+    @Override
+    public void stop() throws Exception {
+        scheduler.unscheduleJobs(jobTriggerMap.values().stream().map(trigger -> {
+           return trigger.getKey();
+        }).collect(Collectors.toList()));
+    }
+
+    @Override
+    public void restart() throws Exception {
+        stop();
+        start();
+    }
+
+    @Override
+    public void configure() throws Exception {
+
+    }
+
+    @Override
+    public ServerStatus getStatus() throws Exception {
+        return status;
+    }
+
+
+    public void setServerStatus(ServerStatus status){
+        this.status = status;
+    }
+
+}
diff --git a/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/ComputeResourceMonitor.java b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/ComputeResourceMonitor.java
new file mode 100644
index 0000000..78b7088
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/ComputeResourceMonitor.java
@@ -0,0 +1,119 @@
+package org.apache.airavata.compute.resource.monitoring.job;
+
+import org.apache.airavata.common.utils.ThriftClientPool;
+import org.apache.airavata.metascheduler.core.engine.ComputeResourceSelectionPolicy;
+import org.apache.airavata.metascheduler.core.utils.Utils;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile;
+import org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference;
+import org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+
+public abstract class ComputeResourceMonitor {
+
+    protected ThriftClientPool<RegistryService.Client> registryClientPool;
+
+    public ComputeResourceMonitor() {
+        this.registryClientPool = Utils.getRegistryServiceClientPool();
+    }
+
+    private boolean isValid(String str) {
+        return str != null && !str.trim().isEmpty();
+    }
+
+    public UserResourceProfile getUserResourceProfile(String username, String gatewayId) throws Exception {
+        RegistryService.Client client = this.registryClientPool.getResource();
+        try {
+            if (client.isUserResourceProfileExists(username, gatewayId)) {
+                return client.getUserResourceProfile(username, gatewayId);
+            }
+            return null;
+        } finally {
+            this.registryClientPool.returnResource(client);
+        }
+
+    }
+
+
+    private UserComputeResourcePreference getUserComputeResourcePreference(String gatewayId, String username,
+                                                                           String computeResourceId) throws Exception {
+        RegistryService.Client client = this.registryClientPool.getResource();
+        try {
+            if (client.isUserComputeResourcePreferenceExists(username, gatewayId, computeResourceId)){
+                return  client.getUserComputeResourcePreference(username, gatewayId, computeResourceId);
+            }
+            return null;
+        } finally {
+            this.registryClientPool.returnResource(client);
+        }
+    }
+
+    public String getComputeResourceCredentialToken(String gatewayId,
+                                                    String username, String computeResourceId, boolean isUseUserCRPref,
+                                                    boolean isSetGroupResourceProfileId, String groupResourceProfileId) throws Exception {
+        if (isUseUserCRPref) {
+            if (getUserComputeResourcePreference(gatewayId, username, computeResourceId) != null &&
+                    isValid(getUserComputeResourcePreference(gatewayId, username, computeResourceId).getResourceSpecificCredentialStoreToken())) {
+                return getUserComputeResourcePreference(gatewayId, username, computeResourceId).getResourceSpecificCredentialStoreToken();
+            } else {
+                return getUserResourceProfile(username, gatewayId).getCredentialStoreToken();
+            }
+        } else if (isSetGroupResourceProfileId &&
+                getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId) != null &&
+                isValid(getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId).getResourceSpecificCredentialStoreToken())) {
+            return getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId).getResourceSpecificCredentialStoreToken();
+        } else {
+            return getGroupResourceProfile(groupResourceProfileId).getDefaultCredentialStoreToken();
+        }
+    }
+
+    public GroupComputeResourcePreference getGroupComputeResourcePreference(String computeResourcId, String groupResourceProfileId) throws Exception {
+        RegistryService.Client client = this.registryClientPool.getResource();
+        try {
+            if (client.isGroupComputeResourcePreferenceExists(computeResourcId,
+                    groupResourceProfileId)) {
+                return client.getGroupComputeResourcePreference(
+                        computeResourcId,
+                        groupResourceProfileId);
+            }
+            return null;
+        } finally {
+            this.registryClientPool.returnResource(client);
+        }
+    }
+
+    public GroupResourceProfile getGroupResourceProfile(String groupResourceProfileId) throws Exception {
+        RegistryService.Client client = this.registryClientPool.getResource();
+        try {
+            if (client.isGroupResourceProfileExists(groupResourceProfileId)) {
+                return client.getGroupResourceProfile(groupResourceProfileId);
+            }
+            return null;
+        } finally {
+            this.registryClientPool.returnResource(client);
+        }
+
+    }
+
+    public String getComputeResourceLoginUserName(String gatewayId,
+                                                  String username, String computeResourceId, boolean isUseUserCRPref,
+                                                  boolean isSetGroupResourceProfileId, String groupResourceProfileId,
+                                                  String overrideLoginUsername) throws Exception {
+        if (isUseUserCRPref &&
+                getUserComputeResourcePreference(gatewayId, username, computeResourceId) != null &&
+                isValid(getUserComputeResourcePreference(gatewayId, username, computeResourceId).getLoginUserName())) {
+            return getUserComputeResourcePreference(gatewayId, username, computeResourceId).getLoginUserName();
+        } else if (isValid(overrideLoginUsername)) {
+            return overrideLoginUsername;
+        } else if (isSetGroupResourceProfileId &&
+                getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId) != null &&
+                isValid(getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId).getLoginUserName())) {
+            return getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId).getLoginUserName();
+        }
+        throw new RuntimeException("Can't find login username for compute resource");
+    }
+
+
+
+}
diff --git a/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/MonitoringJob.java b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/MonitoringJob.java
new file mode 100644
index 0000000..31efef7
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/MonitoringJob.java
@@ -0,0 +1,199 @@
+package org.apache.airavata.compute.resource.monitoring.job;
+
+import org.apache.airavata.agents.api.AgentAdaptor;
+import org.apache.airavata.agents.api.CommandOutput;
+import org.apache.airavata.compute.resource.monitoring.job.output.OutputParser;
+import org.apache.airavata.compute.resource.monitoring.job.output.OutputParserImpl;
+import org.apache.airavata.compute.resource.monitoring.utils.Constants;
+import org.apache.airavata.helix.core.support.adaptor.AdaptorSupportImpl;
+import org.apache.airavata.helix.impl.task.submission.config.JobFactory;
+import org.apache.airavata.helix.task.api.support.AdaptorSupport;
+import org.apache.airavata.model.appcatalog.computeresource.*;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy;
+import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile;
+import org.apache.airavata.model.status.QueueStatusModel;
+import org.apache.airavata.registry.api.RegistryService;
+import org.apache.airavata.registry.api.RegistryService.Client;
+import org.quartz.Job;
+import org.quartz.JobDataMap;
+import org.quartz.JobExecutionContext;
+import org.quartz.JobExecutionException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+/**
+ * This class is responsible to execute CR monitoring code
+ */
+public class MonitoringJob extends ComputeResourceMonitor implements Job {
+    private static final Logger LOGGER = LoggerFactory.getLogger(MonitoringJob.class);
+
+
+    @Override
+    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
+        RegistryService.Client client = null;
+        try {
+            LOGGER.debug("Executing ComputeResources Monitoring Job....... ");
+
+            client = this.registryClientPool.getResource();
+
+
+            JobDataMap jobDataMap = jobExecutionContext.getJobDetail().getJobDataMap();
+            String metaSchedulerGateway = jobDataMap.getString(Constants.METASCHEDULER_GATEWAY);
+            String metaSchedulerGRP = jobDataMap.getString(Constants.METASCHEDULER_GRP_ID);
+            String username = jobDataMap.getString(Constants.METASCHEDULER_USERNAME);
+            int jobId = jobDataMap.getInt(Constants.METASCHEDULER_SCANNING_JOB_ID);
+            int parallelJobs = jobDataMap.getInt(Constants.METASCHEDULER_SCANNING_JOBS);
+
+            LOGGER.debug("Main Gateway:"+metaSchedulerGateway+" Group Resource Profile: "
+                    +metaSchedulerGRP+" username: "+username+" jobId: "+jobId+" parallellJobs: "+parallelJobs);
+
+            executeComputeResourceMonitoring(client, metaSchedulerGateway, username, metaSchedulerGRP, parallelJobs, jobId);
+
+
+        } catch (Exception ex) {
+            String msg = "Error occurred while executing job" + ex.getMessage();
+            LOGGER.error(msg, ex);
+            if (client != null) {
+                registryClientPool.returnBrokenResource(client);
+            }
+            client = null;
+        } finally {
+            if (client != null) {
+                registryClientPool.returnResource(client);
+            }
+        }
+
+
+    }
+
+    private void executeComputeResourceMonitoring(RegistryService.Client client, String metaSchedulerGateway, String username,
+                                                  String metaSchedulerGRP, int parallelJobs, int jobId) throws Exception {
+        AdaptorSupportImpl adaptorSupport = AdaptorSupportImpl.getInstance();
+        GroupResourceProfile groupResourceProfile = getGroupResourceProfile(metaSchedulerGRP);
+//        List<GroupComputeResourcePreference> computeResourcePreferenceList = groupResourceProfile.getComputePreferences();
+
+
+        int size = groupResourceProfile.getComputeResourcePoliciesSize();
+
+        int chunkSize = size / parallelJobs;
+
+        int startIndex = jobId * chunkSize;
+
+        int endIndex = (jobId + 1) * chunkSize;
+
+        if (jobId == parallelJobs - 1) {
+            endIndex = size;
+        }
+
+        List<ComputeResourcePolicy> computeResourcePolicyList = groupResourceProfile.getComputeResourcePolicies().
+                subList(startIndex, endIndex);
+
+        for (ComputeResourcePolicy computeResourcePolicy : computeResourcePolicyList) {
+            updateComputeResource(client, adaptorSupport, metaSchedulerGateway, username, computeResourcePolicy);
+        }
+    }
+
+
+    private void updateComputeResource(RegistryService.Client client, AdaptorSupport adaptorSupport,
+                                       String gatewayId,
+                                       String username,
+                                       ComputeResourcePolicy computeResourcePolicy) throws Exception {
+        String computeResourceId = computeResourcePolicy.getComputeResourceId();
+        ComputeResourceDescription comResourceDes = client.getComputeResource(computeResourceId);
+        List<JobSubmissionInterface> jobSubmissionInterfaces = comResourceDes.getJobSubmissionInterfaces();
+        Collections.sort(jobSubmissionInterfaces, Comparator.comparingInt(JobSubmissionInterface::getPriorityOrder));
+        JobSubmissionInterface jobSubmissionInterface = jobSubmissionInterfaces.get(0);
+        JobSubmissionProtocol jobSubmissionProtocol = jobSubmissionInterface.getJobSubmissionProtocol();
+
+        ResourceJobManager resourceJobManager = JobFactory.getResourceJobManager(client, jobSubmissionProtocol, jobSubmissionInterface);
+
+        //TODO: intial phase we are only supporting SLURM
+        if (resourceJobManager.getResourceJobManagerType().name().equals("SLURM")) {
+            String baseCommand = "sinfo";
+
+            if (resourceJobManager.getJobManagerCommands().containsKey(JobManagerCommand.SHOW_CLUSTER_INFO)) {
+                baseCommand = resourceJobManager.getJobManagerCommands().get(JobManagerCommand.SHOW_CLUSTER_INFO);
+            }
+
+
+            List<String> allowedBatchQueues = computeResourcePolicy.getAllowedBatchQueues();
+            List<QueueStatusModel> queueStatusModels = new ArrayList<>();
+            for (String queue : allowedBatchQueues) {
+
+                String finalCommand = baseCommand + " -p " + queue;
+
+                String computeResourceToken = getComputeResourceCredentialToken(
+                        gatewayId,
+                        username,
+                        computeResourceId,
+                        false,
+                        true,
+                        computeResourcePolicy.getGroupResourceProfileId());
+
+                String loginUsername = getComputeResourceLoginUserName(gatewayId,
+                        username,
+                        computeResourceId,
+                        false,
+                        true,
+                        computeResourcePolicy.getGroupResourceProfileId(),
+                        null);
+
+                AgentAdaptor adaptor = adaptorSupport.fetchAdaptor(gatewayId,
+                        computeResourceId,
+                        jobSubmissionProtocol,
+                        computeResourceToken,
+                        loginUsername);
+
+                CommandOutput commandOutput = adaptor.executeCommand(finalCommand, null);
+
+                OutputParser outputParser = new OutputParserImpl();
+                boolean queueStatus = false;
+                int runningJobs = 0;
+                int pendingJobs = 0;
+
+                if (outputParser.isComputeResourceAvailable(commandOutput,Constants.JOB_SUBMISSION_PROTOCOL_SLURM)) {
+                    queueStatus = true;
+
+                    String runningJobCommand = "squeue";
+                    String pendingJobCommand = "squeue";
+                    if (resourceJobManager.getJobManagerCommands().containsKey(JobManagerCommand.SHOW_NO_OF_RUNNING_JOBS)) {
+                        runningJobCommand = resourceJobManager.getJobManagerCommands().get(JobManagerCommand.SHOW_NO_OF_RUNNING_JOBS);
+                    }
+
+                    if (resourceJobManager.getJobManagerCommands().containsKey(JobManagerCommand.SHOW_NO_OF_PENDING_JOBS)) {
+                        pendingJobCommand = resourceJobManager.getJobManagerCommands().get(JobManagerCommand.SHOW_NO_OF_PENDING_JOBS);
+                    }
+
+                    String runningJobsCommand = runningJobCommand + "-h -t running -r | wc -l";
+                    String pendingJobsCommand = pendingJobCommand + "-h -t pending -r | wc -l";
+
+                    CommandOutput runningJobsCommandOutput = adaptor.executeCommand(runningJobsCommand, null);
+
+                    CommandOutput pendingJobsCommandOutput = adaptor.executeCommand(pendingJobsCommand, null);
+
+                    runningJobs = outputParser.getNumberofJobs(runningJobsCommandOutput,Constants.JOB_SUBMISSION_PROTOCOL_SLURM);
+                    pendingJobs = outputParser.getNumberofJobs(pendingJobsCommandOutput,Constants.JOB_SUBMISSION_PROTOCOL_SLURM);
+
+                }
+
+                QueueStatusModel queueStatusModel = new QueueStatusModel();
+                queueStatusModel.setHostName(comResourceDes.getHostName());
+                queueStatusModel.setQueueName(queue);
+                queueStatusModel.setQueueUp(queueStatus);
+                queueStatusModel.setRunningJobs(runningJobs);
+                queueStatusModel.setQueuedJobs(pendingJobs);
+                queueStatusModels.add(queueStatusModel);
+                queueStatusModel.setTime(System.currentTimeMillis());
+            }
+            client.registerQueueStatuses(queueStatusModels);
+        }
+    }
+
+}
+
+
diff --git a/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/output/OutputParser.java b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/output/OutputParser.java
new file mode 100644
index 0000000..b984940
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/output/OutputParser.java
@@ -0,0 +1,17 @@
+package org.apache.airavata.compute.resource.monitoring.job.output;
+
+import org.apache.airavata.agents.api.CommandOutput;
+
+/**
+ * This interface is responsible for parsing output of agent adaptors and derive decisions
+ */
+public interface OutputParser {
+
+
+    boolean isComputeResourceAvailable(CommandOutput commandOutput, String type);
+
+    int getNumberofJobs(CommandOutput commandOutput, String type);
+
+
+
+}
diff --git a/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/output/OutputParserImpl.java b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/output/OutputParserImpl.java
new file mode 100644
index 0000000..37e51d9
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/job/output/OutputParserImpl.java
@@ -0,0 +1,49 @@
+package org.apache.airavata.compute.resource.monitoring.job.output;
+
+import org.apache.airavata.agents.api.CommandOutput;
+import org.apache.airavata.compute.resource.monitoring.utils.Constants;
+
+import java.util.Scanner;
+
+/**
+ * This is parser output implementation
+ */
+public class OutputParserImpl implements OutputParser {
+
+
+    @Override
+    public boolean isComputeResourceAvailable(CommandOutput commandOutput, String type) {
+        if (commandOutput.getStdOut() != null && !commandOutput.getStdOut().isEmpty()) {
+            if (type.equals(Constants.JOB_SUBMISSION_PROTOCOL_SLURM)) {
+                Scanner scanner = new Scanner(commandOutput.getStdOut());
+                if (scanner.hasNextLine()) {
+                    String firstLine = scanner.nextLine();
+                }
+                while (scanner.hasNextLine()) {
+                    String line = scanner.nextLine();
+                    String[] splittedString = line.split(" ");
+                    for (String splitted : splittedString) {
+                        if (splitted.trim().equals("up")) {
+                            return true;
+                        }
+                    }
+                }
+
+            }
+
+        }
+        return false;
+    }
+
+    @Override
+    public int getNumberofJobs(CommandOutput commandOutput, String type) {
+        if (commandOutput.getStdOut() != null && !commandOutput.getStdOut().isEmpty()) {
+            if (type.equals(Constants.JOB_SUBMISSION_PROTOCOL_SLURM)) {
+                return Integer.parseInt(commandOutput.getStdOut().trim());
+            }
+        }
+        return 0;
+    }
+
+
+}
diff --git a/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/utils/Constants.java b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/utils/Constants.java
new file mode 100644
index 0000000..76d7d0a
--- /dev/null
+++ b/modules/computer-resource-monitoring-service/src/main/java/org/apache/airavata/compute/resource/monitoring/utils/Constants.java
@@ -0,0 +1,15 @@
+package org.apache.airavata.compute.resource.monitoring.utils;
+
+public class Constants {
+    public static final String METASCHEDULER_GATEWAY = "metascheduler.gateway";
+    public static final String METASCHEDULER_GRP_ID = "metascheduler.group.resource.profile";
+    public static final String METASCHEDULER_SCANNING_JOBS = "metascheduler.scanning.jobs";
+    public static final String METASCHEDULER_SCANNING_JOB_ID = "metascheduler.scanning.jobs.id";
+    public static final String METASCHEDULER_USERNAME = "metascheduler.username";
+    public static final String RUNNING_JOBS= "running.jobs";
+    public static final String PENDING_JOBS = "pending.jobs";
+    public static final String COMPUTE_RESOURCE_SCANNER_GROUP = "compute.resource.scanner.group";
+    public static final String COMPUTE_RESOURCE_SCANNER_TRIGGER = "compute.resource.scanner.trigger";
+    public static  final String COMPUTE_RESOURCE_SCANNER_JOB = "compute.resource.scanner.job";
+    public static  final String JOB_SUBMISSION_PROTOCOL_SLURM = "SLURM";
+}
diff --git a/modules/configuration/server/src/main/resources/HTCONDOR_Groovy.template b/modules/configuration/server/src/main/resources/HTCONDOR_Groovy.template
index 3625d0b..c0f6501 100644
--- a/modules/configuration/server/src/main/resources/HTCONDOR_Groovy.template
+++ b/modules/configuration/server/src/main/resources/HTCONDOR_Groovy.template
@@ -1,5 +1,8 @@
 # HTCondor job submission script generated by Apache Airavata
 <%
+
+   def checkCommand = {items, prefix -> for (it in items) if (it.startsWith(prefix)) return it}
+
    if (executablePath != null && executablePath != "")  out.print 'executable = ' + executablePath + '\n'
    if (inputs != null && inputs.size() > 0)  out.print 'arguments = \"'
    if (inputs != null && inputs.size() > 0) for(input in inputs)  out.print input + ' '
@@ -19,9 +22,12 @@
    out.print 'should_transfer_files = Yes\nwhen_to_transfer_output = ON_EXIT\n'
    if (inputFiles != null && inputFiles.size() > 0) out.print 'transfer_input_files = '
    if (inputFiles != null && inputFiles.size() > 0) for(file in inputFiles) out.print file + ', '
+   def preJobInputs = checkCommand(preJobCommands, 'transfer_input_files =')
+   if (preJobInputs) out.print preJobInputs.substring(22)
+
    if (inputFiles != null && inputFiles.size() > 0) out.print '\n'
    if (moduleCommands != null) for(mc in moduleCommands)  out.print mc +'\n'
-   if (preJobCommands != null) for(pjc in preJobCommands)  out.print pjc +'\n'
+   if (preJobCommands != null) for(pjc in preJobCommands)  if (!pjc.startsWith("transfer_input_files =")) out.print pjc +'\n'
    out.print 'queue\n'
    if (postJobCommands != null) for(pjc in postJobCommands)  out.print pjc +'\n'
 %>
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index 7800d19..681e698 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -54,7 +54,7 @@
 
 # Properties for cluster status monitoring
 # cluster status monitoring job repeat time in seconds
-cluster.status.monitoring.enable=false
+#cluster.status.monitoring.enable=false
 cluster.status.monitoring.repeat.time=18000
 
 ###########################################################################
@@ -362,3 +362,24 @@
 # ThriftClientPool Configuration
 ###########################################################################
 thrift.client.pool.abandoned.removal.enabled=false
+
+###########################################################################
+# Metascheduler And Compute Resource Monitoring Configuration
+###########################################################################
+cluster.status.monitoring.enable=True
+compute.resource.selection.policy.class=org.apache.airavata.metascheduler.process.scheduling.engine.cr.selection.MultipleComputeResourcePolicy
+metascheduler.gateway=
+metascheduler.group.resource.profile=
+metascheduler.username=metascheacc
+cluster.scanning.interval=7800
+cluster.scanning.parallel.jobs=1
+metaschedluer.job.scanning.enable=True
+metascheduler.maximum.rescheduler.threshold = 5
+compute.resource.rescheduler.policy.class =org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler.ExponentialBackOffReScheduler
+data.analyzer.scanning.interval=3600
+data.analyzer.scanning.parallel.jobs=1
+data.analyzer.enabled.gateways=
+data.analyzer.time.step.seconds=5
+data.analyzer.job.scanning.enable=False
+metascheduler.multiple.cr.enabling.factor=1
+
diff --git a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/credential/impl/ssh/SSHCredentialGenerator.java b/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/credential/impl/ssh/SSHCredentialGenerator.java
deleted file mode 100644
index fde0795..0000000
--- a/modules/credential-store/credential-store-service/src/main/java/org/apache/airavata/credential/store/credential/impl/ssh/SSHCredentialGenerator.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/**
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.airavata.credential.store.credential.impl.ssh;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
-
-import org.apache.airavata.credential.store.store.CredentialStoreException;
-import org.apache.airavata.credential.store.store.impl.SSHCredentialWriter;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.RandomStringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import com.jcraft.jsch.JSch;
-import com.jcraft.jsch.JSchException;
-import com.jcraft.jsch.KeyPair;
-
-/**
- * A class which generates an SSH credential
- */
-public class SSHCredentialGenerator {
-	
-	private static Logger logger = LoggerFactory.getLogger(SSHCredentialWriter.class);
-	
-	/**
-	 * 
-	 * @return a SSH Credential generated and encrypted using a randomly generated password
-	 * @throws CredentialStoreException 
-	 */
-	public SSHCredential generateCredential(String tokenId) throws CredentialStoreException {
-        JSch jsch=new JSch();
-        try {
-            KeyPair kpair=KeyPair.genKeyPair(jsch, KeyPair.RSA);
-            File file;
-			
-				file = File.createTempFile("id_rsa", "");
-			
-            String fileName = file.getAbsolutePath();
-
-            String password = generateRandomString();
-            // We are encrypting the private key with the hash of (tokenId+password). 
-            // Any client which wants to use this private key will also generate a hash and then use it to decrypt the key.  
-            kpair.writePrivateKey(fileName,password.getBytes());
-            kpair.writePublicKey(fileName + ".pub"  , "");
-            kpair.dispose();
-            byte[] priKey = FileUtils.readFileToByteArray(new File(fileName));
-            byte[] pubKey = FileUtils.readFileToByteArray(new File(fileName + ".pub"));
-            SSHCredential sshCredential = new SSHCredential();
-            sshCredential.setPrivateKey(priKey);
-            sshCredential.setPublicKey(pubKey);
-            sshCredential.setPassphrase(password);
-            return sshCredential;
-		} catch (IOException e) {
-			logger.error("IO Exception when creating SSH credential ",e);
-			throw new CredentialStoreException("Unable to generate SSH Credential", e);
-		} catch (JSchException e) {
-			logger.error("JSch SSH credential creation exception ",e);
-			throw new CredentialStoreException("Unable to generate SSH Credential. JSch exception ", e);
-		}
-	}
-	
-	private String generateHash(String tokenId, String password) {
-        byte[] bytesOfMessage = new byte[0];
-        try {
-            bytesOfMessage = password.getBytes("UTF-8");
-            MessageDigest md = MessageDigest.getInstance("MD5");
-            return new String( md.digest(bytesOfMessage));
-        } catch (UnsupportedEncodingException e) {
-            logger.error(e.getMessage(), e);
-        } catch (NoSuchAlgorithmException e) {
-            logger.error(e.getMessage(), e);
-        }
-        return  null;
-    }
-
-	// Generate a random alphanumberic string of 16 characters length
-	private String generateRandomString() {
-		return RandomStringUtils.randomAlphanumeric(16);
-	}
-}
diff --git a/modules/credential-store/credential-store-stubs/pom.xml b/modules/credential-store/credential-store-stubs/pom.xml
index dc2d608..4a66dfd 100644
--- a/modules/credential-store/credential-store-stubs/pom.xml
+++ b/modules/credential-store/credential-store-stubs/pom.xml
@@ -57,6 +57,11 @@
             <artifactId>airavata-server-configuration</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.9</version>
+        </dependency>
     </dependencies>
 
     <properties>
diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java
index 7307631..07c7ace 100644
--- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java
+++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.credential.store.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class CredentialStoreService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -63,7 +63,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void getCredentialSummary(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException;
 
@@ -96,9 +96,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -113,6 +115,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public org.apache.airavata.model.credential.store.CredentialSummary getCredentialSummary(java.lang.String tokenId, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getCredentialSummary(tokenId, gatewayId);
@@ -140,6 +143,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCredentialSummary failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getAllCredentialSummaries(org.apache.airavata.model.credential.store.SummaryType type, java.util.List<java.lang.String> accessibleTokenIds, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getAllCredentialSummaries(type, accessibleTokenIds, gatewayId);
@@ -168,6 +172,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllCredentialSummaries failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSSHCredential(org.apache.airavata.model.credential.store.SSHCredential sshCredential) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_addSSHCredential(sshCredential);
@@ -194,6 +199,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSSHCredential failed: unknown result");
     }
 
+    @Override
     public java.lang.String addCertificateCredential(org.apache.airavata.model.credential.store.CertificateCredential certificateCredential) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_addCertificateCredential(certificateCredential);
@@ -220,6 +226,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addCertificateCredential failed: unknown result");
     }
 
+    @Override
     public java.lang.String addPasswordCredential(org.apache.airavata.model.credential.store.PasswordCredential passwordCredential) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_addPasswordCredential(passwordCredential);
@@ -246,6 +253,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addPasswordCredential failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.credential.store.SSHCredential getSSHCredential(java.lang.String tokenId, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getSSHCredential(tokenId, gatewayId);
@@ -273,6 +281,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSSHCredential failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.credential.store.CertificateCredential getCertificateCredential(java.lang.String tokenId, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getCertificateCredential(tokenId, gatewayId);
@@ -300,6 +309,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCertificateCredential failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.credential.store.PasswordCredential getPasswordCredential(java.lang.String tokenId, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getPasswordCredential(tokenId, gatewayId);
@@ -327,6 +337,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPasswordCredential failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getAllCredentialSummaryForGateway(org.apache.airavata.model.credential.store.SummaryType type, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getAllCredentialSummaryForGateway(type, gatewayId);
@@ -354,6 +365,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllCredentialSummaryForGateway failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getAllCredentialSummaryForUserInGateway(org.apache.airavata.model.credential.store.SummaryType type, java.lang.String gatewayId, java.lang.String userId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getAllCredentialSummaryForUserInGateway(type, gatewayId, userId);
@@ -382,6 +394,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllCredentialSummaryForUserInGateway failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllPWDCredentialsForGateway(java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_getAllPWDCredentialsForGateway(gatewayId);
@@ -408,6 +421,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllPWDCredentialsForGateway failed: unknown result");
     }
 
+    @Override
     public boolean deleteSSHCredential(java.lang.String tokenId, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_deleteSSHCredential(tokenId, gatewayId);
@@ -435,6 +449,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteSSHCredential failed: unknown result");
     }
 
+    @Override
     public boolean deletePWDCredential(java.lang.String tokenId, java.lang.String gatewayId) throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException
     {
       send_deletePWDCredential(tokenId, gatewayId);
@@ -471,6 +486,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -480,6 +496,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void getCredentialSummary(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getCredentialSummary_call method_call = new getCredentialSummary_call(tokenId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -496,6 +513,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCredentialSummary", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getCredentialSummary_args args = new getCredentialSummary_args();
@@ -505,6 +523,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.credential.store.CredentialSummary getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -515,6 +534,7 @@
       }
     }
 
+    @Override
     public void getAllCredentialSummaries(org.apache.airavata.model.credential.store.SummaryType type, java.util.List<java.lang.String> accessibleTokenIds, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllCredentialSummaries_call method_call = new getAllCredentialSummaries_call(type, accessibleTokenIds, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -533,6 +553,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllCredentialSummaries", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllCredentialSummaries_args args = new getAllCredentialSummaries_args();
@@ -543,6 +564,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -553,6 +575,7 @@
       }
     }
 
+    @Override
     public void addSSHCredential(org.apache.airavata.model.credential.store.SSHCredential sshCredential, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSSHCredential_call method_call = new addSSHCredential_call(sshCredential, resultHandler, this, ___protocolFactory, ___transport);
@@ -567,6 +590,7 @@
         this.sshCredential = sshCredential;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSSHCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSSHCredential_args args = new addSSHCredential_args();
@@ -575,6 +599,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -585,6 +610,7 @@
       }
     }
 
+    @Override
     public void addCertificateCredential(org.apache.airavata.model.credential.store.CertificateCredential certificateCredential, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addCertificateCredential_call method_call = new addCertificateCredential_call(certificateCredential, resultHandler, this, ___protocolFactory, ___transport);
@@ -599,6 +625,7 @@
         this.certificateCredential = certificateCredential;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addCertificateCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addCertificateCredential_args args = new addCertificateCredential_args();
@@ -607,6 +634,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -617,6 +645,7 @@
       }
     }
 
+    @Override
     public void addPasswordCredential(org.apache.airavata.model.credential.store.PasswordCredential passwordCredential, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addPasswordCredential_call method_call = new addPasswordCredential_call(passwordCredential, resultHandler, this, ___protocolFactory, ___transport);
@@ -631,6 +660,7 @@
         this.passwordCredential = passwordCredential;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addPasswordCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addPasswordCredential_args args = new addPasswordCredential_args();
@@ -639,6 +669,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -649,6 +680,7 @@
       }
     }
 
+    @Override
     public void getSSHCredential(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.SSHCredential> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getSSHCredential_call method_call = new getSSHCredential_call(tokenId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -665,6 +697,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSSHCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getSSHCredential_args args = new getSSHCredential_args();
@@ -674,6 +707,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.credential.store.SSHCredential getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -684,6 +718,7 @@
       }
     }
 
+    @Override
     public void getCertificateCredential(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CertificateCredential> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getCertificateCredential_call method_call = new getCertificateCredential_call(tokenId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -700,6 +735,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCertificateCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getCertificateCredential_args args = new getCertificateCredential_args();
@@ -709,6 +745,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.credential.store.CertificateCredential getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -719,6 +756,7 @@
       }
     }
 
+    @Override
     public void getPasswordCredential(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.PasswordCredential> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getPasswordCredential_call method_call = new getPasswordCredential_call(tokenId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -735,6 +773,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPasswordCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getPasswordCredential_args args = new getPasswordCredential_args();
@@ -744,6 +783,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.credential.store.PasswordCredential getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -754,6 +794,7 @@
       }
     }
 
+    @Override
     public void getAllCredentialSummaryForGateway(org.apache.airavata.model.credential.store.SummaryType type, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllCredentialSummaryForGateway_call method_call = new getAllCredentialSummaryForGateway_call(type, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -770,6 +811,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllCredentialSummaryForGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllCredentialSummaryForGateway_args args = new getAllCredentialSummaryForGateway_args();
@@ -779,6 +821,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -789,6 +832,7 @@
       }
     }
 
+    @Override
     public void getAllCredentialSummaryForUserInGateway(org.apache.airavata.model.credential.store.SummaryType type, java.lang.String gatewayId, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllCredentialSummaryForUserInGateway_call method_call = new getAllCredentialSummaryForUserInGateway_call(type, gatewayId, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -807,6 +851,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllCredentialSummaryForUserInGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllCredentialSummaryForUserInGateway_args args = new getAllCredentialSummaryForUserInGateway_args();
@@ -817,6 +862,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -827,6 +873,7 @@
       }
     }
 
+    @Override
     public void getAllPWDCredentialsForGateway(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllPWDCredentialsForGateway_call method_call = new getAllPWDCredentialsForGateway_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -841,6 +888,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllPWDCredentialsForGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllPWDCredentialsForGateway_args args = new getAllPWDCredentialsForGateway_args();
@@ -849,6 +897,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -859,6 +908,7 @@
       }
     }
 
+    @Override
     public void deleteSSHCredential(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteSSHCredential_call method_call = new deleteSSHCredential_call(tokenId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -875,6 +925,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteSSHCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteSSHCredential_args args = new deleteSSHCredential_args();
@@ -884,6 +935,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -894,6 +946,7 @@
       }
     }
 
+    @Override
     public void deletePWDCredential(java.lang.String tokenId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deletePWDCredential_call method_call = new deletePWDCredential_call(tokenId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -910,6 +963,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deletePWDCredential", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deletePWDCredential_args args = new deletePWDCredential_args();
@@ -919,6 +973,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.credential.store.exception.CredentialStoreException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -963,14 +1018,22 @@
         super("getCredentialSummary");
       }
 
+      @Override
       public getCredentialSummary_args getEmptyArgsInstance() {
         return new getCredentialSummary_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getCredentialSummary_result getResult(I iface, getCredentialSummary_args args) throws org.apache.thrift.TException {
         getCredentialSummary_result result = new getCredentialSummary_result();
         try {
@@ -987,14 +1050,22 @@
         super("getAllCredentialSummaries");
       }
 
+      @Override
       public getAllCredentialSummaries_args getEmptyArgsInstance() {
         return new getAllCredentialSummaries_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllCredentialSummaries_result getResult(I iface, getAllCredentialSummaries_args args) throws org.apache.thrift.TException {
         getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
         try {
@@ -1011,14 +1082,22 @@
         super("addSSHCredential");
       }
 
+      @Override
       public addSSHCredential_args getEmptyArgsInstance() {
         return new addSSHCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSSHCredential_result getResult(I iface, addSSHCredential_args args) throws org.apache.thrift.TException {
         addSSHCredential_result result = new addSSHCredential_result();
         try {
@@ -1035,14 +1114,22 @@
         super("addCertificateCredential");
       }
 
+      @Override
       public addCertificateCredential_args getEmptyArgsInstance() {
         return new addCertificateCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addCertificateCredential_result getResult(I iface, addCertificateCredential_args args) throws org.apache.thrift.TException {
         addCertificateCredential_result result = new addCertificateCredential_result();
         try {
@@ -1059,14 +1146,22 @@
         super("addPasswordCredential");
       }
 
+      @Override
       public addPasswordCredential_args getEmptyArgsInstance() {
         return new addPasswordCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addPasswordCredential_result getResult(I iface, addPasswordCredential_args args) throws org.apache.thrift.TException {
         addPasswordCredential_result result = new addPasswordCredential_result();
         try {
@@ -1083,14 +1178,22 @@
         super("getSSHCredential");
       }
 
+      @Override
       public getSSHCredential_args getEmptyArgsInstance() {
         return new getSSHCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getSSHCredential_result getResult(I iface, getSSHCredential_args args) throws org.apache.thrift.TException {
         getSSHCredential_result result = new getSSHCredential_result();
         try {
@@ -1107,14 +1210,22 @@
         super("getCertificateCredential");
       }
 
+      @Override
       public getCertificateCredential_args getEmptyArgsInstance() {
         return new getCertificateCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getCertificateCredential_result getResult(I iface, getCertificateCredential_args args) throws org.apache.thrift.TException {
         getCertificateCredential_result result = new getCertificateCredential_result();
         try {
@@ -1131,14 +1242,22 @@
         super("getPasswordCredential");
       }
 
+      @Override
       public getPasswordCredential_args getEmptyArgsInstance() {
         return new getPasswordCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getPasswordCredential_result getResult(I iface, getPasswordCredential_args args) throws org.apache.thrift.TException {
         getPasswordCredential_result result = new getPasswordCredential_result();
         try {
@@ -1155,14 +1274,22 @@
         super("getAllCredentialSummaryForGateway");
       }
 
+      @Override
       public getAllCredentialSummaryForGateway_args getEmptyArgsInstance() {
         return new getAllCredentialSummaryForGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllCredentialSummaryForGateway_result getResult(I iface, getAllCredentialSummaryForGateway_args args) throws org.apache.thrift.TException {
         getAllCredentialSummaryForGateway_result result = new getAllCredentialSummaryForGateway_result();
         try {
@@ -1179,14 +1306,22 @@
         super("getAllCredentialSummaryForUserInGateway");
       }
 
+      @Override
       public getAllCredentialSummaryForUserInGateway_args getEmptyArgsInstance() {
         return new getAllCredentialSummaryForUserInGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllCredentialSummaryForUserInGateway_result getResult(I iface, getAllCredentialSummaryForUserInGateway_args args) throws org.apache.thrift.TException {
         getAllCredentialSummaryForUserInGateway_result result = new getAllCredentialSummaryForUserInGateway_result();
         try {
@@ -1203,14 +1338,22 @@
         super("getAllPWDCredentialsForGateway");
       }
 
+      @Override
       public getAllPWDCredentialsForGateway_args getEmptyArgsInstance() {
         return new getAllPWDCredentialsForGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllPWDCredentialsForGateway_result getResult(I iface, getAllPWDCredentialsForGateway_args args) throws org.apache.thrift.TException {
         getAllPWDCredentialsForGateway_result result = new getAllPWDCredentialsForGateway_result();
         try {
@@ -1227,14 +1370,22 @@
         super("deleteSSHCredential");
       }
 
+      @Override
       public deleteSSHCredential_args getEmptyArgsInstance() {
         return new deleteSSHCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteSSHCredential_result getResult(I iface, deleteSSHCredential_args args) throws org.apache.thrift.TException {
         deleteSSHCredential_result result = new deleteSSHCredential_result();
         try {
@@ -1252,14 +1403,22 @@
         super("deletePWDCredential");
       }
 
+      @Override
       public deletePWDCredential_args getEmptyArgsInstance() {
         return new deletePWDCredential_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deletePWDCredential_result getResult(I iface, deletePWDCredential_args args) throws org.apache.thrift.TException {
         deletePWDCredential_result result = new deletePWDCredential_result();
         try {
@@ -1306,13 +1465,16 @@
         super("getCredentialSummary");
       }
 
+      @Override
       public getCredentialSummary_args getEmptyArgsInstance() {
         return new getCredentialSummary_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.credential.store.CredentialSummary o) {
             getCredentialSummary_result result = new getCredentialSummary_result();
             result.success = o;
@@ -1326,6 +1488,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1357,10 +1520,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getCredentialSummary_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CredentialSummary> resultHandler) throws org.apache.thrift.TException {
         iface.getCredentialSummary(args.tokenId, args.gatewayId,resultHandler);
       }
@@ -1371,13 +1536,16 @@
         super("getAllCredentialSummaries");
       }
 
+      @Override
       public getAllCredentialSummaries_args getEmptyArgsInstance() {
         return new getAllCredentialSummaries_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> o) {
             getAllCredentialSummaries_result result = new getAllCredentialSummaries_result();
             result.success = o;
@@ -1391,6 +1559,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1422,10 +1591,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllCredentialSummaries_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllCredentialSummaries(args.type, args.accessibleTokenIds, args.gatewayId,resultHandler);
       }
@@ -1436,13 +1607,16 @@
         super("addSSHCredential");
       }
 
+      @Override
       public addSSHCredential_args getEmptyArgsInstance() {
         return new addSSHCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSSHCredential_result result = new addSSHCredential_result();
             result.success = o;
@@ -1456,6 +1630,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1487,10 +1662,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSSHCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSSHCredential(args.sshCredential,resultHandler);
       }
@@ -1501,13 +1678,16 @@
         super("addCertificateCredential");
       }
 
+      @Override
       public addCertificateCredential_args getEmptyArgsInstance() {
         return new addCertificateCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addCertificateCredential_result result = new addCertificateCredential_result();
             result.success = o;
@@ -1521,6 +1701,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1552,10 +1733,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addCertificateCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addCertificateCredential(args.certificateCredential,resultHandler);
       }
@@ -1566,13 +1749,16 @@
         super("addPasswordCredential");
       }
 
+      @Override
       public addPasswordCredential_args getEmptyArgsInstance() {
         return new addPasswordCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addPasswordCredential_result result = new addPasswordCredential_result();
             result.success = o;
@@ -1586,6 +1772,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1617,10 +1804,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addPasswordCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addPasswordCredential(args.passwordCredential,resultHandler);
       }
@@ -1631,13 +1820,16 @@
         super("getSSHCredential");
       }
 
+      @Override
       public getSSHCredential_args getEmptyArgsInstance() {
         return new getSSHCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.SSHCredential> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.SSHCredential>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.credential.store.SSHCredential o) {
             getSSHCredential_result result = new getSSHCredential_result();
             result.success = o;
@@ -1651,6 +1843,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1682,10 +1875,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getSSHCredential_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.SSHCredential> resultHandler) throws org.apache.thrift.TException {
         iface.getSSHCredential(args.tokenId, args.gatewayId,resultHandler);
       }
@@ -1696,13 +1891,16 @@
         super("getCertificateCredential");
       }
 
+      @Override
       public getCertificateCredential_args getEmptyArgsInstance() {
         return new getCertificateCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CertificateCredential> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CertificateCredential>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.credential.store.CertificateCredential o) {
             getCertificateCredential_result result = new getCertificateCredential_result();
             result.success = o;
@@ -1716,6 +1914,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1747,10 +1946,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getCertificateCredential_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.CertificateCredential> resultHandler) throws org.apache.thrift.TException {
         iface.getCertificateCredential(args.tokenId, args.gatewayId,resultHandler);
       }
@@ -1761,13 +1962,16 @@
         super("getPasswordCredential");
       }
 
+      @Override
       public getPasswordCredential_args getEmptyArgsInstance() {
         return new getPasswordCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.PasswordCredential> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.PasswordCredential>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.credential.store.PasswordCredential o) {
             getPasswordCredential_result result = new getPasswordCredential_result();
             result.success = o;
@@ -1781,6 +1985,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1812,10 +2017,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getPasswordCredential_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.credential.store.PasswordCredential> resultHandler) throws org.apache.thrift.TException {
         iface.getPasswordCredential(args.tokenId, args.gatewayId,resultHandler);
       }
@@ -1826,13 +2033,16 @@
         super("getAllCredentialSummaryForGateway");
       }
 
+      @Override
       public getAllCredentialSummaryForGateway_args getEmptyArgsInstance() {
         return new getAllCredentialSummaryForGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> o) {
             getAllCredentialSummaryForGateway_result result = new getAllCredentialSummaryForGateway_result();
             result.success = o;
@@ -1846,6 +2056,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1877,10 +2088,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllCredentialSummaryForGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllCredentialSummaryForGateway(args.type, args.gatewayId,resultHandler);
       }
@@ -1891,13 +2104,16 @@
         super("getAllCredentialSummaryForUserInGateway");
       }
 
+      @Override
       public getAllCredentialSummaryForUserInGateway_args getEmptyArgsInstance() {
         return new getAllCredentialSummaryForUserInGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> o) {
             getAllCredentialSummaryForUserInGateway_result result = new getAllCredentialSummaryForUserInGateway_result();
             result.success = o;
@@ -1911,6 +2127,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -1942,10 +2159,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllCredentialSummaryForUserInGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.credential.store.CredentialSummary>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllCredentialSummaryForUserInGateway(args.type, args.gatewayId, args.userId,resultHandler);
       }
@@ -1956,13 +2175,16 @@
         super("getAllPWDCredentialsForGateway");
       }
 
+      @Override
       public getAllPWDCredentialsForGateway_args getEmptyArgsInstance() {
         return new getAllPWDCredentialsForGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllPWDCredentialsForGateway_result result = new getAllPWDCredentialsForGateway_result();
             result.success = o;
@@ -1976,6 +2198,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2007,10 +2230,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllPWDCredentialsForGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllPWDCredentialsForGateway(args.gatewayId,resultHandler);
       }
@@ -2021,13 +2246,16 @@
         super("deleteSSHCredential");
       }
 
+      @Override
       public deleteSSHCredential_args getEmptyArgsInstance() {
         return new deleteSSHCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteSSHCredential_result result = new deleteSSHCredential_result();
             result.success = o;
@@ -2042,6 +2270,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2073,10 +2302,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteSSHCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteSSHCredential(args.tokenId, args.gatewayId,resultHandler);
       }
@@ -2087,13 +2318,16 @@
         super("deletePWDCredential");
       }
 
+      @Override
       public deletePWDCredential_args getEmptyArgsInstance() {
         return new deletePWDCredential_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deletePWDCredential_result result = new deletePWDCredential_result();
             result.success = o;
@@ -2108,6 +2342,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -2139,10 +2374,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deletePWDCredential_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deletePWDCredential(args.tokenId, args.gatewayId,resultHandler);
       }
@@ -2150,6 +2387,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCredentialSummary_args implements org.apache.thrift.TBase<getCredentialSummary_args, getCredentialSummary_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCredentialSummary_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCredentialSummary_args");
 
@@ -2159,8 +2397,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCredentialSummary_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCredentialSummary_argsTupleSchemeFactory();
 
-    public java.lang.String tokenId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -2178,6 +2416,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TOKEN_ID
@@ -2202,6 +2441,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2214,10 +2454,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2259,6 +2501,7 @@
       }
     }
 
+    @Override
     public getCredentialSummary_args deepCopy() {
       return new getCredentialSummary_args(this);
     }
@@ -2269,11 +2512,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public getCredentialSummary_args setTokenId(java.lang.String tokenId) {
+    public getCredentialSummary_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -2293,11 +2537,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getCredentialSummary_args setGatewayId(java.lang.String gatewayId) {
+    public getCredentialSummary_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -2317,7 +2562,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TOKEN_ID:
         if (value == null) {
@@ -2338,6 +2584,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TOKEN_ID:
@@ -2351,6 +2599,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2367,8 +2616,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCredentialSummary_args)
         return this.equals((getCredentialSummary_args)that);
       return false;
@@ -2424,7 +2671,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2434,7 +2681,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2447,14 +2694,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -2511,6 +2762,7 @@
     }
 
     private static class getCredentialSummary_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_argsStandardScheme getScheme() {
         return new getCredentialSummary_argsStandardScheme();
       }
@@ -2518,6 +2770,7 @@
 
     private static class getCredentialSummary_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCredentialSummary_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2555,6 +2808,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCredentialSummary_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2576,6 +2830,7 @@
     }
 
     private static class getCredentialSummary_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_argsTupleScheme getScheme() {
         return new getCredentialSummary_argsTupleScheme();
       }
@@ -2605,6 +2860,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCredentialSummary_result implements org.apache.thrift.TBase<getCredentialSummary_result, getCredentialSummary_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCredentialSummary_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCredentialSummary_result");
 
@@ -2614,8 +2870,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCredentialSummary_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCredentialSummary_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.CredentialSummary success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -2633,6 +2889,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -2657,6 +2914,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2669,10 +2927,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2714,6 +2974,7 @@
       }
     }
 
+    @Override
     public getCredentialSummary_result deepCopy() {
       return new getCredentialSummary_result(this);
     }
@@ -2724,11 +2985,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.CredentialSummary getSuccess() {
       return this.success;
     }
 
-    public getCredentialSummary_result setSuccess(org.apache.airavata.model.credential.store.CredentialSummary success) {
+    public getCredentialSummary_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary success) {
       this.success = success;
       return this;
     }
@@ -2748,11 +3010,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getCredentialSummary_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getCredentialSummary_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -2772,7 +3035,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -2793,6 +3057,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -2806,6 +3072,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2822,8 +3089,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCredentialSummary_result)
         return this.equals((getCredentialSummary_result)that);
       return false;
@@ -2879,7 +3144,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2889,7 +3154,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2902,10 +3167,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -2963,6 +3231,7 @@
     }
 
     private static class getCredentialSummary_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_resultStandardScheme getScheme() {
         return new getCredentialSummary_resultStandardScheme();
       }
@@ -2970,6 +3239,7 @@
 
     private static class getCredentialSummary_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCredentialSummary_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3009,6 +3279,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCredentialSummary_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3030,6 +3301,7 @@
     }
 
     private static class getCredentialSummary_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCredentialSummary_resultTupleScheme getScheme() {
         return new getCredentialSummary_resultTupleScheme();
       }
@@ -3078,6 +3350,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaries_args implements org.apache.thrift.TBase<getAllCredentialSummaries_args, getAllCredentialSummaries_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaries_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaries_args");
 
@@ -3092,9 +3365,9 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public org.apache.airavata.model.credential.store.SummaryType type; // required
-    public java.util.List<java.lang.String> accessibleTokenIds; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleTokenIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -3117,6 +3390,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TYPE
@@ -3143,6 +3417,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3155,10 +3430,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3209,6 +3486,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaries_args deepCopy() {
       return new getAllCredentialSummaries_args(this);
     }
@@ -3224,6 +3502,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.SummaryType getType() {
       return this.type;
     }
@@ -3232,7 +3511,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public getAllCredentialSummaries_args setType(org.apache.airavata.model.credential.store.SummaryType type) {
+    public getAllCredentialSummaries_args setType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type) {
       this.type = type;
       return this;
     }
@@ -3256,6 +3535,7 @@
       return (this.accessibleTokenIds == null) ? 0 : this.accessibleTokenIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleTokenIdsIterator() {
       return (this.accessibleTokenIds == null) ? null : this.accessibleTokenIds.iterator();
     }
@@ -3267,11 +3547,12 @@
       this.accessibleTokenIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleTokenIds() {
       return this.accessibleTokenIds;
     }
 
-    public getAllCredentialSummaries_args setAccessibleTokenIds(java.util.List<java.lang.String> accessibleTokenIds) {
+    public getAllCredentialSummaries_args setAccessibleTokenIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleTokenIds) {
       this.accessibleTokenIds = accessibleTokenIds;
       return this;
     }
@@ -3291,11 +3572,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllCredentialSummaries_args setGatewayId(java.lang.String gatewayId) {
+    public getAllCredentialSummaries_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -3315,7 +3597,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TYPE:
         if (value == null) {
@@ -3344,6 +3627,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TYPE:
@@ -3360,6 +3645,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3378,8 +3664,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaries_args)
         return this.equals((getAllCredentialSummaries_args)that);
       return false;
@@ -3448,7 +3732,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+      lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3458,7 +3742,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleTokenIds()).compareTo(other.isSetAccessibleTokenIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleTokenIds(), other.isSetAccessibleTokenIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3468,7 +3752,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3481,14 +3765,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -3556,6 +3844,7 @@
     }
 
     private static class getAllCredentialSummaries_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_argsStandardScheme getScheme() {
         return new getAllCredentialSummaries_argsStandardScheme();
       }
@@ -3563,6 +3852,7 @@
 
     private static class getAllCredentialSummaries_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaries_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3586,7 +3876,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.accessibleTokenIds = new java.util.ArrayList<java.lang.String>(_list0.size);
-                  java.lang.String _elem1;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = iprot.readString();
@@ -3618,6 +3908,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaries_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3651,6 +3942,7 @@
     }
 
     private static class getAllCredentialSummaries_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_argsTupleScheme getScheme() {
         return new getAllCredentialSummaries_argsTupleScheme();
       }
@@ -3678,9 +3970,9 @@
         struct.type = org.apache.airavata.model.credential.store.SummaryType.findByValue(iprot.readI32());
         struct.setTypeIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.accessibleTokenIds = new java.util.ArrayList<java.lang.String>(_list5.size);
-          java.lang.String _elem6;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = iprot.readString();
@@ -3698,6 +3990,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaries_result implements org.apache.thrift.TBase<getAllCredentialSummaries_result, getAllCredentialSummaries_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaries_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaries_result");
 
@@ -3707,8 +4000,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaries_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaries_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -3726,6 +4019,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -3750,6 +4044,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3762,10 +4057,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3812,6 +4109,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaries_result deepCopy() {
       return new getAllCredentialSummaries_result(this);
     }
@@ -3826,6 +4124,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.credential.store.CredentialSummary> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -3837,11 +4136,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getSuccess() {
       return this.success;
     }
 
-    public getAllCredentialSummaries_result setSuccess(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
+    public getAllCredentialSummaries_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
       this.success = success;
       return this;
     }
@@ -3861,11 +4161,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getAllCredentialSummaries_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getAllCredentialSummaries_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -3885,7 +4186,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -3906,6 +4208,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -3919,6 +4223,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3935,8 +4240,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaries_result)
         return this.equals((getAllCredentialSummaries_result)that);
       return false;
@@ -3992,7 +4295,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4002,7 +4305,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4015,10 +4318,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -4073,6 +4379,7 @@
     }
 
     private static class getAllCredentialSummaries_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_resultStandardScheme getScheme() {
         return new getAllCredentialSummaries_resultStandardScheme();
       }
@@ -4080,6 +4387,7 @@
 
     private static class getAllCredentialSummaries_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaries_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4095,7 +4403,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list8.size);
-                  org.apache.airavata.model.credential.store.CredentialSummary _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -4129,6 +4437,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaries_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4157,6 +4466,7 @@
     }
 
     private static class getAllCredentialSummaries_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaries_resultTupleScheme getScheme() {
         return new getAllCredentialSummaries_resultTupleScheme();
       }
@@ -4195,9 +4505,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list13.size);
-            org.apache.airavata.model.credential.store.CredentialSummary _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -4220,6 +4530,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHCredential_args implements org.apache.thrift.TBase<addSSHCredential_args, addSSHCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHCredential_args");
 
@@ -4228,7 +4539,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHCredential_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.SSHCredential sshCredential; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SSHCredential sshCredential; // 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 {
@@ -4245,6 +4556,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // SSH_CREDENTIAL
@@ -4267,6 +4579,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4279,10 +4592,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4317,6 +4632,7 @@
       }
     }
 
+    @Override
     public addSSHCredential_args deepCopy() {
       return new addSSHCredential_args(this);
     }
@@ -4326,11 +4642,12 @@
       this.sshCredential = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.SSHCredential getSshCredential() {
       return this.sshCredential;
     }
 
-    public addSSHCredential_args setSshCredential(org.apache.airavata.model.credential.store.SSHCredential sshCredential) {
+    public addSSHCredential_args setSshCredential(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SSHCredential sshCredential) {
       this.sshCredential = sshCredential;
       return this;
     }
@@ -4350,7 +4667,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SSH_CREDENTIAL:
         if (value == null) {
@@ -4363,6 +4681,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SSH_CREDENTIAL:
@@ -4373,6 +4693,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4387,8 +4708,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHCredential_args)
         return this.equals((addSSHCredential_args)that);
       return false;
@@ -4431,7 +4750,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSshCredential()).compareTo(other.isSetSshCredential());
+      lastComparison = java.lang.Boolean.compare(isSetSshCredential(), other.isSetSshCredential());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4444,14 +4763,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -4500,6 +4823,7 @@
     }
 
     private static class addSSHCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHCredential_argsStandardScheme getScheme() {
         return new addSSHCredential_argsStandardScheme();
       }
@@ -4507,6 +4831,7 @@
 
     private static class addSSHCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4537,6 +4862,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4553,6 +4879,7 @@
     }
 
     private static class addSSHCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHCredential_argsTupleScheme getScheme() {
         return new addSSHCredential_argsTupleScheme();
       }
@@ -4580,6 +4907,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHCredential_result implements org.apache.thrift.TBase<addSSHCredential_result, addSSHCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHCredential_result");
 
@@ -4589,8 +4917,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHCredential_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -4608,6 +4936,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -4632,6 +4961,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4644,10 +4974,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4689,6 +5021,7 @@
       }
     }
 
+    @Override
     public addSSHCredential_result deepCopy() {
       return new addSSHCredential_result(this);
     }
@@ -4699,11 +5032,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSSHCredential_result setSuccess(java.lang.String success) {
+    public addSSHCredential_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -4723,11 +5057,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public addSSHCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public addSSHCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -4747,7 +5082,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -4768,6 +5104,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -4781,6 +5119,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4797,8 +5136,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHCredential_result)
         return this.equals((addSSHCredential_result)that);
       return false;
@@ -4854,7 +5191,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4864,7 +5201,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4877,10 +5214,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -4935,6 +5275,7 @@
     }
 
     private static class addSSHCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHCredential_resultStandardScheme getScheme() {
         return new addSSHCredential_resultStandardScheme();
       }
@@ -4942,6 +5283,7 @@
 
     private static class addSSHCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4980,6 +5322,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5001,6 +5344,7 @@
     }
 
     private static class addSSHCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHCredential_resultTupleScheme getScheme() {
         return new addSSHCredential_resultTupleScheme();
       }
@@ -5048,6 +5392,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addCertificateCredential_args implements org.apache.thrift.TBase<addCertificateCredential_args, addCertificateCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<addCertificateCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addCertificateCredential_args");
 
@@ -5056,7 +5401,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addCertificateCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addCertificateCredential_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.CertificateCredential certificateCredential; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CertificateCredential certificateCredential; // 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 {
@@ -5073,6 +5418,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // CERTIFICATE_CREDENTIAL
@@ -5095,6 +5441,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5107,10 +5454,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5145,6 +5494,7 @@
       }
     }
 
+    @Override
     public addCertificateCredential_args deepCopy() {
       return new addCertificateCredential_args(this);
     }
@@ -5154,11 +5504,12 @@
       this.certificateCredential = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.CertificateCredential getCertificateCredential() {
       return this.certificateCredential;
     }
 
-    public addCertificateCredential_args setCertificateCredential(org.apache.airavata.model.credential.store.CertificateCredential certificateCredential) {
+    public addCertificateCredential_args setCertificateCredential(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CertificateCredential certificateCredential) {
       this.certificateCredential = certificateCredential;
       return this;
     }
@@ -5178,7 +5529,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case CERTIFICATE_CREDENTIAL:
         if (value == null) {
@@ -5191,6 +5543,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case CERTIFICATE_CREDENTIAL:
@@ -5201,6 +5555,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5215,8 +5570,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addCertificateCredential_args)
         return this.equals((addCertificateCredential_args)that);
       return false;
@@ -5259,7 +5612,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetCertificateCredential()).compareTo(other.isSetCertificateCredential());
+      lastComparison = java.lang.Boolean.compare(isSetCertificateCredential(), other.isSetCertificateCredential());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5272,14 +5625,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -5328,6 +5685,7 @@
     }
 
     private static class addCertificateCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCertificateCredential_argsStandardScheme getScheme() {
         return new addCertificateCredential_argsStandardScheme();
       }
@@ -5335,6 +5693,7 @@
 
     private static class addCertificateCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addCertificateCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addCertificateCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5365,6 +5724,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addCertificateCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5381,6 +5741,7 @@
     }
 
     private static class addCertificateCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCertificateCredential_argsTupleScheme getScheme() {
         return new addCertificateCredential_argsTupleScheme();
       }
@@ -5408,6 +5769,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addCertificateCredential_result implements org.apache.thrift.TBase<addCertificateCredential_result, addCertificateCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<addCertificateCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addCertificateCredential_result");
 
@@ -5417,8 +5779,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addCertificateCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addCertificateCredential_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -5436,6 +5798,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -5460,6 +5823,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5472,10 +5836,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5517,6 +5883,7 @@
       }
     }
 
+    @Override
     public addCertificateCredential_result deepCopy() {
       return new addCertificateCredential_result(this);
     }
@@ -5527,11 +5894,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addCertificateCredential_result setSuccess(java.lang.String success) {
+    public addCertificateCredential_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -5551,11 +5919,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public addCertificateCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public addCertificateCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -5575,7 +5944,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -5596,6 +5966,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -5609,6 +5981,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5625,8 +5998,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addCertificateCredential_result)
         return this.equals((addCertificateCredential_result)that);
       return false;
@@ -5682,7 +6053,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5692,7 +6063,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5705,10 +6076,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -5763,6 +6137,7 @@
     }
 
     private static class addCertificateCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCertificateCredential_resultStandardScheme getScheme() {
         return new addCertificateCredential_resultStandardScheme();
       }
@@ -5770,6 +6145,7 @@
 
     private static class addCertificateCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addCertificateCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addCertificateCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5808,6 +6184,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addCertificateCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5829,6 +6206,7 @@
     }
 
     private static class addCertificateCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCertificateCredential_resultTupleScheme getScheme() {
         return new addCertificateCredential_resultTupleScheme();
       }
@@ -5876,6 +6254,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addPasswordCredential_args implements org.apache.thrift.TBase<addPasswordCredential_args, addPasswordCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<addPasswordCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addPasswordCredential_args");
 
@@ -5884,7 +6263,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addPasswordCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addPasswordCredential_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.PasswordCredential passwordCredential; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.PasswordCredential passwordCredential; // 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 {
@@ -5901,6 +6280,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PASSWORD_CREDENTIAL
@@ -5923,6 +6303,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -5935,10 +6316,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5973,6 +6356,7 @@
       }
     }
 
+    @Override
     public addPasswordCredential_args deepCopy() {
       return new addPasswordCredential_args(this);
     }
@@ -5982,11 +6366,12 @@
       this.passwordCredential = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.PasswordCredential getPasswordCredential() {
       return this.passwordCredential;
     }
 
-    public addPasswordCredential_args setPasswordCredential(org.apache.airavata.model.credential.store.PasswordCredential passwordCredential) {
+    public addPasswordCredential_args setPasswordCredential(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.PasswordCredential passwordCredential) {
       this.passwordCredential = passwordCredential;
       return this;
     }
@@ -6006,7 +6391,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PASSWORD_CREDENTIAL:
         if (value == null) {
@@ -6019,6 +6405,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PASSWORD_CREDENTIAL:
@@ -6029,6 +6417,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6043,8 +6432,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addPasswordCredential_args)
         return this.equals((addPasswordCredential_args)that);
       return false;
@@ -6087,7 +6474,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetPasswordCredential()).compareTo(other.isSetPasswordCredential());
+      lastComparison = java.lang.Boolean.compare(isSetPasswordCredential(), other.isSetPasswordCredential());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6100,14 +6487,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -6156,6 +6547,7 @@
     }
 
     private static class addPasswordCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addPasswordCredential_argsStandardScheme getScheme() {
         return new addPasswordCredential_argsStandardScheme();
       }
@@ -6163,6 +6555,7 @@
 
     private static class addPasswordCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addPasswordCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addPasswordCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6193,6 +6586,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addPasswordCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6209,6 +6603,7 @@
     }
 
     private static class addPasswordCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addPasswordCredential_argsTupleScheme getScheme() {
         return new addPasswordCredential_argsTupleScheme();
       }
@@ -6236,6 +6631,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addPasswordCredential_result implements org.apache.thrift.TBase<addPasswordCredential_result, addPasswordCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<addPasswordCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addPasswordCredential_result");
 
@@ -6245,8 +6641,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addPasswordCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addPasswordCredential_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -6264,6 +6660,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -6288,6 +6685,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6300,10 +6698,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6345,6 +6745,7 @@
       }
     }
 
+    @Override
     public addPasswordCredential_result deepCopy() {
       return new addPasswordCredential_result(this);
     }
@@ -6355,11 +6756,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addPasswordCredential_result setSuccess(java.lang.String success) {
+    public addPasswordCredential_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -6379,11 +6781,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public addPasswordCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public addPasswordCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -6403,7 +6806,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -6424,6 +6828,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -6437,6 +6843,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6453,8 +6860,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addPasswordCredential_result)
         return this.equals((addPasswordCredential_result)that);
       return false;
@@ -6510,7 +6915,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6520,7 +6925,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6533,10 +6938,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -6591,6 +6999,7 @@
     }
 
     private static class addPasswordCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addPasswordCredential_resultStandardScheme getScheme() {
         return new addPasswordCredential_resultStandardScheme();
       }
@@ -6598,6 +7007,7 @@
 
     private static class addPasswordCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addPasswordCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addPasswordCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -6636,6 +7046,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addPasswordCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -6657,6 +7068,7 @@
     }
 
     private static class addPasswordCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addPasswordCredential_resultTupleScheme getScheme() {
         return new addPasswordCredential_resultTupleScheme();
       }
@@ -6704,6 +7116,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHCredential_args implements org.apache.thrift.TBase<getSSHCredential_args, getSSHCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHCredential_args");
 
@@ -6713,8 +7126,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHCredential_argsTupleSchemeFactory();
 
-    public java.lang.String tokenId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -6732,6 +7145,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TOKEN_ID
@@ -6756,6 +7170,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -6768,10 +7183,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -6813,6 +7230,7 @@
       }
     }
 
+    @Override
     public getSSHCredential_args deepCopy() {
       return new getSSHCredential_args(this);
     }
@@ -6823,11 +7241,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public getSSHCredential_args setTokenId(java.lang.String tokenId) {
+    public getSSHCredential_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -6847,11 +7266,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getSSHCredential_args setGatewayId(java.lang.String gatewayId) {
+    public getSSHCredential_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -6871,7 +7291,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TOKEN_ID:
         if (value == null) {
@@ -6892,6 +7313,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TOKEN_ID:
@@ -6905,6 +7328,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -6921,8 +7345,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHCredential_args)
         return this.equals((getSSHCredential_args)that);
       return false;
@@ -6978,7 +7400,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -6988,7 +7410,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7001,14 +7423,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -7065,6 +7491,7 @@
     }
 
     private static class getSSHCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHCredential_argsStandardScheme getScheme() {
         return new getSSHCredential_argsStandardScheme();
       }
@@ -7072,6 +7499,7 @@
 
     private static class getSSHCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7109,6 +7537,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7130,6 +7559,7 @@
     }
 
     private static class getSSHCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHCredential_argsTupleScheme getScheme() {
         return new getSSHCredential_argsTupleScheme();
       }
@@ -7159,6 +7589,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHCredential_result implements org.apache.thrift.TBase<getSSHCredential_result, getSSHCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHCredential_result");
 
@@ -7168,8 +7599,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHCredential_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.SSHCredential success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SSHCredential success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -7187,6 +7618,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -7211,6 +7643,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7223,10 +7656,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7268,6 +7703,7 @@
       }
     }
 
+    @Override
     public getSSHCredential_result deepCopy() {
       return new getSSHCredential_result(this);
     }
@@ -7278,11 +7714,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.SSHCredential getSuccess() {
       return this.success;
     }
 
-    public getSSHCredential_result setSuccess(org.apache.airavata.model.credential.store.SSHCredential success) {
+    public getSSHCredential_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SSHCredential success) {
       this.success = success;
       return this;
     }
@@ -7302,11 +7739,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getSSHCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getSSHCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -7326,7 +7764,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -7347,6 +7786,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -7360,6 +7801,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7376,8 +7818,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHCredential_result)
         return this.equals((getSSHCredential_result)that);
       return false;
@@ -7433,7 +7873,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7443,7 +7883,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7456,10 +7896,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -7517,6 +7960,7 @@
     }
 
     private static class getSSHCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHCredential_resultStandardScheme getScheme() {
         return new getSSHCredential_resultStandardScheme();
       }
@@ -7524,6 +7968,7 @@
 
     private static class getSSHCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -7563,6 +8008,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -7584,6 +8030,7 @@
     }
 
     private static class getSSHCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHCredential_resultTupleScheme getScheme() {
         return new getSSHCredential_resultTupleScheme();
       }
@@ -7632,6 +8079,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCertificateCredential_args implements org.apache.thrift.TBase<getCertificateCredential_args, getCertificateCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCertificateCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCertificateCredential_args");
 
@@ -7641,8 +8089,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCertificateCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCertificateCredential_argsTupleSchemeFactory();
 
-    public java.lang.String tokenId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -7660,6 +8108,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TOKEN_ID
@@ -7684,6 +8133,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -7696,10 +8146,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -7741,6 +8193,7 @@
       }
     }
 
+    @Override
     public getCertificateCredential_args deepCopy() {
       return new getCertificateCredential_args(this);
     }
@@ -7751,11 +8204,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public getCertificateCredential_args setTokenId(java.lang.String tokenId) {
+    public getCertificateCredential_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -7775,11 +8229,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getCertificateCredential_args setGatewayId(java.lang.String gatewayId) {
+    public getCertificateCredential_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -7799,7 +8254,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TOKEN_ID:
         if (value == null) {
@@ -7820,6 +8276,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TOKEN_ID:
@@ -7833,6 +8291,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -7849,8 +8308,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCertificateCredential_args)
         return this.equals((getCertificateCredential_args)that);
       return false;
@@ -7906,7 +8363,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7916,7 +8373,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -7929,14 +8386,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -7993,6 +8454,7 @@
     }
 
     private static class getCertificateCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCertificateCredential_argsStandardScheme getScheme() {
         return new getCertificateCredential_argsStandardScheme();
       }
@@ -8000,6 +8462,7 @@
 
     private static class getCertificateCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCertificateCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCertificateCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8037,6 +8500,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCertificateCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8058,6 +8522,7 @@
     }
 
     private static class getCertificateCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCertificateCredential_argsTupleScheme getScheme() {
         return new getCertificateCredential_argsTupleScheme();
       }
@@ -8087,6 +8552,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCertificateCredential_result implements org.apache.thrift.TBase<getCertificateCredential_result, getCertificateCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCertificateCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCertificateCredential_result");
 
@@ -8096,8 +8562,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCertificateCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCertificateCredential_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.CertificateCredential success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CertificateCredential success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -8115,6 +8581,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -8139,6 +8606,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8151,10 +8619,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8196,6 +8666,7 @@
       }
     }
 
+    @Override
     public getCertificateCredential_result deepCopy() {
       return new getCertificateCredential_result(this);
     }
@@ -8206,11 +8677,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.CertificateCredential getSuccess() {
       return this.success;
     }
 
-    public getCertificateCredential_result setSuccess(org.apache.airavata.model.credential.store.CertificateCredential success) {
+    public getCertificateCredential_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CertificateCredential success) {
       this.success = success;
       return this;
     }
@@ -8230,11 +8702,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getCertificateCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getCertificateCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -8254,7 +8727,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -8275,6 +8749,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -8288,6 +8764,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8304,8 +8781,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCertificateCredential_result)
         return this.equals((getCertificateCredential_result)that);
       return false;
@@ -8361,7 +8836,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8371,7 +8846,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8384,10 +8859,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -8445,6 +8923,7 @@
     }
 
     private static class getCertificateCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCertificateCredential_resultStandardScheme getScheme() {
         return new getCertificateCredential_resultStandardScheme();
       }
@@ -8452,6 +8931,7 @@
 
     private static class getCertificateCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCertificateCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCertificateCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8491,6 +8971,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCertificateCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8512,6 +8993,7 @@
     }
 
     private static class getCertificateCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCertificateCredential_resultTupleScheme getScheme() {
         return new getCertificateCredential_resultTupleScheme();
       }
@@ -8560,6 +9042,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getPasswordCredential_args implements org.apache.thrift.TBase<getPasswordCredential_args, getPasswordCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<getPasswordCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPasswordCredential_args");
 
@@ -8569,8 +9052,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getPasswordCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getPasswordCredential_argsTupleSchemeFactory();
 
-    public java.lang.String tokenId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -8588,6 +9071,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TOKEN_ID
@@ -8612,6 +9096,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -8624,10 +9109,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -8669,6 +9156,7 @@
       }
     }
 
+    @Override
     public getPasswordCredential_args deepCopy() {
       return new getPasswordCredential_args(this);
     }
@@ -8679,11 +9167,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public getPasswordCredential_args setTokenId(java.lang.String tokenId) {
+    public getPasswordCredential_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -8703,11 +9192,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getPasswordCredential_args setGatewayId(java.lang.String gatewayId) {
+    public getPasswordCredential_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -8727,7 +9217,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TOKEN_ID:
         if (value == null) {
@@ -8748,6 +9239,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TOKEN_ID:
@@ -8761,6 +9254,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -8777,8 +9271,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getPasswordCredential_args)
         return this.equals((getPasswordCredential_args)that);
       return false;
@@ -8834,7 +9326,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8844,7 +9336,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -8857,14 +9349,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -8921,6 +9417,7 @@
     }
 
     private static class getPasswordCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPasswordCredential_argsStandardScheme getScheme() {
         return new getPasswordCredential_argsStandardScheme();
       }
@@ -8928,6 +9425,7 @@
 
     private static class getPasswordCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getPasswordCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getPasswordCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -8965,6 +9463,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getPasswordCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -8986,6 +9485,7 @@
     }
 
     private static class getPasswordCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPasswordCredential_argsTupleScheme getScheme() {
         return new getPasswordCredential_argsTupleScheme();
       }
@@ -9015,6 +9515,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getPasswordCredential_result implements org.apache.thrift.TBase<getPasswordCredential_result, getPasswordCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<getPasswordCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPasswordCredential_result");
 
@@ -9024,8 +9525,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getPasswordCredential_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getPasswordCredential_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.credential.store.PasswordCredential success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.PasswordCredential success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -9043,6 +9544,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -9067,6 +9569,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9079,10 +9582,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9124,6 +9629,7 @@
       }
     }
 
+    @Override
     public getPasswordCredential_result deepCopy() {
       return new getPasswordCredential_result(this);
     }
@@ -9134,11 +9640,12 @@
       this.csException = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.PasswordCredential getSuccess() {
       return this.success;
     }
 
-    public getPasswordCredential_result setSuccess(org.apache.airavata.model.credential.store.PasswordCredential success) {
+    public getPasswordCredential_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.PasswordCredential success) {
       this.success = success;
       return this;
     }
@@ -9158,11 +9665,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getPasswordCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getPasswordCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -9182,7 +9690,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -9203,6 +9712,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -9216,6 +9727,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9232,8 +9744,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getPasswordCredential_result)
         return this.equals((getPasswordCredential_result)that);
       return false;
@@ -9289,7 +9799,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9299,7 +9809,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9312,10 +9822,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -9373,6 +9886,7 @@
     }
 
     private static class getPasswordCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPasswordCredential_resultStandardScheme getScheme() {
         return new getPasswordCredential_resultStandardScheme();
       }
@@ -9380,6 +9894,7 @@
 
     private static class getPasswordCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getPasswordCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getPasswordCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9419,6 +9934,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getPasswordCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9440,6 +9956,7 @@
     }
 
     private static class getPasswordCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPasswordCredential_resultTupleScheme getScheme() {
         return new getPasswordCredential_resultTupleScheme();
       }
@@ -9488,6 +10005,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaryForGateway_args implements org.apache.thrift.TBase<getAllCredentialSummaryForGateway_args, getAllCredentialSummaryForGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaryForGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaryForGateway_args");
 
@@ -9501,8 +10019,8 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public org.apache.airavata.model.credential.store.SummaryType type; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -9524,6 +10042,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TYPE
@@ -9548,6 +10067,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9560,10 +10080,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9605,6 +10127,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaryForGateway_args deepCopy() {
       return new getAllCredentialSummaryForGateway_args(this);
     }
@@ -9619,6 +10142,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.SummaryType getType() {
       return this.type;
     }
@@ -9627,7 +10151,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public getAllCredentialSummaryForGateway_args setType(org.apache.airavata.model.credential.store.SummaryType type) {
+    public getAllCredentialSummaryForGateway_args setType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type) {
       this.type = type;
       return this;
     }
@@ -9647,11 +10171,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllCredentialSummaryForGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getAllCredentialSummaryForGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -9671,7 +10196,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TYPE:
         if (value == null) {
@@ -9692,6 +10218,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TYPE:
@@ -9705,6 +10233,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9721,8 +10250,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaryForGateway_args)
         return this.equals((getAllCredentialSummaryForGateway_args)that);
       return false;
@@ -9778,7 +10305,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+      lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9788,7 +10315,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9801,14 +10328,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -9865,6 +10396,7 @@
     }
 
     private static class getAllCredentialSummaryForGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForGateway_argsStandardScheme getScheme() {
         return new getAllCredentialSummaryForGateway_argsStandardScheme();
       }
@@ -9872,6 +10404,7 @@
 
     private static class getAllCredentialSummaryForGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaryForGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaryForGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9909,6 +10442,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaryForGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9930,6 +10464,7 @@
     }
 
     private static class getAllCredentialSummaryForGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForGateway_argsTupleScheme getScheme() {
         return new getAllCredentialSummaryForGateway_argsTupleScheme();
       }
@@ -9959,6 +10494,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaryForGateway_result implements org.apache.thrift.TBase<getAllCredentialSummaryForGateway_result, getAllCredentialSummaryForGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaryForGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaryForGateway_result");
 
@@ -9968,8 +10504,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaryForGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaryForGateway_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -9987,6 +10523,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -10011,6 +10548,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10023,10 +10561,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10073,6 +10613,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaryForGateway_result deepCopy() {
       return new getAllCredentialSummaryForGateway_result(this);
     }
@@ -10087,6 +10628,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.credential.store.CredentialSummary> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -10098,11 +10640,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getSuccess() {
       return this.success;
     }
 
-    public getAllCredentialSummaryForGateway_result setSuccess(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
+    public getAllCredentialSummaryForGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
       this.success = success;
       return this;
     }
@@ -10122,11 +10665,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getAllCredentialSummaryForGateway_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getAllCredentialSummaryForGateway_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -10146,7 +10690,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -10167,6 +10712,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -10180,6 +10727,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10196,8 +10744,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaryForGateway_result)
         return this.equals((getAllCredentialSummaryForGateway_result)that);
       return false;
@@ -10253,7 +10799,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10263,7 +10809,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10276,10 +10822,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -10334,6 +10883,7 @@
     }
 
     private static class getAllCredentialSummaryForGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForGateway_resultStandardScheme getScheme() {
         return new getAllCredentialSummaryForGateway_resultStandardScheme();
       }
@@ -10341,6 +10891,7 @@
 
     private static class getAllCredentialSummaryForGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaryForGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaryForGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10356,7 +10907,7 @@
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list16.size);
-                  org.apache.airavata.model.credential.store.CredentialSummary _elem17;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem17;
                   for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                   {
                     _elem17 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -10390,6 +10941,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaryForGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10418,6 +10970,7 @@
     }
 
     private static class getAllCredentialSummaryForGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForGateway_resultTupleScheme getScheme() {
         return new getAllCredentialSummaryForGateway_resultTupleScheme();
       }
@@ -10456,9 +11009,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list21.size);
-            org.apache.airavata.model.credential.store.CredentialSummary _elem22;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem22;
             for (int _i23 = 0; _i23 < _list21.size; ++_i23)
             {
               _elem22 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -10481,6 +11034,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaryForUserInGateway_args implements org.apache.thrift.TBase<getAllCredentialSummaryForUserInGateway_args, getAllCredentialSummaryForUserInGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaryForUserInGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaryForUserInGateway_args");
 
@@ -10495,9 +11049,9 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public org.apache.airavata.model.credential.store.SummaryType type; // required
-    public java.lang.String gatewayId; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -10520,6 +11074,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TYPE
@@ -10546,6 +11101,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10558,10 +11114,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10610,6 +11168,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaryForUserInGateway_args deepCopy() {
       return new getAllCredentialSummaryForUserInGateway_args(this);
     }
@@ -10625,6 +11184,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.credential.store.SummaryType getType() {
       return this.type;
     }
@@ -10633,7 +11193,7 @@
      * 
      * @see org.apache.airavata.model.credential.store.SummaryType
      */
-    public getAllCredentialSummaryForUserInGateway_args setType(org.apache.airavata.model.credential.store.SummaryType type) {
+    public getAllCredentialSummaryForUserInGateway_args setType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.SummaryType type) {
       this.type = type;
       return this;
     }
@@ -10653,11 +11213,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllCredentialSummaryForUserInGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getAllCredentialSummaryForUserInGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -10677,11 +11238,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getAllCredentialSummaryForUserInGateway_args setUserId(java.lang.String userId) {
+    public getAllCredentialSummaryForUserInGateway_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -10701,7 +11263,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TYPE:
         if (value == null) {
@@ -10730,6 +11293,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TYPE:
@@ -10746,6 +11311,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10764,8 +11330,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaryForUserInGateway_args)
         return this.equals((getAllCredentialSummaryForUserInGateway_args)that);
       return false;
@@ -10834,7 +11398,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetType()).compareTo(other.isSetType());
+      lastComparison = java.lang.Boolean.compare(isSetType(), other.isSetType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10844,7 +11408,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10854,7 +11418,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10867,14 +11431,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -10942,6 +11510,7 @@
     }
 
     private static class getAllCredentialSummaryForUserInGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForUserInGateway_argsStandardScheme getScheme() {
         return new getAllCredentialSummaryForUserInGateway_argsStandardScheme();
       }
@@ -10949,6 +11518,7 @@
 
     private static class getAllCredentialSummaryForUserInGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaryForUserInGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaryForUserInGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10994,6 +11564,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaryForUserInGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11020,6 +11591,7 @@
     }
 
     private static class getAllCredentialSummaryForUserInGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForUserInGateway_argsTupleScheme getScheme() {
         return new getAllCredentialSummaryForUserInGateway_argsTupleScheme();
       }
@@ -11052,6 +11624,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllCredentialSummaryForUserInGateway_result implements org.apache.thrift.TBase<getAllCredentialSummaryForUserInGateway_result, getAllCredentialSummaryForUserInGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllCredentialSummaryForUserInGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllCredentialSummaryForUserInGateway_result");
 
@@ -11061,8 +11634,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllCredentialSummaryForUserInGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllCredentialSummaryForUserInGateway_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -11080,6 +11653,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -11104,6 +11678,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11116,10 +11691,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11166,6 +11743,7 @@
       }
     }
 
+    @Override
     public getAllCredentialSummaryForUserInGateway_result deepCopy() {
       return new getAllCredentialSummaryForUserInGateway_result(this);
     }
@@ -11180,6 +11758,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.credential.store.CredentialSummary> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -11191,11 +11770,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> getSuccess() {
       return this.success;
     }
 
-    public getAllCredentialSummaryForUserInGateway_result setSuccess(java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
+    public getAllCredentialSummaryForUserInGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.credential.store.CredentialSummary> success) {
       this.success = success;
       return this;
     }
@@ -11215,11 +11795,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getAllCredentialSummaryForUserInGateway_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getAllCredentialSummaryForUserInGateway_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -11239,7 +11820,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -11260,6 +11842,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -11273,6 +11857,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11289,8 +11874,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllCredentialSummaryForUserInGateway_result)
         return this.equals((getAllCredentialSummaryForUserInGateway_result)that);
       return false;
@@ -11346,7 +11929,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11356,7 +11939,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11369,10 +11952,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -11427,6 +12013,7 @@
     }
 
     private static class getAllCredentialSummaryForUserInGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForUserInGateway_resultStandardScheme getScheme() {
         return new getAllCredentialSummaryForUserInGateway_resultStandardScheme();
       }
@@ -11434,6 +12021,7 @@
 
     private static class getAllCredentialSummaryForUserInGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllCredentialSummaryForUserInGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllCredentialSummaryForUserInGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11449,7 +12037,7 @@
                 {
                   org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list24.size);
-                  org.apache.airavata.model.credential.store.CredentialSummary _elem25;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem25;
                   for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                   {
                     _elem25 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -11483,6 +12071,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllCredentialSummaryForUserInGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11511,6 +12100,7 @@
     }
 
     private static class getAllCredentialSummaryForUserInGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllCredentialSummaryForUserInGateway_resultTupleScheme getScheme() {
         return new getAllCredentialSummaryForUserInGateway_resultTupleScheme();
       }
@@ -11549,9 +12139,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.credential.store.CredentialSummary>(_list29.size);
-            org.apache.airavata.model.credential.store.CredentialSummary _elem30;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.credential.store.CredentialSummary _elem30;
             for (int _i31 = 0; _i31 < _list29.size; ++_i31)
             {
               _elem30 = new org.apache.airavata.model.credential.store.CredentialSummary();
@@ -11574,6 +12164,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllPWDCredentialsForGateway_args implements org.apache.thrift.TBase<getAllPWDCredentialsForGateway_args, getAllPWDCredentialsForGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllPWDCredentialsForGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllPWDCredentialsForGateway_args");
 
@@ -11582,7 +12173,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllPWDCredentialsForGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllPWDCredentialsForGateway_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -11599,6 +12190,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -11621,6 +12213,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11633,10 +12226,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11671,6 +12266,7 @@
       }
     }
 
+    @Override
     public getAllPWDCredentialsForGateway_args deepCopy() {
       return new getAllPWDCredentialsForGateway_args(this);
     }
@@ -11680,11 +12276,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllPWDCredentialsForGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getAllPWDCredentialsForGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -11704,7 +12301,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -11717,6 +12315,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -11727,6 +12327,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11741,8 +12342,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllPWDCredentialsForGateway_args)
         return this.equals((getAllPWDCredentialsForGateway_args)that);
       return false;
@@ -11785,7 +12384,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11798,14 +12397,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -11851,6 +12454,7 @@
     }
 
     private static class getAllPWDCredentialsForGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllPWDCredentialsForGateway_argsStandardScheme getScheme() {
         return new getAllPWDCredentialsForGateway_argsStandardScheme();
       }
@@ -11858,6 +12462,7 @@
 
     private static class getAllPWDCredentialsForGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllPWDCredentialsForGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllPWDCredentialsForGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11887,6 +12492,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllPWDCredentialsForGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11903,6 +12509,7 @@
     }
 
     private static class getAllPWDCredentialsForGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllPWDCredentialsForGateway_argsTupleScheme getScheme() {
         return new getAllPWDCredentialsForGateway_argsTupleScheme();
       }
@@ -11929,6 +12536,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllPWDCredentialsForGateway_result implements org.apache.thrift.TBase<getAllPWDCredentialsForGateway_result, getAllPWDCredentialsForGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllPWDCredentialsForGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllPWDCredentialsForGateway_result");
 
@@ -11938,8 +12546,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllPWDCredentialsForGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllPWDCredentialsForGateway_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -11957,6 +12565,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -11981,6 +12590,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11993,10 +12603,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12041,6 +12653,7 @@
       }
     }
 
+    @Override
     public getAllPWDCredentialsForGateway_result deepCopy() {
       return new getAllPWDCredentialsForGateway_result(this);
     }
@@ -12062,11 +12675,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllPWDCredentialsForGateway_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllPWDCredentialsForGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -12086,11 +12700,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public getAllPWDCredentialsForGateway_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public getAllPWDCredentialsForGateway_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -12110,7 +12725,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -12131,6 +12747,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -12144,6 +12762,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12160,8 +12779,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllPWDCredentialsForGateway_result)
         return this.equals((getAllPWDCredentialsForGateway_result)that);
       return false;
@@ -12217,7 +12834,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12227,7 +12844,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12240,10 +12857,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -12298,6 +12918,7 @@
     }
 
     private static class getAllPWDCredentialsForGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllPWDCredentialsForGateway_resultStandardScheme getScheme() {
         return new getAllPWDCredentialsForGateway_resultStandardScheme();
       }
@@ -12305,6 +12926,7 @@
 
     private static class getAllPWDCredentialsForGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllPWDCredentialsForGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllPWDCredentialsForGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12320,8 +12942,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map32 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map32.size);
-                  java.lang.String _key33;
-                  java.lang.String _val34;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key33;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val34;
                   for (int _i35 = 0; _i35 < _map32.size; ++_i35)
                   {
                     _key33 = iprot.readString();
@@ -12355,6 +12977,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllPWDCredentialsForGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12384,6 +13007,7 @@
     }
 
     private static class getAllPWDCredentialsForGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllPWDCredentialsForGateway_resultTupleScheme getScheme() {
         return new getAllPWDCredentialsForGateway_resultTupleScheme();
       }
@@ -12423,10 +13047,10 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map38 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map38 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
             struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map38.size);
-            java.lang.String _key39;
-            java.lang.String _val40;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key39;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val40;
             for (int _i41 = 0; _i41 < _map38.size; ++_i41)
             {
               _key39 = iprot.readString();
@@ -12449,6 +13073,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteSSHCredential_args implements org.apache.thrift.TBase<deleteSSHCredential_args, deleteSSHCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHCredential_args");
 
@@ -12458,8 +13083,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteSSHCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHCredential_argsTupleSchemeFactory();
 
-    public java.lang.String tokenId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -12477,6 +13102,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TOKEN_ID
@@ -12501,6 +13127,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12513,10 +13140,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12558,6 +13187,7 @@
       }
     }
 
+    @Override
     public deleteSSHCredential_args deepCopy() {
       return new deleteSSHCredential_args(this);
     }
@@ -12568,11 +13198,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public deleteSSHCredential_args setTokenId(java.lang.String tokenId) {
+    public deleteSSHCredential_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -12592,11 +13223,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteSSHCredential_args setGatewayId(java.lang.String gatewayId) {
+    public deleteSSHCredential_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -12616,7 +13248,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TOKEN_ID:
         if (value == null) {
@@ -12637,6 +13270,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TOKEN_ID:
@@ -12650,6 +13285,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12666,8 +13302,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteSSHCredential_args)
         return this.equals((deleteSSHCredential_args)that);
       return false;
@@ -12723,7 +13357,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12733,7 +13367,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12746,14 +13380,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -12810,6 +13448,7 @@
     }
 
     private static class deleteSSHCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHCredential_argsStandardScheme getScheme() {
         return new deleteSSHCredential_argsStandardScheme();
       }
@@ -12817,6 +13456,7 @@
 
     private static class deleteSSHCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12854,6 +13494,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12875,6 +13516,7 @@
     }
 
     private static class deleteSSHCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHCredential_argsTupleScheme getScheme() {
         return new deleteSSHCredential_argsTupleScheme();
       }
@@ -12904,6 +13546,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteSSHCredential_result implements org.apache.thrift.TBase<deleteSSHCredential_result, deleteSSHCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteSSHCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteSSHCredential_result");
 
@@ -12914,7 +13557,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteSSHCredential_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -12932,6 +13575,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -12956,6 +13600,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12968,10 +13613,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13015,6 +13662,7 @@
       }
     }
 
+    @Override
     public deleteSSHCredential_result deepCopy() {
       return new deleteSSHCredential_result(this);
     }
@@ -13049,11 +13697,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public deleteSSHCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public deleteSSHCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -13073,7 +13722,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -13094,6 +13744,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -13107,6 +13759,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13123,8 +13776,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteSSHCredential_result)
         return this.equals((deleteSSHCredential_result)that);
       return false;
@@ -13178,7 +13829,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13188,7 +13839,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13201,10 +13852,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -13257,6 +13911,7 @@
     }
 
     private static class deleteSSHCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHCredential_resultStandardScheme getScheme() {
         return new deleteSSHCredential_resultStandardScheme();
       }
@@ -13264,6 +13919,7 @@
 
     private static class deleteSSHCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteSSHCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteSSHCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13302,6 +13958,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteSSHCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13323,6 +13980,7 @@
     }
 
     private static class deleteSSHCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteSSHCredential_resultTupleScheme getScheme() {
         return new deleteSSHCredential_resultTupleScheme();
       }
@@ -13370,6 +14028,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deletePWDCredential_args implements org.apache.thrift.TBase<deletePWDCredential_args, deletePWDCredential_args._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_args");
 
@@ -13379,8 +14038,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePWDCredential_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_argsTupleSchemeFactory();
 
-    public java.lang.String tokenId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String tokenId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -13398,6 +14057,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TOKEN_ID
@@ -13422,6 +14082,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13434,10 +14095,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13479,6 +14142,7 @@
       }
     }
 
+    @Override
     public deletePWDCredential_args deepCopy() {
       return new deletePWDCredential_args(this);
     }
@@ -13489,11 +14153,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTokenId() {
       return this.tokenId;
     }
 
-    public deletePWDCredential_args setTokenId(java.lang.String tokenId) {
+    public deletePWDCredential_args setTokenId(@org.apache.thrift.annotation.Nullable java.lang.String tokenId) {
       this.tokenId = tokenId;
       return this;
     }
@@ -13513,11 +14178,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deletePWDCredential_args setGatewayId(java.lang.String gatewayId) {
+    public deletePWDCredential_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -13537,7 +14203,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TOKEN_ID:
         if (value == null) {
@@ -13558,6 +14225,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TOKEN_ID:
@@ -13571,6 +14240,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13587,8 +14257,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deletePWDCredential_args)
         return this.equals((deletePWDCredential_args)that);
       return false;
@@ -13644,7 +14312,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTokenId()).compareTo(other.isSetTokenId());
+      lastComparison = java.lang.Boolean.compare(isSetTokenId(), other.isSetTokenId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13654,7 +14322,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13667,14 +14335,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -13731,6 +14403,7 @@
     }
 
     private static class deletePWDCredential_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_argsStandardScheme getScheme() {
         return new deletePWDCredential_argsStandardScheme();
       }
@@ -13738,6 +14411,7 @@
 
     private static class deletePWDCredential_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13775,6 +14449,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13796,6 +14471,7 @@
     }
 
     private static class deletePWDCredential_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_argsTupleScheme getScheme() {
         return new deletePWDCredential_argsTupleScheme();
       }
@@ -13825,6 +14501,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deletePWDCredential_result implements org.apache.thrift.TBase<deletePWDCredential_result, deletePWDCredential_result._Fields>, java.io.Serializable, Cloneable, Comparable<deletePWDCredential_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePWDCredential_result");
 
@@ -13835,7 +14512,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePWDCredential_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.credential.store.exception.CredentialStoreException csException; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException; // 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 {
@@ -13853,6 +14530,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -13877,6 +14555,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13889,10 +14568,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13936,6 +14617,7 @@
       }
     }
 
+    @Override
     public deletePWDCredential_result deepCopy() {
       return new deletePWDCredential_result(this);
     }
@@ -13970,11 +14652,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.credential.store.exception.CredentialStoreException getCsException() {
       return this.csException;
     }
 
-    public deletePWDCredential_result setCsException(org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
+    public deletePWDCredential_result setCsException(@org.apache.thrift.annotation.Nullable org.apache.airavata.credential.store.exception.CredentialStoreException csException) {
       this.csException = csException;
       return this;
     }
@@ -13994,7 +14677,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -14015,6 +14699,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -14028,6 +14714,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14044,8 +14731,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deletePWDCredential_result)
         return this.equals((deletePWDCredential_result)that);
       return false;
@@ -14099,7 +14784,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14109,7 +14794,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCsException()).compareTo(other.isSetCsException());
+      lastComparison = java.lang.Boolean.compare(isSetCsException(), other.isSetCsException());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14122,10 +14807,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -14178,6 +14866,7 @@
     }
 
     private static class deletePWDCredential_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_resultStandardScheme getScheme() {
         return new deletePWDCredential_resultStandardScheme();
       }
@@ -14185,6 +14874,7 @@
 
     private static class deletePWDCredential_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePWDCredential_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14223,6 +14913,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deletePWDCredential_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14244,6 +14935,7 @@
     }
 
     private static class deletePWDCredential_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePWDCredential_resultTupleScheme getScheme() {
         return new deletePWDCredential_resultTupleScheme();
       }
diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/credential_store_cpiConstants.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/credential_store_cpiConstants.java
index a837b08..17e4c38 100644
--- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/credential_store_cpiConstants.java
+++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/credential_store_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java
index 9244930..5000c99 100644
--- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java
+++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.credential.store.exception;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class CredentialStoreException extends org.apache.thrift.TException implements org.apache.thrift.TBase<CredentialStoreException, CredentialStoreException._Fields>, java.io.Serializable, Cloneable, Comparable<CredentialStoreException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CredentialStoreException");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new CredentialStoreExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new CredentialStoreExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public CredentialStoreException deepCopy() {
     return new CredentialStoreException(this);
   }
@@ -131,11 +136,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public CredentialStoreException setMessage(java.lang.String message) {
+  public CredentialStoreException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -155,7 +161,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -168,6 +175,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -178,6 +187,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -192,8 +202,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof CredentialStoreException)
       return this.equals((CredentialStoreException)that);
     return false;
@@ -236,7 +244,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -249,14 +257,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class CredentialStoreExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CredentialStoreExceptionStandardScheme getScheme() {
       return new CredentialStoreExceptionStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class CredentialStoreExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<CredentialStoreException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, CredentialStoreException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -338,6 +352,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, CredentialStoreException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -354,6 +369,7 @@
   }
 
   private static class CredentialStoreExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public CredentialStoreExceptionTupleScheme getScheme() {
       return new CredentialStoreExceptionTupleScheme();
     }
diff --git a/modules/ide-integration/README.md b/modules/ide-integration/README.md
index e661c4d..d29f57a 100644
--- a/modules/ide-integration/README.md
+++ b/modules/ide-integration/README.md
@@ -56,12 +56,14 @@
   ```
   docker-compose up
   ```
+> **_NOTE:_**  you may need to run ```docker compose up```  i.e., without hyphen if you are running docker compose version 2. Read docker compose migration documentation for more details.
 
 * Apply any database migrations. Go to src/main/containers directory and run
 
   ```
-  cat ./database_scripts/init/*-migrations.sql | docker exec -i resources_db_1 mysql -p123456
+  cat ./database_scripts/init/*-migrations.sql | docker exec -i containers-db-1 mysql -p123456
   ```
+> **_NOTE:_**  words in container name is separated by underscore in docker compose version 1 (for example containers_db_1).
 
 * Wait until all the services come up. This will initialize all utilities required to start Airavata server
 
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql b/modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql
index 4367d25..e3ebde0 100644
--- a/modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql
+++ b/modules/ide-integration/src/main/containers/database_scripts/init/04-expcatalog-migrations.sql
@@ -3,7 +3,7 @@
 ALTER TABLE EXPERIMENT_INPUT ADD COLUMN IF NOT EXISTS OVERRIDE_FILENAME VARCHAR(255);
 ALTER TABLE PROCESS_INPUT ADD COLUMN IF NOT EXISTS OVERRIDE_FILENAME VARCHAR(255);
 
-CREATE TABLE GATEWAY_USAGE_REPORTING_COMMAND (
+CREATE TABLE IF NOT EXISTS GATEWAY_USAGE_REPORTING_COMMAND (
   GATEWAY_ID VARCHAR(255) NOT NULL,
   COMPUTE_RESOURCE_ID VARCHAR(255) NOT NULL,
   COMMAND LONGTEXT NOT NULL,
@@ -13,3 +13,21 @@
 -- AIRAVATA-3369: Convert USER_FRIENDLY_DESCRIPTION from VARCHAR to TEXT (CLOB)
 alter table EXPERIMENT_INPUT modify column USER_FRIENDLY_DESCRIPTION TEXT;
 alter table PROCESS_INPUT modify column USER_FRIENDLY_DESCRIPTION TEXT;
+
+CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_SCHEDULING (
+       EXPERIMENT_ID varchar(255) NOT NULL,
+       RESOURCE_HOST_ID varchar(255) NOT NULL,
+       TOTAL_CPU_COUNT INT,
+       NODE_COUNT INT,
+       NUMBER_OF_THREADS INT,
+       QUEUE_NAME varchar(255) NOT NULL,
+       WALL_TIME_LIMIT INT,
+       TOTAL_PHYSICAL_MEMORY INT,
+       STATIC_WORKING_DIR varchar(255),
+       OVERRIDE_LOGIN_USER_NAME varchar(255),
+       OVERRIDE_SCRATCH_LOCATION varchar(255),
+       OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
+       PARALLEL_GROUP_COUNT INT,
+       PRIMARY KEY (EXPERIMENT_ID,RESOURCE_HOST_ID,QUEUE_NAME),
+       FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
\ No newline at end of file
diff --git a/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql b/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql
new file mode 100644
index 0000000..1c3b8d1
--- /dev/null
+++ b/modules/ide-integration/src/main/containers/database_scripts/init/05-replica-catalog-migrations.sql
@@ -0,0 +1,27 @@
+USE replica_catalog;
+
+-- AIRAVATA-3697: Support file names that have UTF8 characters and that are long
+ALTER TABLE
+  DATA_PRODUCT
+MODIFY
+  PRODUCT_NAME text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+  DATA_PRODUCT
+MODIFY
+  PRODUCT_DESCRIPTION varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+  DATA_REPLICA_LOCATION
+MODIFY
+  REPLICA_NAME text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+  DATA_REPLICA_LOCATION
+MODIFY
+  REPLICA_DESCRIPTION varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+  DATA_REPLICA_LOCATION
+MODIFY
+  FILE_PATH varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
diff --git a/modules/ide-integration/src/main/resources/airavata-server.properties b/modules/ide-integration/src/main/resources/airavata-server.properties
index c0d3e56..db2cdf8 100644
--- a/modules/ide-integration/src/main/resources/airavata-server.properties
+++ b/modules/ide-integration/src/main/resources/airavata-server.properties
@@ -290,3 +290,9 @@
 pre.workflow.manager.loadbalance.clusters=false
 post.workflow.manager.loadbalance.clusters=false
 
+
+###########################################################################
+# Metascheduler And Compute Resource Monitoring Configuration
+###########################################################################
+metaschedluer.job.scanning.enable=false
+data.analyzer.job.scanning.enable=false
diff --git a/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java b/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
index e47749d..d3d9014 100644
--- a/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
+++ b/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/OrchestratorService.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.orchestrator.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class OrchestratorService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -92,7 +92,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void launchExperiment(java.lang.String experimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
@@ -109,9 +109,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -126,6 +128,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public boolean launchExperiment(java.lang.String experimentId, java.lang.String gatewayId) throws org.apache.thrift.TException
     {
       send_launchExperiment(experimentId, gatewayId);
@@ -150,6 +153,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "launchExperiment failed: unknown result");
     }
 
+    @Override
     public boolean launchProcess(java.lang.String processId, java.lang.String airavataCredStoreToken, java.lang.String gatewayId) throws org.apache.thrift.TException
     {
       send_launchProcess(processId, airavataCredStoreToken, gatewayId);
@@ -175,6 +179,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "launchProcess failed: unknown result");
     }
 
+    @Override
     public boolean validateExperiment(java.lang.String experimentId) throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException
     {
       send_validateExperiment(experimentId);
@@ -201,6 +206,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateExperiment failed: unknown result");
     }
 
+    @Override
     public boolean validateProcess(java.lang.String experimentId, java.util.List<org.apache.airavata.model.process.ProcessModel> processes) throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException
     {
       send_validateProcess(experimentId, processes);
@@ -228,6 +234,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "validateProcess failed: unknown result");
     }
 
+    @Override
     public boolean terminateExperiment(java.lang.String experimentId, java.lang.String gatewayId) throws org.apache.thrift.TException
     {
       send_terminateExperiment(experimentId, gatewayId);
@@ -261,6 +268,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -270,6 +278,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void launchExperiment(java.lang.String experimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       launchExperiment_call method_call = new launchExperiment_call(experimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -286,6 +295,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         launchExperiment_args args = new launchExperiment_args();
@@ -295,6 +305,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -305,6 +316,7 @@
       }
     }
 
+    @Override
     public void launchProcess(java.lang.String processId, java.lang.String airavataCredStoreToken, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       launchProcess_call method_call = new launchProcess_call(processId, airavataCredStoreToken, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -323,6 +335,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("launchProcess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         launchProcess_args args = new launchProcess_args();
@@ -333,6 +346,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -343,6 +357,7 @@
       }
     }
 
+    @Override
     public void validateExperiment(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       validateExperiment_call method_call = new validateExperiment_call(experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -357,6 +372,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         validateExperiment_args args = new validateExperiment_args();
@@ -365,6 +381,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -375,6 +392,7 @@
       }
     }
 
+    @Override
     public void validateProcess(java.lang.String experimentId, java.util.List<org.apache.airavata.model.process.ProcessModel> processes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       validateProcess_call method_call = new validateProcess_call(experimentId, processes, resultHandler, this, ___protocolFactory, ___transport);
@@ -391,6 +409,7 @@
         this.processes = processes;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("validateProcess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         validateProcess_args args = new validateProcess_args();
@@ -400,6 +419,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.model.error.LaunchValidationException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -410,6 +430,7 @@
       }
     }
 
+    @Override
     public void terminateExperiment(java.lang.String experimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       terminateExperiment_call method_call = new terminateExperiment_call(experimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -426,6 +447,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("terminateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         terminateExperiment_args args = new terminateExperiment_args();
@@ -435,6 +457,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -471,14 +494,22 @@
         super("launchExperiment");
       }
 
+      @Override
       public launchExperiment_args getEmptyArgsInstance() {
         return new launchExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public launchExperiment_result getResult(I iface, launchExperiment_args args) throws org.apache.thrift.TException {
         launchExperiment_result result = new launchExperiment_result();
         result.success = iface.launchExperiment(args.experimentId, args.gatewayId);
@@ -492,14 +523,22 @@
         super("launchProcess");
       }
 
+      @Override
       public launchProcess_args getEmptyArgsInstance() {
         return new launchProcess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public launchProcess_result getResult(I iface, launchProcess_args args) throws org.apache.thrift.TException {
         launchProcess_result result = new launchProcess_result();
         result.success = iface.launchProcess(args.processId, args.airavataCredStoreToken, args.gatewayId);
@@ -513,14 +552,22 @@
         super("validateExperiment");
       }
 
+      @Override
       public validateExperiment_args getEmptyArgsInstance() {
         return new validateExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public validateExperiment_result getResult(I iface, validateExperiment_args args) throws org.apache.thrift.TException {
         validateExperiment_result result = new validateExperiment_result();
         try {
@@ -538,14 +585,22 @@
         super("validateProcess");
       }
 
+      @Override
       public validateProcess_args getEmptyArgsInstance() {
         return new validateProcess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public validateProcess_result getResult(I iface, validateProcess_args args) throws org.apache.thrift.TException {
         validateProcess_result result = new validateProcess_result();
         try {
@@ -563,14 +618,22 @@
         super("terminateExperiment");
       }
 
+      @Override
       public terminateExperiment_args getEmptyArgsInstance() {
         return new terminateExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public terminateExperiment_result getResult(I iface, terminateExperiment_args args) throws org.apache.thrift.TException {
         terminateExperiment_result result = new terminateExperiment_result();
         result.success = iface.terminateExperiment(args.experimentId, args.gatewayId);
@@ -605,13 +668,16 @@
         super("launchExperiment");
       }
 
+      @Override
       public launchExperiment_args getEmptyArgsInstance() {
         return new launchExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             launchExperiment_result result = new launchExperiment_result();
             result.success = o;
@@ -626,6 +692,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -653,10 +720,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, launchExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.launchExperiment(args.experimentId, args.gatewayId,resultHandler);
       }
@@ -667,13 +736,16 @@
         super("launchProcess");
       }
 
+      @Override
       public launchProcess_args getEmptyArgsInstance() {
         return new launchProcess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             launchProcess_result result = new launchProcess_result();
             result.success = o;
@@ -688,6 +760,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -715,10 +788,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, launchProcess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.launchProcess(args.processId, args.airavataCredStoreToken, args.gatewayId,resultHandler);
       }
@@ -729,13 +804,16 @@
         super("validateExperiment");
       }
 
+      @Override
       public validateExperiment_args getEmptyArgsInstance() {
         return new validateExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             validateExperiment_result result = new validateExperiment_result();
             result.success = o;
@@ -750,6 +828,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -781,10 +860,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, validateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.validateExperiment(args.experimentId,resultHandler);
       }
@@ -795,13 +876,16 @@
         super("validateProcess");
       }
 
+      @Override
       public validateProcess_args getEmptyArgsInstance() {
         return new validateProcess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             validateProcess_result result = new validateProcess_result();
             result.success = o;
@@ -816,6 +900,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -847,10 +932,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, validateProcess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.validateProcess(args.experimentId, args.processes,resultHandler);
       }
@@ -861,13 +948,16 @@
         super("terminateExperiment");
       }
 
+      @Override
       public terminateExperiment_args getEmptyArgsInstance() {
         return new terminateExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             terminateExperiment_result result = new terminateExperiment_result();
             result.success = o;
@@ -882,6 +972,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -909,10 +1000,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, terminateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.terminateExperiment(args.experimentId, args.gatewayId,resultHandler);
       }
@@ -920,6 +1013,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class launchExperiment_args implements org.apache.thrift.TBase<launchExperiment_args, launchExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_args");
 
@@ -929,8 +1023,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -948,6 +1042,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -972,6 +1067,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -984,10 +1080,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -1029,6 +1127,7 @@
       }
     }
 
+    @Override
     public launchExperiment_args deepCopy() {
       return new launchExperiment_args(this);
     }
@@ -1039,11 +1138,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public launchExperiment_args setExperimentId(java.lang.String experimentId) {
+    public launchExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -1063,11 +1163,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public launchExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public launchExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -1087,7 +1188,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -1108,6 +1210,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -1121,6 +1225,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -1137,8 +1242,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof launchExperiment_args)
         return this.equals((launchExperiment_args)that);
       return false;
@@ -1194,7 +1297,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1204,7 +1307,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1217,14 +1320,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -1281,6 +1388,7 @@
     }
 
     private static class launchExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_argsStandardScheme getScheme() {
         return new launchExperiment_argsStandardScheme();
       }
@@ -1288,6 +1396,7 @@
 
     private static class launchExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -1325,6 +1434,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -1346,6 +1456,7 @@
     }
 
     private static class launchExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_argsTupleScheme getScheme() {
         return new launchExperiment_argsTupleScheme();
       }
@@ -1375,6 +1486,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class launchExperiment_result implements org.apache.thrift.TBase<launchExperiment_result, launchExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<launchExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchExperiment_result");
 
@@ -1400,6 +1512,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -1422,6 +1535,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -1434,10 +1548,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -1474,6 +1590,7 @@
       this.success = other.success;
     }
 
+    @Override
     public launchExperiment_result deepCopy() {
       return new launchExperiment_result(this);
     }
@@ -1507,7 +1624,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -1520,6 +1638,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -1530,6 +1650,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -1544,8 +1665,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof launchExperiment_result)
         return this.equals((launchExperiment_result)that);
       return false;
@@ -1586,7 +1705,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -1599,10 +1718,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -1647,6 +1769,7 @@
     }
 
     private static class launchExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_resultStandardScheme getScheme() {
         return new launchExperiment_resultStandardScheme();
       }
@@ -1654,6 +1777,7 @@
 
     private static class launchExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, launchExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -1683,6 +1807,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, launchExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -1699,6 +1824,7 @@
     }
 
     private static class launchExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchExperiment_resultTupleScheme getScheme() {
         return new launchExperiment_resultTupleScheme();
       }
@@ -1735,6 +1861,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class launchProcess_args implements org.apache.thrift.TBase<launchProcess_args, launchProcess_args._Fields>, java.io.Serializable, Cloneable, Comparable<launchProcess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchProcess_args");
 
@@ -1745,9 +1872,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new launchProcess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new launchProcess_argsTupleSchemeFactory();
 
-    public java.lang.String processId; // required
-    public java.lang.String airavataCredStoreToken; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -1766,6 +1893,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_ID
@@ -1792,6 +1920,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -1804,10 +1933,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -1856,6 +1987,7 @@
       }
     }
 
+    @Override
     public launchProcess_args deepCopy() {
       return new launchProcess_args(this);
     }
@@ -1867,11 +1999,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public launchProcess_args setProcessId(java.lang.String processId) {
+    public launchProcess_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -1891,11 +2024,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataCredStoreToken() {
       return this.airavataCredStoreToken;
     }
 
-    public launchProcess_args setAiravataCredStoreToken(java.lang.String airavataCredStoreToken) {
+    public launchProcess_args setAiravataCredStoreToken(@org.apache.thrift.annotation.Nullable java.lang.String airavataCredStoreToken) {
       this.airavataCredStoreToken = airavataCredStoreToken;
       return this;
     }
@@ -1915,11 +2049,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public launchProcess_args setGatewayId(java.lang.String gatewayId) {
+    public launchProcess_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -1939,7 +2074,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_ID:
         if (value == null) {
@@ -1968,6 +2104,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_ID:
@@ -1984,6 +2122,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2002,8 +2141,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof launchProcess_args)
         return this.equals((launchProcess_args)that);
       return false;
@@ -2072,7 +2209,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2082,7 +2219,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataCredStoreToken()).compareTo(other.isSetAiravataCredStoreToken());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataCredStoreToken(), other.isSetAiravataCredStoreToken());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2092,7 +2229,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2105,14 +2242,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -2180,6 +2321,7 @@
     }
 
     private static class launchProcess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchProcess_argsStandardScheme getScheme() {
         return new launchProcess_argsStandardScheme();
       }
@@ -2187,6 +2329,7 @@
 
     private static class launchProcess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchProcess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, launchProcess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2232,6 +2375,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, launchProcess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2258,6 +2402,7 @@
     }
 
     private static class launchProcess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchProcess_argsTupleScheme getScheme() {
         return new launchProcess_argsTupleScheme();
       }
@@ -2290,6 +2435,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class launchProcess_result implements org.apache.thrift.TBase<launchProcess_result, launchProcess_result._Fields>, java.io.Serializable, Cloneable, Comparable<launchProcess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("launchProcess_result");
 
@@ -2315,6 +2461,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -2337,6 +2484,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2349,10 +2497,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2389,6 +2539,7 @@
       this.success = other.success;
     }
 
+    @Override
     public launchProcess_result deepCopy() {
       return new launchProcess_result(this);
     }
@@ -2422,7 +2573,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -2435,6 +2587,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -2445,6 +2599,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2459,8 +2614,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof launchProcess_result)
         return this.equals((launchProcess_result)that);
       return false;
@@ -2501,7 +2654,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2514,10 +2667,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -2562,6 +2718,7 @@
     }
 
     private static class launchProcess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchProcess_resultStandardScheme getScheme() {
         return new launchProcess_resultStandardScheme();
       }
@@ -2569,6 +2726,7 @@
 
     private static class launchProcess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<launchProcess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, launchProcess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2598,6 +2756,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, launchProcess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2614,6 +2773,7 @@
     }
 
     private static class launchProcess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public launchProcess_resultTupleScheme getScheme() {
         return new launchProcess_resultTupleScheme();
       }
@@ -2650,6 +2810,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class validateExperiment_args implements org.apache.thrift.TBase<validateExperiment_args, validateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_args");
 
@@ -2658,7 +2819,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new validateExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -2675,6 +2836,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -2697,6 +2859,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -2709,10 +2872,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -2747,6 +2912,7 @@
       }
     }
 
+    @Override
     public validateExperiment_args deepCopy() {
       return new validateExperiment_args(this);
     }
@@ -2756,11 +2922,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public validateExperiment_args setExperimentId(java.lang.String experimentId) {
+    public validateExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -2780,7 +2947,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -2793,6 +2961,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -2803,6 +2973,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -2817,8 +2988,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof validateExperiment_args)
         return this.equals((validateExperiment_args)that);
       return false;
@@ -2861,7 +3030,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -2874,14 +3043,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -2927,6 +3100,7 @@
     }
 
     private static class validateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_argsStandardScheme getScheme() {
         return new validateExperiment_argsStandardScheme();
       }
@@ -2934,6 +3108,7 @@
 
     private static class validateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -2963,6 +3138,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -2979,6 +3155,7 @@
     }
 
     private static class validateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_argsTupleScheme getScheme() {
         return new validateExperiment_argsTupleScheme();
       }
@@ -3005,6 +3182,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class validateExperiment_result implements org.apache.thrift.TBase<validateExperiment_result, validateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<validateExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateExperiment_result");
 
@@ -3015,7 +3193,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateExperiment_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.model.error.LaunchValidationException lve; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.LaunchValidationException lve; // 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 {
@@ -3033,6 +3211,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -3057,6 +3236,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3069,10 +3249,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3116,6 +3298,7 @@
       }
     }
 
+    @Override
     public validateExperiment_result deepCopy() {
       return new validateExperiment_result(this);
     }
@@ -3150,11 +3333,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.LaunchValidationException getLve() {
       return this.lve;
     }
 
-    public validateExperiment_result setLve(org.apache.airavata.model.error.LaunchValidationException lve) {
+    public validateExperiment_result setLve(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.LaunchValidationException lve) {
       this.lve = lve;
       return this;
     }
@@ -3174,7 +3358,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -3195,6 +3380,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -3208,6 +3395,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3224,8 +3412,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof validateExperiment_result)
         return this.equals((validateExperiment_result)that);
       return false;
@@ -3279,7 +3465,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3289,7 +3475,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLve()).compareTo(other.isSetLve());
+      lastComparison = java.lang.Boolean.compare(isSetLve(), other.isSetLve());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3302,10 +3488,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -3358,6 +3547,7 @@
     }
 
     private static class validateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_resultStandardScheme getScheme() {
         return new validateExperiment_resultStandardScheme();
       }
@@ -3365,6 +3555,7 @@
 
     private static class validateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, validateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3403,6 +3594,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, validateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3424,6 +3616,7 @@
     }
 
     private static class validateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateExperiment_resultTupleScheme getScheme() {
         return new validateExperiment_resultTupleScheme();
       }
@@ -3471,6 +3664,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class validateProcess_args implements org.apache.thrift.TBase<validateProcess_args, validateProcess_args._Fields>, java.io.Serializable, Cloneable, Comparable<validateProcess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateProcess_args");
 
@@ -3480,8 +3674,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new validateProcess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateProcess_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
-    public java.util.List<org.apache.airavata.model.process.ProcessModel> processes; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> processes; // 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 {
@@ -3499,6 +3693,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -3523,6 +3718,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -3535,10 +3731,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -3585,6 +3783,7 @@
       }
     }
 
+    @Override
     public validateProcess_args deepCopy() {
       return new validateProcess_args(this);
     }
@@ -3595,11 +3794,12 @@
       this.processes = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public validateProcess_args setExperimentId(java.lang.String experimentId) {
+    public validateProcess_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -3623,6 +3823,7 @@
       return (this.processes == null) ? 0 : this.processes.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.process.ProcessModel> getProcessesIterator() {
       return (this.processes == null) ? null : this.processes.iterator();
     }
@@ -3634,11 +3835,12 @@
       this.processes.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.process.ProcessModel> getProcesses() {
       return this.processes;
     }
 
-    public validateProcess_args setProcesses(java.util.List<org.apache.airavata.model.process.ProcessModel> processes) {
+    public validateProcess_args setProcesses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> processes) {
       this.processes = processes;
       return this;
     }
@@ -3658,7 +3860,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -3679,6 +3882,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -3692,6 +3897,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -3708,8 +3914,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof validateProcess_args)
         return this.equals((validateProcess_args)that);
       return false;
@@ -3765,7 +3969,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3775,7 +3979,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProcesses()).compareTo(other.isSetProcesses());
+      lastComparison = java.lang.Boolean.compare(isSetProcesses(), other.isSetProcesses());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -3788,14 +3992,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -3852,6 +4060,7 @@
     }
 
     private static class validateProcess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateProcess_argsStandardScheme getScheme() {
         return new validateProcess_argsStandardScheme();
       }
@@ -3859,6 +4068,7 @@
 
     private static class validateProcess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateProcess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, validateProcess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -3882,7 +4092,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.processes = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list0.size);
-                  org.apache.airavata.model.process.ProcessModel _elem1;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = new org.apache.airavata.model.process.ProcessModel();
@@ -3907,6 +4117,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, validateProcess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -3935,6 +4146,7 @@
     }
 
     private static class validateProcess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateProcess_argsTupleScheme getScheme() {
         return new validateProcess_argsTupleScheme();
       }
@@ -3961,9 +4173,9 @@
         struct.experimentId = iprot.readString();
         struct.setExperimentIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.processes = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list5.size);
-          org.apache.airavata.model.process.ProcessModel _elem6;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = new org.apache.airavata.model.process.ProcessModel();
@@ -3980,6 +4192,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class validateProcess_result implements org.apache.thrift.TBase<validateProcess_result, validateProcess_result._Fields>, java.io.Serializable, Cloneable, Comparable<validateProcess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("validateProcess_result");
 
@@ -3990,7 +4203,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new validateProcess_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.model.error.LaunchValidationException lve; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.LaunchValidationException lve; // 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 {
@@ -4008,6 +4221,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -4032,6 +4246,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4044,10 +4259,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4091,6 +4308,7 @@
       }
     }
 
+    @Override
     public validateProcess_result deepCopy() {
       return new validateProcess_result(this);
     }
@@ -4125,11 +4343,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.LaunchValidationException getLve() {
       return this.lve;
     }
 
-    public validateProcess_result setLve(org.apache.airavata.model.error.LaunchValidationException lve) {
+    public validateProcess_result setLve(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.LaunchValidationException lve) {
       this.lve = lve;
       return this;
     }
@@ -4149,7 +4368,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -4170,6 +4390,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -4183,6 +4405,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4199,8 +4422,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof validateProcess_result)
         return this.equals((validateProcess_result)that);
       return false;
@@ -4254,7 +4475,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4264,7 +4485,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLve()).compareTo(other.isSetLve());
+      lastComparison = java.lang.Boolean.compare(isSetLve(), other.isSetLve());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4277,10 +4498,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -4333,6 +4557,7 @@
     }
 
     private static class validateProcess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateProcess_resultStandardScheme getScheme() {
         return new validateProcess_resultStandardScheme();
       }
@@ -4340,6 +4565,7 @@
 
     private static class validateProcess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<validateProcess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, validateProcess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4378,6 +4604,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, validateProcess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4399,6 +4626,7 @@
     }
 
     private static class validateProcess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public validateProcess_resultTupleScheme getScheme() {
         return new validateProcess_resultTupleScheme();
       }
@@ -4446,6 +4674,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class terminateExperiment_args implements org.apache.thrift.TBase<terminateExperiment_args, terminateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_args");
 
@@ -4455,8 +4684,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new terminateExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new terminateExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -4474,6 +4703,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -4498,6 +4728,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4510,10 +4741,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -4555,6 +4788,7 @@
       }
     }
 
+    @Override
     public terminateExperiment_args deepCopy() {
       return new terminateExperiment_args(this);
     }
@@ -4565,11 +4799,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public terminateExperiment_args setExperimentId(java.lang.String experimentId) {
+    public terminateExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -4589,11 +4824,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public terminateExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public terminateExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -4613,7 +4849,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -4634,6 +4871,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -4647,6 +4886,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -4663,8 +4903,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof terminateExperiment_args)
         return this.equals((terminateExperiment_args)that);
       return false;
@@ -4720,7 +4958,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4730,7 +4968,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -4743,14 +4981,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -4807,6 +5049,7 @@
     }
 
     private static class terminateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_argsStandardScheme getScheme() {
         return new terminateExperiment_argsStandardScheme();
       }
@@ -4814,6 +5057,7 @@
 
     private static class terminateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -4851,6 +5095,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -4872,6 +5117,7 @@
     }
 
     private static class terminateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_argsTupleScheme getScheme() {
         return new terminateExperiment_argsTupleScheme();
       }
@@ -4901,6 +5147,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class terminateExperiment_result implements org.apache.thrift.TBase<terminateExperiment_result, terminateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<terminateExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("terminateExperiment_result");
 
@@ -4926,6 +5173,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -4948,6 +5196,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -4960,10 +5209,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -5000,6 +5251,7 @@
       this.success = other.success;
     }
 
+    @Override
     public terminateExperiment_result deepCopy() {
       return new terminateExperiment_result(this);
     }
@@ -5033,7 +5285,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -5046,6 +5299,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -5056,6 +5311,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -5070,8 +5326,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof terminateExperiment_result)
         return this.equals((terminateExperiment_result)that);
       return false;
@@ -5112,7 +5366,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -5125,10 +5379,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -5173,6 +5430,7 @@
     }
 
     private static class terminateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_resultStandardScheme getScheme() {
         return new terminateExperiment_resultStandardScheme();
       }
@@ -5180,6 +5438,7 @@
 
     private static class terminateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<terminateExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -5209,6 +5468,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, terminateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -5225,6 +5485,7 @@
     }
 
     private static class terminateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public terminateExperiment_resultTupleScheme getScheme() {
         return new terminateExperiment_resultTupleScheme();
       }
diff --git a/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/orchestrator_cpiConstants.java b/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/orchestrator_cpiConstants.java
index b50eff0..f6a9a5b 100644
--- a/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/orchestrator_cpiConstants.java
+++ b/modules/orchestrator/orchestrator-client/src/main/java/org/apache/airavata/orchestrator/cpi/orchestrator_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
index 35f3097..7c086f0 100644
--- a/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
+++ b/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/cpi/impl/SimpleOrchestratorImpl.java
@@ -300,7 +300,7 @@
         }
     }
 
-    public String createAndSaveTasks(String gatewayId, ProcessModel processModel, boolean autoSchedule) throws OrchestratorException {
+    public String createAndSaveTasks(String gatewayId, ProcessModel processModel) throws OrchestratorException {
         final RegistryService.Client registryClient = getRegistryServiceClient();
         try {
             ComputationalResourceSchedulingModel resourceSchedule = processModel.getProcessResourceSchedule();
@@ -322,33 +322,33 @@
             } else {
                 taskIdList.addAll(createAndSaveEnvSetupTask(registryClient, gatewayId, processModel));
                 taskIdList.addAll(createAndSaveInputDataStagingTasks(processModel, gatewayId));
-                if (autoSchedule) {
-                    List<BatchQueue> definedBatchQueues = computeResource.getBatchQueues();
-                    for (BatchQueue batchQueue : definedBatchQueues) {
-                        if (batchQueue.getQueueName().equals(userGivenQueueName)) {
-                            int maxRunTime = batchQueue.getMaxRunTime();
-                            if (maxRunTime < userGivenWallTime) {
-                                resourceSchedule.setWallTimeLimit(maxRunTime);
-                                // need to create more job submissions
-                                int numOfMaxWallTimeJobs = ((int) Math.floor(userGivenWallTime / maxRunTime));
-                                for (int i = 1; i <= numOfMaxWallTimeJobs; i++) {
-                                    taskIdList.addAll(
-                                            createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, maxRunTime));
-                                }
-                                int leftWallTime = userGivenWallTime % maxRunTime;
-                                if (leftWallTime != 0) {
-                                    taskIdList.addAll(
-                                            createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, leftWallTime));
-                                }
-                            } else {
-                                taskIdList.addAll(
-                                        createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, userGivenWallTime));
-                            }
-                        }
-                    }
-                } else {
+//                if (autoSchedule) {
+//                    List<BatchQueue> definedBatchQueues = computeResource.getBatchQueues();
+//                    for (BatchQueue batchQueue : definedBatchQueues) {
+//                        if (batchQueue.getQueueName().equals(userGivenQueueName)) {
+//                            int maxRunTime = batchQueue.getMaxRunTime();
+//                            if (maxRunTime < userGivenWallTime) {
+//                                resourceSchedule.setWallTimeLimit(maxRunTime);
+//                                // need to create more job submissions
+//                                int numOfMaxWallTimeJobs = ((int) Math.floor(userGivenWallTime / maxRunTime));
+//                                for (int i = 1; i <= numOfMaxWallTimeJobs; i++) {
+//                                    taskIdList.addAll(
+//                                            createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, maxRunTime));
+//                                }
+//                                int leftWallTime = userGivenWallTime % maxRunTime;
+//                                if (leftWallTime != 0) {
+//                                    taskIdList.addAll(
+//                                            createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, leftWallTime));
+//                                }
+//                            } else {
+//                                taskIdList.addAll(
+//                                        createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, userGivenWallTime));
+//                            }
+//                        }
+//                    }
+//                } else {
                     taskIdList.addAll(createAndSaveSubmissionTasks(registryClient, gatewayId, preferredJobSubmissionInterface, processModel, userGivenWallTime));
-                }
+//                }
                 taskIdList.addAll(createAndSaveOutputDataStagingTasks(processModel, gatewayId));
             }
             // update process scheduling
diff --git a/modules/orchestrator/orchestrator-service/pom.xml b/modules/orchestrator/orchestrator-service/pom.xml
index ae45fd2..ff15cf3 100644
--- a/modules/orchestrator/orchestrator-service/pom.xml
+++ b/modules/orchestrator/orchestrator-service/pom.xml
@@ -77,6 +77,34 @@
             <artifactId>cluster-monitoring</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>metascheduler-core</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>process-scheduler</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>metadata-analyzer</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>computer-resource-monitoring-service</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.airavata</groupId>
+            <artifactId>metadata-analyzer</artifactId>
+            <version>0.21-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
+
+
     </dependencies>
 
     <properties>
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServer.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServer.java
index cb4f468..d84f7f3 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServer.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServer.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,10 +18,12 @@
  */
 package org.apache.airavata.orchestrator.server;
 
-import org.apache.airavata.cluster.monitoring.ClusterStatusMonitorJobScheduler;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.IServer;
 import org.apache.airavata.common.utils.ServerSettings;
+import org.apache.airavata.compute.resource.monitoring.ComputationalResourceMonitoringService;
+import org.apache.airavata.metascheduler.metadata.analyzer.DataInterpreterService;
+import org.apache.airavata.metascheduler.process.scheduling.engine.rescheduler.ProcessReschedulingService;
 import org.apache.airavata.orchestrator.cpi.OrchestratorService;
 import org.apache.airavata.orchestrator.util.Constants;
 import org.apache.thrift.server.TServer;
@@ -39,131 +40,199 @@
 public class OrchestratorServer implements IServer {
 
     private final static Logger logger = LoggerFactory.getLogger(OrchestratorServer.class);
-	private static final String SERVER_NAME = "Orchestrator Server";
-	private static final String SERVER_VERSION = "1.0";
+    private static final String SERVER_NAME = "Orchestrator Server";
+    private static final String SERVER_VERSION = "1.0";
 
     private ServerStatus status;
 
-	private TServer server;
+    private TServer server;
 
-	private ClusterStatusMonitorJobScheduler clusterStatusMonitorJobScheduler;
+    private static ComputationalResourceMonitoringService monitoringService;
 
-	public OrchestratorServer() {
-		setStatus(ServerStatus.STOPPED);
-	}
+    private static ProcessReschedulingService metaschedulerService;
+
+    private static DataInterpreterService dataInterpreterService;
+
+//	private ClusterStatusMonitorJobScheduler clusterStatusMonitorJobScheduler;
+
+    public OrchestratorServer() {
+        setStatus(ServerStatus.STOPPED);
+    }
 
     public void StartOrchestratorServer(OrchestratorService.Processor<OrchestratorServerHandler> orchestratorServerHandlerProcessor)
             throws Exception {
-		final int serverPort = Integer.parseInt(ServerSettings.getSetting(Constants.ORCHESTRATOT_SERVER_PORT, "8940"));
-		try {
+        final int serverPort = Integer.parseInt(ServerSettings.getSetting(Constants.ORCHESTRATOT_SERVER_PORT, "8940"));
+        try {
             final String serverHost = ServerSettings.getSetting(Constants.ORCHESTRATOT_SERVER_HOST, null);
-			TServerTransport serverTransport;
-			if(serverHost == null){
-				serverTransport = new TServerSocket(serverPort);
-			}else{
-				InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
-				serverTransport = new TServerSocket(inetSocketAddress);
-			}
+            TServerTransport serverTransport;
+            if (serverHost == null) {
+                serverTransport = new TServerSocket(serverPort);
+            } else {
+                InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
+                serverTransport = new TServerSocket(inetSocketAddress);
+            }
             //server = new TSimpleServer(
-              //      new TServer.Args(serverTransport).processor(orchestratorServerHandlerProcessor));
+            //      new TServer.Args(serverTransport).processor(orchestratorServerHandlerProcessor));
             TThreadPoolServer.Args options = new TThreadPoolServer.Args(serverTransport);
             options.minWorkerThreads = Integer.parseInt(ServerSettings.getSetting(Constants.ORCHESTRATOT_SERVER_MIN_THREADS, "30"));
             server = new TThreadPoolServer(options.processor(orchestratorServerHandlerProcessor));
             new Thread() {
-				public void run() {
-					server.serve();
-					setStatus(ServerStatus.STARTING);
-					logger.info("Starting Orchestrator Server ... ");
-				}
-			}.start();
-			new Thread() {
-				public void run() {
-					while(!server.isServing()){
-						try {
-							Thread.sleep(500);
-						} catch (InterruptedException e) {
-							break;
-						}
-					}
-					if (server.isServing()){
-						setStatus(ServerStatus.STARTED);
-			            logger.info("Started Orchestrator Server on Port " + serverPort + " ...");
-					}
-				}
-			}.start();
+                public void run() {
+                    server.serve();
+                    setStatus(ServerStatus.STARTING);
+                    logger.info("Starting Orchestrator Server ... ");
+                }
+            }.start();
+            new Thread() {
+                public void run() {
+                    while (!server.isServing()) {
+                        try {
+                            Thread.sleep(500);
+                        } catch (InterruptedException e) {
+                            break;
+                        }
+                    }
+                    if (server.isServing()) {
+                        setStatus(ServerStatus.STARTED);
+                        logger.info("Started Orchestrator Server on Port " + serverPort + " ...");
+
+
+                    }
+                }
+            }.start();
         } catch (TTransportException e) {
             logger.error(e.getMessage());
             setStatus(ServerStatus.FAILED);
-			logger.error("Failed to start Orchestrator server on port " + serverPort + " ...");
-		}
+            logger.error("Failed to start Orchestrator server on port " + serverPort + " ...");
+        }
     }
 
-	public void startClusterStatusMonitoring() throws SchedulerException, ApplicationSettingsException {
-        clusterStatusMonitorJobScheduler = new ClusterStatusMonitorJobScheduler();
-        clusterStatusMonitorJobScheduler.scheduleClusterStatusMonitoring();
-	}
+    public void startClusterStatusMonitoring() throws SchedulerException, ApplicationSettingsException {
+//        clusterStatusMonitorJobScheduler = new ClusterStatusMonitorJobScheduler();
+//        clusterStatusMonitorJobScheduler.scheduleClusterStatusMonitoring();
+
+        try {
+            if (monitoringService == null) {
+                monitoringService = new ComputationalResourceMonitoringService();
+                monitoringService.setServerStatus(ServerStatus.STARTING);
+            }
+            if (monitoringService != null && !monitoringService.getStatus().equals(ServerStatus.STARTED)) {
+                monitoringService.start();
+                monitoringService.setServerStatus(ServerStatus.STARTED);
+                logger.info("Airavata compute resource monitoring service started ....");
+            }
+        } catch (Exception ex) {
+            logger.error("Airavata compute resource monitoring service failed ....",ex);
+        }
+    }
+
+    public void startMetaschedulerJobScanning() throws SchedulerException, ApplicationSettingsException {
+        try {
+            if (metaschedulerService == null) {
+                metaschedulerService = new ProcessReschedulingService();
+                metaschedulerService.setServerStatus(ServerStatus.STARTING);
+            }
+            if (metaschedulerService != null && !metaschedulerService.getStatus().equals(ServerStatus.STARTED)) {
+                metaschedulerService.start();
+                metaschedulerService.setServerStatus(ServerStatus.STARTED);
+                logger.info("Airavata metascheduler job scanning service started ....");
+            }
+        } catch (Exception ex) {
+            logger.error("Airavata metascheduler job scanning service failed ....",ex);
+        }
+    }
+
+    public void startMetadataDataAnalyzer() throws SchedulerException, ApplicationSettingsException {
+        try {
+            if (dataInterpreterService == null) {
+                dataInterpreterService = new DataInterpreterService();
+                dataInterpreterService.setServerStatus(ServerStatus.STARTING);
+            }
+            if (dataInterpreterService != null && !dataInterpreterService.getStatus().equals(ServerStatus.STARTED)) {
+                dataInterpreterService.start();
+                dataInterpreterService.setServerStatus(ServerStatus.STARTED);
+                logger.info("Airavata data interpreter job scanning service started ....");
+            }
+        } catch (Exception ex) {
+            logger.error("Airavata data interpreter job scanning service failed ....",ex);
+        }
+    }
 
     public static void main(String[] args) {
-    	try {
-			new OrchestratorServer().start();
-		} catch (Exception e) {
+        try {
+            new OrchestratorServer().start();
+        } catch (Exception e) {
             logger.error(e.getMessage(), e);
-		}
+        }
     }
 
-	@Override
-	public void start() throws Exception {
-		if (ServerSettings.enableClusterStatusMonitoring()) {
-			//starting cluster status monitoring
-			startClusterStatusMonitoring();
-		}
+    @Override
+    public void start() throws Exception {
+        if (ServerSettings.enableClusterStatusMonitoring()) {
+            //starting cluster status monitoring
+            startClusterStatusMonitoring();
+        }
+
+        if (ServerSettings.enableMetaschedulerJobScanning()) {
+            //starting cluster status monitoring
+            startMetaschedulerJobScanning();
+        }
+
+        if (ServerSettings.enableDataAnalyzerJobScanning()) {
+            //starting metadata analyzer
+            startMetadataDataAnalyzer();
+        }
 
 
-		setStatus(ServerStatus.STARTING);
-		OrchestratorService.Processor<OrchestratorServerHandler> orchestratorService =
+        setStatus(ServerStatus.STARTING);
+        OrchestratorService.Processor<OrchestratorServerHandler> orchestratorService =
                 new OrchestratorService.Processor<OrchestratorServerHandler>(new OrchestratorServerHandler());
-		StartOrchestratorServer(orchestratorService);
-	}
+        StartOrchestratorServer(orchestratorService);
+    }
 
-	@Override
-	public void stop() throws Exception {
-        if (server!=null && server.isServing()){
-			setStatus(ServerStatus.STOPING);
-			server.stop();
-		}
-		
-	}
+    @Override
+    public void stop() throws Exception {
+        if (server != null && server.isServing()) {
+            setStatus(ServerStatus.STOPING);
+            server.stop();
+        }
+        if (monitoringService != null) {
+            monitoringService.stop();
+            monitoringService.setServerStatus(ServerStatus.STOPPED);
+        }
 
-	@Override
-	public void restart() throws Exception {
-		stop();
-		start();
-	}
+    }
 
-	@Override
-	public void configure() throws Exception {
-		// TODO Auto-generated method stub
-		
-	}
+    @Override
+    public void restart() throws Exception {
+        stop();
+        start();
+    }
 
-	@Override
-	public ServerStatus getStatus() throws Exception {
-		return status;
-	}
-	
-	private void setStatus(ServerStatus stat){
-		status=stat;
-		status.updateTime();
-	}
+    @Override
+    public void configure() throws Exception {
+        // TODO Auto-generated method stub
 
-	@Override
-	public String getName() {
-		return SERVER_NAME;
-	}
+    }
 
-	@Override
-	public String getVersion() {
-		return SERVER_VERSION;
-	}
+    @Override
+    public ServerStatus getStatus() throws Exception {
+        return status;
+    }
+
+    private void setStatus(ServerStatus stat) {
+        status = stat;
+        status.updateTime();
+    }
+
+    @Override
+    public String getName() {
+        return SERVER_NAME;
+    }
+
+    @Override
+    public String getVersion() {
+        return SERVER_VERSION;
+    }
 
 }
diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
index 2260ade..e3eac12 100644
--- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
+++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -28,6 +27,8 @@
 import org.apache.airavata.common.utils.ThriftUtils;
 import org.apache.airavata.common.utils.ZkConstants;
 import org.apache.airavata.messaging.core.*;
+import org.apache.airavata.metascheduler.core.api.ProcessScheduler;
+import org.apache.airavata.metascheduler.process.scheduling.api.ProcessSchedulerImpl;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
@@ -45,10 +46,8 @@
 import org.apache.airavata.model.experiment.UserConfigurationDataModel;
 import org.apache.airavata.model.messaging.event.*;
 import org.apache.airavata.model.process.ProcessModel;
-import org.apache.airavata.model.status.ExperimentState;
-import org.apache.airavata.model.status.ExperimentStatus;
-import org.apache.airavata.model.status.ProcessState;
-import org.apache.airavata.model.status.ProcessStatus;
+import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
+import org.apache.airavata.model.status.*;
 import org.apache.airavata.model.task.TaskTypes;
 import org.apache.airavata.model.util.ExperimentModelUtil;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
@@ -79,172 +78,189 @@
 import java.util.*;
 
 public class OrchestratorServerHandler implements OrchestratorService.Iface {
-	private static Logger log = LoggerFactory.getLogger(OrchestratorServerHandler.class);
-	private SimpleOrchestratorImpl orchestrator = null;
-	private String airavataUserName;
-	private String gatewayName;
-	private Publisher publisher;
-	private final Subscriber statusSubscribe;
-	private final Subscriber experimentSubscriber;
+    private static Logger log = LoggerFactory.getLogger(OrchestratorServerHandler.class);
+    private SimpleOrchestratorImpl orchestrator = null;
+    private String airavataUserName;
+    private String gatewayName;
+    private Publisher publisher;
+    private final Subscriber statusSubscribe;
+    private final Subscriber experimentSubscriber;
 
-	private CuratorFramework curatorClient;
+    private CuratorFramework curatorClient;
 
-	/**
-	 * Query orchestrator server to fetch the CPI version
-	 */
-	@Override
-	public String getAPIVersion() throws TException {
-		return null;
-	}
+    /**
+     * Query orchestrator server to fetch the CPI version
+     */
+    @Override
+    public String getAPIVersion() throws TException {
+        return null;
+    }
 
-	public OrchestratorServerHandler() throws OrchestratorException, TException {
-		// orchestrator init
-		try {
-			// first constructing the monitorManager and orchestrator, then fill
-			// the required properties
-			setAiravataUserName(ServerSettings.getDefaultUser());
-			orchestrator = new SimpleOrchestratorImpl();
+    public OrchestratorServerHandler() throws OrchestratorException, TException {
+        // orchestrator init
+        try {
+            // first constructing the monitorManager and orchestrator, then fill
+            // the required properties
+            setAiravataUserName(ServerSettings.getDefaultUser());
+            orchestrator = new SimpleOrchestratorImpl();
 
-			publisher = MessagingFactory.getPublisher(Type.STATUS);
-			orchestrator.initialize();
-			orchestrator.getOrchestratorContext().setPublisher(this.publisher);
-			statusSubscribe = getStatusSubscriber();
-			experimentSubscriber  = getExperimentSubscriber();
-			startCurator();
-		} catch (OrchestratorException | AiravataException e) {
-			log.error(e.getMessage(), e);
-			throw new OrchestratorException("Error while initializing orchestrator service", e);
-		}
-	}
+            publisher = MessagingFactory.getPublisher(Type.STATUS);
+            orchestrator.initialize();
+            orchestrator.getOrchestratorContext().setPublisher(this.publisher);
+            statusSubscribe = getStatusSubscriber();
+            experimentSubscriber = getExperimentSubscriber();
+            startCurator();
+        } catch (OrchestratorException | AiravataException e) {
+            log.error(e.getMessage(), e);
+            throw new OrchestratorException("Error while initializing orchestrator service", e);
+        }
+    }
 
-	private Subscriber getStatusSubscriber() throws AiravataException {
-		List<String> routingKeys = new ArrayList<>();
+    private Subscriber getStatusSubscriber() throws AiravataException {
+        List<String> routingKeys = new ArrayList<>();
 //			routingKeys.add("*"); // listen for gateway level messages
 //			routingKeys.add("*.*"); // listen for gateway/experiment level messages
-		routingKeys.add("*.*.*"); // listen for gateway/experiment/process level messages
-		return MessagingFactory.getSubscriber(new ProcessStatusHandler(),routingKeys, Type.STATUS);
-	}
+        routingKeys.add("*.*.*"); // listen for gateway/experiment/process level messages
+        return MessagingFactory.getSubscriber(new ProcessStatusHandler(), routingKeys, Type.STATUS);
+    }
 
-	private Subscriber getExperimentSubscriber() throws AiravataException {
-		List<String> routingKeys = new ArrayList<>();
-		routingKeys.add(ServerSettings.getRabbitmqExperimentLaunchQueueName());
-		return MessagingFactory.getSubscriber(new ExperimentHandler(), routingKeys, Type.EXPERIMENT_LAUNCH);
-	}
+    private Subscriber getExperimentSubscriber() throws AiravataException {
+        List<String> routingKeys = new ArrayList<>();
+        routingKeys.add(ServerSettings.getRabbitmqExperimentLaunchQueueName());
+        return MessagingFactory.getSubscriber(new ExperimentHandler(), routingKeys, Type.EXPERIMENT_LAUNCH);
+    }
 
-	/**
-	 * * After creating the experiment Data user have the * experimentID as the
-	 * handler to the experiment, during the launchProcess * We just have to
-	 * give the experimentID * * @param experimentID * @return sucess/failure *
-	 * *
-	 *
-	 * @param experimentId
-	 */
-	public boolean launchExperiment(String experimentId, String gatewayId) throws TException {
+    /**
+     * * After creating the experiment Data user have the * experimentID as the
+     * handler to the experiment, during the launchProcess * We just have to
+     * give the experimentID * * @param experimentID * @return sucess/failure *
+     * *
+     *
+     * @param experimentId
+     */
+    public boolean launchExperiment(String experimentId, String gatewayId) throws TException {
         ExperimentModel experiment = null;
-		final RegistryService.Client registryClient = getRegistryServiceClient();
+        final RegistryService.Client registryClient = getRegistryServiceClient();
         try {
-        	// TODO deprecate this approach as we are replacing gfac
-			String experimentNodePath = getExperimentNodePath (experimentId);
-			ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentNodePath);
-			String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
-			ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentCancelNode);
+            // TODO deprecate this approach as we are replacing gfac
+            String experimentNodePath = getExperimentNodePath(experimentId);
+            ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentNodePath);
+            String experimentCancelNode = ZKPaths.makePath(experimentNodePath, ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+            ZKPaths.mkdirs(curatorClient.getZookeeperClient().getZooKeeper(), experimentCancelNode);
             experiment = registryClient.getExperiment(experimentId);
             if (experiment == null) {
-				throw new Exception("Error retrieving the Experiment by the given experimentID: " + experimentId);
+                throw new Exception("Error retrieving the Experiment by the given experimentID: " + experimentId);
             }
 
-			UserConfigurationDataModel userConfigurationData = experiment.getUserConfigurationData();
-			String token = null;
-			final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
-			if (groupResourceProfileId == null) {
-				throw new Exception("Experiment not configured with a Group Resource Profile: " + experimentId);
-			}
-			GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
-					userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
-					groupResourceProfileId);
-			if (groupComputeResourcePreference.getResourceSpecificCredentialStoreToken() != null) {
-				token = groupComputeResourcePreference.getResourceSpecificCredentialStoreToken();
-			}
-            if (token == null || token.isEmpty()){
+            UserConfigurationDataModel userConfigurationData = experiment.getUserConfigurationData();
+            String token = null;
+            final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
+            if (groupResourceProfileId == null) {
+                throw new Exception("Experiment not configured with a Group Resource Profile: " + experimentId);
+            }
+
+
+            if ( userConfigurationData.getComputationalResourceScheduling() != null &&
+                    userConfigurationData.getComputationalResourceScheduling().isSet(ComputationalResourceSchedulingModel._Fields.RESOURCE_HOST_ID)) {
+                GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
+                        userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
+                        groupResourceProfileId);
+
+                if (groupComputeResourcePreference.getResourceSpecificCredentialStoreToken() != null) {
+                    token = groupComputeResourcePreference.getResourceSpecificCredentialStoreToken();
+                }
+            }
+            if (token == null || token.isEmpty()) {
                 // try with group resource profile level token
-				GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
-				token = groupResourceProfile.getDefaultCredentialStoreToken();
+                GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
+                token = groupResourceProfile.getDefaultCredentialStoreToken();
             }
             // still the token is empty, then we fail the experiment
-            if (token == null || token.isEmpty()){
-				throw new Exception("You have not configured credential store token at group resource profile or compute resource preference." +
-						" Please provide the correct token at group resource profile or compute resource preference.");
+            if (token == null || token.isEmpty()) {
+                throw new Exception("You have not configured credential store token at group resource profile or compute resource preference." +
+                        " Please provide the correct token at group resource profile or compute resource preference.");
             }
             ExperimentType executionType = experiment.getExperimentType();
             if (executionType == ExperimentType.SINGLE_APPLICATION) {
                 //its an single application execution experiment
                 List<ProcessModel> processes = orchestrator.createProcesses(experimentId, gatewayId);
 
-				for (ProcessModel processModel : processes){
-					//FIXME Resolving replica if available. This is a very crude way of resolving input replicas. A full featured
-					//FIXME replica resolving logic should come here
-					processModel.getProcessInputs().stream().forEach(pi -> {
-						if (pi.getType().equals(DataType.URI) && pi.getValue() != null && pi.getValue().startsWith("airavata-dp://")) {
-							try {
-								DataProductModel dataProductModel = registryClient.getDataProduct(pi.getValue());
-								Optional<DataReplicaLocationModel> rpLocation = dataProductModel.getReplicaLocations()
-										.stream().filter(rpModel -> rpModel.getReplicaLocationCategory().
-												equals(ReplicaLocationCategory.GATEWAY_DATA_STORE)).findFirst();
-								if (rpLocation.isPresent()) {
-									pi.setValue(rpLocation.get().getFilePath());
-									pi.setStorageResourceId(rpLocation.get().getStorageResourceId());
-								} else {
-									log.error("Could not find a replica for the URI " + pi.getValue());
-								}
-							} catch (RegistryServiceException e) {
-								throw new RuntimeException("Error while launching experiment", e);
+                for (ProcessModel processModel : processes) {
+                    //FIXME Resolving replica if available. This is a very crude way of resolving input replicas. A full featured
+                    //FIXME replica resolving logic should come here
+                    processModel.getProcessInputs().stream().forEach(pi -> {
+                        if (pi.getType().equals(DataType.URI) && pi.getValue() != null && pi.getValue().startsWith("airavata-dp://")) {
+                            try {
+                                DataProductModel dataProductModel = registryClient.getDataProduct(pi.getValue());
+                                Optional<DataReplicaLocationModel> rpLocation = dataProductModel.getReplicaLocations()
+                                        .stream().filter(rpModel -> rpModel.getReplicaLocationCategory().
+                                                equals(ReplicaLocationCategory.GATEWAY_DATA_STORE)).findFirst();
+                                if (rpLocation.isPresent()) {
+                                    pi.setValue(rpLocation.get().getFilePath());
+                                    pi.setStorageResourceId(rpLocation.get().getStorageResourceId());
+                                } else {
+                                    log.error("Could not find a replica for the URI " + pi.getValue());
+                                }
+                            } catch (RegistryServiceException e) {
+                                throw new RuntimeException("Error while launching experiment", e);
                             } catch (TException e) {
-								throw new RuntimeException("Error while launching experiment", e);
+                                throw new RuntimeException("Error while launching experiment", e);
                             }
                         } else if (pi.getType().equals(DataType.URI_COLLECTION) && pi.getValue() != null && pi.getValue().contains("airavata-dp://")) {
-							try {
-								String[] uriList = pi.getValue().split(",");
-								final ArrayList<String> filePathList = new ArrayList<>();
-								for (String uri : uriList) {
-									if (uri.startsWith("airavata-dp://")) {
-										DataProductModel dataProductModel = registryClient.getDataProduct(uri);
-										Optional<DataReplicaLocationModel> rpLocation = dataProductModel.getReplicaLocations()
-												.stream().filter(rpModel -> rpModel.getReplicaLocationCategory().
-														equals(ReplicaLocationCategory.GATEWAY_DATA_STORE)).findFirst();
-										if (rpLocation.isPresent()) {
-											filePathList.add(rpLocation.get().getFilePath());
-										} else {
-											log.error("Could not find a replica for the URI " + pi.getValue());
-										}
-									} else {
-										// uri is in file path format
-										filePathList.add(uri);
-									}
-								}
-								pi.setValue(StringUtils.join(filePathList, ','));
-							} catch (RegistryServiceException e) {
-								throw new RuntimeException("Error while launching experiment", e);
+                            try {
+                                String[] uriList = pi.getValue().split(",");
+                                final ArrayList<String> filePathList = new ArrayList<>();
+                                for (String uri : uriList) {
+                                    if (uri.startsWith("airavata-dp://")) {
+                                        DataProductModel dataProductModel = registryClient.getDataProduct(uri);
+                                        Optional<DataReplicaLocationModel> rpLocation = dataProductModel.getReplicaLocations()
+                                                .stream().filter(rpModel -> rpModel.getReplicaLocationCategory().
+                                                        equals(ReplicaLocationCategory.GATEWAY_DATA_STORE)).findFirst();
+                                        if (rpLocation.isPresent()) {
+                                            filePathList.add(rpLocation.get().getFilePath());
+                                        } else {
+                                            log.error("Could not find a replica for the URI " + pi.getValue());
+                                        }
+                                    } else {
+                                        // uri is in file path format
+                                        filePathList.add(uri);
+                                    }
+                                }
+                                pi.setValue(StringUtils.join(filePathList, ','));
+                            } catch (RegistryServiceException e) {
+                                throw new RuntimeException("Error while launching experiment", e);
                             } catch (TException e) {
-								throw new RuntimeException("Error while launching experiment", e);
+                                throw new RuntimeException("Error while launching experiment", e);
                             }
                         }
-					});
-					String taskDag = orchestrator.createAndSaveTasks(gatewayId, processModel, experiment.getUserConfigurationData().isAiravataAutoSchedule());
-					processModel.setTaskDag(taskDag);
-					registryClient.updateProcess(processModel, processModel.getProcessId());
-				}
+                    });
 
-				if (!validateProcess(experimentId, processes)) {
-					throw new Exception("Validating process fails for given experiment Id : " + experimentId);
-				}
 
-				log.debug(experimentId, "Launching single application experiment {}.", experimentId);
-                ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
-                status.setReason("submitted all processes");
-                status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-                OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
-                log.info("expId: {}, Launched experiment ", experimentId);
-                OrchestratorServerThreadPoolExecutor.getCachedThreadPool().execute(MDCUtil.wrapWithMDC(new SingleAppExperimentRunner(experimentId, token, gatewayId)));
+
+
+                    if (!experiment.getUserConfigurationData().isAiravataAutoSchedule()) {
+                        String taskDag = orchestrator.createAndSaveTasks(gatewayId, processModel);
+                        processModel.setTaskDag(taskDag);
+                    }
+                    registryClient.updateProcess(processModel, processModel.getProcessId());
+                }
+
+                if (!experiment.getUserConfigurationData().isAiravataAutoSchedule() && !validateProcess(experimentId, processes)) {
+                    throw new Exception("Validating process fails for given experiment Id : " + experimentId);
+                }
+
+                ProcessScheduler scheduler = new ProcessSchedulerImpl();
+                if (!experiment.getUserConfigurationData().isAiravataAutoSchedule() || scheduler.canLaunch(experimentId)) {
+                    createAndValidateTasks(experiment,registryClient, false);
+                    runExperimentLauncher(experimentId, gatewayId, token);
+                } else {
+                    log.debug(experimentId, "Queuing single application experiment {}.", experimentId);
+                    ExperimentStatus status = new ExperimentStatus(ExperimentState.SCHEDULED);
+                    status.setReason("Compute resources are not ready");
+                    status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+                    OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
+                    log.info("expId: {}, Scheduled experiment ", experimentId);
+                }
             } else if (executionType == ExperimentType.WORKFLOW) {
                 //its a workflow execution experiment
                 log.debug(experimentId, "Launching workflow experiment {}.", experimentId);
@@ -253,214 +269,216 @@
                 log.error(experimentId, "Couldn't identify experiment type, experiment {} is neither single application nor workflow.", experimentId);
                 throw new TException("Experiment '" + experimentId + "' launch failed. Unable to figureout execution type for application " + experiment.getExecutionId());
             }
-		} catch (LaunchValidationException launchValidationException) {
-			ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
-			status.setReason("Validation failed: " + launchValidationException.getErrorMessage());
-			status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-			OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
-			throw new TException("Experiment '" + experimentId + "' launch failed. Experiment failed to validate: " + launchValidationException.getErrorMessage(), launchValidationException);
+        } catch (LaunchValidationException launchValidationException) {
+            ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
+            status.setReason("Validation failed: " + launchValidationException.getErrorMessage());
+            status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+            OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
+            throw new TException("Experiment '" + experimentId + "' launch failed. Experiment failed to validate: " + launchValidationException.getErrorMessage(), launchValidationException);
         } catch (Exception e) {
-			ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
-			status.setReason("Unexpected error occurred: " + e.getMessage());
-			status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-			OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
+            ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
+            status.setReason("Unexpected error occurred: " + e.getMessage());
+            status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+            OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
             throw new TException("Experiment '" + experimentId + "' launch failed.", e);
-		} finally {
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
+        } finally {
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
         }
         return true;
-	}
+    }
 
-	/**
-	 * This method will validate the experiment before launching, if is failed
-	 * we do not run the launch in airavata thrift service (only if validation
-	 * is enabled
-	 *
-	 * @param experimentId
-	 * @return
-	 * @throws TException
-	 */
-	public boolean validateExperiment(String experimentId) throws TException, LaunchValidationException {
-		final RegistryService.Client registryClient = getRegistryServiceClient();
-		try {
+    /**
+     * This method will validate the experiment before launching, if is failed
+     * we do not run the launch in airavata thrift service (only if validation
+     * is enabled
+     *
+     * @param experimentId
+     * @return
+     * @throws TException
+     */
+    public boolean validateExperiment(String experimentId) throws TException, LaunchValidationException {
+        final RegistryService.Client registryClient = getRegistryServiceClient();
+        try {
             ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
             return orchestrator.validateExperiment(experimentModel).isValidationState();
-		} catch (OrchestratorException e) {
+        } catch (OrchestratorException e) {
             log.error(experimentId, "Error while validating experiment", e);
-			throw new TException(e);
-		} finally {
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
-		}
-	}
+            throw new TException(e);
+        } finally {
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
+        }
+    }
 
     @Override
     public boolean validateProcess(String experimentId, List<ProcessModel> processes) throws LaunchValidationException, TException {
-		final RegistryService.Client registryClient = getRegistryServiceClient();
+        final RegistryService.Client registryClient = getRegistryServiceClient();
         try {
-			ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
-			for (ProcessModel processModel : processes) {
-				boolean state = orchestrator.validateProcess(experimentModel, processModel).isSetValidationState();
-				if (!state) {
-					return false;
-				}
-			}
-			return true;
-		} catch (LaunchValidationException lve) {
+            ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
+            for (ProcessModel processModel : processes) {
+                boolean state = orchestrator.validateProcess(experimentModel, processModel).isSetValidationState();
+                if (!state) {
+                    return false;
+                }
+            }
+            return true;
+        } catch (LaunchValidationException lve) {
 
-			// If a process failed to validate, also add an error message at the experiment level
-			ErrorModel details = new ErrorModel();
-			details.setActualErrorMessage(lve.getErrorMessage());
-			details.setCreationTime(Calendar.getInstance().getTimeInMillis());
-			registryClient.addErrors(OrchestratorConstants.EXPERIMENT_ERROR, details, experimentId);
-			throw lve;
+            // If a process failed to validate, also add an error message at the experiment level
+            ErrorModel details = new ErrorModel();
+            details.setActualErrorMessage(lve.getErrorMessage());
+            details.setCreationTime(Calendar.getInstance().getTimeInMillis());
+            registryClient.addErrors(OrchestratorConstants.EXPERIMENT_ERROR, details, experimentId);
+            throw lve;
         } catch (OrchestratorException e) {
             log.error(experimentId, "Error while validating process", e);
             throw new TException(e);
-		} finally {
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
+        } finally {
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
         }
-	}
+    }
 
     /**
-	 * This can be used to cancel a running experiment and store the status to
-	 * terminated in registry
-	 *
-	 * @param experimentId
-	 * @return
-	 * @throws TException
-	 */
-	public boolean terminateExperiment(String experimentId, String gatewayId) throws TException {
-		final RegistryService.Client registryClient = getRegistryServiceClient();
+     * This can be used to cancel a running experiment and store the status to
+     * terminated in registry
+     *
+     * @param experimentId
+     * @return
+     * @throws TException
+     */
+    public boolean terminateExperiment(String experimentId, String gatewayId) throws TException {
+        final RegistryService.Client registryClient = getRegistryServiceClient();
         log.info(experimentId, "Experiment: {} is cancelling  !!!!!", experimentId);
-		try {
-			return validateStatesAndCancel(registryClient, experimentId, gatewayId);
-		} catch (Exception e) {
-			log.error("expId : " + experimentId + " :- Error while cancelling experiment", e);
-			return false;
-		} finally {
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
-		}
-	}
+        try {
+            return validateStatesAndCancel(registryClient, experimentId, gatewayId);
+        } catch (Exception e) {
+            log.error("expId : " + experimentId + " :- Error while cancelling experiment", e);
+            return false;
+        } finally {
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
+        }
+    }
 
-	public void fetchIntermediateOutputs(String experimentId, String gatewayId, List<String> outputNames) throws TException {
-		final RegistryService.Client registryClient = getRegistryServiceClient();
-		try {
-			submitIntermediateOutputsProcess(registryClient, experimentId, gatewayId, outputNames);
-		} catch (Exception e) {
-			log.error("expId : " + experimentId + " :- Error while fetching intermediate", e);
-		} finally {
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
-		}
-	}
+    public void fetchIntermediateOutputs(String experimentId, String gatewayId, List<String> outputNames) throws TException {
+        final RegistryService.Client registryClient = getRegistryServiceClient();
+        try {
+            submitIntermediateOutputsProcess(registryClient, experimentId, gatewayId, outputNames);
+        } catch (Exception e) {
+            log.error("expId : " + experimentId + " :- Error while fetching intermediate", e);
+        } finally {
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
+        }
+    }
 
-	private void submitIntermediateOutputsProcess(Client registryClient, String experimentId,
-												  String gatewayId, List<String> outputNames) throws Exception {
+    private void submitIntermediateOutputsProcess(Client registryClient, String experimentId,
+                                                  String gatewayId, List<String> outputNames) throws Exception {
 
-		ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
-		ProcessModel processModel = ExperimentModelUtil.cloneProcessFromExperiment(experimentModel);
-		processModel.setExperimentDataDir(processModel.getExperimentDataDir() + "/intermediates");
+        ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
+        ProcessModel processModel = ExperimentModelUtil.cloneProcessFromExperiment(experimentModel);
+        processModel.setExperimentDataDir(processModel.getExperimentDataDir() + "/intermediates");
 
-		List<OutputDataObjectType> applicationOutputs = registryClient.getApplicationOutputs(
-				experimentModel.getExecutionId()); // This is to get a clean output object set
-		List<OutputDataObjectType> requestedOutputs = new ArrayList<>();
+        List<OutputDataObjectType> applicationOutputs = registryClient.getApplicationOutputs(
+                experimentModel.getExecutionId()); // This is to get a clean output object set
+        List<OutputDataObjectType> requestedOutputs = new ArrayList<>();
 
-		for (OutputDataObjectType output : applicationOutputs) {
-			if (outputNames.contains(output.getName())) {
-				requestedOutputs.add(output);
-			}
-		}
-		processModel.setProcessOutputs(requestedOutputs);
-		String processId = registryClient.addProcess(processModel, experimentId);
-		processModel.setProcessId(processId);
+        for (OutputDataObjectType output : applicationOutputs) {
+            if (outputNames.contains(output.getName())) {
+                requestedOutputs.add(output);
+            }
+        }
+        processModel.setProcessOutputs(requestedOutputs);
+        String processId = registryClient.addProcess(processModel, experimentId);
+        processModel.setProcessId(processId);
 
-		try {
-			// Find the process that is responsible for main experiment workflow by
-			// looking for the process that has the JOB_SUBMISSION task
-			Optional<ProcessModel> jobSubmissionProcess = experimentModel.getProcesses().stream()
-					.filter(p -> p.getTasks().stream().anyMatch(t -> t.getTaskType() == TaskTypes.JOB_SUBMISSION))
-					.findFirst();
-			if (!jobSubmissionProcess.isPresent()) {
-				throw new Exception(MessageFormat.format(
-						"Could not find job submission process for experiment {0}, unable to fetch intermediate outputs {1}",
-						experimentId, outputNames));
-			}
-			String taskDag = orchestrator.createAndSaveIntermediateOutputFetchingTasks(gatewayId, processModel,
-					jobSubmissionProcess.get());
-			processModel.setTaskDag(taskDag);
+        try {
+            // Find the process that is responsible for main experiment workflow by
+            // looking for the process that has the JOB_SUBMISSION task
+            Optional<ProcessModel> jobSubmissionProcess = experimentModel.getProcesses().stream()
+                    .filter(p -> p.getTasks().stream().anyMatch(t -> t.getTaskType() == TaskTypes.JOB_SUBMISSION))
+                    .findFirst();
+            if (!jobSubmissionProcess.isPresent()) {
+                throw new Exception(MessageFormat.format(
+                        "Could not find job submission process for experiment {0}, unable to fetch intermediate outputs {1}",
+                        experimentId, outputNames));
+            }
+            String taskDag = orchestrator.createAndSaveIntermediateOutputFetchingTasks(gatewayId, processModel,
+                    jobSubmissionProcess.get());
+            processModel.setTaskDag(taskDag);
 
-			registryClient.updateProcess(processModel, processModel.getProcessId());
+            registryClient.updateProcess(processModel, processModel.getProcessId());
 
-			// Figure out the credential token
-			UserConfigurationDataModel userConfigurationData = experimentModel.getUserConfigurationData();
-			String token = null;
-			final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
-			if (groupResourceProfileId == null) {
-				throw new Exception("Experiment not configured with a Group Resource Profile: " + experimentId);
-			}
-			GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
-					userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
-					groupResourceProfileId);
-			if (groupComputeResourcePreference.getResourceSpecificCredentialStoreToken() != null) {
-				token = groupComputeResourcePreference.getResourceSpecificCredentialStoreToken();
-			}
-			if (token == null || token.isEmpty()){
-				// try with group resource profile level token
-				GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
-				token = groupResourceProfile.getDefaultCredentialStoreToken();
-			}
-			// still the token is empty, then we fail the experiment
-			if (token == null || token.isEmpty()){
-				throw new Exception("You have not configured credential store token at group resource profile or compute resource preference." +
-						" Please provide the correct token at group resource profile or compute resource preference.");
-			}
-			orchestrator.launchProcess(processModel, token);
-		} catch (Exception e) {
-			log.error("Failed to launch process for intermediate output fetching", e);
+            // Figure out the credential token
+            UserConfigurationDataModel userConfigurationData = experimentModel.getUserConfigurationData();
+            String token = null;
+            final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
+            if (groupResourceProfileId == null) {
+                throw new Exception("Experiment not configured with a Group Resource Profile: " + experimentId);
+            }
+            GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
+                    userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
+                    groupResourceProfileId);
+            if (groupComputeResourcePreference.getResourceSpecificCredentialStoreToken() != null) {
+                token = groupComputeResourcePreference.getResourceSpecificCredentialStoreToken();
+            }
+            if (token == null || token.isEmpty()) {
+                // try with group resource profile level token
+                GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
+                token = groupResourceProfile.getDefaultCredentialStoreToken();
+            }
+            // still the token is empty, then we fail the experiment
+            if (token == null || token.isEmpty()) {
+                throw new Exception("You have not configured credential store token at group resource profile or compute resource preference." +
+                        " Please provide the correct token at group resource profile or compute resource preference.");
+            }
+            orchestrator.launchProcess(processModel, token);
+        } catch (Exception e) {
+            log.error("Failed to launch process for intermediate output fetching", e);
 
-			// Update Process status to FAILED
-			ProcessStatus status = new ProcessStatus(ProcessState.FAILED);
-			status.setReason("Intermediate output fetching process failed to launch: " + e.getMessage());
-			status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-			registryClient.addProcessStatus(status, processId);
+            // Update Process status to FAILED
+            ProcessStatus status = new ProcessStatus(ProcessState.FAILED);
+            status.setReason("Intermediate output fetching process failed to launch: " + e.getMessage());
+            status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+            registryClient.addProcessStatus(status, processId);
 
-			throw e;
-		}
-	}
+            throw e;
+        }
+    }
 
-	private String getAiravataUserName() {
-		return airavataUserName;
-	}
+    private String getAiravataUserName() {
+        return airavataUserName;
+    }
 
-	private String getGatewayName() {
-		return gatewayName;
-	}
+    private String getGatewayName() {
+        return gatewayName;
+    }
 
-	public void setAiravataUserName(String airavataUserName) {
-		this.airavataUserName = airavataUserName;
-	}
+    public void setAiravataUserName(String airavataUserName) {
+        this.airavataUserName = airavataUserName;
+    }
 
-	public void setGatewayName(String gatewayName) {
-		this.gatewayName = gatewayName;
-	}
+    public void setGatewayName(String gatewayName) {
+        this.gatewayName = gatewayName;
+    }
 
-	@Override
-	public boolean launchProcess(String processId, String airavataCredStoreToken, String gatewayId) throws TException {
-		final RegistryService.Client registryClient = getRegistryServiceClient();
-		try {
+    @Override
+    public boolean launchProcess(String processId, String airavataCredStoreToken, String gatewayId) throws TException {
+        final RegistryService.Client registryClient = getRegistryServiceClient();
+        try {
             ProcessStatus processStatus = registryClient.getProcessStatus(processId);
 
             switch (processStatus.getState()) {
-                case CREATED: case VALIDATED:
+                case CREATED:
+                case VALIDATED:
+                case DEQUEUING:
                     ProcessModel processModel = registryClient.getProcess(processId);
                     String applicationId = processModel.getApplicationInterfaceId();
                     if (applicationId == null) {
@@ -470,8 +488,8 @@
                     // set application deployment id to process model
                     ApplicationDeploymentDescription applicationDeploymentDescription = getAppDeployment(registryClient, processModel, applicationId);
                     if (applicationDeploymentDescription == null) {
-                    	log.error("Could not find an application deployment for " + processModel.getComputeResourceId() + " and application " + applicationId);
-						throw new OrchestratorException("Could not find an application deployment for " + processModel.getComputeResourceId() + " and application " + applicationId);
+                        log.error("Could not find an application deployment for " + processModel.getComputeResourceId() + " and application " + applicationId);
+                        throw new OrchestratorException("Could not find an application deployment for " + processModel.getComputeResourceId() + " and application " + applicationId);
                     }
                     processModel.setApplicationDeploymentId(applicationDeploymentDescription.getAppDeploymentId());
                     // set compute resource id to process model, default we set the same in the user preferred compute host id
@@ -484,15 +502,15 @@
                     return false;
             }
 
-		} catch (Exception e) {
+        } catch (Exception e) {
             log.error(processId, "Error while launching process ", e);
             throw new TException(e);
-		} finally {
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
+        } finally {
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
         }
-	}
+    }
 
     private ApplicationDeploymentDescription getAppDeployment(RegistryService.Client registryClient, ProcessModel processModel, String applicationId)
             throws OrchestratorException,
@@ -510,80 +528,83 @@
         List<ApplicationDeploymentDescription> applicationDeployements = registryClient.getApplicationDeployments(selectedModuleId);
         Map<ComputeResourceDescription, ApplicationDeploymentDescription> deploymentMap = new HashMap<ComputeResourceDescription, ApplicationDeploymentDescription>();
 
-		for (ApplicationDeploymentDescription deploymentDescription : applicationDeployements) {
-			if (processModel.getComputeResourceId().equals(deploymentDescription.getComputeHostId())) {
-				deploymentMap.put(registryClient.getComputeResource(deploymentDescription.getComputeHostId()), deploymentDescription);
-			}
-		}
+        for (ApplicationDeploymentDescription deploymentDescription : applicationDeployements) {
+            if (processModel.getComputeResourceId().equals(deploymentDescription.getComputeHostId())) {
+                deploymentMap.put(registryClient.getComputeResource(deploymentDescription.getComputeHostId()), deploymentDescription);
+            }
+        }
         List<ComputeResourceDescription> computeHostList = Arrays.asList(deploymentMap.keySet().toArray(new ComputeResourceDescription[]{}));
         Class<? extends HostScheduler> aClass = Class.forName(
                 ServerSettings.getHostScheduler()).asSubclass(
-		        HostScheduler.class);
+                HostScheduler.class);
         HostScheduler hostScheduler = aClass.newInstance();
         ComputeResourceDescription ComputeResourceDescription = hostScheduler.schedule(computeHostList);
         return deploymentMap.get(ComputeResourceDescription);
     }
 
-	private String getModuleId(RegistryService.Client registryClient, String applicationId)
+    private String getModuleId(RegistryService.Client registryClient, String applicationId)
             throws OrchestratorException, TException {
-		ApplicationInterfaceDescription applicationInterface = registryClient.getApplicationInterface(applicationId);
-		List<String> applicationModules = applicationInterface.getApplicationModules();
-		if (applicationModules.size()==0){
-			throw new OrchestratorException(
-					"No modules defined for application "
-							+ applicationId);
-		}
+        ApplicationInterfaceDescription applicationInterface = registryClient.getApplicationInterface(applicationId);
+        List<String> applicationModules = applicationInterface.getApplicationModules();
+        if (applicationModules.size() == 0) {
+            throw new OrchestratorException(
+                    "No modules defined for application "
+                            + applicationId);
+        }
 //			AiravataAPI airavataAPI = getAiravataAPI();
-		String selectedModuleId=applicationModules.get(0);
-		return selectedModuleId;
-	}
+        String selectedModuleId = applicationModules.get(0);
+        return selectedModuleId;
+    }
 
     private boolean validateStatesAndCancel(RegistryService.Client registryClient, String experimentId, String gatewayId) throws Exception {
-		ExperimentStatus experimentStatus = registryClient.getExperimentStatus(experimentId);
-		switch (experimentStatus.getState()) {
-			case COMPLETED: case CANCELED: case FAILED: case CANCELING:
-				log.warn("Can't terminate already {} experiment", experimentStatus.getState().name());
-				return false;
-			case CREATED:
-				log.warn("Experiment termination is only allowed for launched experiments.");
-				return false;
-			default:
-				ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
-				final UserConfigurationDataModel userConfigurationData = experimentModel.getUserConfigurationData();
-				final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
+        ExperimentStatus experimentStatus = registryClient.getExperimentStatus(experimentId);
+        switch (experimentStatus.getState()) {
+            case COMPLETED:
+            case CANCELED:
+            case FAILED:
+            case CANCELING:
+                log.warn("Can't terminate already {} experiment", experimentStatus.getState().name());
+                return false;
+            case CREATED:
+                log.warn("Experiment termination is only allowed for launched experiments.");
+                return false;
+            default:
+                ExperimentModel experimentModel = registryClient.getExperiment(experimentId);
+                final UserConfigurationDataModel userConfigurationData = experimentModel.getUserConfigurationData();
+                final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
 
-				GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
-						userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
-						groupResourceProfileId);
+                GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
+                        userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
+                        groupResourceProfileId);
                 String token = groupComputeResourcePreference.getResourceSpecificCredentialStoreToken();
-                if (token == null || token.isEmpty()){
+                if (token == null || token.isEmpty()) {
                     // try with group resource profile level token
-					GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
+                    GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
                     token = groupResourceProfile.getDefaultCredentialStoreToken();
                 }
                 // still the token is empty, then we fail the experiment
-                if (token == null || token.isEmpty()){
+                if (token == null || token.isEmpty()) {
                     log.error("You have not configured credential store token at group resource profile or compute resource preference." +
                             " Please provide the correct token at group resource profile or compute resource preference.");
                     return false;
                 }
 
-				orchestrator.cancelExperiment(experimentModel, token);
-				// TODO deprecate this approach as we are replacing gfac
-				String expCancelNodePath = ZKPaths.makePath(ZKPaths.makePath(ZkConstants.ZOOKEEPER_EXPERIMENT_NODE,
-						experimentId), ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
-				Stat stat = curatorClient.checkExists().forPath(expCancelNodePath);
-				if (stat != null) {
-					curatorClient.setData().withVersion(-1).forPath(expCancelNodePath, ZkConstants.ZOOKEEPER_CANCEL_REQEUST
-							.getBytes());
-					ExperimentStatus status = new ExperimentStatus(ExperimentState.CANCELING);
-					status.setReason("Experiment cancel request processed");
-					status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-					OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
-					log.info("expId : " + experimentId + " :- Experiment status updated to " + status.getState());
-				}
-				return true;
-		}
+                orchestrator.cancelExperiment(experimentModel, token);
+                // TODO deprecate this approach as we are replacing gfac
+                String expCancelNodePath = ZKPaths.makePath(ZKPaths.makePath(ZkConstants.ZOOKEEPER_EXPERIMENT_NODE,
+                        experimentId), ZkConstants.ZOOKEEPER_CANCEL_LISTENER_NODE);
+                Stat stat = curatorClient.checkExists().forPath(expCancelNodePath);
+                if (stat != null) {
+                    curatorClient.setData().withVersion(-1).forPath(expCancelNodePath, ZkConstants.ZOOKEEPER_CANCEL_REQEUST
+                            .getBytes());
+                    ExperimentStatus status = new ExperimentStatus(ExperimentState.CANCELING);
+                    status.setReason("Experiment cancel request processed");
+                    status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+                    OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
+                    log.info("expId : " + experimentId + " :- Experiment status updated to " + status.getState());
+                }
+                return true;
+        }
     }
 
     private void launchWorkflowExperiment(String experimentId, String airavataCredStoreToken, String gatewayId) throws TException {
@@ -596,30 +617,32 @@
 //        }
     }
 
-	private class SingleAppExperimentRunner implements Runnable {
+    private class SingleAppExperimentRunner implements Runnable {
 
         String experimentId;
         String airavataCredStoreToken;
         String gatewayId;
-        public SingleAppExperimentRunner(String experimentId,String airavataCredStoreToken, String gatewayId){
+
+        public SingleAppExperimentRunner(String experimentId, String airavataCredStoreToken, String gatewayId) {
             this.experimentId = experimentId;
             this.airavataCredStoreToken = airavataCredStoreToken;
             this.gatewayId = gatewayId;
         }
+
         @Override
         public void run() {
             try {
                 launchSingleAppExperiment();
             } catch (TException e) {
                 log.error("Unable to launch experiment..", e);
-				throw new RuntimeException("Error while launching experiment", e);
+                throw new RuntimeException("Error while launching experiment", e);
             } catch (AiravataException e) {
                 log.error("Unable to publish experiment status..", e);
             }
         }
 
         private boolean launchSingleAppExperiment() throws TException, AiravataException {
-			final RegistryService.Client registryClient = getRegistryServiceClient();
+            final RegistryService.Client registryClient = getRegistryServiceClient();
             try {
                 List<String> processIds = registryClient.getProcessIds(experimentId);
                 for (String processId : processIds) {
@@ -630,12 +653,12 @@
 //				status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
 //				OrchestratorUtils.updageAndPublishExperimentStatus(experimentId, status);
 //				log.info("expId: {}, Launched experiment ", experimentId);
-			} catch (Exception e) {
-	            ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
-	            status.setReason("Error while updating task status");
-	            OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
-	            log.error("expId: " + experimentId + ", Error while updating task status, hence updated experiment status to " +
-			            ExperimentState.FAILED, e);
+            } catch (Exception e) {
+                ExperimentStatus status = new ExperimentStatus(ExperimentState.FAILED);
+                status.setReason("Error while updating task status");
+                OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
+                log.error("expId: " + experimentId + ", Error while updating task status, hence updated experiment status to " +
+                        ExperimentState.FAILED, e);
                 ExperimentStatusChangeEvent event = new ExperimentStatusChangeEvent(ExperimentState.FAILED,
                         experimentId,
                         gatewayId);
@@ -643,63 +666,64 @@
                 MessageContext messageContext = new MessageContext(event, MessageType.EXPERIMENT, messageId, gatewayId);
                 messageContext.setUpdatedTime(AiravataUtils.getCurrentTimestamp());
                 publisher.publish(messageContext);
-	            throw new TException(e);
-			} finally {
-				if (registryClient != null) {
-					ThriftUtils.close(registryClient);
-				}
+                throw new TException(e);
+            } finally {
+                if (registryClient != null) {
+                    ThriftUtils.close(registryClient);
+                }
             }
             return true;
         }
 
     }
 
-	private class ProcessStatusHandler implements MessageHandler {
-		/**
-		 * This method only handle MessageType.PROCESS type messages.
-		 * @param message
-		 */
-		@Override
-		public void onMessage(MessageContext message) {
-			if (message.getType().equals(MessageType.PROCESS)) {
-				try {
-					ProcessStatusChangeEvent processStatusChangeEvent = new ProcessStatusChangeEvent();
-					TBase event = message.getEvent();
-					byte[] bytes = ThriftUtils.serializeThriftObject(event);
-					ThriftUtils.createThriftFromBytes(bytes, processStatusChangeEvent);
-					ExperimentStatus status = new ExperimentStatus();
-					ProcessIdentifier processIdentity = processStatusChangeEvent.getProcessIdentity();
-					log.info("expId: {}, processId: {} :- Process status changed event received for status {}",
-					processIdentity.getExperimentId(), processIdentity.getProcessId(),
-					processStatusChangeEvent.getState().name());
-					try {
-						ProcessModel process = OrchestratorUtils.getProcess(processIdentity.getProcessId());
-						boolean isIntermediateOutputFetchingProcess = process.getTasks().stream().anyMatch(t -> t.getTaskType() == TaskTypes.OUTPUT_FETCHING);
-						if (isIntermediateOutputFetchingProcess) {
-							log.info("Not updating experiment status because process is an intermediate output fetching one");
-							return;
-						}
-					} catch (ApplicationSettingsException e) {
-						throw new RuntimeException("Error getting process " + processIdentity.getProcessId(), e);
-					}
-					switch (processStatusChangeEvent.getState()) {
+    private class ProcessStatusHandler implements MessageHandler {
+        /**
+         * This method only handle MessageType.PROCESS type messages.
+         *
+         * @param message
+         */
+        @Override
+        public void onMessage(MessageContext message) {
+            if (message.getType().equals(MessageType.PROCESS)) {
+                try {
+                    ProcessStatusChangeEvent processStatusChangeEvent = new ProcessStatusChangeEvent();
+                    TBase event = message.getEvent();
+                    byte[] bytes = ThriftUtils.serializeThriftObject(event);
+                    ThriftUtils.createThriftFromBytes(bytes, processStatusChangeEvent);
+                    ExperimentStatus status = new ExperimentStatus();
+                    ProcessIdentifier processIdentity = processStatusChangeEvent.getProcessIdentity();
+                    log.info("expId: {}, processId: {} :- Process status changed event received for status {}",
+                            processIdentity.getExperimentId(), processIdentity.getProcessId(),
+                            processStatusChangeEvent.getState().name());
+                    try {
+                        ProcessModel process = OrchestratorUtils.getProcess(processIdentity.getProcessId());
+                        boolean isIntermediateOutputFetchingProcess = process.getTasks().stream().anyMatch(t -> t.getTaskType() == TaskTypes.OUTPUT_FETCHING);
+                        if (isIntermediateOutputFetchingProcess) {
+                            log.info("Not updating experiment status because process is an intermediate output fetching one");
+                            return;
+                        }
+                    } catch (ApplicationSettingsException e) {
+                        throw new RuntimeException("Error getting process " + processIdentity.getProcessId(), e);
+                    }
+                    switch (processStatusChangeEvent.getState()) {
 //						case CREATED:
 //						case VALIDATED:
-						case STARTED:
-							try {
-								ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
-										.getExperimentId());
-								if (stat.getState() == ExperimentState.CANCELING) {
-									status.setState(ExperimentState.CANCELING);
-									status.setReason("Process started but experiment cancelling is triggered");
-								} else {
-									status.setState(ExperimentState.EXECUTING);
-									status.setReason("process  started");
-								}
-							} catch (ApplicationSettingsException e) {
-								throw new RuntimeException("Error ", e);
-							}
-							break;
+                        case STARTED:
+                            try {
+                                ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
+                                        .getExperimentId());
+                                if (stat.getState() == ExperimentState.CANCELING) {
+                                    status.setState(ExperimentState.CANCELING);
+                                    status.setReason("Process started but experiment cancelling is triggered");
+                                } else {
+                                    status.setState(ExperimentState.EXECUTING);
+                                    status.setReason("process  started");
+                                }
+                            } catch (ApplicationSettingsException e) {
+                                throw new RuntimeException("Error ", e);
+                            }
+                            break;
 //						case PRE_PROCESSING:
 //							break;
 //						case CONFIGURING_WORKSPACE:
@@ -710,173 +734,280 @@
 //						case POST_PROCESSING:
 //						case CANCELLING:
 //							break;
-						case COMPLETED:
-							try {
-								ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
-										.getExperimentId());
-								if (stat.getState() == ExperimentState.CANCELING) {
-									status.setState(ExperimentState.CANCELED);
-									status.setReason("Process competed but experiment cancelling is triggered");
-								} else {
-									status.setState(ExperimentState.COMPLETED);
-									status.setReason("process  completed");
-								}
-							}  catch (ApplicationSettingsException e) {
-								throw new RuntimeException("Error ", e);
-							}
-							break;
-						case FAILED:
-							try {
-								ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
-										.getExperimentId());
-								if (stat.getState() == ExperimentState.CANCELING) {
-									status.setState(ExperimentState.CANCELED);
-									status.setReason("Process failed but experiment cancelling is triggered");
-								} else {
-									status.setState(ExperimentState.FAILED);
-									status.setReason("process  failed");
-								}
-							} catch (ApplicationSettingsException e) {
-								throw new RuntimeException("Unable to create registry client...", e);
-							}
-							break;
-						case CANCELED:
-							// TODO if experiment have more than one process associated with it, then this should be changed.
-							status.setState(ExperimentState.CANCELED);
-							status.setReason("process  cancelled");
-							break;
-						default:
-							// ignore other status changes, thoes will not affect for experiment status changes
-							return;
-					}
-					if (status.getState() != null) {
-						status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
-						OrchestratorUtils.updateAndPublishExperimentStatus(processIdentity.getExperimentId(), status, publisher,  processIdentity.getGatewayId());
-						log.info("expId : " + processIdentity.getExperimentId() + " :- Experiment status updated to " +
-								status.getState());
-					}
-				} catch (TException e) {
-					log.error("Message Id : " + message.getMessageId() + ", Message type : " + message.getType() +
-							"Error" + " while prcessing process status change event");
-					throw new RuntimeException("Error while updating experiment status", e);
-				}
-			} else {
-				System.out.println("Message Recieved with message id " + message.getMessageId() + " and with message " +
-						"type " + message.getType().name());
-			}
-		}
-	}
+                        case COMPLETED:
+                            try {
+                                ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
+                                        .getExperimentId());
+                                if (stat.getState() == ExperimentState.CANCELING) {
+                                    status.setState(ExperimentState.CANCELED);
+                                    status.setReason("Process competed but experiment cancelling is triggered");
+                                } else {
+                                    status.setState(ExperimentState.COMPLETED);
+                                    status.setReason("process  completed");
+                                }
+                            } catch (ApplicationSettingsException e) {
+                                throw new RuntimeException("Error ", e);
+                            }
+                            break;
+                        case FAILED:
+                            try {
+                                ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
+                                        .getExperimentId());
+                                if (stat.getState() == ExperimentState.CANCELING) {
+                                    status.setState(ExperimentState.CANCELED);
+                                    status.setReason("Process failed but experiment cancelling is triggered");
+                                } else {
+                                    status.setState(ExperimentState.FAILED);
+                                    status.setReason("process  failed");
+                                }
+                            } catch (ApplicationSettingsException e) {
+                                throw new RuntimeException("Unable to create registry client...", e);
+                            }
+                            break;
+                        case CANCELED:
+                            // TODO if experiment have more than one process associated with it, then this should be changed.
+                            status.setState(ExperimentState.CANCELED);
+                            status.setReason("process  cancelled");
+                            break;
+                        case QUEUED:
+                            status.setState(ExperimentState.SCHEDULED);
+                            status.setReason("Process started but compute resource not avaialable");
+                            break;
+                        case REQUEUED:
+                            status.setState(ExperimentState.SCHEDULED);
+                            status.setReason("Job submission failed,  requeued to resubmit");
+                            List<QueueStatusModel> queueStatusModels = new ArrayList<>();
+                            final RegistryService.Client registryClient = getRegistryServiceClient();
+                            ExperimentModel experimentModel = registryClient.getExperiment(processIdentity.getExperimentId());
+                            UserConfigurationDataModel userConfigurationDataModel = experimentModel.getUserConfigurationData();
+                            if(userConfigurationDataModel != null) {
+                               ComputationalResourceSchedulingModel computationalResourceSchedulingModel =
+                                       userConfigurationDataModel.getComputationalResourceScheduling();
+                               if(computationalResourceSchedulingModel != null) {
+                                   String queueName = computationalResourceSchedulingModel.getQueueName();
+                                   String resourceId =  computationalResourceSchedulingModel.getResourceHostId();
+                                   ComputeResourceDescription comResourceDes = registryClient.getComputeResource(resourceId);
+                                   QueueStatusModel queueStatusModel = new QueueStatusModel();
+                                   queueStatusModel.setHostName(comResourceDes.getHostName());
+                                   queueStatusModel.setQueueName(queueName);
+                                   queueStatusModel.setQueueUp(false);
+                                   queueStatusModel.setRunningJobs(0);
+                                   queueStatusModel.setQueuedJobs(0);
+                                   queueStatusModel.setTime(System.currentTimeMillis());
+                                   queueStatusModels.add(queueStatusModel);
+                                   registryClient.registerQueueStatuses(queueStatusModels);
+                               }
+                            }
+
+                            break;
+                        case DEQUEUING:
+                            try {
+                                ExperimentStatus stat = OrchestratorUtils.getExperimentStatus(processIdentity
+                                        .getExperimentId());
+                                if (stat.getState() == ExperimentState.CANCELING) {
+                                    status.setState(ExperimentState.CANCELING);
+                                    status.setReason("Process started but experiment cancelling is triggered");
+                                } else {
+                                    launchQueuedExperiment(processIdentity.getExperimentId());
+                                }
+
+                            } catch (Exception e) {
+                                throw new RuntimeException("Error ", e);
+                            }
+                            break;
+                        default:
+                            // ignore other status changes, thoes will not affect for experiment status changes
+                            return;
+                    }
+                    if (status.getState() != null) {
+                        status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+                        OrchestratorUtils.updateAndPublishExperimentStatus(processIdentity.getExperimentId(), status, publisher, processIdentity.getGatewayId());
+                        log.info("expId : " + processIdentity.getExperimentId() + " :- Experiment status updated to " +
+                                status.getState());
+                    }
+                } catch (TException e) {
+                    log.error("Message Id : " + message.getMessageId() + ", Message type : " + message.getType() +
+                            "Error" + " while prcessing process status change event");
+                    throw new RuntimeException("Error while updating experiment status", e);
+                }
+            } else {
+                System.out.println("Message Recieved with message id " + message.getMessageId() + " and with message " +
+                        "type " + message.getType().name());
+            }
+        }
+    }
 
 
-	private class ExperimentHandler implements MessageHandler {
+    private class ExperimentHandler implements MessageHandler {
 
-		@Override
-		public void onMessage(MessageContext messageContext) {
-			MDC.put(MDCConstants.GATEWAY_ID, messageContext.getGatewayId());
-			switch (messageContext.getType()) {
-				case EXPERIMENT:
-					launchExperiment(messageContext);
-					break;
-				case EXPERIMENT_CANCEL:
+        @Override
+        public void onMessage(MessageContext messageContext) {
+            MDC.put(MDCConstants.GATEWAY_ID, messageContext.getGatewayId());
+            switch (messageContext.getType()) {
+                case EXPERIMENT:
+                    launchExperiment(messageContext);
+                    break;
+                case EXPERIMENT_CANCEL:
                     cancelExperiment(messageContext);
-					break;
-				case INTERMEDIATE_OUTPUTS:
-					handleIntermediateOutputsEvent(messageContext);
-					break;
-				default:
-					experimentSubscriber.sendAck(messageContext.getDeliveryTag());
-					log.error("Orchestrator got un-support message type : " + messageContext.getType());
-					break;
-			}
-			MDC.clear();
-		}
+                    break;
+                case INTERMEDIATE_OUTPUTS:
+                    handleIntermediateOutputsEvent(messageContext);
+                    break;
+                default:
+                    experimentSubscriber.sendAck(messageContext.getDeliveryTag());
+                    log.error("Orchestrator got un-support message type : " + messageContext.getType());
+                    break;
+            }
+            MDC.clear();
+        }
 
-		private void cancelExperiment(MessageContext messageContext) {
-			try {
-				byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
-				ExperimentSubmitEvent expEvent = new ExperimentSubmitEvent();
-				ThriftUtils.createThriftFromBytes(bytes, expEvent);
-				log.info("Cancelling experiment with experimentId: {} gateway Id: {}", expEvent.getExperimentId(), expEvent.getGatewayId());
-				terminateExperiment(expEvent.getExperimentId(), expEvent.getGatewayId());
-			} catch (TException e) {
-				log.error("Error while cancelling experiment", e);
-				throw new RuntimeException("Error while cancelling experiment", e);
-			}finally {
-				experimentSubscriber.sendAck(messageContext.getDeliveryTag());
-			}
+        private void cancelExperiment(MessageContext messageContext) {
+            try {
+                byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
+                ExperimentSubmitEvent expEvent = new ExperimentSubmitEvent();
+                ThriftUtils.createThriftFromBytes(bytes, expEvent);
+                log.info("Cancelling experiment with experimentId: {} gateway Id: {}", expEvent.getExperimentId(), expEvent.getGatewayId());
+                terminateExperiment(expEvent.getExperimentId(), expEvent.getGatewayId());
+            } catch (TException e) {
+                log.error("Error while cancelling experiment", e);
+                throw new RuntimeException("Error while cancelling experiment", e);
+            } finally {
+                experimentSubscriber.sendAck(messageContext.getDeliveryTag());
+            }
 
-		}
+        }
 
-		private void handleIntermediateOutputsEvent(MessageContext messageContext) {
-			try {
-				byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
-				ExperimentIntermediateOutputsEvent event =  new ExperimentIntermediateOutputsEvent();
-				ThriftUtils.createThriftFromBytes(bytes, event);
-				log.info("INTERMEDIATE_OUTPUTS event for experimentId: {} gateway Id: {} outputs: {}", event.getExperimentId(), event.getGatewayId(), event.getOutputNames());
-				fetchIntermediateOutputs(event.getExperimentId(), event.getGatewayId(), event.getOutputNames());
-			} catch (TException e) {
-				log.error("Error while fetching intermediate outputs", e);
-				throw new RuntimeException("Error while fetching intermediate outputs", e);
-			} finally {
-				experimentSubscriber.sendAck(messageContext.getDeliveryTag());
-			}
+        private void handleIntermediateOutputsEvent(MessageContext messageContext) {
+            try {
+                byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
+                ExperimentIntermediateOutputsEvent event = new ExperimentIntermediateOutputsEvent();
+                ThriftUtils.createThriftFromBytes(bytes, event);
+                log.info("INTERMEDIATE_OUTPUTS event for experimentId: {} gateway Id: {} outputs: {}", event.getExperimentId(), event.getGatewayId(), event.getOutputNames());
+                fetchIntermediateOutputs(event.getExperimentId(), event.getGatewayId(), event.getOutputNames());
+            } catch (TException e) {
+                log.error("Error while fetching intermediate outputs", e);
+                throw new RuntimeException("Error while fetching intermediate outputs", e);
+            } finally {
+                experimentSubscriber.sendAck(messageContext.getDeliveryTag());
+            }
 
-		}
-	}
+        }
+    }
 
-	private void launchExperiment(MessageContext messageContext) {
-		ExperimentSubmitEvent expEvent = new ExperimentSubmitEvent();
-		final RegistryService.Client registryClient = getRegistryServiceClient();
-		try {
-			byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
-			ThriftUtils.createThriftFromBytes(bytes, expEvent);
-			MDC.put(MDCConstants.EXPERIMENT_ID, expEvent.getExperimentId());
-			log.info("Launching experiment with experimentId: {} gateway Id: {}", expEvent.getExperimentId(), expEvent.getGatewayId());
-			if (messageContext.isRedeliver()) {
-				ExperimentModel experimentModel = registryClient.
-						getExperiment(expEvent.getExperimentId());
-				MDC.put(MDCConstants.EXPERIMENT_NAME, experimentModel.getExperimentName());
-				if (experimentModel.getExperimentStatus().get(0).getState() == ExperimentState.CREATED) {
-					launchExperiment(expEvent.getExperimentId(), expEvent.getGatewayId());
-				}
+    private void launchExperiment(MessageContext messageContext) {
+        ExperimentSubmitEvent expEvent = new ExperimentSubmitEvent();
+        final RegistryService.Client registryClient = getRegistryServiceClient();
+        try {
+            byte[] bytes = ThriftUtils.serializeThriftObject(messageContext.getEvent());
+            ThriftUtils.createThriftFromBytes(bytes, expEvent);
+            MDC.put(MDCConstants.EXPERIMENT_ID, expEvent.getExperimentId());
+            log.info("Launching experiment with experimentId: {} gateway Id: {}", expEvent.getExperimentId(), expEvent.getGatewayId());
+            if (messageContext.isRedeliver()) {
+                ExperimentModel experimentModel = registryClient.
+                        getExperiment(expEvent.getExperimentId());
+                MDC.put(MDCConstants.EXPERIMENT_NAME, experimentModel.getExperimentName());
+                if (experimentModel.getExperimentStatus().get(0).getState() == ExperimentState.CREATED) {
+                    launchExperiment(expEvent.getExperimentId(), expEvent.getGatewayId());
+                }
             } else {
                 launchExperiment(expEvent.getExperimentId(), expEvent.getGatewayId());
             }
-		} catch (TException e) {
-			String logMessage = expEvent.getExperimentId() != null && expEvent.getGatewayId() != null ?
-					String.format("Experiment launch failed due to Thrift conversion error, experimentId: %s, gatewayId: %s",
-							expEvent.getExperimentId(), expEvent.getGatewayId()) : "Experiment launch failed due to Thrift conversion error";
-			log.error(logMessage, e);
-		} catch (Exception e) {
-			log.error("An unknown issue while launching experiment " + Optional.ofNullable(expEvent.getExperimentId()).orElse("missing experiment") +
-					" on gateway " + Optional.ofNullable(expEvent.getGatewayId()).orElse("missing gateway"), e);
-		} finally {
-			experimentSubscriber.sendAck(messageContext.getDeliveryTag());
-			MDC.clear();
-			if (registryClient != null) {
-				ThriftUtils.close(registryClient);
-			}
-		}
-	}
+        } catch (TException e) {
+            String logMessage = expEvent.getExperimentId() != null && expEvent.getGatewayId() != null ?
+                    String.format("Experiment launch failed due to Thrift conversion error, experimentId: %s, gatewayId: %s",
+                            expEvent.getExperimentId(), expEvent.getGatewayId()) : "Experiment launch failed due to Thrift conversion error";
+            log.error(logMessage, e);
+        } catch (Exception e) {
+            log.error("An unknown issue while launching experiment " + Optional.ofNullable(expEvent.getExperimentId()).orElse("missing experiment") +
+                    " on gateway " + Optional.ofNullable(expEvent.getGatewayId()).orElse("missing gateway"), e);
+        } finally {
+            experimentSubscriber.sendAck(messageContext.getDeliveryTag());
+            MDC.clear();
+            if (registryClient != null) {
+                ThriftUtils.close(registryClient);
+            }
+        }
+    }
 
-	private RegistryService.Client getRegistryServiceClient() {
-		try {
-			final int serverPort = Integer.parseInt(ServerSettings.getRegistryServerPort());
-			final String serverHost = ServerSettings.getRegistryServerHost();
-			return RegistryServiceClientFactory.createRegistryClient(serverHost, serverPort);
-		} catch (RegistryServiceException|ApplicationSettingsException e) {
-			throw new RuntimeException("Unable to create registry client...", e);
-		}
-	}
+    private RegistryService.Client getRegistryServiceClient() {
+        try {
+            final int serverPort = Integer.parseInt(ServerSettings.getRegistryServerPort());
+            final String serverHost = ServerSettings.getRegistryServerHost();
+            return RegistryServiceClientFactory.createRegistryClient(serverHost, serverPort);
+        } catch (RegistryServiceException | ApplicationSettingsException e) {
+            throw new RuntimeException("Unable to create registry client...", e);
+        }
+    }
 
-	private void startCurator() throws ApplicationSettingsException {
-		String connectionSting = ServerSettings.getZookeeperConnection();
-		RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 5);
-		curatorClient = CuratorFrameworkFactory.newClient(connectionSting, retryPolicy);
-		curatorClient.start();
-	}
+    private void startCurator() throws ApplicationSettingsException {
+        String connectionSting = ServerSettings.getZookeeperConnection();
+        RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 5);
+        curatorClient = CuratorFrameworkFactory.newClient(connectionSting, retryPolicy);
+        curatorClient.start();
+    }
 
-	public String getExperimentNodePath(String experimentId) {
-		return ZKPaths.makePath(ZkConstants.ZOOKEEPER_EXPERIMENT_NODE, experimentId);
-	}
+    public String getExperimentNodePath(String experimentId) {
+        return ZKPaths.makePath(ZkConstants.ZOOKEEPER_EXPERIMENT_NODE, experimentId);
+    }
+
+    private void runExperimentLauncher(String experimentId, String gatewayId, String token) throws TException {
+        ExperimentStatus status = new ExperimentStatus(ExperimentState.LAUNCHED);
+        status.setReason("submitted all processes");
+        status.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+        OrchestratorUtils.updateAndPublishExperimentStatus(experimentId, status, publisher, gatewayId);
+        log.info("expId: {}, Launched experiment ", experimentId);
+        OrchestratorServerThreadPoolExecutor.getCachedThreadPool().execute(MDCUtil.wrapWithMDC(new SingleAppExperimentRunner(experimentId, token, gatewayId)));
+    }
+
+    private void launchQueuedExperiment(String experimentId) throws  TException, Exception {
+        ExperimentModel experiment = null;
+        final RegistryService.Client registryClient = getRegistryServiceClient();
+        // TODO deprecate this approach as we are replacing gfac
+        experiment = registryClient.getExperiment(experimentId);
+        if (experiment == null) {
+            throw new Exception("Error retrieving the Experiment by the given experimentID: " + experimentId);
+        }
+
+        UserConfigurationDataModel userConfigurationData = experiment.getUserConfigurationData();
+        String token = null;
+        final String groupResourceProfileId = userConfigurationData.getGroupResourceProfileId();
+        if (groupResourceProfileId == null) {
+            throw new Exception("Experiment not configured with a Group Resource Profile: " + experimentId);
+        }
+        GroupComputeResourcePreference groupComputeResourcePreference = registryClient.getGroupComputeResourcePreference(
+                userConfigurationData.getComputationalResourceScheduling().getResourceHostId(),
+                groupResourceProfileId);
+        if (groupComputeResourcePreference.getResourceSpecificCredentialStoreToken() != null) {
+            token = groupComputeResourcePreference.getResourceSpecificCredentialStoreToken();
+        }
+        if (token == null || token.isEmpty()) {
+            // try with group resource profile level token
+            GroupResourceProfile groupResourceProfile = registryClient.getGroupResourceProfile(groupResourceProfileId);
+            token = groupResourceProfile.getDefaultCredentialStoreToken();
+        }
+        // still the token is empty, then we fail the experiment
+        if (token == null || token.isEmpty()) {
+            throw new Exception("You have not configured credential store token at group resource profile or compute resource preference." +
+                    " Please provide the correct token at group resource profile or compute resource preference.");
+        }
+        createAndValidateTasks(experiment,registryClient, true);
+        runExperimentLauncher(experimentId, experiment.getGatewayId(), token);
+    }
+
+    private void createAndValidateTasks(ExperimentModel experiment, RegistryService.Client  registryClient, boolean recreateTaskDag) throws Exception {
+        if (experiment.getUserConfigurationData().isAiravataAutoSchedule()){
+            List<ProcessModel> processModels = registryClient.getProcessList(experiment.getExperimentId());
+            for (ProcessModel processModel : processModels) {
+                if (processModel.getTaskDag() == null || recreateTaskDag) {
+                    registryClient.deleteTasks(processModel.getProcessId());
+                    String taskDag = orchestrator.createAndSaveTasks(experiment.getGatewayId(), processModel);
+                    processModel.setTaskDag(taskDag);
+                    registryClient.updateProcess(processModel, processModel.getProcessId());
+                }
+            }
+            if (!validateProcess(experiment.getExperimentId(), processModels)) {
+                throw new Exception("Validating process fails for given experiment Id : " + experiment.getExperimentId());
+            }
+        }
+    }
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java
new file mode 100644
index 0000000..4321397
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingEntity.java
@@ -0,0 +1,169 @@
+package org.apache.airavata.registry.core.entities.expcatalog;
+
+import javax.persistence.*;
+import java.io.Serializable;
+
+/**
+ * Persistent class for computational_resource_scheduling data table.
+ */
+@Entity
+@Table(name = "COMPUTE_RESOURCE_SCHEDULING")
+@IdClass(ComputationalResourceSchedulingPK.class)
+public class ComputationalResourceSchedulingEntity implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @Column(name = "EXPERIMENT_ID")
+    private String experimentId;
+
+    @Id
+    @Column(name = "RESOURCE_HOST_ID")
+    private String resourceHostId;
+
+    @Id
+    @Column(name = "QUEUE_NAME")
+    private String queueName;
+
+    @Column(name = "TOTAL_CPU_COUNT")
+    private int totalCPUCount;
+
+    @Column(name = "NODE_COUNT")
+    private int nodeCount;
+
+    @Column(name = "NUMBER_OF_THREADS")
+    private int numberOfThreads;
+
+    @Column(name = "WALL_TIME_LIMIT")
+    private int wallTimeLimit;
+
+    @Column(name = "PARALLEL_GROUP_COUNT")
+    private int mGroupCount;
+
+    @Column(name = "TOTAL_PHYSICAL_MEMORY")
+    private int totalPhysicalMemory;
+
+    @Column(name = "STATIC_WORKING_DIR")
+    private String staticWorkingDir;
+
+    @Column(name = "OVERRIDE_LOGIN_USER_NAME")
+    private String overrideLoginUserName;
+
+    @Column(name = "OVERRIDE_SCRATCH_LOCATION")
+    private String overrideScratchLocation;
+
+    @Column(name = "OVERRIDE_ALLOCATION_PROJECT_NUMBER")
+    private String overrideAllocationProjectNumber;
+
+
+    @ManyToOne(targetEntity = UserConfigurationDataEntity.class, cascade = CascadeType.ALL)
+    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID")
+    private UserConfigurationDataEntity userConfigurationData;
+
+
+    public ComputationalResourceSchedulingEntity() {
+    }
+
+    public String getExperimentId() {
+        return experimentId;
+    }
+
+    public void setExperimentId(String experimentId) {
+        this.experimentId = experimentId;
+    }
+
+    public String getResourceHostId() {
+        return resourceHostId;
+    }
+
+    public void setResourceHostId(String resourceHostId) {
+        this.resourceHostId = resourceHostId;
+    }
+
+    public String getQueueName() {
+        return queueName;
+    }
+
+    public void setQueueName(String queueName) {
+        this.queueName = queueName;
+    }
+
+    public int getTotalCPUCount() {
+        return totalCPUCount;
+    }
+
+    public void setTotalCPUCount(int totalCPUCount) {
+        this.totalCPUCount = totalCPUCount;
+    }
+
+    public int getNodeCount() {
+        return nodeCount;
+    }
+
+    public void setNodeCount(int nodeCount) {
+        this.nodeCount = nodeCount;
+    }
+
+    public int getNumberOfThreads() {
+        return numberOfThreads;
+    }
+
+    public void setNumberOfThreads(int numberOfThreads) {
+        this.numberOfThreads = numberOfThreads;
+    }
+
+    public int getWallTimeLimit() {
+        return wallTimeLimit;
+    }
+
+    public void setWallTimeLimit(int wallTimeLimit) {
+        this.wallTimeLimit = wallTimeLimit;
+    }
+
+    public int getTotalPhysicalMemory() {
+        return totalPhysicalMemory;
+    }
+
+    public void setTotalPhysicalMemory(int totalPhysicalMemory) {
+        this.totalPhysicalMemory = totalPhysicalMemory;
+    }
+
+    public String getStaticWorkingDir() {
+        return staticWorkingDir;
+    }
+
+    public void setStaticWorkingDir(String staticWorkingDir) {
+        this.staticWorkingDir = staticWorkingDir;
+    }
+
+    public String getOverrideLoginUserName() {
+        return overrideLoginUserName;
+    }
+
+    public void setOverrideLoginUserName(String overrideLoginUserName) {
+        this.overrideLoginUserName = overrideLoginUserName;
+    }
+
+    public String getOverrideScratchLocation() {
+        return overrideScratchLocation;
+    }
+
+    public void setOverrideScratchLocation(String overrideScratchLocation) {
+        this.overrideScratchLocation = overrideScratchLocation;
+    }
+
+    public String getOverrideAllocationProjectNumber() {
+        return overrideAllocationProjectNumber;
+    }
+
+    public void setOverrideAllocationProjectNumber(String overrideAllocationProjectNumber) {
+        this.overrideAllocationProjectNumber = overrideAllocationProjectNumber;
+    }
+
+    public int getmGroupCount() {
+        return mGroupCount;
+    }
+
+    public void setmGroupCount(int mGroupCount) {
+        this.mGroupCount = mGroupCount;
+    }
+}
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingPK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingPK.java
new file mode 100644
index 0000000..2bfe877
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputationalResourceSchedulingPK.java
@@ -0,0 +1,67 @@
+package org.apache.airavata.registry.core.entities.expcatalog;
+
+import java.io.Serializable;
+
+public class ComputationalResourceSchedulingPK implements Serializable {
+    private static final long serialVersionUID = 1L;
+
+
+    private String experimentId;
+    private String resourceHostId;
+    private String queueName;
+
+    public ComputationalResourceSchedulingPK() {
+
+    }
+
+    public String getExperimentId() {
+        return experimentId;
+    }
+
+    public void setExperimentId(String experimentId) {
+        this.experimentId = experimentId;
+    }
+
+    public String getResourceHostId() {
+        return resourceHostId;
+    }
+
+    public void setResourceHostId(String resourceHostId) {
+        this.resourceHostId = resourceHostId;
+    }
+
+    public String getQueueName() {
+        return queueName;
+    }
+
+    public void setQueueName(String queueName) {
+        this.queueName = queueName;
+    }
+
+    public boolean equals(Object other) {
+        if (this == other) {
+            return true;
+        }
+        if (!(other instanceof ComputationalResourceSchedulingPK)) {
+            return false;
+        }
+        ComputationalResourceSchedulingPK castOther = (ComputationalResourceSchedulingPK) other;
+        return
+                this.experimentId.equals(castOther.experimentId)
+                        && this.resourceHostId.equals(castOther.resourceHostId)
+                        && this.queueName.equals(castOther.queueName);
+    }
+
+    public int hashCode() {
+        final int prime = 31;
+        int hash = 17;
+        hash = hash * prime + this.experimentId.hashCode();
+        hash = hash * prime + this.resourceHostId.hashCode();
+        hash = hash * prime + this.queueName.hashCode();
+
+        return hash;
+    }
+
+
+
+}
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
index 73e9ded..b38fa3a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java
@@ -32,7 +32,7 @@
  */
 @Entity
 @Table(name = "EXPERIMENT")
-public class ExperimentEntity implements Serializable {
+public class   ExperimentEntity implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @Id
@@ -102,6 +102,8 @@
             mappedBy = "experiment", fetch = FetchType.EAGER)
     private List<ProcessEntity> processes;
 
+
+
     public ExperimentEntity() {
     }
 
@@ -256,4 +258,6 @@
     public void setProcesses(List<ProcessEntity> processes) {
         this.processes = processes;
     }
+
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
index 70f5ec1..166be71 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationDataEntity.java
@@ -22,6 +22,7 @@
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.List;
 
 /**
  * The persistent class for the user_configuration_data database table.
@@ -102,6 +103,11 @@
     @PrimaryKeyJoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID")
     private ExperimentEntity experiment;
 
+
+    @OneToMany(targetEntity = ComputationalResourceSchedulingEntity.class, cascade = CascadeType.ALL,
+            mappedBy = "userConfigurationData", fetch = FetchType.EAGER)
+    private List<ComputationalResourceSchedulingEntity> autoScheduledCompResourceSchedulingList;
+
     public UserConfigurationDataEntity() {
     }
 
@@ -288,4 +294,13 @@
     public void setExperiment(ExperimentEntity experiment) {
         this.experiment = experiment;
     }
+
+    public List<ComputationalResourceSchedulingEntity> getAutoScheduledCompResourceSchedulingList() {
+        return autoScheduledCompResourceSchedulingList;
+    }
+
+    public void setAutoScheduledCompResourceSchedulingList(List<ComputationalResourceSchedulingEntity>
+                                                                   autoScheduledCompResourceSchedulingList) {
+        this.autoScheduledCompResourceSchedulingList = autoScheduledCompResourceSchedulingList;
+    }
 }
\ No newline at end of file
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java
index ba10d59..e5c2eea 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataProductEntity.java
@@ -43,6 +43,7 @@
     @Column(name = "GATEWAY_ID")
     private String gatewayId;
 
+    @Lob
     @Column(name = "PRODUCT_NAME")
     private String productName;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
index ca0360b..d943163 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
@@ -43,6 +43,7 @@
     @Column(name = "PRODUCT_URI")
     private String productUri;
 
+    @Lob
     @Column(name = "REPLICA_NAME")
     private String replicaName;
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/AbstractRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/AbstractRepository.java
index 95062c3..a530e47 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/AbstractRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/AbstractRepository.java
@@ -154,6 +154,66 @@
         }
     }
 
+
+    public void executeWithNativeQuery(String query, String... params) {
+        EntityManager entityManager = null;
+        try {
+            entityManager = getEntityManager();
+        } catch (Exception e) {
+            logger.error("Failed to get EntityManager", e);
+            throw new RuntimeException("Failed to get EntityManager", e);
+        }
+        try {
+           Query nativeQuery =  entityManager.createNativeQuery(query);
+           for(int i=0;i<params.length;i++){
+               nativeQuery.setParameter((i+1),params[i]);
+           }
+           entityManager.getTransaction().begin();
+           nativeQuery.executeUpdate();
+           entityManager.getTransaction().commit();
+        } catch(Exception e) {
+            logger.error("Failed to execute transaction", e);
+            throw e;
+        }finally {
+            if (entityManager != null && entityManager.isOpen()) {
+                if (entityManager.getTransaction().isActive()) {
+                    entityManager.getTransaction().rollback();
+                }
+                entityManager.close();
+            }
+        }
+
+    }
+
+
+    public List selectWithNativeQuery(String query, String... params) {
+        EntityManager entityManager = null;
+        try {
+            entityManager = getEntityManager();
+        } catch (Exception e) {
+            logger.error("Failed to get EntityManager", e);
+            throw new RuntimeException("Failed to get EntityManager", e);
+        }
+        try {
+            Query nativeQuery =  entityManager.createNativeQuery(query);
+            for(int i=0;i<params.length;i++){
+                nativeQuery.setParameter((i+1),params[i]);
+            }
+           return nativeQuery.getResultList();
+        } catch(Exception e) {
+            logger.error("Failed to execute transaction", e);
+            throw e;
+        }finally {
+            if (entityManager != null && entityManager.isOpen()) {
+                if (entityManager.getTransaction().isActive()) {
+                    entityManager.getTransaction().rollback();
+                }
+                entityManager.close();
+            }
+        }
+
+    }
+
     abstract protected EntityManager getEntityManager();
 
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java
index 670b40f..63142b9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java
@@ -164,6 +164,15 @@
         return (new GrpComputePrefRepository().get(groupComputeResourcePrefPK));
     }
 
+
+    public boolean isGroupComputeResourcePreferenceExists(String computeResourceId, String groupResourceProfileId) {
+        GroupComputeResourcePrefPK groupComputeResourcePrefPK = new GroupComputeResourcePrefPK();
+        groupComputeResourcePrefPK.setGroupResourceProfileId(groupResourceProfileId);
+        groupComputeResourcePrefPK.setComputeResourceId(computeResourceId);
+
+        return (new GrpComputePrefRepository().isExists(groupComputeResourcePrefPK));
+    }
+
     public ComputeResourcePolicy getComputeResourcePolicy(String resourcePolicyId) {
         return (new ComputeResourcePolicyRepository().get(resourcePolicyId));
     }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/UserResourceProfileRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/UserResourceProfileRepository.java
index 5cf0c11..f35eb07 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/UserResourceProfileRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/UserResourceProfileRepository.java
@@ -200,6 +200,16 @@
         return isExists(userResourceProfilePK);
     }
 
+    @Override
+    public boolean isUserComputeResourcePreferenceExists(String userId, String gatewayId, String preferenceId) throws AppCatalogException {
+        UserComputeResourcePreferenceRepository userComputeResourcePreferenceRepository = new UserComputeResourcePreferenceRepository();
+        UserComputeResourcePreferencePK userComputeResourcePreferencePK = new UserComputeResourcePreferencePK();
+        userComputeResourcePreferencePK.setUserId(userId);
+        userComputeResourcePreferencePK.setGatewayId(gatewayId);
+        userComputeResourcePreferencePK.setComputeResourceId(preferenceId);
+        return userComputeResourcePreferenceRepository.isExists(userComputeResourcePreferencePK);
+    }
+
     public static Logger getLogger() {
         return logger;
     }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
index 7e226e8..8f09f39 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java
@@ -21,12 +21,14 @@
 package org.apache.airavata.registry.core.repositories.expcatalog;
 
 import org.apache.airavata.common.utils.AiravataUtils;
-import org.apache.airavata.model.commons.airavata_commonsConstants;
 import org.apache.airavata.model.experiment.ExperimentModel;
 import org.apache.airavata.model.experiment.UserConfigurationDataModel;
 import org.apache.airavata.model.status.ExperimentState;
 import org.apache.airavata.model.status.ExperimentStatus;
+import org.apache.airavata.registry.core.entities.expcatalog.ComputationalResourceSchedulingEntity;
 import org.apache.airavata.registry.core.entities.expcatalog.ExperimentEntity;
+import org.apache.airavata.registry.core.entities.expcatalog.ProcessInputEntity;
+import org.apache.airavata.registry.core.entities.expcatalog.ProcessOutputEntity;
 import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
 import org.apache.airavata.registry.core.utils.QueryConstants;
@@ -36,7 +38,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -84,6 +85,14 @@
             experimentEntity.getUserConfigurationData().setExperimentId(experimentId);
         }
 
+        if (experimentEntity.getUserConfigurationData().getAutoScheduledCompResourceSchedulingList() != null) {
+            logger.debug("Populating the Primary Key of UserConfigurationData.ComputationalResourceSchedulingEntities object for the Experiment");
+            for(ComputationalResourceSchedulingEntity entity : experimentEntity.getUserConfigurationData().getAutoScheduledCompResourceSchedulingList()){
+                entity.setExperimentId(experimentId);
+            }
+
+        }
+
         if (experimentEntity.getExperimentInputs() != null) {
             logger.debug("Populating the Primary Key of ExperimentInput objects for the Experiment");
             experimentEntity.getExperimentInputs().forEach(experimentInputEntity -> experimentInputEntity.setExperimentId(experimentId));
@@ -103,7 +112,6 @@
             logger.debug("Populating the Primary Key of ExperimentError objects for the Experiment");
             experimentEntity.getErrors().forEach(experimentErrorEntity -> experimentErrorEntity.setExperimentId(experimentId));
         }
-
         return execute(entityManager -> entityManager.merge(experimentEntity));
     }
 
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java
index cb37438..37081f6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobRepository.java
@@ -156,4 +156,10 @@
         delete(jobPK);
     }
 
+    public void removeJob(JobModel jobModel) throws RegistryException {
+        executeWithNativeQuery(QueryConstants.DELETE_JOB_NATIVE_QUERY,jobModel.getJobId(),jobModel.getTaskId());
+    }
+
+
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java
index fad244d..101736b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/JobStatusRepository.java
@@ -26,15 +26,19 @@
 import org.apache.airavata.registry.core.entities.expcatalog.JobPK;
 import org.apache.airavata.registry.core.entities.expcatalog.JobStatusEntity;
 import org.apache.airavata.registry.core.entities.expcatalog.JobStatusPK;
+import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ExpCatalogUtils;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
+import org.apache.airavata.registry.core.utils.QueryConstants;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.dozer.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.sql.Timestamp;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class JobStatusRepository extends ExpCatAbstractRepository<JobStatus, JobStatusEntity, JobStatusPK> {
     private final static Logger logger = LoggerFactory.getLogger(JobStatusRepository.class);
@@ -104,4 +108,9 @@
     }
 
 
+    public List<JobStatus> getDistinctListofJobStatus(String gatewayId,String status, double time){
+        JobStatusRepository jobStatusRepository = new JobStatusRepository();
+        return  jobStatusRepository.selectWithNativeQuery(QueryConstants.FIND_JOB_COUNT_NATIVE_QUERY,
+                gatewayId,status,String.valueOf(time));
+    }
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessErrorRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessErrorRepository.java
index df4a5c7..d91e8e1 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessErrorRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessErrorRepository.java
@@ -20,6 +20,7 @@
 */
 package org.apache.airavata.registry.core.repositories.expcatalog;
 
+import org.apache.airavata.model.status.ProcessStatus;
 import org.apache.airavata.registry.core.entities.expcatalog.ProcessErrorEntity;
 import org.apache.airavata.registry.core.entities.expcatalog.ProcessErrorPK;
 import org.apache.airavata.model.commons.ErrorModel;
@@ -71,4 +72,5 @@
         return processModel.getProcessErrors();
     }
 
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessRepository.java
index 833e8ce..f40cf18 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessRepository.java
@@ -17,7 +17,7 @@
  * specific language governing permissions and limitations
  * under the License.
  *
-*/
+ */
 package org.apache.airavata.registry.core.repositories.expcatalog;
 
 import org.apache.airavata.model.commons.airavata_commonsConstants;
@@ -35,6 +35,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.math.BigDecimal;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
@@ -45,7 +46,9 @@
 
     private final TaskRepository taskRepository = new TaskRepository();
 
-    public ProcessRepository() { super(ProcessModel.class, ProcessEntity.class); }
+    public ProcessRepository() {
+        super(ProcessModel.class, ProcessEntity.class);
+    }
 
     protected String saveProcessModelData(ProcessModel processModel) throws RegistryException {
         ProcessEntity processEntity = saveProcess(processModel);
@@ -162,9 +165,7 @@
             Map<String, Object> queryParameters = new HashMap<>();
             queryParameters.put(DBConstants.Process.EXPERIMENT_ID, value);
             processModelList = processRepository.select(QueryConstants.GET_PROCESS_FOR_EXPERIMENT_ID, -1, 0, queryParameters);
-        }
-
-        else {
+        } else {
             logger.error("Unsupported field name for Process module.");
             throw new IllegalArgumentException("Unsupported field name for Process module.");
         }
@@ -189,4 +190,31 @@
         delete(processId);
     }
 
+
+    public List<ProcessModel> getAllProcesses(int offset, int limit) {
+        ProcessRepository processRepository = new ProcessRepository();
+        return processRepository.select(QueryConstants.GET_ALL_PROCESSES, limit, offset, new HashMap<>());
+    }
+
+    public Map<String,Double> getAVGTimeDistribution(String gatewayId,double searchTime){
+        ProcessRepository processRepository = new ProcessRepository();
+        Map<String, Double> timeDistributions = new HashMap<>();
+       List<Object>  orchTimeList =  processRepository.selectWithNativeQuery(QueryConstants.FIND_AVG_TIME_UPTO_METASCHEDULER_NATIVE_QUERY,
+                gatewayId,String.valueOf(searchTime));
+        List<Object>  queueingTimeList = processRepository.selectWithNativeQuery(QueryConstants.FIND_AVG_TIME_QUEUED_NATIVE_QUERY,
+                gatewayId,String.valueOf(searchTime));
+        List<Object>  helixTimeList = processRepository.selectWithNativeQuery(QueryConstants.FIND_AVG_TIME_HELIX_NATIVE_QUERY,
+                gatewayId,String.valueOf(searchTime));
+        if(orchTimeList.size()>0 && orchTimeList.get(0) != null){
+            timeDistributions.put(DBConstants.MetaData.ORCH_TIME, ((BigDecimal)orchTimeList.get(0)).doubleValue());
+        }
+        if(queueingTimeList.size()>0 && queueingTimeList.get(0) != null){
+            timeDistributions.put(DBConstants.MetaData.QUEUED_TIME,((BigDecimal)queueingTimeList.get(0)).doubleValue());
+        }
+        if(helixTimeList.size()>0 && helixTimeList.get(0) != null){
+            timeDistributions.put(DBConstants.MetaData.HELIX,((BigDecimal)helixTimeList.get(0)).doubleValue());
+        }
+        return timeDistributions;
+    }
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepository.java
index b1cc7bd..c45cd98 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepository.java
@@ -17,28 +17,35 @@
  * specific language governing permissions and limitations
  * under the License.
  *
-*/
+ */
 package org.apache.airavata.registry.core.repositories.expcatalog;
 
-import org.apache.airavata.registry.core.entities.expcatalog.ProcessStatusEntity;
-import org.apache.airavata.registry.core.entities.expcatalog.ProcessStatusPK;
 import org.apache.airavata.model.process.ProcessModel;
 import org.apache.airavata.model.status.ProcessState;
 import org.apache.airavata.model.status.ProcessStatus;
+import org.apache.airavata.registry.core.entities.expcatalog.ProcessEntity;
+import org.apache.airavata.registry.core.entities.expcatalog.ProcessStatusEntity;
+import org.apache.airavata.registry.core.entities.expcatalog.ProcessStatusPK;
+import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ExpCatalogUtils;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
+import org.apache.airavata.registry.core.utils.QueryConstants;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.dozer.Mapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.sql.Timestamp;
-import java.util.*;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 public class ProcessStatusRepository extends ExpCatAbstractRepository<ProcessStatus, ProcessStatusEntity, ProcessStatusPK> {
     private final static Logger logger = LoggerFactory.getLogger(ProcessStatusRepository.class);
 
-    public ProcessStatusRepository() { super(ProcessStatus.class, ProcessStatusEntity.class); }
+    public ProcessStatusRepository() {
+        super(ProcessStatus.class, ProcessStatusEntity.class);
+    }
 
     protected String saveProcessStatus(ProcessStatus processStatus, String processId) throws RegistryException {
         if (processStatus.getStatusId() == null) {
@@ -83,15 +90,13 @@
         ProcessModel processModel = processRepository.getProcess(processId);
         List<ProcessStatus> processStatusList = processModel.getProcessStatuses();
 
-        if(processStatusList.size() == 0) {
+        if (processStatusList.size() == 0) {
             logger.debug("ProcessStatus list is empty");
             return null;
-        }
-
-        else {
+        } else {
             ProcessStatus latestProcessStatus = processStatusList.get(0);
 
-            for(int i = 1; i < processStatusList.size(); i++){
+            for (int i = 1; i < processStatusList.size(); i++) {
                 Timestamp timeOfStateChange = new Timestamp(processStatusList.get(i).getTimeOfStateChange());
 
                 if (timeOfStateChange != null) {
@@ -110,4 +115,19 @@
         }
     }
 
+    public List<ProcessStatus> getProcessStatusList(String processId) throws RegistryException {
+        ProcessRepository processRepository = new ProcessRepository();
+        ProcessModel processModel = processRepository.getProcess(processId);
+       return processModel.getProcessStatuses();
+
+    }
+
+    public List<ProcessStatus> getProcessStatusList(ProcessState processState, int offset, int limit) throws RegistryException {
+        Map<String, Object> queryMap = new HashMap<>();
+        queryMap.put(DBConstants.ProcessStatus.STATE,processState);
+        ProcessStatusRepository processStatusRepository = new ProcessStatusRepository();
+       return  processStatusRepository.select(QueryConstants.FIND_PROCESS_WITH_STATUS,limit,offset,queryMap);
+    }
+
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/QueueStatusRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/QueueStatusRepository.java
index 3c827d6..672cc7e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/QueueStatusRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/QueueStatusRepository.java
@@ -17,11 +17,12 @@
  * specific language governing permissions and limitations
  * under the License.
  *
-*/
+ */
 package org.apache.airavata.registry.core.repositories.expcatalog;
 
 import org.apache.airavata.model.status.QueueStatusModel;
 import org.apache.airavata.registry.core.entities.expcatalog.QueueStatusEntity;
+import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.ObjectMapperSingleton;
 import org.apache.airavata.registry.core.utils.QueryConstants;
 import org.apache.airavata.registry.cpi.RegistryException;
@@ -29,12 +30,17 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 
 public class QueueStatusRepository extends ExpCatAbstractRepository<QueueStatusModel, QueueStatusEntity, String> {
     private final static Logger logger = LoggerFactory.getLogger(QueueStatusRepository.class);
 
-    public QueueStatusRepository() { super(QueueStatusModel.class, QueueStatusEntity.class); }
+    public QueueStatusRepository() {
+        super(QueueStatusModel.class, QueueStatusEntity.class);
+    }
 
     public boolean createQueueStatuses(List<QueueStatusModel> queueStatusModels) throws RegistryException {
 
@@ -52,4 +58,15 @@
         return queueStatusModelList;
     }
 
+
+    public Optional<QueueStatusModel> getQueueStatus(String hostName, String queueName) throws RegistryException{
+        Map<String, Object> queryParameters = new HashMap<>();
+        queryParameters.put(DBConstants.QueueStatus.HOST_NAME, hostName);
+        queryParameters.put(DBConstants.QueueStatus.QUEUE_NAME, queueName);
+        List<QueueStatusModel> queueStatusModels = select(QueryConstants.FIND_QUEUE_STATUS, 1, 0, queryParameters);
+        if (queueStatusModels != null && !queueStatusModels.isEmpty()) {
+            return Optional.of(queueStatusModels.get(0));
+        }
+        return Optional.empty();
+    }
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java
index 268e7c8..c2128e6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java
@@ -155,4 +155,14 @@
         delete(taskId);
     }
 
+    public void  deleteTasks(String processId) throws RegistryException {
+        TaskRepository taskRepository = new TaskRepository();
+        Map<String, Object> queryParameters = new HashMap<>();
+        queryParameters.put(DBConstants.Task.PARENT_PROCESS_ID, processId);
+        List<TaskModel> taskModelList =
+                taskRepository.select(QueryConstants.GET_TASK_FOR_PARENT_PROCESS_ID, -1, 0, queryParameters);
+        for(TaskModel taskModel: taskModelList){
+            delete(taskModel.getTaskId());
+        }
+    }
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
index dd3abd8..20762da 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/DBConstants.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -136,6 +135,10 @@
         public static final String PROCESS_ID = "processId";
         public static final String TASK_ID = "taskId";
         public static final String JOB_ID = "jobId";
+        public static final String GATEWAY_ID="gatewayId";
+        public static final String TIME_INTERVAL="timeInterval";
+        public static final String JOB_STATUS="jobStatus";
+
     }
 
     public static class ExperimentSummary {
@@ -180,5 +183,24 @@
         public static final String GATEWAY_ID = "gatewayId";
     }
 
+    public static class QueueStatus {
+        public static final String HOST_NAME = "hostName";
+        public static final String QUEUE_NAME = "queueName";
+    }
+
+    public static class ProcessStatus {
+        public static final String STATE = "state";
+        public static final String TIME_OF_STATE_CHANGE = "timeOfStateChange";
+        public static final String PROCESS_ID = "processId";
+
+    }
+
+    public static class MetaData {
+        public static final String ORCH_TIME = "orchTime";
+        public static final String QUEUED_TIME = "queuedTime";
+        public static final String HELIX = "helix";
+
+    }
+
 
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
index 63f1b03..0c096d6 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/QueryConstants.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -19,20 +18,24 @@
  */
 package org.apache.airavata.registry.core.utils;
 
+import org.apache.airavata.model.status.JobStatus;
+import org.apache.airavata.model.status.QueueStatusModel;
 import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.registry.core.entities.airavataworkflowcatalog.AiravataWorkflowEntity;
 import org.apache.airavata.registry.core.entities.appcatalog.*;
 import org.apache.airavata.registry.core.entities.expcatalog.*;
 import org.apache.airavata.registry.core.entities.replicacatalog.DataProductEntity;
 
+import javax.print.attribute.standard.JobState;
+
 public interface QueryConstants {
 
     String FIND_USER_PROFILE_BY_USER_ID = "SELECT u FROM UserProfileEntity u " +
             "where u.userId LIKE :" + UserProfile._Fields.USER_ID.getFieldName() + " " +
-            "AND u.gatewayId LIKE :"+ UserProfile._Fields.GATEWAY_ID.getFieldName() + "";
+            "AND u.gatewayId LIKE :" + UserProfile._Fields.GATEWAY_ID.getFieldName() + "";
 
     String FIND_ALL_USER_PROFILES_BY_GATEWAY_ID = "SELECT u FROM UserProfileEntity u " +
-            "where u.gatewayId LIKE :"+ UserProfile._Fields.GATEWAY_ID.getFieldName() + "";
+            "where u.gatewayId LIKE :" + UserProfile._Fields.GATEWAY_ID.getFieldName() + "";
 
     // Application Deployment Queries
     String FIND_APPLICATION_DEPLOYMENTS_FOR_GATEWAY_ID = "SELECT AD FROM " + ApplicationDeploymentEntity.class.getSimpleName() + " AD " +
@@ -97,11 +100,11 @@
     String FIND_ACCESSIBLE_GROUP_RESOURCE_PROFILES = "SELECT G FROM " + GroupResourceProfileEntity.class.getSimpleName() + " G " +
             "WHERE G.gatewayId LIKE :" + DBConstants.GroupResourceProfile.GATEWAY_ID + " AND G.groupResourceProfileId IN :"
             + DBConstants.GroupResourceProfile.ACCESSIBLE_GROUP_RESOURCE_IDS;
-    String FIND_ALL_GROUP_COMPUTE_PREFERENCES = "SELECT GC FROM "+ GroupComputeResourcePrefEntity.class.getSimpleName() + " GC " +
+    String FIND_ALL_GROUP_COMPUTE_PREFERENCES = "SELECT GC FROM " + GroupComputeResourcePrefEntity.class.getSimpleName() + " GC " +
             "WHERE GC.groupResourceProfileId LIKE :" + DBConstants.GroupResourceProfile.GROUP_RESOURCE_PROFILE_ID;
-    String FIND_ALL_GROUP_BATCH_QUEUE_RESOURCE_POLICY = "SELECT BQ FROM "+ BatchQueueResourcePolicyEntity.class.getSimpleName() + " BQ " +
+    String FIND_ALL_GROUP_BATCH_QUEUE_RESOURCE_POLICY = "SELECT BQ FROM " + BatchQueueResourcePolicyEntity.class.getSimpleName() + " BQ " +
             "WHERE BQ.groupResourceProfileId LIKE :" + DBConstants.GroupResourceProfile.GROUP_RESOURCE_PROFILE_ID;
-    String FIND_ALL_GROUP_COMPUTE_RESOURCE_POLICY = "SELECT CR FROM "+ ComputeResourcePolicyEntity.class.getSimpleName() + " CR " +
+    String FIND_ALL_GROUP_COMPUTE_RESOURCE_POLICY = "SELECT CR FROM " + ComputeResourcePolicyEntity.class.getSimpleName() + " CR " +
             "WHERE CR.groupResourceProfileId LIKE :" + DBConstants.GroupResourceProfile.GROUP_RESOURCE_PROFILE_ID;
 
     String GET_ALL_USER_RESOURCE_PROFILE = "SELECT URP FROM " + UserResourceProfileEntity.class.getSimpleName() + " URP";
@@ -122,7 +125,7 @@
             "WHERE P.owner LIKE :" + DBConstants.Project.OWNER;
 
     String GET_EXPERIMENTS_FOR_USER = "SELECT E FROM " + ExperimentEntity.class.getSimpleName() + " E " +
-            "WHERE E.userName LIKE :" + DBConstants.Experiment.USER_NAME + 
+            "WHERE E.userName LIKE :" + DBConstants.Experiment.USER_NAME +
             " AND E.gatewayId = :" + DBConstants.Experiment.GATEWAY_ID;
     String GET_EXPERIMENTS_FOR_PROJECT_ID = "SELECT E FROM " + ExperimentEntity.class.getSimpleName() + " E " +
             "WHERE E.projectId LIKE :" + DBConstants.Experiment.PROJECT_ID +
@@ -138,8 +141,10 @@
 
     String GET_JOB_FOR_PROCESS_ID = "SELECT J FROM " + JobEntity.class.getSimpleName() + " J " +
             "WHERE J.processId LIKE :" + DBConstants.Job.PROCESS_ID;
+
     String GET_JOB_FOR_TASK_ID = "SELECT J FROM " + JobEntity.class.getSimpleName() + " J " +
             "WHERE J.taskId LIKE :" + DBConstants.Job.TASK_ID;
+
     String GET_JOB_FOR_JOB_ID = "SELECT J FROM " + JobEntity.class.getSimpleName() + " J " +
             "WHERE J.jobId LIKE :" + DBConstants.Job.JOB_ID;
 
@@ -155,6 +160,7 @@
 
     String FIND_ALL_CHILD_DATA_PRODUCTS = "SELECT DP FROM " + DataProductEntity.class.getSimpleName() + " DP " +
             "WHERE DP.parentProductUri LIKE :" + DBConstants.DataProduct.PARENT_PRODUCT_URI;
+
     String FIND_DATA_PRODUCT_BY_NAME = "SELECT DP FROM " + DataProductEntity.class.getSimpleName() + " DP " +
             "WHERE DP.gatewayId LIKE :" + DBConstants.DataProduct.GATEWAY_ID + " AND DP.ownerName LIKE :" +
             DBConstants.DataProduct.OWNER_NAME + " AND dp.productName LIKE :" + DBConstants.DataProduct.PRODUCT_NAME;
@@ -164,7 +170,9 @@
 
     String FIND_STORAGE_RESOURCE = "SELECT DISTINCT SR FROM " + StorageResourceEntity.class.getSimpleName() + " SR " +
             "WHERE SR.hostName LIKE :" + DBConstants.StorageResource.HOST_NAME;
+
     String FIND_ALL_STORAGE_RESOURCES = "SELECT SR FROM " + StorageResourceEntity.class.getSimpleName() + " SR";
+
     String FIND_ALL_AVAILABLE_STORAGE_RESOURCES = "SELECT SR FROM " + StorageResourceEntity.class.getSimpleName() + " SR " +
             "WHERE SR.enabled = TRUE";
 
@@ -173,9 +181,57 @@
 
     String FIND_PARSING_TEMPLATES_FOR_APPLICATION_INTERFACE_ID = "SELECT PT FROM " + ParsingTemplateEntity.class.getSimpleName() + " PT " +
             "WHERE PT.applicationInterface = :" + DBConstants.ParsingTemplate.APPLICATION_INTERFACE_ID;
+
     String FIND_ALL_PARSING_TEMPLATES_FOR_GATEWAY_ID = "SELECT PT FROM " + ParsingTemplateEntity.class.getSimpleName() + " PT " +
             "WHERE PT.gatewayId = :" + DBConstants.ParsingTemplate.GATEWAY_ID;
 
     String FIND_ALL_PARSERS_FOR_GATEWAY_ID = "SELECT P FROM " + ParserEntity.class.getSimpleName() + " P " +
             "WHERE P.gatewayId = :" + DBConstants.Parser.GATEWAY_ID;
+
+    String FIND_QUEUE_STATUS = "SELECT  L  FROM " + QueueStatusEntity.class.getSimpleName() + " L WHERE L.hostName LIKE :"
+            + DBConstants.QueueStatus.HOST_NAME + " AND L.queueName LIKE :" + DBConstants.QueueStatus.QUEUE_NAME +" ORDER BY L.time DESC";
+
+    String FIND_PROCESS_WITH_STATUS = "SELECT P FROM " + ProcessStatusEntity.class.getSimpleName() + " P " +
+            " where P.state = :" + DBConstants.ProcessStatus.STATE;
+
+    String GET_ALL_PROCESSES = "SELECT P FROM " + ProcessEntity.class.getSimpleName() +" P ";
+
+    String DELETE_JOB_NATIVE_QUERY = "DELETE FROM JOB WHERE JOB_ID = ?1 AND TASK_ID = ?2";
+
+
+    String FIND_JOB_COUNT_NATIVE_QUERY = "SELECT DISTINCT JS.JOB_ID FROM JOB_STATUS JS WHERE JS.JOB_ID IN " +
+            "(SELECT J.JOB_ID FROM JOB J where J.PROCESS_ID IN " +
+            "(SELECT P.PROCESS_ID FROM PROCESS P  where P.EXPERIMENT_ID IN " +
+            "(SELECT E.EXPERIMENT_ID FROM EXPERIMENT E where E.GATEWAY_ID= ?1))) " +
+            "AND JS.STATE = ?2 and JS.TIME_OF_STATE_CHANGE > now() - interval ?3 minute";
+
+    String FIND_AVG_TIME_UPTO_METASCHEDULER_NATIVE_QUERY = "SELECT AVG(difference) FROM(select es.TIME_OF_STATE_CHANGE AS esTime1, ps.TIME_OF_STATE_CHANGE as psTime1, " +
+            " TIMESTAMPDIFF(MICROSECOND, es.TIME_OF_STATE_CHANGE, ps.TIME_OF_STATE_CHANGE) AS difference FROM EXPERIMENT_STATUS es, " +
+            " EXPERIMENT_STATUS ps WHERE es.EXPERIMENT_ID IN (select EXPERIMENT_ID FROM EXPERIMENT WHERE GATEWAY_ID= ?1) " +
+            " AND ps.EXPERIMENT_ID=es.EXPERIMENT_ID AND es.STATE='CREATED' AND (ps.STATE='SCHEDULED' OR (ps.STATE='LAUNCHED ' " +
+            " AND ps.EXPERIMENT_ID NOT IN(select ps1.EXPERIMENT_ID FROM EXPERIMENT_STATUS ps1 WHERE ps1.STATE='SCHEDULED'))" +
+            " AND ps.TIME_OF_STATE_CHANGE <= ALL(select ps1.TIME_OF_STATE_CHANGE FROM EXPERIMENT_STATUS ps1 WHERE " +
+            " ps1.EXPERIMENT_ID=ps.EXPERIMENT_ID AND ps1.STATE='SCHEDULED'))  " +
+            " AND es.TIME_OF_STATE_CHANGE > now()-interval ?2 minute) abstract_t";
+
+    String FIND_AVG_TIME_QUEUED_NATIVE_QUERY = "SELECT AVG(difference) FROM (SELECT es.TIME_OF_STATE_CHANGE AS esTime1, ps.TIME_OF_STATE_CHANGE as psTime1, " +
+            " TIMESTAMPDIFF(MICROSECOND, es.TIME_OF_STATE_CHANGE, ps.TIME_OF_STATE_CHANGE) AS difference FROM EXPERIMENT_STATUS es," +
+            "  EXPERIMENT_STATUS ps WHERE es.EXPERIMENT_ID IN (select EXPERIMENT_ID FROM EXPERIMENT WHERE GATEWAY_ID=?1) " +
+            "  AND ps.EXPERIMENT_ID=es.EXPERIMENT_ID AND es.STATE='SCHEDULED' AND ps.STATE='LAUNCHED' " +
+            "  AND ps.TIME_OF_STATE_CHANGE >= ALL(SELECT ps1.TIME_OF_STATE_CHANGE FROM EXPERIMENT_STATUS ps1 " +
+            "  WHERE ps1.EXPERIMENT_ID=ps.EXPERIMENT_ID AND ps1.STATE='LAUNCHED') AND " +
+            "  es.TIME_OF_STATE_CHANGE <= ALL(SELECT ps1.TIME_OF_STATE_CHANGE FROM EXPERIMENT_STATUS ps1 " +
+            "  WHERE ps1.EXPERIMENT_ID=es.EXPERIMENT_ID AND ps1.STATE='SCHEDULED') AND es.TIME_OF_STATE_CHANGE > now()-interval ?2 minute)abstract_t";
+
+    String FIND_AVG_TIME_HELIX_NATIVE_QUERY = "SELECT AVG(difference) FROM(SELECT es.TIME_OF_STATE_CHANGE AS esTime1, ps.TIME_OF_STATE_CHANGE as psTime1, " +
+            " TIMESTAMPDIFF(MICROSECOND, es.TIME_OF_STATE_CHANGE, ps.TIME_OF_STATE_CHANGE) AS difference from EXPERIMENT_STATUS es, " +
+            " JOB_STATUS ps where es.EXPERIMENT_ID IN (SELECT EXPERIMENT_ID FROM EXPERIMENT WHERE GATEWAY_ID=?1) " +
+            " AND ps.JOB_ID IN(SELECT j.JOB_ID FROM JOB j where j.PROCESS_ID IN(SELECT DISTINCT p.PROCESS_ID  FROM PROCESS p " +
+            " WHERE p.EXPERIMENT_ID=es.EXPERIMENT_ID)) AND  ps.TASK_ID IN(SELECT j.TASK_ID FROM JOB j where j.PROCESS_ID IN(SELECT DISTINCT p.PROCESS_ID  FROM PROCESS p " +
+            "  WHERE p.EXPERIMENT_ID=es.EXPERIMENT_ID)) AND es.STATE='LAUNCHED' AND ps.STATE='SUBMITTED' " +
+            " AND ps.TIME_OF_STATE_CHANGE >= ALL(SELECT ps1.TIME_OF_STATE_CHANGE FROM JOB_STATUS ps1 WHERE ps1.JOB_ID=ps.JOB_ID " +
+            " AND ps1.STATE='SUBMITTED') AND es.TIME_OF_STATE_CHANGE >= ALL(SELECT es1.TIME_OF_STATE_CHANGE FROM EXPERIMENT_STATUS es1 " +
+            " WHERE es1.EXPERIMENT_ID=es.EXPERIMENT_ID AND es1.STATE='LAUNCHED') AND  es.TIME_OF_STATE_CHANGE > now()-interval ?2 minute) abstract_t";
+
+
 }
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java
index 6b38fc6..fc22b5e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/utils/ReplicaCatalogDBInitConfig.java
@@ -24,7 +24,7 @@
 
 public class ReplicaCatalogDBInitConfig implements DBInitConfig {
 
-    public static final String CHECK_TABLE = "DATA_PRODUCT";
+    public static final String CHECK_TABLE = "CONFIGURATION";
     private String dbInitScriptPrefix = "database_scripts/replicacatalog";
 
     @Override
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index fa06080..cac5e36 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -133,6 +133,7 @@
         <class>org.apache.airavata.registry.core.entities.expcatalog.TaskErrorEntity</class>
         <class>org.apache.airavata.registry.core.entities.expcatalog.TaskStatusEntity</class>
         <class>org.apache.airavata.registry.core.entities.expcatalog.UserConfigurationDataEntity</class>
+        <class>org.apache.airavata.registry.core.entities.expcatalog.ComputationalResourceSchedulingEntity</class>
         <class>org.apache.airavata.registry.core.entities.expcatalog.UserEntity</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
     </persistence-unit>
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
index f5517d0..914a81b 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -205,6 +205,25 @@
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
 
+CREATE TABLE COMPUTE_RESOURCE_SCHEDULING (
+       EXPERIMENT_ID varchar(255) NOT NULL,
+       RESOURCE_HOST_ID varchar(255) NOT NULL,
+       TOTAL_CPU_COUNT INT,
+       NODE_COUNT INT,
+       NUMBER_OF_THREADS INT,
+       QUEUE_NAME varchar(255) NOT NULL,
+       WALL_TIME_LIMIT INT,
+       TOTAL_PHYSICAL_MEMORY INT,
+       PARALLEL_GROUP_COUNT INT,
+       STATIC_WORKING_DIR varchar(255),
+       OVERRIDE_LOGIN_USER_NAME varchar(255),
+       OVERRIDE_SCRATCH_LOCATION varchar(255),
+       OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
+       PRIMARY KEY (EXPERIMENT_ID,RESOURCE_HOST_ID,QUEUE_NAME),
+       FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
+);
+
+
 CREATE VIEW LATEST_EXPERIMENT_STATUS AS
   select ES1.EXPERIMENT_ID AS EXPERIMENT_ID, ES1.STATE AS STATE, ES1.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
   from EXPERIMENT_STATUS ES1 LEFT JOIN EXPERIMENT_STATUS ES2 ON (ES1.EXPERIMENT_ID = ES2.EXPERIMENT_ID
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
index b885c92..4cf623c 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql
@@ -205,6 +205,24 @@
         FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 )ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
+CREATE TABLE COMPUTE_RESOURCE_SCHEDULING (
+       EXPERIMENT_ID varchar(255) NOT NULL,
+       RESOURCE_HOST_ID varchar(255) NOT NULL,
+       TOTAL_CPU_COUNT INT,
+       NODE_COUNT INT,
+       NUMBER_OF_THREADS INT,
+       QUEUE_NAME varchar(255) NOT NULL,
+       WALL_TIME_LIMIT INT,
+       TOTAL_PHYSICAL_MEMORY INT,
+       STATIC_WORKING_DIR varchar(255),
+       OVERRIDE_LOGIN_USER_NAME varchar(255),
+       OVERRIDE_SCRATCH_LOCATION varchar(255),
+       OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
+       PARALLEL_GROUP_COUNT INT,
+       PRIMARY KEY (EXPERIMENT_ID,RESOURCE_HOST_ID,QUEUE_NAME),
+       FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
+)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+
 
 CREATE VIEW LATEST_EXPERIMENT_STATUS AS
   select ES1.EXPERIMENT_ID AS EXPERIMENT_ID, ES1.STATE AS STATE, ES1.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
diff --git a/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql
index c389070..99731e0 100644
--- a/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql
+++ b/modules/registry/registry-core/src/main/resources/replicacatalog-mysql.sql
@@ -18,13 +18,11 @@
  * under the License.
  *
  */
-
-CREATE TABLE DATA_PRODUCT
-(
+CREATE TABLE DATA_PRODUCT (
         PRODUCT_URI VARCHAR (255),
         GATEWAY_ID VARCHAR (255),
-        PRODUCT_NAME VARCHAR (255),
-        PRODUCT_DESCRIPTION VARCHAR (255),
+        PRODUCT_NAME TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
+        PRODUCT_DESCRIPTION VARCHAR (255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
         OWNER_NAME VARCHAR (255),
         PARENT_PRODUCT_URI VARCHAR (255),
         PRODUCT_SIZE INT,
@@ -33,16 +31,15 @@
         PRODUCT_TYPE VARCHAR(10),
         PRIMARY KEY (PRODUCT_URI),
         FOREIGN KEY (PARENT_PRODUCT_URI) REFERENCES DATA_PRODUCT (PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
 
-CREATE TABLE DATA_REPLICA_LOCATION
-(
+CREATE TABLE DATA_REPLICA_LOCATION (
         REPLICA_ID VARCHAR (255),
         PRODUCT_URI VARCHAR (255) NOT NULL,
-        REPLICA_NAME VARCHAR (255),
-        REPLICA_DESCRIPTION VARCHAR (255),
+        REPLICA_NAME TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
+        REPLICA_DESCRIPTION VARCHAR (255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
         STORAGE_RESOURCE_ID VARCHAR (255),
-        FILE_PATH VARCHAR (1024),
+        FILE_PATH VARCHAR (1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin,
         CREATION_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
         LAST_MODIFIED_TIME TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
         VALID_UNTIL_TIME TIMESTAMP NULL DEFAULT '0000-00-00 00:00:00',
@@ -50,31 +47,31 @@
         REPLICA_PERSISTENT_TYPE VARCHAR(10),
         PRIMARY KEY (REPLICA_ID),
         FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
 
-CREATE TABLE DATA_PRODUCT_METADATA
-(
+CREATE TABLE DATA_PRODUCT_METADATA (
         PRODUCT_URI VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
         PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
         FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
 
-CREATE TABLE DATA_REPLICA_METADATA
-(
+CREATE TABLE DATA_REPLICA_METADATA (
         REPLICA_ID VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
         PRIMARY KEY(REPLICA_ID, METADATA_KEY),
         FOREIGN KEY (REPLICA_ID) REFERENCES DATA_REPLICA_LOCATION(REPLICA_ID) ON DELETE CASCADE
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
 
-CREATE TABLE CONFIGURATION
-(
+CREATE TABLE CONFIGURATION (
         CONFIG_KEY VARCHAR(255),
         CONFIG_VAL VARCHAR(255),
         PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-)ENGINE=InnoDB DEFAULT CHARSET=latin1;
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
 
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('data_catalog_version', '0.16');
+INSERT INTO
+        CONFIGURATION (CONFIG_KEY, CONFIG_VAL)
+VALUES
+        ('data_catalog_version', '0.16');
diff --git a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/UsrResourceProfile.java b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/UsrResourceProfile.java
index df0fa54..ff31d71 100644
--- a/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/UsrResourceProfile.java
+++ b/modules/registry/registry-cpi/src/main/java/org/apache/airavata/registry/cpi/UsrResourceProfile.java
@@ -90,6 +90,16 @@
      */
     UserComputeResourcePreference getUserComputeResourcePreference(String userId, String gatewayId, String hostId) throws AppCatalogException;
 
+
+    /**
+     *
+     * @param userId
+     * @param gatewayId
+     * @param hostId
+     * @return true or false
+     */
+    boolean isUserComputeResourcePreferenceExists(String userId, String gatewayId, String hostId) throws AppCatalogException;
+
     /**
      * @param userId
      * @param gatewayId
diff --git a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
index 779b5ed..4464b2a 100644
--- a/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
+++ b/modules/registry/registry-server/registry-api-service/src/main/java/org/apache/airavata/registry/api/service/handler/RegistryServerHandler.java
@@ -1,5 +1,4 @@
 /**
- *
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
  * distributed with this work for additional information
@@ -7,9 +6,9 @@
  * to you under the Apache License, Version 2.0 (the
  * "License"); you may not use this file except in compliance
  * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
  * Unless required by applicable law or agreed to in writing,
  * software distributed under the License is distributed on an
  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -24,14 +23,7 @@
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule;
 import org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription;
-import org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission;
-import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
-import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
-import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
-import org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission;
-import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
-import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
-import org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission;
+import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups;
 import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference;
 import org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile;
@@ -52,33 +44,16 @@
 import org.apache.airavata.model.application.io.OutputDataObjectType;
 import org.apache.airavata.model.commons.ErrorModel;
 import org.apache.airavata.model.data.movement.DMType;
-import org.apache.airavata.model.data.movement.DataMovementInterface;
-import org.apache.airavata.model.data.movement.DataMovementProtocol;
-import org.apache.airavata.model.data.movement.GridFTPDataMovement;
-import org.apache.airavata.model.data.movement.LOCALDataMovement;
-import org.apache.airavata.model.data.movement.SCPDataMovement;
-import org.apache.airavata.model.data.movement.UnicoreDataMovement;
+import org.apache.airavata.model.data.movement.*;
 import org.apache.airavata.model.data.replica.DataProductModel;
 import org.apache.airavata.model.data.replica.DataReplicaLocationModel;
-import org.apache.airavata.model.error.AiravataClientException;
-import org.apache.airavata.model.error.AiravataErrorType;
-import org.apache.airavata.model.error.AiravataSystemException;
-import org.apache.airavata.model.error.AuthorizationException;
-import org.apache.airavata.model.error.DuplicateEntryException;
-import org.apache.airavata.model.error.ExperimentNotFoundException;
-import org.apache.airavata.model.error.InvalidRequestException;
-import org.apache.airavata.model.error.ProjectNotFoundException;
+import org.apache.airavata.model.error.*;
 import org.apache.airavata.model.experiment.*;
 import org.apache.airavata.model.job.JobModel;
 import org.apache.airavata.model.process.ProcessModel;
 import org.apache.airavata.model.process.ProcessWorkflow;
 import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel;
-import org.apache.airavata.model.status.ExperimentState;
-import org.apache.airavata.model.status.ExperimentStatus;
-import org.apache.airavata.model.status.JobStatus;
-import org.apache.airavata.model.status.ProcessStatus;
-import org.apache.airavata.model.status.QueueStatusModel;
-import org.apache.airavata.model.status.TaskStatus;
+import org.apache.airavata.model.status.*;
 import org.apache.airavata.model.task.TaskModel;
 import org.apache.airavata.model.user.UserProfile;
 import org.apache.airavata.model.workspace.Gateway;
@@ -88,6 +63,7 @@
 import org.apache.airavata.registry.api.RegistryService;
 import org.apache.airavata.registry.api.exception.RegistryServiceException;
 import org.apache.airavata.registry.api.registry_apiConstants;
+import org.apache.airavata.registry.core.entities.expcatalog.ComputationalResourceSchedulingEntity;
 import org.apache.airavata.registry.core.entities.expcatalog.JobPK;
 import org.apache.airavata.registry.core.repositories.appcatalog.*;
 import org.apache.airavata.registry.core.repositories.expcatalog.*;
@@ -95,23 +71,13 @@
 import org.apache.airavata.registry.core.repositories.replicacatalog.DataReplicaLocationRepository;
 import org.apache.airavata.registry.core.repositories.workflowcatalog.WorkflowRepository;
 import org.apache.airavata.registry.core.utils.DBConstants;
-import org.apache.airavata.registry.cpi.AppCatalogException;
-import org.apache.airavata.registry.cpi.ComputeResource;
-import org.apache.airavata.registry.cpi.ExpCatChildDataType;
-import org.apache.airavata.registry.cpi.ExperimentCatalogException;
-import org.apache.airavata.registry.cpi.RegistryException;
-import org.apache.airavata.registry.cpi.ResultOrderType;
+import org.apache.airavata.registry.cpi.*;
 import org.apache.airavata.registry.cpi.utils.Constants;
 import org.apache.thrift.TException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 public class RegistryServerHandler implements RegistryService.Iface {
     private final static Logger logger = LoggerFactory.getLogger(RegistryServerHandler.class);
@@ -207,7 +173,7 @@
     @Override
     public Gateway getGateway(String gatewayId) throws RegistryServiceException, TException {
         try {
-            if (!gatewayRepository.isGatewayExist(gatewayId)){
+            if (!gatewayRepository.isGatewayExist(gatewayId)) {
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setMessage("Gateway does not exist in the system. Please provide a valid gateway ID...");
@@ -234,7 +200,7 @@
     @Override
     public boolean deleteGateway(String gatewayId) throws RegistryServiceException, TException {
         try {
-            if (!gatewayRepository.isGatewayExist(gatewayId)){
+            if (!gatewayRepository.isGatewayExist(gatewayId)) {
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setMessage("Gateway does not exist in the system. Please provide a valid gateway ID...");
@@ -336,13 +302,13 @@
     @Override
     public Project getProject(String projectId) throws RegistryServiceException, TException {
         try {
-            if (!projectRepository.isProjectExist(projectId)){
+            if (!projectRepository.isProjectExist(projectId)) {
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
                 throw exception;
             }
-            logger.debug("Airavata retrieved project with project Id : " + projectId );
+            logger.debug("Airavata retrieved project with project Id : " + projectId);
 
             Project project = projectRepository.getProject(projectId);
             return project;
@@ -375,7 +341,7 @@
             }
 
             projectRepository.removeProject(projectId);
-            logger.debug("Airavata deleted project with project Id : " + projectId );
+            logger.debug("Airavata deleted project with project Id : " + projectId);
             return true;
         } catch (RegistryException e) {
             logger.error("Error while removing the project", e);
@@ -396,19 +362,19 @@
      */
     @Override
     public List<Project> getUserProjects(String gatewayId, String userName, int limit, int offset) throws RegistryServiceException, TException {
-        if (!validateString(userName)){
+        if (!validateString(userName)) {
             logger.error("Username cannot be empty. Please provide a valid user..");
             RegistryServiceException exception = new RegistryServiceException();
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
         List<Project> projects = new ArrayList<>();
         try {
-            if (!userRepository.isUserExists(gatewayId, userName)){
+            if (!userRepository.isUserExists(gatewayId, userName)) {
                 logger.warn("User does not exist in the system. Please provide a valid user..");
                 return projects;
             }
@@ -417,7 +383,7 @@
             filters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
             projects = projectRepository.searchProjects(filters, limit, offset,
                     Constants.FieldConstants.ProjectConstants.CREATION_TIME, ResultOrderType.DESC);
-            logger.debug("Airavata retrieved projects for user : " + userName + " and gateway id : " + gatewayId );
+            logger.debug("Airavata retrieved projects for user : " + userName + " and gateway id : " + gatewayId);
             return projects;
         } catch (RegistryException e) {
             logger.error("Error while retrieving projects", e);
@@ -437,20 +403,20 @@
      */
     @Override
     public ExperimentStatistics getExperimentStatistics(String gatewayId, long fromTime, long toTime, String userName, String applicationName, String resourceHostName, List<String> accessibleExpIds, int limit, int offset) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         // FIXME: for now allowing to pass null accessibleExpIds (only admin users should call this method)
         // if (accessibleExpIds == null) {
-            // logger.debug("accessibleExpIds is null, defaulting to an empty list");
-            // accessibleExpIds = Collections.emptyList();
+        // logger.debug("accessibleExpIds is null, defaulting to an empty list");
+        // accessibleExpIds = Collections.emptyList();
         // }
         try {
             Map<String, String> filters = new HashMap<>();
             filters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID, gatewayId);
-            filters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, fromTime+"");
-            filters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, toTime+"");
+            filters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, fromTime + "");
+            filters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, toTime + "");
             if (userName != null) {
                 filters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, userName);
             }
@@ -467,7 +433,7 @@
             ExperimentStatistics result = experimentSummaryRepository.getAccessibleExperimentStatistics(accessibleExpIds, filters, limit, offset);
             logger.debug("Airavata retrieved experiments for gateway id : " + gatewayId + " between : " + AiravataUtils.getTime(fromTime) + " and " + AiravataUtils.getTime(toTime));
             return result;
-        }catch (Exception e) {
+        } catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
             RegistryServiceException exception = new RegistryServiceException();
             exception.setMessage("Error while retrieving experiments. More info : " + e.getMessage());
@@ -486,18 +452,18 @@
      */
     @Override
     public List<ExperimentModel> getExperimentsInProject(String gatewayId, String projectId, int limit, int offset) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
-        if (!validateString(projectId)){
+        if (!validateString(projectId)) {
             logger.error("Project id cannot be empty. Please provide a valid project ID...");
             RegistryServiceException exception = new RegistryServiceException();
             exception.setMessage("Project id cannot be empty. Please provide a valid project ID...");
             throw exception;
         }
         try {
-            if (!projectRepository.isProjectExist(projectId)){
+            if (!projectRepository.isProjectExist(projectId)) {
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
@@ -529,20 +495,20 @@
      */
     @Override
     public List<ExperimentModel> getUserExperiments(String gatewayId, String userName, int limit, int offset) throws RegistryServiceException, TException {
-        if (!validateString(userName)){
+        if (!validateString(userName)) {
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         List<ExperimentModel> experiments = new ArrayList<ExperimentModel>();
         try {
-            if (!userRepository.isUserExists(gatewayId, userName)){
+            if (!userRepository.isUserExists(gatewayId, userName)) {
                 logger.warn("User does not exist in the system. Please provide a valid user..");
                 return experiments;
             }
@@ -569,14 +535,14 @@
     @Override
     public boolean deleteExperiment(String experimentId) throws RegistryServiceException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(experimentId)){
+            if (!experimentRepository.isExperimentExist(experimentId)) {
                 throw new ExperimentNotFoundException("Requested experiment id " + experimentId + " does not exist in the system..");
             }
             ExperimentModel experimentModel = experimentRepository.getExperiment(experimentId);
 
-            if(!(experimentModel.getExperimentStatus().get(0).getState() == ExperimentState.CREATED)){
+            if (!(experimentModel.getExperimentStatus().get(0).getState() == ExperimentState.CREATED)) {
                 logger.error("Error while deleting the experiment");
-                throw new ExperimentCatalogException("Experiment is not in CREATED state. Hence cannot deleted. ID:"+ experimentId);
+                throw new ExperimentCatalogException("Experiment is not in CREATED state. Hence cannot deleted. ID:" + experimentId);
             }
             experimentRepository.removeExperiment(experimentId);
             logger.debug("Airavata removed experiment with experiment id : " + experimentId);
@@ -661,17 +627,17 @@
     @Override
     public ExperimentModel getDetailedExperimentTree(String airavataExperimentId) throws RegistryServiceException, TException {
         try {
-            ExperimentModel experimentModel =  getExperimentInternal(airavataExperimentId);
-            List<ProcessModel> processList  = processRepository.getProcessList(
+            ExperimentModel experimentModel = getExperimentInternal(airavataExperimentId);
+            List<ProcessModel> processList = processRepository.getProcessList(
                     Constants.FieldConstants.ExperimentConstants.EXPERIMENT_ID, experimentModel.getExperimentId());
-            if(processList != null){
+            if (processList != null) {
                 processList.stream().forEach(p -> {
                     //Process already has the task object
-                    (p).getTasks().stream().forEach(t->{
+                    (p).getTasks().stream().forEach(t -> {
                         try {
                             List<JobModel> jobList = jobRepository.getJobList(
-                                    Constants.FieldConstants.JobConstants.TASK_ID, ((TaskModel)t).getTaskId());
-                            if(jobList != null){
+                                    Constants.FieldConstants.JobConstants.TASK_ID, ((TaskModel) t).getTaskId());
+                            if (jobList != null) {
                                 Collections.sort(jobList, new Comparator<JobModel>() {
                                     @Override
                                     public int compare(JobModel o1, JobModel o2) {
@@ -724,7 +690,7 @@
     @Override
     public List<OutputDataObjectType> getExperimentOutputs(String airavataExperimentId) throws RegistryServiceException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 logger.error(airavataExperimentId, "Get experiment outputs failed, experiment {} doesn't exit.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
@@ -761,24 +727,24 @@
     @Override
     public Map<String, JobStatus> getJobStatuses(String airavataExperimentId) throws RegistryServiceException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 logger.error(airavataExperimentId, "Error while retrieving job details, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
             List<ProcessModel> processModels = processRepository.getProcessList(Constants.FieldConstants.ProcessConstants.EXPERIMENT_ID, airavataExperimentId);
             Map<String, JobStatus> jobStatus = new HashMap<String, JobStatus>();
-            if (processModels != null && !processModels.isEmpty()){
+            if (processModels != null && !processModels.isEmpty()) {
                 for (ProcessModel processModel : processModels) {
                     List<TaskModel> tasks = processModel.getTasks();
-                    if (tasks != null && !tasks.isEmpty()){
-                        for (TaskModel task : tasks){
-                            String taskId =  task.getTaskId();
+                    if (tasks != null && !tasks.isEmpty()) {
+                        for (TaskModel task : tasks) {
+                            String taskId = task.getTaskId();
                             List<JobModel> jobs = jobRepository.getJobList(Constants.FieldConstants.JobConstants.TASK_ID, taskId);
-                            if (jobs != null && !jobs.isEmpty()){
+                            if (jobs != null && !jobs.isEmpty()) {
                                 for (JobModel jobModel : jobs) {
                                     String jobID = jobModel.getJobId();
                                     List<JobStatus> status = jobModel.getJobStatuses();
-                                    if (status != null && status.size()>0){
+                                    if (status != null && status.size() > 0) {
                                         JobStatus latestStatus = status.get(status.size() - 1);
                                         jobStatus.put(jobID, latestStatus);
                                     }
@@ -805,8 +771,7 @@
         try {
             if (ExpCatChildDataType.PROCESS_OUTPUT.equals(ExpCatChildDataType.valueOf(outputType))) {
                 processOutputRepository.addProcessOutputs(outputs, id);
-            }
-            else if(ExpCatChildDataType.EXPERIMENT_OUTPUT.equals(ExpCatChildDataType.valueOf(outputType))) {
+            } else if (ExpCatChildDataType.EXPERIMENT_OUTPUT.equals(ExpCatChildDataType.valueOf(outputType))) {
                 experimentOutputRepository.addExperimentOutputs(outputs, id);
             }
         } catch (Exception e) {
@@ -824,11 +789,9 @@
         try {
             if (ExpCatChildDataType.EXPERIMENT_ERROR.equals(ExpCatChildDataType.valueOf(errorType))) {
                 experimentErrorRepository.addExperimentError(errorModel, id);
-            }
-            else if (ExpCatChildDataType.TASK_ERROR.equals(ExpCatChildDataType.valueOf(errorType))) {
+            } else if (ExpCatChildDataType.TASK_ERROR.equals(ExpCatChildDataType.valueOf(errorType))) {
                 taskErrorRepository.addTaskError(errorModel, id);
-            }
-            else if (ExpCatChildDataType.PROCESS_ERROR.equals(ExpCatChildDataType.valueOf(errorType))) {
+            } else if (ExpCatChildDataType.PROCESS_ERROR.equals(ExpCatChildDataType.valueOf(errorType))) {
                 processErrorRepository.addProcessError(errorModel, id);
             }
         } catch (Exception e) {
@@ -922,6 +885,22 @@
     }
 
     @Override
+    public void deleteJobs(String processId) throws RegistryServiceException, TException {
+        try {
+            List<JobModel> jobs = jobRepository.getJobList(Constants.FieldConstants.JobConstants.PROCESS_ID, processId);
+            for (JobModel jobModel: jobs) {
+                jobRepository.removeJob(jobModel);
+            }
+        } catch (Exception e) {
+            logger.error(processId, "Error while deleting job ", e);
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while deleting job. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
     public String addProcess(ProcessModel processModel, String experimentId) throws RegistryServiceException, TException {
         try {
             return processRepository.addProcess(processModel, experimentId);
@@ -961,11 +940,23 @@
     }
 
     @Override
+    public void deleteTasks(String processId) throws RegistryServiceException, TException {
+        try {
+             taskRepository.deleteTasks(processId);
+        } catch (Exception e) {
+            logger.error(processId, "Error while adding task ", e);
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while adding task. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
     public UserConfigurationDataModel getUserConfigurationData(String experimentId) throws RegistryServiceException, TException {
         try {
             return experimentRepository.getUserConfigurationData(experimentId);
-        }
-        catch (Exception e) {
+        } catch (Exception e) {
             logger.error(experimentId, "Error while getting user configuration ", e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -1015,8 +1006,48 @@
         }
     }
 
+
+    @Override
+    public List<ProcessModel> getProcessListInState(ProcessState processState) throws RegistryServiceException, TException {
+        try {
+
+          List<ProcessModel> finalProcessList = new ArrayList<>();
+          int offset =0;
+          int limit = 100;
+          int count =0;
+          do {
+              List<ProcessStatus> processStatusList = processStatusRepository.getProcessStatusList(processState,offset,limit);
+              offset += processStatusList.size();
+              count = processStatusList.size();
+              for (ProcessStatus processStatus : processStatusList) {
+                  ProcessStatus latestStatus = processStatusRepository.getProcessStatus(processStatus.getProcessId());
+                  if (latestStatus.getState().name().equals(processState.name())) {
+                      finalProcessList.add(processRepository.getProcess(latestStatus.getProcessId()));
+                  }
+              }
+          } while(count==limit);
+            return finalProcessList;
+        } catch (Exception e) {
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while retrieving process list with given status. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    public List<ProcessStatus> getProcessStatusList(String processId) throws RegistryServiceException, TException {
+        try {
+            return processStatusRepository.getProcessStatusList(processId);
+        } catch (Exception e) {
+            AiravataSystemException exception = new AiravataSystemException();
+            exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+            exception.setMessage("Error while retrieving process status list  for given process Id. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
     /**
-     *
      * queryType can be PROCESS_ID or TASK_ID
      */
     @Override
@@ -1034,7 +1065,6 @@
     }
 
     /**
-     *
      * queryType can be PROCESS_ID or TASK_ID
      */
     @Override
@@ -1066,6 +1096,24 @@
         }
     }
 
+
+    @Override
+    public int getJobCount(org.apache.airavata.model.status.JobStatus jobStatus,
+                           String gatewayId, double searchBackTimeInMinutes) throws RegistryServiceException, TException {
+
+     List<JobStatus> jobStatusList = jobStatusRepository.
+             getDistinctListofJobStatus(gatewayId,jobStatus.getJobState().name(),searchBackTimeInMinutes);
+     return  jobStatusList.size();
+    }
+
+
+
+    @Override
+    public Map<String,Double> getAVGTimeDistribution(String gatewayId, double searchBackTimeInMinutes)
+            throws RegistryServiceException, TException {
+       return processRepository.getAVGTimeDistribution(gatewayId,searchBackTimeInMinutes);
+    }
+
     private JobModel fetchJobModel(String queryType, String id) throws RegistryException {
         if (queryType.equals(Constants.FieldConstants.JobConstants.TASK_ID)) {
             List<JobModel> jobs = jobRepository.getJobList(Constants.FieldConstants.JobConstants.TASK_ID, id);
@@ -1076,8 +1124,7 @@
                     }
                 }
             }
-        }
-        else if (queryType.equals(Constants.FieldConstants.JobConstants.PROCESS_ID)) {
+        } else if (queryType.equals(Constants.FieldConstants.JobConstants.PROCESS_ID)) {
             List<JobModel> jobs = jobRepository.getJobList(Constants.FieldConstants.JobConstants.PROCESS_ID, id);
             if (jobs != null) {
                 for (JobModel jobModel : jobs) {
@@ -1128,7 +1175,7 @@
             logger.error("Error while retrieving process workflows for process id " + processId, e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage("Error while retrieving process workflows for process id "+ processId + ". More info : " + e.getMessage());
+            exception.setMessage("Error while retrieving process workflows for process id " + processId + ". More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -1141,7 +1188,7 @@
             logger.error("Error while adding process workflows for process id " + processWorkflow.getProcessId(), e);
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
-            exception.setMessage("Error while adding process workflows for process id "+ processWorkflow.getProcessId() + ". More info : " + e.getMessage());
+            exception.setMessage("Error while adding process workflows for process id " + processWorkflow.getProcessId() + ". More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -1169,18 +1216,18 @@
     @Override
     public List<JobModel> getJobDetails(String airavataExperimentId) throws RegistryServiceException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 logger.error(airavataExperimentId, "Error while retrieving job details, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
             List<ProcessModel> processModels = processRepository.getProcessList(Constants.FieldConstants.ProcessConstants.EXPERIMENT_ID, airavataExperimentId);
             List<JobModel> jobList = new ArrayList<>();
-            if (processModels != null && !processModels.isEmpty()){
+            if (processModels != null && !processModels.isEmpty()) {
                 for (ProcessModel processModel : processModels) {
                     List<TaskModel> tasks = processModel.getTasks();
-                    if (tasks != null && !tasks.isEmpty()){
-                        for (TaskModel taskModel : tasks){
-                            String taskId =  taskModel.getTaskId();
+                    if (tasks != null && !tasks.isEmpty()) {
+                        for (TaskModel taskModel : tasks) {
+                            String taskId = taskModel.getTaskId();
                             List<JobModel> taskJobs = jobRepository.getJobList(Constants.FieldConstants.JobConstants.TASK_ID, taskId);
                             jobList.addAll(taskJobs);
                         }
@@ -1227,7 +1274,7 @@
      */
     @Override
     public List<ApplicationModule> getAllAppModules(String gatewayId) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -1246,14 +1293,14 @@
     /**
      * Fetch all Application Module Descriptions.
      *
-     * @param gatewayId ID of the gateway which need to list all available application deployment documentation.
+     * @param gatewayId        ID of the gateway which need to list all available application deployment documentation.
      * @param accessibleAppIds App IDs that are accessible to the user
      * @return list
      * Returns the list of all Application Module Objects that are accessible to the user.
      */
     @Override
     public List<ApplicationModule> getAccessibleAppModules(String gatewayId, List<String> accessibleAppIds, List<String> accessibleComputeResourceIds) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -1337,11 +1384,11 @@
      * @param gatewayId ID of the gateway which need to list all available application deployment documentation.
      * @param gatewayId
      * @return list<applicationDeployment.
-     * Returns the list of all application Deployment Objects.
+            * Returns the list of all application Deployment Objects.
      */
     @Override
     public List<ApplicationDeploymentDescription> getAllApplicationDeployments(String gatewayId) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -1360,14 +1407,14 @@
     /**
      * Fetch all Application Deployment Descriptions.
      *
-     * @param gatewayId ID of the gateway which need to list all available application deployment documentation.
+     * @param gatewayId                  ID of the gateway which need to list all available application deployment documentation.
      * @param accessibleAppDeploymentIds App IDs that are accessible to the user
      * @return list<applicationDeployment.
-     * Returns the list of all application Deployment Objects  that are accessible to the user.
+            * Returns the list of all application Deployment Objects that are accessible to the user.
      */
     @Override
     public List<ApplicationDeploymentDescription> getAccessibleApplicationDeployments(String gatewayId, List<String> accessibleAppDeploymentIds, List<String> accessibleComputeResourceIds) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -1385,30 +1432,20 @@
 
 
     /**
-     *
      * Fetch all accessible Application Deployment Descriptions for the given Application Module.
      *
-     * @param gatewayId
-     *    ID of the gateway which need to list all available application deployment documentation.
-     *
-     * @param appModuleId
-     *    The given Application Module ID.
-     *
-     * @param accessibleAppDeploymentIds
-     *    Application Deployment IDs which are accessible to the current user.
-     *
-     * @param accessibleComputeResourceIds
-     *    Compute Resource IDs which are accessible to the current user.
-     *
+     * @param gatewayId                    ID of the gateway which need to list all available application deployment documentation.
+     * @param appModuleId                  The given Application Module ID.
+     * @param accessibleAppDeploymentIds   Application Deployment IDs which are accessible to the current user.
+     * @param accessibleComputeResourceIds Compute Resource IDs which are accessible to the current user.
      * @return list<applicationDeployment>
-     *    Returns the list of all application Deployment Objects.
-     *
+     * Returns the list of all application Deployment Objects.
      */
     @Override
     public List<ApplicationDeploymentDescription> getAccessibleApplicationDeploymentsForAppModule(
-                String gatewayId, String appModuleId, List<String> accessibleAppDeploymentIds, List<String> accessibleComputeResourceIds)
+            String gatewayId, String appModuleId, List<String> accessibleAppDeploymentIds, List<String> accessibleComputeResourceIds)
             throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -1438,7 +1475,7 @@
             Map<String, String> filters = new HashMap<>();
             filters.put(DBConstants.ApplicationDeployment.APPLICATION_MODULE_ID, appModuleId);
             List<ApplicationDeploymentDescription> applicationDeployments = applicationDeploymentRepository.getApplicationDeployments(filters);
-            for (ApplicationDeploymentDescription description : applicationDeployments){
+            for (ApplicationDeploymentDescription description : applicationDeployments) {
                 appDeployments.add(description.getAppDeploymentId());
             }
             logger.debug("Airavata retrieved application deployments for module id : " + appModuleId);
@@ -1517,15 +1554,15 @@
      */
     @Override
     public Map<String, String> getAllApplicationInterfaceNames(String gatewayId) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
         try {
             List<ApplicationInterfaceDescription> allApplicationInterfaces = applicationInterfaceRepository.getAllApplicationInterfaces(gatewayId);
             Map<String, String> allApplicationInterfacesMap = new HashMap<>();
-            if (allApplicationInterfaces != null && !allApplicationInterfaces.isEmpty()){
-                for (ApplicationInterfaceDescription interfaceDescription : allApplicationInterfaces){
+            if (allApplicationInterfaces != null && !allApplicationInterfaces.isEmpty()) {
+                for (ApplicationInterfaceDescription interfaceDescription : allApplicationInterfaces) {
                     allApplicationInterfacesMap.put(interfaceDescription.getApplicationInterfaceId(), interfaceDescription.getApplicationName());
                 }
             }
@@ -1548,7 +1585,7 @@
      */
     @Override
     public List<ApplicationInterfaceDescription> getAllApplicationInterfaces(String gatewayId) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -1615,13 +1652,13 @@
             ApplicationInterfaceDescription applicationInterface = applicationInterfaceRepository.getApplicationInterface(appInterfaceId);
             HashMap<String, String> filters = new HashMap<>();
             List<String> applicationModules = applicationInterface.getApplicationModules();
-            if (applicationModules != null && !applicationModules.isEmpty()){
+            if (applicationModules != null && !applicationModules.isEmpty()) {
                 for (String moduleId : applicationModules) {
                     filters.put(DBConstants.ApplicationDeployment.APPLICATION_MODULE_ID, moduleId);
                     List<ApplicationDeploymentDescription> applicationDeployments =
                             applicationDeploymentRepository.getApplicationDeployments(filters);
                     for (ApplicationDeploymentDescription deploymentDescription : applicationDeployments) {
-                        if (allComputeResources.get(deploymentDescription.getComputeHostId()) != null){
+                        if (allComputeResources.get(deploymentDescription.getComputeHostId()) != null) {
                             availableComputeResources.put(deploymentDescription.getComputeHostId(),
                                     allComputeResources.get(deploymentDescription.getComputeHostId()));
                         }
@@ -2066,7 +2103,7 @@
     @Override
     public GatewayResourceProfile getGatewayResourceProfile(String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -2092,7 +2129,7 @@
     @Override
     public boolean deleteGatewayResourceProfile(String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2119,26 +2156,26 @@
     @Override
     public ComputeResourcePreference getGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
             GwyResourceProfileRepository gwyResourceProfileRepository = new GwyResourceProfileRepository();
             ComputeResourceRepository computeResourceRepository = new ComputeResourceRepository();
-            if (!gwyResourceProfileRepository.isGatewayResourceProfileExists(gatewayID)){
+            if (!gwyResourceProfileRepository.isGatewayResourceProfileExists(gatewayID)) {
                 logger.error(gatewayID, "Given gateway profile does not exist in the system. Please provide a valid gateway id...");
                 RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Given gateway profile does not exist in the system. Please provide a valid gateway id...");
                 throw exception;
             }
-            if (!computeResourceRepository.isComputeResourceExists(computeResourceId)){
+            if (!computeResourceRepository.isComputeResourceExists(computeResourceId)) {
                 logger.error(computeResourceId, "Given compute resource does not exist in the system. Please provide a valid compute resource id...");
                 RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Given compute resource does not exist in the system. Please provide a valid compute resource id...");
                 throw exception;
             }
             ComputeResourcePreference computeResourcePreference = gwyResourceProfileRepository.getComputeResourcePreference(gatewayID, computeResourceId);
-            logger.debug("Airavata retrieved gateway compute resource preference with gateway id : " + gatewayID + " and for compute resoruce id : " + computeResourceId );
+            logger.debug("Airavata retrieved gateway compute resource preference with gateway id : " + gatewayID + " and for compute resoruce id : " + computeResourceId);
             return computeResourcePreference;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading gateway compute resource preference...", e);
@@ -2151,7 +2188,7 @@
     /**
      * Fetch a Storage Resource Preference of a registered gateway profile.
      *
-     * @param gatewayID         The identifier of the gateway profile to request to fetch the particular storage resource preference.
+     * @param gatewayID The identifier of the gateway profile to request to fetch the particular storage resource preference.
      * @param storageId Identifier of the Stprage Preference required to be fetched.
      * @return StoragePreference
      * Returns the StoragePreference object.
@@ -2159,12 +2196,12 @@
     @Override
     public StoragePreference getGatewayStoragePreference(String gatewayID, String storageId) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
             GwyResourceProfileRepository gwyResourceProfileRepository = new GwyResourceProfileRepository();
-            if (!gwyResourceProfileRepository.isGatewayResourceProfileExists(gatewayID)){
+            if (!gwyResourceProfileRepository.isGatewayResourceProfileExists(gatewayID)) {
                 logger.error(gatewayID, "Given gateway profile does not exist in the system. Please provide a valid gateway id...");
                 RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Given gateway profile does not exist in the system. Please provide a valid gateway id...");
@@ -2192,7 +2229,7 @@
     @Override
     public List<ComputeResourcePreference> getAllGatewayComputeResourcePreferences(String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2216,7 +2253,7 @@
     @Override
     public List<StoragePreference> getAllGatewayStoragePreferences(String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2259,7 +2296,7 @@
     @Override
     public boolean deleteGatewayComputeResourcePreference(String gatewayID, String computeResourceId) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2285,7 +2322,7 @@
     @Override
     public boolean deleteGatewayStoragePreference(String gatewayID, String storageId) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2306,10 +2343,10 @@
             DataProductModel dataProductModel = dataProductRepository.getDataProduct(productUri);
             return dataProductModel;
         } catch (RegistryException e) {
-            String msg = "Error in retreiving the data product "+productUri+".";
+            String msg = "Error in retreiving the data product " + productUri + ".";
             logger.error(msg, e);
             RegistryServiceException exception = new RegistryServiceException();
-            exception.setMessage(msg+" More info : " + e.getMessage());
+            exception.setMessage(msg + " More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -2320,10 +2357,10 @@
             DataProductModel dataProductModel = dataProductRepository.getParentDataProduct(productUri);
             return dataProductModel;
         } catch (RegistryException e) {
-            String msg = "Error in retreiving the parent data product for "+ productUri+".";
+            String msg = "Error in retreiving the parent data product for " + productUri + ".";
             logger.error(msg, e);
             RegistryServiceException exception = new RegistryServiceException();
-            exception.setMessage(msg+" More info : " + e.getMessage());
+            exception.setMessage(msg + " More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -2334,10 +2371,10 @@
             List<DataProductModel> dataProductModels = dataProductRepository.getChildDataProducts(productUri);
             return dataProductModels;
         } catch (RegistryException e) {
-            String msg = "Error in retreiving the child products for "+productUri+".";
+            String msg = "Error in retreiving the child products for " + productUri + ".";
             logger.error(msg, e);
             RegistryServiceException exception = new RegistryServiceException();
-            exception.setMessage(msg+" More info : " + e.getMessage());
+            exception.setMessage(msg + " More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -2359,7 +2396,7 @@
     @Override
     public String createGroupResourceProfile(GroupResourceProfile groupResourceProfile) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(groupResourceProfile.getGatewayId())){
+            if (!isGatewayExistInternal(groupResourceProfile.getGatewayId())) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2381,7 +2418,7 @@
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             if (!groupResourceProfileRepository.isGroupResourceProfileExists(groupResourceProfile.getGroupResourceProfileId())) {
                 logger.error("Cannot update. No group resource profile found with matching gatewayId and groupResourceProfileId");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Cannot update. No group resource profile found with matching gatewayId and groupResourceProfileId");
                 throw exception;
             }
@@ -2401,7 +2438,7 @@
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             if (!groupResourceProfileRepository.isGroupResourceProfileExists(groupResourceProfileId)) {
                 logger.error("No group resource profile found with matching gatewayId and groupResourceProfileId");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("No group resource profile found with matching gatewayId and groupResourceProfileId");
                 throw exception;
             }
@@ -2416,12 +2453,25 @@
     }
 
     @Override
+    public boolean isGroupResourceProfileExists(String groupResourceProfileId) throws RegistryServiceException, TException {
+        try {
+            GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
+            return groupResourceProfileRepository.isGroupResourceProfileExists(groupResourceProfileId);
+        } catch (Exception e) {
+            logger.error("Error while retrieving group resource profile...", e);
+            RegistryServiceException exception = new RegistryServiceException();
+            exception.setMessage("Error while retrieving group resource profile. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
     public boolean removeGroupResourceProfile(String groupResourceProfileId) throws RegistryServiceException, TException {
         try {
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             if (!groupResourceProfileRepository.isGroupResourceProfileExists(groupResourceProfileId)) {
                 logger.error("Cannot Remove. No group resource profile found with matching gatewayId and groupResourceProfileId");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Cannot Remove. No group resource profile found with matching gatewayId and groupResourceProfileId");
                 throw exception;
             }
@@ -2452,7 +2502,7 @@
         try {
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             groupResourceProfileRepository.removeGroupComputeResourcePreference(computeResourceId, groupResourceProfileId);
-            logger.debug("Removed compute resource preferences with compute resource ID: "+ computeResourceId);
+            logger.debug("Removed compute resource preferences with compute resource ID: " + computeResourceId);
             return true;
         } catch (Exception e) {
             logger.error("Error while removing group compute preference", e);
@@ -2467,7 +2517,7 @@
         try {
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             groupResourceProfileRepository.removeComputeResourcePolicy(resourcePolicyId);
-            logger.debug("Removed compute resource policy with resource policy ID: "+ resourcePolicyId);
+            logger.debug("Removed compute resource policy with resource policy ID: " + resourcePolicyId);
             return true;
         } catch (Exception e) {
             logger.error("Error while removing group compute resource policy", e);
@@ -2482,7 +2532,7 @@
         try {
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             groupResourceProfileRepository.removeBatchQueueResourcePolicy(resourcePolicyId);
-            logger.debug("Removed batch resource policy with resource policy ID: "+ resourcePolicyId);
+            logger.debug("Removed batch resource policy with resource policy ID: " + resourcePolicyId);
             return true;
         } catch (Exception e) {
             logger.error("Error while removing group batch queue resource policy", e);
@@ -2497,14 +2547,29 @@
         try {
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             GroupComputeResourcePreference groupComputeResourcePreference = groupResourceProfileRepository.getGroupComputeResourcePreference(
-                                                                        computeResourceId, groupResourceProfileId);
+                    computeResourceId, groupResourceProfileId);
             if (!(groupComputeResourcePreference != null)) {
                 logger.error("GroupComputeResourcePreference not found");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("GroupComputeResourcePreference not found ");
                 throw exception;
             }
             return groupComputeResourcePreference;
+
+        } catch (Exception e) {
+            logger.error("Error while retrieving group compute resource preference", e);
+            RegistryServiceException exception = new RegistryServiceException();
+            exception.setMessage("Error while retrieving group compute resource preference. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    @Override
+    public boolean isGroupComputeResourcePreferenceExists(String computeResourceId, String groupResourceProfileId) throws RegistryServiceException, TException {
+        try {
+            GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
+            return groupResourceProfileRepository.isGroupComputeResourcePreferenceExists(
+                    computeResourceId, groupResourceProfileId);
         } catch (Exception e) {
             logger.error("Error while retrieving group compute resource preference", e);
             RegistryServiceException exception = new RegistryServiceException();
@@ -2520,7 +2585,7 @@
             ComputeResourcePolicy computeResourcePolicy = groupResourceProfileRepository.getComputeResourcePolicy(resourcePolicyId);
             if (!(computeResourcePolicy != null)) {
                 logger.error("Group Compute Resource policy not found");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Group Compute Resource policy not found ");
                 throw exception;
             }
@@ -2538,9 +2603,9 @@
         try {
             GroupResourceProfileRepository groupResourceProfileRepository = new GroupResourceProfileRepository();
             BatchQueueResourcePolicy batchQueueResourcePolicy = groupResourceProfileRepository.getBatchQueueResourcePolicy(resourcePolicyId);
-            if(!(batchQueueResourcePolicy != null)) {
+            if (!(batchQueueResourcePolicy != null)) {
                 logger.error("Group Batch Queue Resource policy not found");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Group Batch Queue Resource policy not found ");
                 throw exception;
             }
@@ -2598,10 +2663,10 @@
             String replicaId = dataReplicaLocationRepository.registerReplicaLocation(replicaLocationModel);
             return replicaId;
         } catch (RegistryException e) {
-            String msg = "Error in retreiving the replica "+replicaLocationModel.getReplicaName()+".";
+            String msg = "Error in retreiving the replica " + replicaLocationModel.getReplicaName() + ".";
             logger.error(msg, e);
             RegistryServiceException exception = new RegistryServiceException();
-            exception.setMessage(msg+" More info : " + e.getMessage());
+            exception.setMessage(msg + " More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -2617,10 +2682,10 @@
             String productUrl = dataProductRepository.registerDataProduct(dataProductModel);
             return productUrl;
         } catch (RegistryException e) {
-            String msg = "Error in registering the data resource"+dataProductModel.getProductName()+".";
+            String msg = "Error in registering the data resource" + dataProductModel.getProductName() + ".";
             logger.error(msg, e);
             RegistryServiceException exception = new RegistryServiceException();
-            exception.setMessage(msg+" More info : " + e.getMessage());
+            exception.setMessage(msg + " More info : " + e.getMessage());
             throw exception;
         }
     }
@@ -2637,7 +2702,7 @@
     @Override
     public boolean updateGatewayStoragePreference(String gatewayID, String storageId, StoragePreference storagePreference) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2646,18 +2711,18 @@
             List<StoragePreference> dataStoragePreferences = profile.getStoragePreferences();
             StoragePreference preferenceToRemove = null;
             for (StoragePreference preference : dataStoragePreferences) {
-                if (preference.getStorageResourceId().equals(storageId)){
-                    preferenceToRemove=preference;
+                if (preference.getStorageResourceId().equals(storageId)) {
+                    preferenceToRemove = preference;
                     break;
                 }
             }
-            if (preferenceToRemove!=null) {
+            if (preferenceToRemove != null) {
                 profile.getStoragePreferences().remove(
                         preferenceToRemove);
             }
             profile.getStoragePreferences().add(storagePreference);
             gwyResourceProfileRepository.updateGatewayResourceProfile(profile);
-            logger.debug("Airavata updated storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageId );
+            logger.debug("Airavata updated storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageId);
             return true;
         } catch (Exception e) {
             logger.error(gatewayID, "Error while reading gateway data storage preference...", e);
@@ -2679,7 +2744,7 @@
     @Override
     public boolean updateGatewayComputeResourcePreference(String gatewayID, String computeResourceId, ComputeResourcePreference computeResourcePreference) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2688,18 +2753,18 @@
             List<ComputeResourcePreference> computeResourcePreferences = profile.getComputeResourcePreferences();
             ComputeResourcePreference preferenceToRemove = null;
             for (ComputeResourcePreference preference : computeResourcePreferences) {
-                if (preference.getComputeResourceId().equals(computeResourceId)){
-                    preferenceToRemove=preference;
+                if (preference.getComputeResourceId().equals(computeResourceId)) {
+                    preferenceToRemove = preference;
                     break;
                 }
             }
-            if (preferenceToRemove!=null) {
+            if (preferenceToRemove != null) {
                 profile.getComputeResourcePreferences().remove(
                         preferenceToRemove);
             }
             profile.getComputeResourcePreferences().add(computeResourcePreference);
             gwyResourceProfileRepository.updateGatewayResourceProfile(profile);
-            logger.debug("Airavata updated compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId );
+            logger.debug("Airavata updated compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId);
             return true;
         } catch (Exception e) {
             logger.error(gatewayID, "Error while reading gateway compute resource preference...", e);
@@ -2712,8 +2777,8 @@
     /**
      * Add a Storage Resource Preference to a registered gateway profile.
      *
-     * @param gatewayID         The identifier of the gateway profile to be added.
-     * @param storageResourceId Preferences related to a particular compute resource
+     * @param gatewayID             The identifier of the gateway profile to be added.
+     * @param storageResourceId     Preferences related to a particular compute resource
      * @param dataStoragePreference
      * @return status
      * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
@@ -2722,21 +2787,21 @@
     @Override
     public boolean addGatewayStoragePreference(String gatewayID, String storageResourceId, StoragePreference dataStoragePreference) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
 
             GwyResourceProfileRepository gwyResourceProfileRepository = new GwyResourceProfileRepository();
-            if (!(gwyResourceProfileRepository.isExists(gatewayID))){
-                throw new RegistryServiceException("Gateway resource profile '"+gatewayID+"' does not exist!!!");
+            if (!(gwyResourceProfileRepository.isExists(gatewayID))) {
+                throw new RegistryServiceException("Gateway resource profile '" + gatewayID + "' does not exist!!!");
             }
             GatewayResourceProfile profile = gwyResourceProfileRepository.getGatewayProfile(gatewayID);
 
             dataStoragePreference.setStorageResourceId(storageResourceId);
             profile.addToStoragePreferences(dataStoragePreference);
             gwyResourceProfileRepository.updateGatewayResourceProfile(profile);
-            logger.debug("Airavata added storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageResourceId );
+            logger.debug("Airavata added storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageResourceId);
             return true;
         } catch (Exception e) {
             logger.error(gatewayID, "Error while registering gateway resource profile preference...", e);
@@ -2759,18 +2824,18 @@
     @Override
     public boolean addGatewayComputeResourcePreference(String gatewayID, String computeResourceId, ComputeResourcePreference computeResourcePreference) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
             GwyResourceProfileRepository gwyResourceProfileRepository = new GwyResourceProfileRepository();
-            if (!(gwyResourceProfileRepository.isExists(gatewayID))){
-                throw new RegistryServiceException("Gateway resource profile '"+gatewayID+"' does not exist!!!");
+            if (!(gwyResourceProfileRepository.isExists(gatewayID))) {
+                throw new RegistryServiceException("Gateway resource profile '" + gatewayID + "' does not exist!!!");
             }
             GatewayResourceProfile profile = gwyResourceProfileRepository.getGatewayProfile(gatewayID);
             profile.addToComputeResourcePreferences(computeResourcePreference);
             gwyResourceProfileRepository.updateGatewayResourceProfile(profile);
-            logger.debug("Airavata added gateway compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId );
+            logger.debug("Airavata added gateway compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId);
             return true;
         } catch (Exception e) {
             logger.error(gatewayID, "Error while registering gateway resource profile preference...", e);
@@ -2791,7 +2856,7 @@
     @Override
     public boolean updateGatewayResourceProfile(String gatewayID, GatewayResourceProfile gatewayResourceProfile) throws RegistryServiceException, TException {
         try {
-            if (!isGatewayExistInternal(gatewayID)){
+            if (!isGatewayExistInternal(gatewayID)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2819,13 +2884,13 @@
     @Override
     public String registerGatewayResourceProfile(GatewayResourceProfile gatewayResourceProfile) throws RegistryServiceException, TException {
         try {
-            if (!validateString(gatewayResourceProfile.getGatewayID())){
+            if (!validateString(gatewayResourceProfile.getGatewayID())) {
                 logger.error("Cannot create gateway profile with empty gateway id");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Cannot create gateway profile with empty gateway id");
                 throw exception;
             }
-            if (!isGatewayExistInternal(gatewayResourceProfile.getGatewayID())){
+            if (!isGatewayExistInternal(gatewayResourceProfile.getGatewayID())) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -2869,7 +2934,6 @@
     /**
      * Delete a given data movement interface
      *
-     *
      * @param dataMovementInterfaceId The identifier of the DataMovement Interface to be changed
      * @param dmType
      * @return status
@@ -2878,7 +2942,7 @@
     @Override
     public boolean deleteDataMovementInterface(String resourceId, String dataMovementInterfaceId, DMType dmType) throws RegistryServiceException, TException {
         try {
-            switch (dmType){
+            switch (dmType) {
                 case COMPUTE_RESOURCE:
                     new ComputeResourceRepository().removeDataMovementInterface(resourceId, dataMovementInterfaceId);
                     logger.debug("Airavata deleted data movement interface with interface id : " + dataMovementInterfaceId);
@@ -2916,8 +2980,9 @@
     /**
      * Add a GridFTP data movement details to a compute resource
      * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-     *
+     * <p>
      * productUri          The identifier of the compute resource to which dataMovement protocol to be added
+     *
      * @param dmType
      * @param priorityOrder       Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
      * @param gridFTPDataMovement The GridFTPDataMovement object to be added to the resource.
@@ -2958,8 +3023,9 @@
     /**
      * Add a UNICORE data movement details to a compute resource
      * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
+     * <p>
+     * productUri          The identifier of the compute resource to which data movement protocol to be added
      *
-     *  productUri          The identifier of the compute resource to which data movement protocol to be added
      * @param dmType
      * @param priorityOrder       Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
      * @param unicoreDataMovement
@@ -3008,8 +3074,9 @@
     /**
      * Add a SCP data movement details to a compute resource
      * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-     *
+     * <p>
      * productUri      The identifier of the compute resource to which JobSubmission protocol to be added
+     *
      * @param dmType
      * @param priorityOrder   Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
      * @param scpDataMovement The SCPDataMovement object to be added to the resource.
@@ -3057,8 +3124,9 @@
     /**
      * Add a Local data movement details to a compute resource
      * App catalog will return a dataMovementInterfaceId which will be added to the dataMovementInterfaces.
-     *
+     * <p>
      * productUri        The identifier of the compute resource to which JobSubmission protocol to be added
+     *
      * @param dataMoveType
      * @param priorityOrder     Specify the priority of this job manager. If this is the only jobmanager, the priority can be zero.
      * @param localDataMovement The LOCALDataMovement object to be added to the resource.
@@ -3421,20 +3489,20 @@
      */
     @Override
     public String registerApplicationInterface(String gatewayId, ApplicationInterfaceDescription applicationInterface) throws RegistryServiceException, TException {
-            if (!isGatewayExistInternal(gatewayId)){
-                logger.error("Gateway does not exist.Please provide a valid gateway id...");
-                throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
-            }
-            try {
-                String interfaceId = applicationInterfaceRepository.addApplicationInterface(applicationInterface, gatewayId);
-                logger.debug("Airavata registered application interface for gateway id : " + gatewayId);
-                return interfaceId;
-            } catch (AppCatalogException e) {
-                logger.error("Error while adding application interface...", e);
-                RegistryServiceException exception = new RegistryServiceException();
-                exception.setMessage("Error while adding application interface. More info : " + e.getMessage());
-                throw exception;
-            }
+        if (!isGatewayExistInternal(gatewayId)) {
+            logger.error("Gateway does not exist.Please provide a valid gateway id...");
+            throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
+        }
+        try {
+            String interfaceId = applicationInterfaceRepository.addApplicationInterface(applicationInterface, gatewayId);
+            logger.debug("Airavata registered application interface for gateway id : " + gatewayId);
+            return interfaceId;
+        } catch (AppCatalogException e) {
+            logger.error("Error while adding application interface...", e);
+            RegistryServiceException exception = new RegistryServiceException();
+            exception.setMessage("Error while adding application interface. More info : " + e.getMessage());
+            throw exception;
+        }
     }
 
     /**
@@ -3469,7 +3537,7 @@
      */
     @Override
     public String registerApplicationDeployment(String gatewayId, ApplicationDeploymentDescription applicationDeployment) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -3518,7 +3586,7 @@
      */
     @Override
     public String registerApplicationModule(String gatewayId, ApplicationModule applicationModule) throws RegistryServiceException, TException {
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
         }
@@ -3537,15 +3605,18 @@
     @Override
     public void updateResourceScheduleing(String airavataExperimentId, ComputationalResourceSchedulingModel resourceScheduling) throws RegistryServiceException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 logger.debug(airavataExperimentId, "Update resource scheduling failed, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
             ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
-            if (experimentStatus != null){
+            if (experimentStatus != null) {
                 ExperimentState experimentState = experimentStatus.getState();
-                switch (experimentState){
-                    case CREATED: case VALIDATED: case CANCELED: case FAILED:
+                switch (experimentState) {
+                    case CREATED:
+                    case VALIDATED:
+                    case CANCELED:
+                    case FAILED:
                         processRepository.addProcessResourceSchedule(resourceScheduling, airavataExperimentId);
                         logger.debug(airavataExperimentId, "Successfully updated resource scheduling for the experiment {}.", airavataExperimentId);
                         break;
@@ -3575,15 +3646,18 @@
     @Override
     public void updateExperimentConfiguration(String airavataExperimentId, UserConfigurationDataModel userConfiguration) throws RegistryServiceException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 logger.error(airavataExperimentId, "Update experiment configuration failed, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
             ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
-            if (experimentStatus != null){
+            if (experimentStatus != null) {
                 ExperimentState experimentState = experimentStatus.getState();
-                switch (experimentState){
-                    case CREATED: case VALIDATED: case CANCELED: case FAILED:
+                switch (experimentState) {
+                    case CREATED:
+                    case VALIDATED:
+                    case CANCELED:
+                    case FAILED:
                         experimentRepository.addUserConfigurationData(userConfiguration, airavataExperimentId);
                         logger.debug(airavataExperimentId, "Successfully updated experiment configuration for experiment {}.", airavataExperimentId);
                         break;
@@ -3643,18 +3717,20 @@
             }
 
             ExperimentStatus experimentStatus = getExperimentStatusInternal(airavataExperimentId);
-            if (experimentStatus != null){
+            if (experimentStatus != null) {
                 ExperimentState experimentState = experimentStatus.getState();
-                switch (experimentState){
-                    case CREATED: case VALIDATED:
-                        if(experiment.getUserConfigurationData() != null && experiment.getUserConfigurationData()
-                                .getComputationalResourceScheduling() != null 
-                                && experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null){
+                switch (experimentState) {
+                    case CREATED:
+                    case SCHEDULED:
+                    case VALIDATED:
+                        if (experiment.getUserConfigurationData() != null && experiment.getUserConfigurationData()
+                                .getComputationalResourceScheduling() != null
+                                && experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null) {
                             String compResourceId = experiment.getUserConfigurationData()
                                     .getComputationalResourceScheduling().getResourceHostId();
                             ComputeResourceDescription computeResourceDescription = new ComputeResourceRepository()
                                     .getComputeResource(compResourceId);
-                            if(!computeResourceDescription.isEnabled()){
+                            if (!computeResourceDescription.isEnabled()) {
                                 logger.error("Compute Resource is not enabled by the Admin!");
                                 AiravataSystemException exception = new AiravataSystemException();
                                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -3737,7 +3813,7 @@
     @Override
     public String createExperiment(String gatewayId, ExperimentModel experiment) throws RegistryServiceException, TException {
         try {
-            if (!validateString(experiment.getExperimentName())){
+            if (!validateString(experiment.getExperimentName())) {
                 logger.error("Cannot create experiments with empty experiment name");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -3745,26 +3821,41 @@
                 throw exception;
             }
             logger.info("Creating experiment with name " + experiment.getExperimentName());
-            if (!isGatewayExistInternal(gatewayId)){
+            if (!isGatewayExistInternal(gatewayId)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
 
-            if(experiment.getUserConfigurationData() != null && experiment.getUserConfigurationData()
-                    .getComputationalResourceScheduling() != null 
-                    && experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null){
+            if (experiment.getUserConfigurationData() != null && experiment.getUserConfigurationData()
+                    .getComputationalResourceScheduling() != null
+                    && experiment.getUserConfigurationData().getComputationalResourceScheduling().getResourceHostId() != null) {
 
                 String compResourceId = experiment.getUserConfigurationData()
                         .getComputationalResourceScheduling().getResourceHostId();
                 ComputeResourceDescription computeResourceDescription = new ComputeResourceRepository()
                         .getComputeResource(compResourceId);
-                if(!computeResourceDescription.isEnabled()){
+                if (!computeResourceDescription.isEnabled()) {
                     logger.error("Compute Resource is not enabled by the Admin!");
                     AiravataSystemException exception = new AiravataSystemException();
                     exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
                     exception.setMessage("Compute Resource is not enabled by the Admin!");
                     throw exception;
                 }
+            } else if (!experiment.getUserConfigurationData().getAutoScheduledCompResourceSchedulingList().isEmpty()) {
+                for(ComputationalResourceSchedulingModel computationalResourceScheduling :
+                    experiment.getUserConfigurationData().getAutoScheduledCompResourceSchedulingList()) {
+                    ComputeResourceDescription computeResourceDescription = new ComputeResourceRepository()
+                            .getComputeResource(computationalResourceScheduling.getResourceHostId());
+                    if (!computeResourceDescription.isEnabled()) {
+                        logger.error("Compute Resource  with id"+ computationalResourceScheduling.getResourceHostId() +"" +
+                                " is not enabled by the Admin!");
+                        AiravataSystemException exception = new AiravataSystemException();
+                        exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
+                        exception.setMessage("Compute Resource  with id"+ computationalResourceScheduling.getResourceHostId() +"" +
+                                " is not enabled by the Admin!");
+                        throw exception;
+                    }
+                }
             }
 
             experiment.setGatewayId(gatewayId);
@@ -3797,19 +3888,19 @@
     @Override
     public List<ExperimentSummaryModel> searchExperiments(String gatewayId, String userName, List<String> accessibleExpIds,
                                                           Map<ExperimentSearchFields, String> filters, int limit, int offset) throws RegistryServiceException, TException {
-        if (!validateString(userName)){
+        if (!validateString(userName)) {
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-                if (!userRepository.isUserExists(gatewayId, userName)){
+            if (!userRepository.isUserExists(gatewayId, userName)) {
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -3819,40 +3910,39 @@
             List<ExperimentSummaryModel> summaries = new ArrayList<ExperimentSummaryModel>();
             Map<String, String> regFilters = new HashMap();
             regFilters.put(Constants.FieldConstants.ExperimentConstants.GATEWAY_ID, gatewayId);
-            for(Map.Entry<ExperimentSearchFields, String> entry : filters.entrySet())
-            {
-                if(entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_NAME)){
+            for (Map.Entry<ExperimentSearchFields, String> entry : filters.entrySet()) {
+                if (entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_NAME)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_NAME, entry.getValue());
-                }else if(entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_DESC)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.EXPERIMENT_DESC)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.DESCRIPTION, entry.getValue());
-                }else if(entry.getKey().equals(ExperimentSearchFields.APPLICATION_ID)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.APPLICATION_ID)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.EXECUTION_ID, entry.getValue());
-                }else if(entry.getKey().equals(ExperimentSearchFields.STATUS)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.STATUS)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.EXPERIMENT_STATUS, entry.getValue());
-                }else if(entry.getKey().equals(ExperimentSearchFields.FROM_DATE)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.FROM_DATE)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.FROM_DATE, entry.getValue());
-                }else if(entry.getKey().equals(ExperimentSearchFields.TO_DATE)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.TO_DATE)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.TO_DATE, entry.getValue());
-                }else if(entry.getKey().equals(ExperimentSearchFields.PROJECT_ID)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.PROJECT_ID)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.PROJECT_ID, entry.getValue());
-                } else if (entry.getKey().equals(ExperimentSearchFields.USER_NAME)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.USER_NAME)) {
                     regFilters.put(Constants.FieldConstants.ExperimentConstants.USER_NAME, entry.getValue());
-                } else if (entry.getKey().equals(ExperimentSearchFields.JOB_ID)){
+                } else if (entry.getKey().equals(ExperimentSearchFields.JOB_ID)) {
                     regFilters.put(Constants.FieldConstants.JobConstants.JOB_ID, entry.getValue());
                 }
             }
 
-            if(accessibleExpIds.size() == 0 && !ServerSettings.isEnableSharing()){
-                if(!regFilters.containsKey(DBConstants.Experiment.USER_NAME)){
+            if (accessibleExpIds.size() == 0 && !ServerSettings.isEnableSharing()) {
+                if (!regFilters.containsKey(DBConstants.Experiment.USER_NAME)) {
                     regFilters.put(DBConstants.Experiment.USER_NAME, userName);
                 }
             }
             summaries = experimentSummaryRepository.searchAllAccessibleExperiments(
                     accessibleExpIds, regFilters, limit,
                     offset, Constants.FieldConstants.ExperimentConstants.CREATION_TIME, ResultOrderType.DESC);
-            logger.debug("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId );
+            logger.debug("Airavata retrieved experiments for user : " + userName + " and gateway id : " + gatewayId);
             return summaries;
-        }catch (Exception e) {
+        } catch (Exception e) {
             logger.error("Error while retrieving experiments", e);
             RegistryServiceException exception = new RegistryServiceException();
             exception.setMessage("Error while retrieving experiments. More info : " + e.getMessage());
@@ -3874,19 +3964,19 @@
     @Override
     public List<Project> searchProjects(String gatewayId, String userName, List<String> accessibleProjIds,
                                         Map<ProjectSearchFields, String> filters, int limit, int offset) throws RegistryServiceException, TException {
-        if (!validateString(userName)){
+        if (!validateString(userName)) {
             logger.error("Username cannot be empty. Please provide a valid user..");
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
             exception.setMessage("Username cannot be empty. Please provide a valid user..");
             throw exception;
         }
-        if (!isGatewayExistInternal(gatewayId)){
+        if (!isGatewayExistInternal(gatewayId)) {
             logger.error("Gateway does not exist.Please provide a valid gateway id...");
             throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
         }
         try {
-            if (!userRepository.isUserExists(gatewayId, userName)){
+            if (!userRepository.isUserExists(gatewayId, userName)) {
                 logger.error("User does not exist in the system. Please provide a valid user..");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -3896,17 +3986,16 @@
             List<Project> projects = new ArrayList<>();
             Map<String, String> regFilters = new HashMap<>();
             regFilters.put(Constants.FieldConstants.ProjectConstants.GATEWAY_ID, gatewayId);
-            for(Map.Entry<ProjectSearchFields, String> entry : filters.entrySet())
-            {
-                if(entry.getKey().equals(ProjectSearchFields.PROJECT_NAME)){
+            for (Map.Entry<ProjectSearchFields, String> entry : filters.entrySet()) {
+                if (entry.getKey().equals(ProjectSearchFields.PROJECT_NAME)) {
                     regFilters.put(Constants.FieldConstants.ProjectConstants.PROJECT_NAME, entry.getValue());
-                }else if(entry.getKey().equals(ProjectSearchFields.PROJECT_DESCRIPTION)){
+                } else if (entry.getKey().equals(ProjectSearchFields.PROJECT_DESCRIPTION)) {
                     regFilters.put(Constants.FieldConstants.ProjectConstants.DESCRIPTION, entry.getValue());
                 }
             }
 
-            if(accessibleProjIds.size() == 0 && !ServerSettings.isEnableSharing()){
-                if(!regFilters.containsKey(DBConstants.Project.OWNER)){
+            if (accessibleProjIds.size() == 0 && !ServerSettings.isEnableSharing()) {
+                if (!regFilters.containsKey(DBConstants.Project.OWNER)) {
                     regFilters.put(DBConstants.Project.OWNER, userName);
                 }
             }
@@ -3915,7 +4004,7 @@
                     regFilters, limit, offset, Constants.FieldConstants.ProjectConstants.CREATION_TIME, ResultOrderType.DESC);
             logger.debug("Airavata retrieved projects for user : " + userName + " and gateway id : " + gatewayId);
             return projects;
-        }catch (Exception e) {
+        } catch (Exception e) {
             logger.error("Error while retrieving projects", e);
             RegistryServiceException exception = new RegistryServiceException();
             exception.setMessage("Error while retrieving projects. More info : " + e.getMessage());
@@ -3933,7 +4022,7 @@
      */
     @Override
     public void updateProject(String projectId, Project updatedProject) throws RegistryServiceException, TException {
-        if (!validateString(projectId) || !validateString(projectId)){
+        if (!validateString(projectId) || !validateString(projectId)) {
             logger.error("Project id cannot be empty...");
             AiravataSystemException exception = new AiravataSystemException();
             exception.setAiravataErrorType(AiravataErrorType.INTERNAL_ERROR);
@@ -3941,7 +4030,7 @@
             throw exception;
         }
         try {
-            if (!projectRepository.isProjectExist(projectId)){
+            if (!projectRepository.isProjectExist(projectId)) {
                 logger.error("Project does not exist in the system. Please provide a valid project ID...");
                 ProjectNotFoundException exception = new ProjectNotFoundException();
                 exception.setMessage("Project does not exist in the system. Please provide a valid project ID...");
@@ -3949,7 +4038,7 @@
             }
 
             projectRepository.updateProject(updatedProject, projectId);
-            logger.debug("Airavata updated project with project Id : " + projectId );
+            logger.debug("Airavata updated project with project Id : " + projectId);
         } catch (RegistryException e) {
             logger.error("Error while updating the project", e);
             RegistryServiceException exception = new RegistryServiceException();
@@ -3968,15 +4057,15 @@
     @Override
     public String createProject(String gatewayId, Project project) throws RegistryServiceException, TException {
         try {
-            if (!validateString(project.getName()) || !validateString(project.getOwner())){
+            if (!validateString(project.getName()) || !validateString(project.getOwner())) {
                 logger.error("Project name and owner cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            if (!validateString(gatewayId)){
+            if (!validateString(gatewayId)) {
                 logger.error("Gateway ID cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
-            if (!isGatewayExistInternal(gatewayId)){
+            if (!isGatewayExistInternal(gatewayId)) {
                 logger.error("Gateway does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -4033,7 +4122,7 @@
     @Override
     public boolean updateGateway(String gatewayId, Gateway updatedGateway) throws RegistryServiceException, TException {
         try {
-            if (!gatewayRepository.isGatewayExist(gatewayId)){
+            if (!gatewayRepository.isGatewayExist(gatewayId)) {
                 logger.error("Gateway does not exist in the system. Please provide a valid gateway ID...");
                 AiravataSystemException exception = new AiravataSystemException();
                 exception.setMessage("Gateway does not exist in the system. Please provide a valid gateway ID...");
@@ -4073,7 +4162,7 @@
     @Override
     public String addGateway(Gateway gateway) throws RegistryServiceException, DuplicateEntryException, TException {
         try {
-            if (!validateString(gateway.getGatewayId())){
+            if (!validateString(gateway.getGatewayId())) {
                 logger.error("Gateway id cannot be empty...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -4110,9 +4199,9 @@
         }
     }
 
-    private boolean validateString(String name){
+    private boolean validateString(String name) {
         boolean valid = true;
-        if (name == null || name.equals("") || name.trim().length() == 0){
+        if (name == null || name.equals("") || name.trim().length() == 0) {
             valid = false;
         }
         return valid;
@@ -4120,7 +4209,7 @@
 
     /*Following method wraps the logic of isGatewayExist method and this is to be called by any other method of the API as needed.*/
     private boolean isGatewayExistInternal(String gatewayId) throws InvalidRequestException, AiravataClientException,
-            AiravataSystemException, AuthorizationException, TException{
+            AiravataSystemException, AuthorizationException, TException {
         try {
             return gatewayRepository.isGatewayExist(gatewayId);
         } catch (RegistryException e) {
@@ -4136,7 +4225,7 @@
     private ExperimentModel getExperimentInternal(String airavataExperimentId) throws InvalidRequestException,
             ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId + " does not exist in the system..");
             }
             return experimentRepository.getExperiment(airavataExperimentId);
@@ -4152,7 +4241,7 @@
     private ExperimentStatus getExperimentStatusInternal(String airavataExperimentId) throws InvalidRequestException,
             ExperimentNotFoundException, AiravataClientException, AiravataSystemException, TException {
         try {
-            if (!experimentRepository.isExperimentExist(airavataExperimentId)){
+            if (!experimentRepository.isExperimentExist(airavataExperimentId)) {
                 logger.error(airavataExperimentId, "Error while retrieving experiment status, experiment {} doesn't exist.", airavataExperimentId);
                 throw new ExperimentNotFoundException("Requested experiment id " + airavataExperimentId +
                         " does not exist in the system..");
@@ -4192,7 +4281,7 @@
         jobSubmissionInterface.setJobSubmissionInterfaceId(jobSubmissionInterfaceId);
         jobSubmissionInterface.setPriorityOrder(priorityOrder);
         jobSubmissionInterface.setJobSubmissionProtocol(protocolType);
-        return computeResourceRepository.addJobSubmissionProtocol(computeResourceId,jobSubmissionInterface);
+        return computeResourceRepository.addJobSubmissionProtocol(computeResourceId, jobSubmissionInterface);
     }
 
     private String addDataMovementInterface(ComputeResource computeResource,
@@ -4205,8 +4294,7 @@
         dataMovementInterface.setDataMovementProtocol(protocolType);
         if (dmType.equals(DMType.COMPUTE_RESOURCE)) {
             return computeResource.addDataMovementProtocol(computeResourceId, dmType, dataMovementInterface);
-        }
-        else if (dmType.equals(DMType.STORAGE_RESOURCE)) {
+        } else if (dmType.equals(DMType.STORAGE_RESOURCE)) {
             dataMovementInterface.setStorageResourceId(computeResourceId);
             return storageResourceRepository.addDataMovementInterface(dataMovementInterface);
         }
@@ -4217,28 +4305,28 @@
      * Register a User Resource Profile.
      *
      * @param userResourceProfile User Resource Profile Object.
-     *                               The GatewayID should be obtained from Airavata user profile data model and passed to register a corresponding
-     *                               resource profile.
+     *                            The GatewayID should be obtained from Airavata user profile data model and passed to register a corresponding
+     *                            resource profile.
      * @return status
      * Returns a success/failure of the update.
      */
     @Override
     public String registerUserResourceProfile(UserResourceProfile userResourceProfile) throws RegistryServiceException, TException {
         try {
-            if (!validateString(userResourceProfile.getUserId())){
+            if (!validateString(userResourceProfile.getUserId())) {
                 logger.error("Cannot create user resource profile with empty user id");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Cannot create user resource profile with empty gateway id");
                 throw exception;
             }
-            if (!validateString(userResourceProfile.getGatewayID())){
+            if (!validateString(userResourceProfile.getGatewayID())) {
                 logger.error("Cannot create user resource profile with empty gateway id");
-                RegistryServiceException exception =  new RegistryServiceException();
+                RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Cannot create user resource profile with empty gateway id");
                 throw exception;
             }
 
-            if (!userRepository.isUserExists(userResourceProfile.getGatewayID(), userResourceProfile.getUserId())){
+            if (!userRepository.isUserExists(userResourceProfile.getGatewayID(), userResourceProfile.getUserId())) {
                 logger.error("User does not exist.Please provide a valid user ID...");
                 throw new RegistryServiceException("User does not exist.Please provide a valid user ID...");
             }
@@ -4261,7 +4349,7 @@
     @Override
     public boolean isUserResourceProfileExists(String userId, String gatewayId) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayId, userId)){
+            if (!userRepository.isUserExists(gatewayId, userId)) {
                 logger.error("user does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -4284,12 +4372,11 @@
      *
      * @param userId The identifier for the requested user resource.
      * @return UserResourceProfile object
-     *
      */
     @Override
     public UserResourceProfile getUserResourceProfile(String userId, String gatewayId) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayId, userId)){
+            if (!userRepository.isUserExists(gatewayId, userId)) {
                 logger.error("user does not exist.Please provide a valid gateway id...");
                 throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
             }
@@ -4312,7 +4399,7 @@
     /**
      * Update a User Resource Profile.
      *
-     * @param gatewayID              The identifier for the requested gateway resource to be updated.
+     * @param gatewayID           The identifier for the requested gateway resource to be updated.
      * @param userResourceProfile Gateway Resource Profile Object.
      * @return status
      * Returns a success/failure of the update.
@@ -4321,7 +4408,7 @@
     @Override
     public boolean updateUserResourceProfile(String userId, String gatewayID, UserResourceProfile userResourceProfile) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("User does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
@@ -4343,7 +4430,8 @@
 
     /**
      * Delete the given User Resource Profile.
-     * @param userId identifier for user profile
+     *
+     * @param userId    identifier for user profile
      * @param gatewayID The identifier for the requested gateway resource to be deleted.
      * @return status
      * Returns a success/failure of the deletion.
@@ -4351,7 +4439,7 @@
     @Override
     public boolean deleteUserResourceProfile(String userId, String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
@@ -4391,9 +4479,10 @@
 
     /**
      * Add a User Compute Resource Preference to a registered gateway profile.
+     *
      * @param userId
-     * @param gatewayID                 The identifier for the gateway profile to be added.
-     * @param computeResourceId         Preferences related to a particular compute resource
+     * @param gatewayID                     The identifier for the gateway profile to be added.
+     * @param computeResourceId             Preferences related to a particular compute resource
      * @param userComputeResourcePreference The UserComputeResourcePreference object to be added to the resource profile.
      * @return status
      * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
@@ -4402,18 +4491,18 @@
     @Override
     public boolean addUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, UserComputeResourcePreference userComputeResourcePreference) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
-            if (! userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)) {
-                throw new RegistryServiceException("User resource profile with user id'"+userId+" &  gateway Id"+gatewayID+"' does not exist!!!");
+            if (!userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)) {
+                throw new RegistryServiceException("User resource profile with user id'" + userId + " &  gateway Id" + gatewayID + "' does not exist!!!");
             }
             UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId, gatewayID);
 //            gatewayProfile.removeGatewayResourceProfile(gatewayID);
             profile.addToUserComputeResourcePreferences(userComputeResourcePreference);
             userResourceProfileRepository.updateUserResourceProfile(userId, gatewayID, profile);
-            logger.debug("Airavata added User compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId );
+            logger.debug("Airavata added User compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while registering User resource profile preference...", e);
@@ -4429,10 +4518,39 @@
     }
 
     /**
+     * Is a User Compute Resource Preference exists.
+     *
+     * @param userId
+     * @param gatewayID         The identifier for the gateway profile to be added.
+     * @param computeResourceId Preferences related to a particular compute resource
+     * @return status
+     * Returns a success/failure of the addition. If a resource already exists, this operation will fail.
+     */
+    @Override
+    public boolean isUserComputeResourcePreferenceExists(String userId, String gatewayID, String computeResourceId) throws RegistryServiceException, TException {
+        try {
+            if (userRepository.isUserExists(gatewayID, userId) && userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)) {
+                return userResourceProfileRepository.isUserComputeResourcePreferenceExists(userId, gatewayID, computeResourceId);
+            }
+            return false;
+        } catch (AppCatalogException e) {
+            logger.error(gatewayID, "Error while fetching compute resource preference", e);
+            RegistryServiceException exception = new RegistryServiceException();
+            exception.setMessage("Error while fetching compute resource preference. More info : " + e.getMessage());
+            throw exception;
+        } catch (RegistryException e) {
+            logger.error(userId, "Error while fetching compute resource preference...", e);
+            RegistryServiceException exception = new RegistryServiceException();
+            exception.setMessage("Error while fetching compute resource preference. More info : " + e.getMessage());
+            throw exception;
+        }
+    }
+
+    /**
      * Add a Storage Resource Preference to a registered gateway profile.
      *
-     * @param gatewayID         The identifier of the gateway profile to be added.
-     * @param storageResourceId Preferences related to a particular compute resource
+     * @param gatewayID             The identifier of the gateway profile to be added.
+     * @param storageResourceId     Preferences related to a particular compute resource
      * @param dataStoragePreference
      * @return status
      * Returns a success/failure of the addition. If a profile already exists, this operation will fail.
@@ -4441,19 +4559,19 @@
     @Override
     public boolean addUserStoragePreference(String userId, String gatewayID, String storageResourceId, UserStoragePreference dataStoragePreference) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
-            if (! userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)){
-                throw new RegistryServiceException("User resource profile with user id'"+userId+" &  gateway Id"+gatewayID+"' does not exist!!!");
+            if (!userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)) {
+                throw new RegistryServiceException("User resource profile with user id'" + userId + " &  gateway Id" + gatewayID + "' does not exist!!!");
             }
-            UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId,gatewayID);
+            UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId, gatewayID);
 //            gatewayProfile.removeGatewayResourceProfile(gatewayID);
             dataStoragePreference.setStorageResourceId(storageResourceId);
             profile.addToUserStoragePreferences(dataStoragePreference);
             userResourceProfileRepository.updateUserResourceProfile(userId, gatewayID, profile);
-            logger.debug("Airavata added storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageResourceId );
+            logger.debug("Airavata added storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while registering user resource profile preference...", e);
@@ -4470,8 +4588,9 @@
 
     /**
      * Fetch a Compute Resource Preference of a registered gateway profile.
+     *
      * @param userId
-     * @param gatewayID         The identifier for the gateway profile to be requested
+     * @param gatewayID             The identifier for the gateway profile to be requested
      * @param userComputeResourceId Preferences related to a particular compute resource
      * @return computeResourcePreference
      * Returns the ComputeResourcePreference object.
@@ -4479,22 +4598,22 @@
     @Override
     public UserComputeResourcePreference getUserComputeResourcePreference(String userId, String gatewayID, String userComputeResourceId) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
-            if (!userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)){
-                throw new RegistryServiceException("User resource profile with user id'"+userId+" &  gateway Id"+gatewayID+"' does not exist!!!");
+            if (!userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)) {
+                throw new RegistryServiceException("User resource profile with user id'" + userId + " &  gateway Id" + gatewayID + "' does not exist!!!");
             }
             ComputeResourceRepository computeResourceRepository = new ComputeResourceRepository();
-            if (!computeResourceRepository.isComputeResourceExists(userComputeResourceId)){
+            if (!computeResourceRepository.isComputeResourceExists(userComputeResourceId)) {
                 logger.error(userComputeResourceId, "Given compute resource does not exist in the system. Please provide a valid compute resource id...");
                 RegistryServiceException exception = new RegistryServiceException();
                 exception.setMessage("Given compute resource does not exist in the system. Please provide a valid compute resource id...");
                 throw exception;
             }
             UserComputeResourcePreference userComputeResourcePreference = userResourceProfileRepository.getUserComputeResourcePreference(userId, gatewayID, userComputeResourceId);
-            logger.debug("Airavata retrieved user compute resource preference with gateway id : " + gatewayID + " and for compute resoruce id : " + userComputeResourceId );
+            logger.debug("Airavata retrieved user compute resource preference with gateway id : " + gatewayID + " and for compute resoruce id : " + userComputeResourceId);
             return userComputeResourcePreference;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading user compute resource preference...", e);
@@ -4509,10 +4628,12 @@
         }
     }
 
+
     /**
      * Fetch a Storage Resource Preference of a registered gateway profile.
-     * @param userId identifier for user data model
-     * @param gatewayID         The identifier of the gateway profile to request to fetch the particular storage resource preference.
+     *
+     * @param userId    identifier for user data model
+     * @param gatewayID The identifier of the gateway profile to request to fetch the particular storage resource preference.
      * @param storageId Identifier of the Storage Preference required to be fetched.
      * @return StoragePreference
      * Returns the StoragePreference object.
@@ -4520,12 +4641,12 @@
     @Override
     public UserStoragePreference getUserStoragePreference(String userId, String gatewayID, String storageId) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
-            if (! userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)){
-                throw new RegistryServiceException("User resource profile with user id'"+userId+" &  gateway Id"+gatewayID+"' does not exist!!!");
+            if (!userResourceProfileRepository.isUserResourceProfileExists(userId, gatewayID)) {
+                throw new RegistryServiceException("User resource profile with user id'" + userId + " &  gateway Id" + gatewayID + "' does not exist!!!");
             }
 
             UserStoragePreference storagePreference = userResourceProfileRepository.getUserStoragePreference(userId, gatewayID, storageId);
@@ -4563,9 +4684,10 @@
 
     /**
      * Update a Compute Resource Preference to a registered user resource profile.
-     * @param userId identifier for user data model
-     * @param gatewayID                 The identifier for the gateway profile to be updated.
-     * @param computeResourceId         Preferences related to a particular compute resource
+     *
+     * @param userId                        identifier for user data model
+     * @param gatewayID                     The identifier for the gateway profile to be updated.
+     * @param computeResourceId             Preferences related to a particular compute resource
      * @param userComputeResourcePreference The ComputeResourcePreference object to be updated to the resource profile.
      * @return status
      * Returns a success/failure of the updation.
@@ -4573,26 +4695,26 @@
     @Override
     public boolean updateUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId, UserComputeResourcePreference userComputeResourcePreference) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
-            UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId,gatewayID);
+            UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId, gatewayID);
             List<UserComputeResourcePreference> userComputeResourcePreferences = profile.getUserComputeResourcePreferences();
             UserComputeResourcePreference preferenceToRemove = null;
             for (UserComputeResourcePreference preference : userComputeResourcePreferences) {
-                if (preference.getComputeResourceId().equals(computeResourceId)){
-                    preferenceToRemove=preference;
+                if (preference.getComputeResourceId().equals(computeResourceId)) {
+                    preferenceToRemove = preference;
                     break;
                 }
             }
-            if (preferenceToRemove!=null) {
+            if (preferenceToRemove != null) {
                 profile.getUserComputeResourcePreferences().remove(
                         preferenceToRemove);
             }
             profile.getUserComputeResourcePreferences().add(userComputeResourcePreference);
             userResourceProfileRepository.updateUserResourceProfile(userId, gatewayID, profile);
-            logger.debug("Airavata updated compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId );
+            logger.debug("Airavata updated compute resource preference with gateway id : " + gatewayID + " and for compute resource id : " + computeResourceId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(userId, "Error while reading user compute resource preference...", e);
@@ -4609,9 +4731,10 @@
 
     /**
      * Update a Storage Resource Preference of a registered user resource profile.
-     * @param userId identifier for user data model
-     * @param gatewayID         The identifier of the gateway profile to be updated.
-     * @param storageId         The Storage resource identifier of the one that you want to update
+     *
+     * @param userId                identifier for user data model
+     * @param gatewayID             The identifier of the gateway profile to be updated.
+     * @param storageId             The Storage resource identifier of the one that you want to update
      * @param userStoragePreference The storagePreference object to be updated to the resource profile.
      * @return status
      * Returns a success/failure of the updation.
@@ -4619,26 +4742,26 @@
     @Override
     public boolean updateUserStoragePreference(String userId, String gatewayID, String storageId, UserStoragePreference userStoragePreference) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
-            UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId,gatewayID);
+            UserResourceProfile profile = userResourceProfileRepository.getUserResourceProfile(userId, gatewayID);
             List<UserStoragePreference> dataStoragePreferences = profile.getUserStoragePreferences();
             UserStoragePreference preferenceToRemove = null;
             for (UserStoragePreference preference : dataStoragePreferences) {
-                if (preference.getStorageResourceId().equals(storageId)){
-                    preferenceToRemove=preference;
+                if (preference.getStorageResourceId().equals(storageId)) {
+                    preferenceToRemove = preference;
                     break;
                 }
             }
-            if (preferenceToRemove!=null) {
+            if (preferenceToRemove != null) {
                 profile.getUserStoragePreferences().remove(
                         preferenceToRemove);
             }
             profile.getUserStoragePreferences().add(userStoragePreference);
             userResourceProfileRepository.updateUserResourceProfile(userId, gatewayID, profile);
-            logger.debug("Airavata updated user storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageId );
+            logger.debug("Airavata updated user storage resource preference with gateway id : " + gatewayID + " and for storage resource id : " + storageId);
             return true;
         } catch (AppCatalogException e) {
             logger.error(gatewayID, "Error while reading user data storage preference...", e);
@@ -4655,7 +4778,8 @@
 
     /**
      * Delete the Compute Resource Preference of a registered gateway profile.
-     * @param userId The identifier for user data model
+     *
+     * @param userId            The identifier for user data model
      * @param gatewayID         The identifier for the gateway profile to be deleted.
      * @param computeResourceId Preferences related to a particular compute resource
      * @return status
@@ -4664,7 +4788,7 @@
     @Override
     public boolean deleteUserComputeResourcePreference(String userId, String gatewayID, String computeResourceId) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
@@ -4684,7 +4808,8 @@
 
     /**
      * Delete the Storage Resource Preference of a registered gateway profile.
-     * @param userId The identifier for user data model
+     *
+     * @param userId    The identifier for user data model
      * @param gatewayID The identifier of the gateway profile to be deleted.
      * @param storageId ID of the storage preference you want to delete.
      * @return status
@@ -4693,7 +4818,7 @@
     @Override
     public boolean deleteUserStoragePreference(String userId, String gatewayID, String storageId) throws RegistryServiceException, TException {
         try {
-            if (!userRepository.isUserExists(gatewayID, userId)){
+            if (!userRepository.isUserExists(gatewayID, userId)) {
                 logger.error("user does not exist.Please provide a valid user id...");
                 throw new RegistryServiceException("user does not exist.Please provide a valid user id...");
             }
@@ -4740,6 +4865,31 @@
         }
     }
 
+    @Override
+    public QueueStatusModel getQueueStatus(String hostName, String queueName) throws RegistryServiceException, TException {
+        try {
+            Optional<QueueStatusModel> optionalQueueStatusModel = queueStatusRepository.getQueueStatus(hostName, queueName);
+            logger.info("Executed and present "+optionalQueueStatusModel.isPresent());
+            if (optionalQueueStatusModel.isPresent()) {
+                return optionalQueueStatusModel.get();
+            } else {
+                QueueStatusModel queueStatusModel = new QueueStatusModel();
+                queueStatusModel.setHostName(hostName);
+                queueStatusModel.setQueueName(queueName);
+                queueStatusModel.setQueueUp(false);
+                queueStatusModel.setRunningJobs(0);
+                queueStatusModel.setQueuedJobs(0);
+                queueStatusModel.setTime(0);
+                return  queueStatusModel;
+            }
+        } catch (RegistryException e) {
+            logger.error("Error while storing queue status models....", e);
+            RegistryServiceException exception = new RegistryServiceException();
+            exception.setMessage("Error while storing queue status models.... : " + e.getMessage());
+            throw exception;
+        }
+    }
+
     /**
      * Fetch all User Compute Resource Preferences of a registered User Resource Profile.
      *
@@ -4751,7 +4901,7 @@
     @Override
     public List<UserComputeResourcePreference> getAllUserComputeResourcePreferences(String userId, String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!isUserExists(gatewayID,userId)){
+            if (!isUserExists(gatewayID, userId)) {
                 logger.error("User Resource Profile does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("User Resource Profile does not exist.Please provide a valid gateway id...");
             }
@@ -4775,7 +4925,7 @@
     @Override
     public List<UserStoragePreference> getAllUserStoragePreferences(String userId, String gatewayID) throws RegistryServiceException, TException {
         try {
-            if (!isUserExists(gatewayID,userId)){
+            if (!isUserExists(gatewayID, userId)) {
                 logger.error("User does not exist.Please provide a valid gateway id...");
                 throw new RegistryServiceException("Gateway does not exist.Please provide a valid gateway id...");
             }
@@ -5073,12 +5223,13 @@
             return usageReportingCommandRepository.isGatewayUsageReportingCommandExists(gatewayId, computeResourceId);
         } catch (Exception e) {
             String message = "Failed to check the availability to find the reporting information for the gateway "
-                                                        + gatewayId + " and compute resource " + computeResourceId;
+                    + gatewayId + " and compute resource " + computeResourceId;
             logger.error(message, e);
             RegistryServiceException rse = new RegistryServiceException();
             rse.setMessage(message + ". More info " + e.getMessage());
             throw rse;
-        }    }
+        }
+    }
 
     @Override
     public GatewayUsageReportingCommand getGatewayReportingCommand(String gatewayId, String computeResourceId) throws RegistryServiceException, TException {
@@ -5095,12 +5246,13 @@
 
         } catch (Exception e) {
             String message = "Failed to check the availability to find the reporting information for the gateway " +
-                                gatewayId + " and compute resource " + computeResourceId;
+                    gatewayId + " and compute resource " + computeResourceId;
             logger.error(message, e);
             RegistryServiceException rse = new RegistryServiceException();
             rse.setMessage(message + ". More info " + e.getMessage());
             throw rse;
-        }      }
+        }
+    }
 
     @Override
     public void addGatewayUsageReportingCommand(GatewayUsageReportingCommand command) throws RegistryServiceException, TException {
@@ -5108,7 +5260,7 @@
             usageReportingCommandRepository.addGatewayUsageReportingCommand(command);
         } catch (Exception e) {
             String message = "Failed to add the reporting information for the gateway " + command.getGatewayId()
-                                + " and compute resource " + command.getComputeResourceId();
+                    + " and compute resource " + command.getComputeResourceId();
             logger.error(message, e);
             RegistryServiceException rse = new RegistryServiceException();
             rse.setMessage(message + ". More info " + e.getMessage());
@@ -5122,7 +5274,7 @@
             usageReportingCommandRepository.removeGatewayUsageReportingCommand(gatewayId, computeResourceId);
         } catch (Exception e) {
             String message = "Failed to add the reporting information for the gateway " + gatewayId +
-                                " and compute resource " + computeResourceId;
+                    " and compute resource " + computeResourceId;
             logger.error(message, e);
             RegistryServiceException rse = new RegistryServiceException();
             rse.setMessage(message + ". More info " + e.getMessage());
diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
index 2b89543..f24be61 100644
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/RegistryService.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.registry.api;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class RegistryService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -729,12 +729,20 @@
 
     public void addJob(org.apache.airavata.model.job.JobModel jobModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
+    public void deleteJobs(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    public int getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    public java.util.Map<java.lang.String,java.lang.Double> getAVGTimeDistribution(java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     public java.lang.String addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public void updateProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public java.lang.String addTask(org.apache.airavata.model.task.TaskModel taskModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
+    public void deleteTasks(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     public org.apache.airavata.model.experiment.UserConfigurationDataModel getUserConfigurationData(java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public org.apache.airavata.model.process.ProcessModel getProcess(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
@@ -743,6 +751,10 @@
 
     public org.apache.airavata.model.status.ProcessStatus getProcessStatus(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
+    public java.util.List<org.apache.airavata.model.process.ProcessModel> getProcessListInState(org.apache.airavata.model.status.ProcessState processState) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    public java.util.List<org.apache.airavata.model.status.ProcessStatus> getProcessStatusList(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     public boolean isJobExist(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     public org.apache.airavata.model.job.JobModel getJob(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
@@ -2225,6 +2237,56 @@
     public boolean isUserResourceProfileExists(java.lang.String userId, java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
     /**
+     * Check if the given Compute Resource Preference exists.
+     * 
+     * @param userId
+     *   The identifier for the requested User.
+     * 
+     * @param gatewayID
+     *   The identifier to link gateway for the requested User Resource Profile.
+     * @param computeResourceId
+     *   The identifier for the requested computeResourcePreference.
+     * 
+     * @return true if compute resource preference exisists.
+     * 
+     * 
+     * @param userId
+     * @param gatewayID
+     * @param computeResourceId
+     */
+    public boolean isUserComputeResourcePreferenceExists(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Check if the given User Resource Profile exists.
+     * 
+     * @param computeResourceId
+     *   The identifier for the requested compute resource.
+     * 
+     * @param groupResourceProfileId
+     *   The identifier for the groupResourceProfileId.
+     * 
+     * @return true if groupComputeResourcePreference exists.
+     * 
+     * 
+     * @param computeResourceId
+     * @param groupResourceProfileId
+     */
+    public boolean isGroupComputeResourcePreferenceExists(java.lang.String computeResourceId, java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
+     * Check if the given User Resource Profile exists.
+     * 
+     * @param groupResourceProfileId
+     *   The identifier for the requested groupResourceProfileId.
+     * 
+     * @return true if groupResourceProfile exists.
+     * 
+     * 
+     * @param groupResourceProfileId
+     */
+    public boolean isGroupResourceProfileExists(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
+    /**
      * Fetch the given User Resource Resource Profile.
      * 
      * @param userId
@@ -2543,6 +2605,8 @@
 
     public void registerQueueStatuses(java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
 
+    public org.apache.airavata.model.status.QueueStatusModel getQueueStatus(java.lang.String hostName, java.lang.String queueName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException;
+
     /**
      * API Methods related to replica catalog
      * 
@@ -2629,7 +2693,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void isUserExists(java.lang.String gatewayId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
@@ -2715,12 +2779,20 @@
 
     public void addJob(org.apache.airavata.model.job.JobModel jobModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
+    public void deleteJobs(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+
+    public void getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException;
+
+    public void getAVGTimeDistribution(java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.Double>> resultHandler) throws org.apache.thrift.TException;
+
     public void addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
     public void updateProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
     public void addTask(org.apache.airavata.model.task.TaskModel taskModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
+    public void deleteTasks(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
+
     public void getUserConfigurationData(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> resultHandler) throws org.apache.thrift.TException;
 
     public void getProcess(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> resultHandler) throws org.apache.thrift.TException;
@@ -2729,6 +2801,10 @@
 
     public void getProcessStatus(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException;
 
+    public void getProcessListInState(org.apache.airavata.model.status.ProcessState processState, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException;
+
+    public void getProcessStatusList(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> resultHandler) throws org.apache.thrift.TException;
+
     public void isJobExist(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
     public void getJob(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> resultHandler) throws org.apache.thrift.TException;
@@ -2919,6 +2995,12 @@
 
     public void isUserResourceProfileExists(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
 
+    public void isUserComputeResourcePreferenceExists(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void isGroupComputeResourcePreferenceExists(java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
+    public void isGroupResourceProfileExists(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
+
     public void getUserResourceProfile(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException;
 
     public void updateUserResourceProfile(java.lang.String userId, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException;
@@ -2953,6 +3035,8 @@
 
     public void registerQueueStatuses(java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException;
 
+    public void getQueueStatus(java.lang.String hostName, java.lang.String queueName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> resultHandler) throws org.apache.thrift.TException;
+
     public void registerDataProduct(org.apache.airavata.model.data.replica.DataProductModel dataProductModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
     public void getDataProduct(java.lang.String dataProductUri, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException;
@@ -3036,9 +3120,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -3053,6 +3139,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public boolean isUserExists(java.lang.String gatewayId, java.lang.String userName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_isUserExists(gatewayId, userName);
@@ -3080,6 +3167,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserExists failed: unknown result");
     }
 
+    @Override
     public java.lang.String addGateway(org.apache.airavata.model.workspace.Gateway gateway) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
     {
       send_addGateway(gateway);
@@ -3109,6 +3197,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGateway failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAllUsersInGateway(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllUsersInGateway(gatewayId);
@@ -3135,6 +3224,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUsersInGateway failed: unknown result");
     }
 
+    @Override
     public boolean updateGateway(java.lang.String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGateway(gatewayId, updatedGateway);
@@ -3162,6 +3252,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGateway failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Gateway getGateway(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGateway(gatewayId);
@@ -3188,6 +3279,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGateway failed: unknown result");
     }
 
+    @Override
     public boolean deleteGateway(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteGateway(gatewayId);
@@ -3214,6 +3306,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGateway failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getAllGateways() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllGateways();
@@ -3239,6 +3332,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGateways failed: unknown result");
     }
 
+    @Override
     public boolean isGatewayExist(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_isGatewayExist(gatewayId);
@@ -3265,6 +3359,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayExist failed: unknown result");
     }
 
+    @Override
     public java.lang.String createNotification(org.apache.airavata.model.workspace.Notification notification) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_createNotification(notification);
@@ -3291,6 +3386,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createNotification failed: unknown result");
     }
 
+    @Override
     public boolean updateNotification(org.apache.airavata.model.workspace.Notification notification) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateNotification(notification);
@@ -3317,6 +3413,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateNotification failed: unknown result");
     }
 
+    @Override
     public boolean deleteNotification(java.lang.String gatewayId, java.lang.String notificationId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteNotification(gatewayId, notificationId);
@@ -3344,6 +3441,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteNotification failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Notification getNotification(java.lang.String gatewayId, java.lang.String notificationId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getNotification(gatewayId, notificationId);
@@ -3371,6 +3469,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getNotification failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Notification> getAllNotifications(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllNotifications(gatewayId);
@@ -3397,6 +3496,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllNotifications failed: unknown result");
     }
 
+    @Override
     public java.lang.String createProject(java.lang.String gatewayId, org.apache.airavata.model.workspace.Project project) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_createProject(gatewayId, project);
@@ -3424,6 +3524,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createProject failed: unknown result");
     }
 
+    @Override
     public void updateProject(java.lang.String projectId, org.apache.airavata.model.workspace.Project updatedProject) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_updateProject(projectId, updatedProject);
@@ -3451,6 +3552,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.workspace.Project getProject(java.lang.String projectId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_getProject(projectId);
@@ -3480,6 +3582,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProject failed: unknown result");
     }
 
+    @Override
     public boolean deleteProject(java.lang.String projectId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_deleteProject(projectId);
@@ -3509,6 +3612,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteProject failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Project> getUserProjects(java.lang.String gatewayId, java.lang.String userName, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUserProjects(gatewayId, userName, limit, offset);
@@ -3538,6 +3642,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserProjects failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.workspace.Project> searchProjects(java.lang.String gatewayId, java.lang.String userName, java.util.List<java.lang.String> accessibleProjIds, java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_searchProjects(gatewayId, userName, accessibleProjIds, filters, limit, offset);
@@ -3569,6 +3674,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchProjects failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> searchExperiments(java.lang.String gatewayId, java.lang.String userName, java.util.List<java.lang.String> accessibleExpIds, java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_searchExperiments(gatewayId, userName, accessibleExpIds, filters, limit, offset);
@@ -3600,6 +3706,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchExperiments failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentStatistics getExperimentStatistics(java.lang.String gatewayId, long fromTime, long toTime, java.lang.String userName, java.lang.String applicationName, java.lang.String resourceHostName, java.util.List<java.lang.String> accessibleExpIds, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getExperimentStatistics(gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, accessibleExpIds, limit, offset);
@@ -3634,6 +3741,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatistics failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getExperimentsInProject(java.lang.String gatewayId, java.lang.String projectId, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException
     {
       send_getExperimentsInProject(gatewayId, projectId, limit, offset);
@@ -3666,6 +3774,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentsInProject failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getUserExperiments(java.lang.String gatewayId, java.lang.String userName, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUserExperiments(gatewayId, userName, limit, offset);
@@ -3695,6 +3804,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserExperiments failed: unknown result");
     }
 
+    @Override
     public java.lang.String createExperiment(java.lang.String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_createExperiment(gatewayId, experiment);
@@ -3722,6 +3832,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createExperiment failed: unknown result");
     }
 
+    @Override
     public boolean deleteExperiment(java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteExperiment(experimentId);
@@ -3748,6 +3859,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteExperiment failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentModel getExperiment(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getExperiment(airavataExperimentId);
@@ -3777,6 +3889,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperiment failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.experiment.ExperimentModel getDetailedExperimentTree(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getDetailedExperimentTree(airavataExperimentId);
@@ -3806,6 +3919,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDetailedExperimentTree failed: unknown result");
     }
 
+    @Override
     public void updateExperiment(java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_updateExperiment(airavataExperimentId, experiment);
@@ -3833,6 +3947,7 @@
       return;
     }
 
+    @Override
     public void updateExperimentConfiguration(java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateExperimentConfiguration(airavataExperimentId, userConfiguration);
@@ -3857,6 +3972,7 @@
       return;
     }
 
+    @Override
     public void updateResourceScheduleing(java.lang.String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateResourceScheduleing(airavataExperimentId, resourceScheduling);
@@ -3881,6 +3997,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getExperimentStatus(airavataExperimentId);
@@ -3910,6 +4027,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentStatus failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getExperimentOutputs(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getExperimentOutputs(airavataExperimentId);
@@ -3939,6 +4057,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getExperimentOutputs failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getIntermediateOutputs(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getIntermediateOutputs(airavataExperimentId);
@@ -3968,6 +4087,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getIntermediateOutputs failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getJobStatuses(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getJobStatuses(airavataExperimentId);
@@ -3997,6 +4117,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobStatuses failed: unknown result");
     }
 
+    @Override
     public void addExperimentProcessOutputs(java.lang.String outputType, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addExperimentProcessOutputs(outputType, outputs, id);
@@ -4022,6 +4143,7 @@
       return;
     }
 
+    @Override
     public void addErrors(java.lang.String errorType, org.apache.airavata.model.commons.ErrorModel errorModel, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addErrors(errorType, errorModel, id);
@@ -4047,6 +4169,7 @@
       return;
     }
 
+    @Override
     public void addTaskStatus(org.apache.airavata.model.status.TaskStatus taskStatus, java.lang.String taskId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addTaskStatus(taskStatus, taskId);
@@ -4071,6 +4194,7 @@
       return;
     }
 
+    @Override
     public void addProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addProcessStatus(processStatus, processId);
@@ -4095,6 +4219,7 @@
       return;
     }
 
+    @Override
     public void updateProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateProcessStatus(processStatus, processId);
@@ -4119,6 +4244,7 @@
       return;
     }
 
+    @Override
     public void updateExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus, java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateExperimentStatus(experimentStatus, experimentId);
@@ -4143,6 +4269,7 @@
       return;
     }
 
+    @Override
     public void addJobStatus(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String taskId, java.lang.String jobId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addJobStatus(jobStatus, taskId, jobId);
@@ -4168,6 +4295,7 @@
       return;
     }
 
+    @Override
     public void addJob(org.apache.airavata.model.job.JobModel jobModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addJob(jobModel, processId);
@@ -4192,6 +4320,88 @@
       return;
     }
 
+    @Override
+    public void deleteJobs(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_deleteJobs(processId);
+      recv_deleteJobs();
+    }
+
+    public void send_deleteJobs(java.lang.String processId) throws org.apache.thrift.TException
+    {
+      deleteJobs_args args = new deleteJobs_args();
+      args.setProcessId(processId);
+      sendBase("deleteJobs", args);
+    }
+
+    public void recv_deleteJobs() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      deleteJobs_result result = new deleteJobs_result();
+      receiveBase(result, "deleteJobs");
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      return;
+    }
+
+    @Override
+    public int getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getJobCount(jobStatus, gatewayId, searchBackTimeInMinutes);
+      return recv_getJobCount();
+    }
+
+    public void send_getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.thrift.TException
+    {
+      getJobCount_args args = new getJobCount_args();
+      args.setJobStatus(jobStatus);
+      args.setGatewayId(gatewayId);
+      args.setSearchBackTimeInMinutes(searchBackTimeInMinutes);
+      sendBase("getJobCount", args);
+    }
+
+    public int recv_getJobCount() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getJobCount_result result = new getJobCount_result();
+      receiveBase(result, "getJobCount");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobCount failed: unknown result");
+    }
+
+    @Override
+    public java.util.Map<java.lang.String,java.lang.Double> getAVGTimeDistribution(java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getAVGTimeDistribution(gatewayId, searchBackTimeInMinutes);
+      return recv_getAVGTimeDistribution();
+    }
+
+    public void send_getAVGTimeDistribution(java.lang.String gatewayId, double searchBackTimeInMinutes) throws org.apache.thrift.TException
+    {
+      getAVGTimeDistribution_args args = new getAVGTimeDistribution_args();
+      args.setGatewayId(gatewayId);
+      args.setSearchBackTimeInMinutes(searchBackTimeInMinutes);
+      sendBase("getAVGTimeDistribution", args);
+    }
+
+    public java.util.Map<java.lang.String,java.lang.Double> recv_getAVGTimeDistribution() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getAVGTimeDistribution_result result = new getAVGTimeDistribution_result();
+      receiveBase(result, "getAVGTimeDistribution");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAVGTimeDistribution failed: unknown result");
+    }
+
+    @Override
     public java.lang.String addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addProcess(processModel, experimentId);
@@ -4219,6 +4429,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addProcess failed: unknown result");
     }
 
+    @Override
     public void updateProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateProcess(processModel, processId);
@@ -4243,6 +4454,7 @@
       return;
     }
 
+    @Override
     public java.lang.String addTask(org.apache.airavata.model.task.TaskModel taskModel, java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addTask(taskModel, processId);
@@ -4270,6 +4482,31 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addTask failed: unknown result");
     }
 
+    @Override
+    public void deleteTasks(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_deleteTasks(processId);
+      recv_deleteTasks();
+    }
+
+    public void send_deleteTasks(java.lang.String processId) throws org.apache.thrift.TException
+    {
+      deleteTasks_args args = new deleteTasks_args();
+      args.setProcessId(processId);
+      sendBase("deleteTasks", args);
+    }
+
+    public void recv_deleteTasks() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      deleteTasks_result result = new deleteTasks_result();
+      receiveBase(result, "deleteTasks");
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      return;
+    }
+
+    @Override
     public org.apache.airavata.model.experiment.UserConfigurationDataModel getUserConfigurationData(java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUserConfigurationData(experimentId);
@@ -4296,6 +4533,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserConfigurationData failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.process.ProcessModel getProcess(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcess(processId);
@@ -4322,6 +4560,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcess failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.process.ProcessModel> getProcessList(java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcessList(experimentId);
@@ -4348,6 +4587,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessList failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.status.ProcessStatus getProcessStatus(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcessStatus(processId);
@@ -4374,6 +4614,61 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessStatus failed: unknown result");
     }
 
+    @Override
+    public java.util.List<org.apache.airavata.model.process.ProcessModel> getProcessListInState(org.apache.airavata.model.status.ProcessState processState) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getProcessListInState(processState);
+      return recv_getProcessListInState();
+    }
+
+    public void send_getProcessListInState(org.apache.airavata.model.status.ProcessState processState) throws org.apache.thrift.TException
+    {
+      getProcessListInState_args args = new getProcessListInState_args();
+      args.setProcessState(processState);
+      sendBase("getProcessListInState", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.process.ProcessModel> recv_getProcessListInState() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getProcessListInState_result result = new getProcessListInState_result();
+      receiveBase(result, "getProcessListInState");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessListInState failed: unknown result");
+    }
+
+    @Override
+    public java.util.List<org.apache.airavata.model.status.ProcessStatus> getProcessStatusList(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getProcessStatusList(processId);
+      return recv_getProcessStatusList();
+    }
+
+    public void send_getProcessStatusList(java.lang.String processId) throws org.apache.thrift.TException
+    {
+      getProcessStatusList_args args = new getProcessStatusList_args();
+      args.setProcessId(processId);
+      sendBase("getProcessStatusList", args);
+    }
+
+    public java.util.List<org.apache.airavata.model.status.ProcessStatus> recv_getProcessStatusList() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getProcessStatusList_result result = new getProcessStatusList_result();
+      receiveBase(result, "getProcessStatusList");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessStatusList failed: unknown result");
+    }
+
+    @Override
     public boolean isJobExist(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_isJobExist(queryType, id);
@@ -4401,6 +4696,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isJobExist failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.job.JobModel getJob(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getJob(queryType, id);
@@ -4428,6 +4724,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJob failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.job.JobModel> getJobs(java.lang.String queryType, java.lang.String id) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getJobs(queryType, id);
@@ -4455,6 +4752,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobs failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getProcessOutputs(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcessOutputs(processId);
@@ -4481,6 +4779,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessOutputs failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.process.ProcessWorkflow> getProcessWorkflows(java.lang.String processId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcessWorkflows(processId);
@@ -4507,6 +4806,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessWorkflows failed: unknown result");
     }
 
+    @Override
     public void addProcessWorkflow(org.apache.airavata.model.process.ProcessWorkflow processWorkflow) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addProcessWorkflow(processWorkflow);
@@ -4530,6 +4830,7 @@
       return;
     }
 
+    @Override
     public java.util.List<java.lang.String> getProcessIds(java.lang.String experimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getProcessIds(experimentId);
@@ -4556,6 +4857,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getProcessIds failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.job.JobModel> getJobDetails(java.lang.String airavataExperimentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException
     {
       send_getJobDetails(airavataExperimentId);
@@ -4585,6 +4887,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getJobDetails failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerApplicationModule(java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerApplicationModule(gatewayId, applicationModule);
@@ -4612,6 +4915,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerApplicationModule failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule(java.lang.String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getApplicationModule(appModuleId);
@@ -4638,6 +4942,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationModule failed: unknown result");
     }
 
+    @Override
     public boolean updateApplicationModule(java.lang.String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateApplicationModule(appModuleId, applicationModule);
@@ -4665,6 +4970,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationModule failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAllAppModules(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllAppModules(gatewayId);
@@ -4691,6 +4997,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllAppModules failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getAccessibleAppModules(java.lang.String gatewayId, java.util.List<java.lang.String> accessibleAppDeploymentIds, java.util.List<java.lang.String> accessibleComputeResourceIds) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAccessibleAppModules(gatewayId, accessibleAppDeploymentIds, accessibleComputeResourceIds);
@@ -4719,6 +5026,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAccessibleAppModules failed: unknown result");
     }
 
+    @Override
     public boolean deleteApplicationModule(java.lang.String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteApplicationModule(appModuleId);
@@ -4745,6 +5053,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationModule failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerApplicationDeployment(java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerApplicationDeployment(gatewayId, applicationDeployment);
@@ -4772,6 +5081,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment(java.lang.String appDeploymentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getApplicationDeployment(appDeploymentId);
@@ -4798,6 +5108,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public boolean updateApplicationDeployment(java.lang.String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateApplicationDeployment(appDeploymentId, applicationDeployment);
@@ -4825,6 +5136,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public boolean deleteApplicationDeployment(java.lang.String appDeploymentId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteApplicationDeployment(appDeploymentId);
@@ -4851,6 +5163,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationDeployment failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAllApplicationDeployments(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllApplicationDeployments(gatewayId);
@@ -4877,6 +5190,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationDeployments failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAccessibleApplicationDeployments(java.lang.String gatewayId, java.util.List<java.lang.String> accessibleAppDeploymentIds, java.util.List<java.lang.String> accessibleComputeResourceIds) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAccessibleApplicationDeployments(gatewayId, accessibleAppDeploymentIds, accessibleComputeResourceIds);
@@ -4905,6 +5219,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAccessibleApplicationDeployments failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getAccessibleApplicationDeploymentsForAppModule(java.lang.String gatewayId, java.lang.String appModuleId, java.util.List<java.lang.String> accessibleAppDeploymentIds, java.util.List<java.lang.String> accessibleComputeResourceIds) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAccessibleApplicationDeploymentsForAppModule(gatewayId, appModuleId, accessibleAppDeploymentIds, accessibleComputeResourceIds);
@@ -4934,6 +5249,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAccessibleApplicationDeploymentsForAppModule failed: unknown result");
     }
 
+    @Override
     public java.util.List<java.lang.String> getAppModuleDeployedResources(java.lang.String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAppModuleDeployedResources(appModuleId);
@@ -4960,6 +5276,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAppModuleDeployedResources failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getApplicationDeployments(java.lang.String appModuleId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getApplicationDeployments(appModuleId);
@@ -4986,6 +5303,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationDeployments failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerApplicationInterface(java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerApplicationInterface(gatewayId, applicationInterface);
@@ -5013,6 +5331,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerApplicationInterface failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface(java.lang.String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getApplicationInterface(appInterfaceId);
@@ -5039,6 +5358,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationInterface failed: unknown result");
     }
 
+    @Override
     public boolean updateApplicationInterface(java.lang.String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateApplicationInterface(appInterfaceId, applicationInterface);
@@ -5066,6 +5386,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateApplicationInterface failed: unknown result");
     }
 
+    @Override
     public boolean deleteApplicationInterface(java.lang.String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteApplicationInterface(appInterfaceId);
@@ -5092,6 +5413,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteApplicationInterface failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllApplicationInterfaceNames(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllApplicationInterfaceNames(gatewayId);
@@ -5118,6 +5440,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationInterfaceNames failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getAllApplicationInterfaces(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllApplicationInterfaces(gatewayId);
@@ -5144,6 +5467,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllApplicationInterfaces failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getApplicationInputs(java.lang.String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getApplicationInputs(appInterfaceId);
@@ -5170,6 +5494,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationInputs failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getApplicationOutputs(java.lang.String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getApplicationOutputs(appInterfaceId);
@@ -5196,6 +5521,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getApplicationOutputs failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAvailableAppInterfaceComputeResources(java.lang.String appInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAvailableAppInterfaceComputeResources(appInterfaceId);
@@ -5222,6 +5548,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAvailableAppInterfaceComputeResources failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerComputeResource(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerComputeResource(computeResourceDescription);
@@ -5248,6 +5575,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerComputeResource failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResource(java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getComputeResource(computeResourceId);
@@ -5274,6 +5602,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getComputeResource failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllComputeResourceNames() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllComputeResourceNames();
@@ -5299,6 +5628,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllComputeResourceNames failed: unknown result");
     }
 
+    @Override
     public boolean updateComputeResource(java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateComputeResource(computeResourceId, computeResourceDescription);
@@ -5326,6 +5656,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateComputeResource failed: unknown result");
     }
 
+    @Override
     public boolean deleteComputeResource(java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteComputeResource(computeResourceId);
@@ -5352,6 +5683,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteComputeResource failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerStorageResource(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerStorageResource(storageResourceDescription);
@@ -5378,6 +5710,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerStorageResource failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResource(java.lang.String storageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getStorageResource(storageResourceId);
@@ -5404,6 +5737,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getStorageResource failed: unknown result");
     }
 
+    @Override
     public java.util.Map<java.lang.String,java.lang.String> getAllStorageResourceNames() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllStorageResourceNames();
@@ -5429,6 +5763,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllStorageResourceNames failed: unknown result");
     }
 
+    @Override
     public boolean updateStorageResource(java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateStorageResource(storageResourceId, storageResourceDescription);
@@ -5456,6 +5791,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateStorageResource failed: unknown result");
     }
 
+    @Override
     public boolean deleteStorageResource(java.lang.String storageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteStorageResource(storageResourceId);
@@ -5482,6 +5818,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteStorageResource failed: unknown result");
     }
 
+    @Override
     public java.lang.String addLocalSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addLocalSubmissionDetails(computeResourceId, priorityOrder, localSubmission);
@@ -5510,6 +5847,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addLocalSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateLocalSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateLocalSubmissionDetails(jobSubmissionInterfaceId, localSubmission);
@@ -5537,6 +5875,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateLocalSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalJobSubmission(java.lang.String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getLocalJobSubmission(jobSubmissionId);
@@ -5563,6 +5902,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLocalJobSubmission failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSSHJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addSSHJobSubmissionDetails(computeResourceId, priorityOrder, sshJobSubmission);
@@ -5591,6 +5931,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSSHJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSSHForkJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addSSHForkJobSubmissionDetails(computeResourceId, priorityOrder, sshJobSubmission);
@@ -5619,6 +5960,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSSHForkJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSSHJobSubmission(java.lang.String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getSSHJobSubmission(jobSubmissionId);
@@ -5645,6 +5987,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSSHJobSubmission failed: unknown result");
     }
 
+    @Override
     public java.lang.String addUNICOREJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addUNICOREJobSubmissionDetails(computeResourceId, priorityOrder, unicoreJobSubmission);
@@ -5673,6 +6016,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUNICOREJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission(java.lang.String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUnicoreJobSubmission(jobSubmissionId);
@@ -5699,6 +6043,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUnicoreJobSubmission failed: unknown result");
     }
 
+    @Override
     public java.lang.String addCloudJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addCloudJobSubmissionDetails(computeResourceId, priorityOrder, cloudSubmission);
@@ -5727,6 +6072,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addCloudJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudJobSubmission(java.lang.String jobSubmissionId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getCloudJobSubmission(jobSubmissionId);
@@ -5753,6 +6099,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getCloudJobSubmission failed: unknown result");
     }
 
+    @Override
     public boolean updateSSHJobSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateSSHJobSubmissionDetails(jobSubmissionInterfaceId, sshJobSubmission);
@@ -5780,6 +6127,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateSSHJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateCloudJobSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateCloudJobSubmissionDetails(jobSubmissionInterfaceId, sshJobSubmission);
@@ -5807,6 +6155,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateCloudJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateUnicoreJobSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateUnicoreJobSubmissionDetails(jobSubmissionInterfaceId, unicoreJobSubmission);
@@ -5834,6 +6183,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUnicoreJobSubmissionDetails failed: unknown result");
     }
 
+    @Override
     public java.lang.String addLocalDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addLocalDataMovementDetails(productUri, dataMoveType, priorityOrder, localDataMovement);
@@ -5863,6 +6213,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addLocalDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateLocalDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateLocalDataMovementDetails(dataMovementInterfaceId, localDataMovement);
@@ -5890,6 +6241,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateLocalDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement(java.lang.String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getLocalDataMovement(dataMovementId);
@@ -5916,6 +6268,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLocalDataMovement failed: unknown result");
     }
 
+    @Override
     public java.lang.String addSCPDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addSCPDataMovementDetails(productUri, dataMoveType, priorityOrder, scpDataMovement);
@@ -5945,6 +6298,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addSCPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateSCPDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateSCPDataMovementDetails(dataMovementInterfaceId, scpDataMovement);
@@ -5972,6 +6326,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateSCPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.SCPDataMovement getSCPDataMovement(java.lang.String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getSCPDataMovement(dataMovementId);
@@ -5998,6 +6353,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getSCPDataMovement failed: unknown result");
     }
 
+    @Override
     public java.lang.String addUnicoreDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addUnicoreDataMovementDetails(productUri, dataMoveType, priorityOrder, unicoreDataMovement);
@@ -6027,6 +6383,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUnicoreDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateUnicoreDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateUnicoreDataMovementDetails(dataMovementInterfaceId, unicoreDataMovement);
@@ -6054,6 +6411,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUnicoreDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement(java.lang.String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUnicoreDataMovement(dataMovementId);
@@ -6080,6 +6438,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUnicoreDataMovement failed: unknown result");
     }
 
+    @Override
     public java.lang.String addGridFTPDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addGridFTPDataMovementDetails(productUri, dataMoveType, priorityOrder, gridFTPDataMovement);
@@ -6109,6 +6468,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGridFTPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public boolean updateGridFTPDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGridFTPDataMovementDetails(dataMovementInterfaceId, gridFTPDataMovement);
@@ -6136,6 +6496,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGridFTPDataMovementDetails failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement(java.lang.String dataMovementId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGridFTPDataMovement(dataMovementId);
@@ -6162,6 +6523,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGridFTPDataMovement failed: unknown result");
     }
 
+    @Override
     public boolean changeJobSubmissionPriority(java.lang.String jobSubmissionInterfaceId, int newPriorityOrder) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_changeJobSubmissionPriority(jobSubmissionInterfaceId, newPriorityOrder);
@@ -6189,6 +6551,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeJobSubmissionPriority failed: unknown result");
     }
 
+    @Override
     public boolean changeDataMovementPriority(java.lang.String dataMovementInterfaceId, int newPriorityOrder) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_changeDataMovementPriority(dataMovementInterfaceId, newPriorityOrder);
@@ -6216,6 +6579,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeDataMovementPriority failed: unknown result");
     }
 
+    @Override
     public boolean changeJobSubmissionPriorities(java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_changeJobSubmissionPriorities(jobSubmissionPriorityMap);
@@ -6242,6 +6606,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeJobSubmissionPriorities failed: unknown result");
     }
 
+    @Override
     public boolean changeDataMovementPriorities(java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_changeDataMovementPriorities(dataMovementPriorityMap);
@@ -6268,6 +6633,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "changeDataMovementPriorities failed: unknown result");
     }
 
+    @Override
     public boolean deleteJobSubmissionInterface(java.lang.String computeResourceId, java.lang.String jobSubmissionInterfaceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteJobSubmissionInterface(computeResourceId, jobSubmissionInterfaceId);
@@ -6295,6 +6661,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteJobSubmissionInterface failed: unknown result");
     }
 
+    @Override
     public boolean deleteDataMovementInterface(java.lang.String productUri, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteDataMovementInterface(productUri, dataMovementInterfaceId, dataMoveType);
@@ -6323,6 +6690,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteDataMovementInterface failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerResourceJobManager(resourceJobManager);
@@ -6349,6 +6717,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerResourceJobManager failed: unknown result");
     }
 
+    @Override
     public boolean updateResourceJobManager(java.lang.String resourceJobManagerId, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateResourceJobManager(resourceJobManagerId, updatedResourceJobManager);
@@ -6376,6 +6745,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateResourceJobManager failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getResourceJobManager(java.lang.String resourceJobManagerId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getResourceJobManager(resourceJobManagerId);
@@ -6402,6 +6772,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getResourceJobManager failed: unknown result");
     }
 
+    @Override
     public boolean deleteResourceJobManager(java.lang.String resourceJobManagerId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteResourceJobManager(resourceJobManagerId);
@@ -6428,6 +6799,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteResourceJobManager failed: unknown result");
     }
 
+    @Override
     public boolean deleteBatchQueue(java.lang.String computeResourceId, java.lang.String queueName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteBatchQueue(computeResourceId, queueName);
@@ -6455,6 +6827,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteBatchQueue failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerGatewayResourceProfile(gatewayResourceProfile);
@@ -6481,6 +6854,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile(java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGatewayResourceProfile(gatewayID);
@@ -6507,6 +6881,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean updateGatewayResourceProfile(java.lang.String gatewayID, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGatewayResourceProfile(gatewayID, gatewayResourceProfile);
@@ -6534,6 +6909,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean deleteGatewayResourceProfile(java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteGatewayResourceProfile(gatewayID);
@@ -6560,6 +6936,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean addGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addGatewayComputeResourcePreference(gatewayID, computeResourceId, computeResourcePreference);
@@ -6588,6 +6965,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean addGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addGatewayStoragePreference(gatewayID, storageResourceId, storagePreference);
@@ -6616,6 +6994,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGatewayComputeResourcePreference(gatewayID, computeResourceId);
@@ -6643,6 +7022,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGatewayStoragePreference(gatewayID, storageResourceId);
@@ -6670,6 +7050,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getAllGatewayComputeResourcePreferences(java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllGatewayComputeResourcePreferences(gatewayID);
@@ -6696,6 +7077,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGatewayComputeResourcePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getAllGatewayStoragePreferences(java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllGatewayStoragePreferences(gatewayID);
@@ -6722,6 +7104,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGatewayStoragePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getAllGatewayResourceProfiles() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllGatewayResourceProfiles();
@@ -6747,6 +7130,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllGatewayResourceProfiles failed: unknown result");
     }
 
+    @Override
     public boolean updateGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGatewayComputeResourcePreference(gatewayID, computeResourceId, computeResourcePreference);
@@ -6775,6 +7159,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean updateGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGatewayStoragePreference(gatewayID, storageId, storagePreference);
@@ -6803,6 +7188,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteGatewayComputeResourcePreference(gatewayID, computeResourceId);
@@ -6830,6 +7216,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteGatewayStoragePreference(gatewayID, storageId);
@@ -6857,6 +7244,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGatewayStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerUserResourceProfile(userResourceProfile);
@@ -6883,6 +7271,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean isUserResourceProfileExists(java.lang.String userId, java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_isUserResourceProfileExists(userId, gatewayID);
@@ -6910,6 +7299,91 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserResourceProfileExists failed: unknown result");
     }
 
+    @Override
+    public boolean isUserComputeResourcePreferenceExists(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_isUserComputeResourcePreferenceExists(userId, gatewayID, computeResourceId);
+      return recv_isUserComputeResourcePreferenceExists();
+    }
+
+    public void send_isUserComputeResourcePreferenceExists(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId) throws org.apache.thrift.TException
+    {
+      isUserComputeResourcePreferenceExists_args args = new isUserComputeResourcePreferenceExists_args();
+      args.setUserId(userId);
+      args.setGatewayID(gatewayID);
+      args.setComputeResourceId(computeResourceId);
+      sendBase("isUserComputeResourcePreferenceExists", args);
+    }
+
+    public boolean recv_isUserComputeResourcePreferenceExists() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
+      receiveBase(result, "isUserComputeResourcePreferenceExists");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserComputeResourcePreferenceExists failed: unknown result");
+    }
+
+    @Override
+    public boolean isGroupComputeResourcePreferenceExists(java.lang.String computeResourceId, java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_isGroupComputeResourcePreferenceExists(computeResourceId, groupResourceProfileId);
+      return recv_isGroupComputeResourcePreferenceExists();
+    }
+
+    public void send_isGroupComputeResourcePreferenceExists(java.lang.String computeResourceId, java.lang.String groupResourceProfileId) throws org.apache.thrift.TException
+    {
+      isGroupComputeResourcePreferenceExists_args args = new isGroupComputeResourcePreferenceExists_args();
+      args.setComputeResourceId(computeResourceId);
+      args.setGroupResourceProfileId(groupResourceProfileId);
+      sendBase("isGroupComputeResourcePreferenceExists", args);
+    }
+
+    public boolean recv_isGroupComputeResourcePreferenceExists() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
+      receiveBase(result, "isGroupComputeResourcePreferenceExists");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGroupComputeResourcePreferenceExists failed: unknown result");
+    }
+
+    @Override
+    public boolean isGroupResourceProfileExists(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_isGroupResourceProfileExists(groupResourceProfileId);
+      return recv_isGroupResourceProfileExists();
+    }
+
+    public void send_isGroupResourceProfileExists(java.lang.String groupResourceProfileId) throws org.apache.thrift.TException
+    {
+      isGroupResourceProfileExists_args args = new isGroupResourceProfileExists_args();
+      args.setGroupResourceProfileId(groupResourceProfileId);
+      sendBase("isGroupResourceProfileExists", args);
+    }
+
+    public boolean recv_isGroupResourceProfileExists() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
+      receiveBase(result, "isGroupResourceProfileExists");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGroupResourceProfileExists failed: unknown result");
+    }
+
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile(java.lang.String userId, java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUserResourceProfile(userId, gatewayID);
@@ -6937,6 +7411,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean updateUserResourceProfile(java.lang.String userId, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateUserResourceProfile(userId, gatewayID, userResourceProfile);
@@ -6965,6 +7440,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserResourceProfile(java.lang.String userId, java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteUserResourceProfile(userId, gatewayID);
@@ -6992,6 +7468,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserResourceProfile failed: unknown result");
     }
 
+    @Override
     public java.lang.String addUser(org.apache.airavata.model.user.UserProfile userProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
     {
       send_addUser(userProfile);
@@ -7021,6 +7498,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUser failed: unknown result");
     }
 
+    @Override
     public boolean addUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addUserComputeResourcePreference(userId, gatewayID, computeResourceId, userComputeResourcePreference);
@@ -7050,6 +7528,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean addUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addUserStoragePreference(userId, gatewayID, userStorageResourceId, userStoragePreference);
@@ -7079,6 +7558,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUserComputeResourcePreference(userId, gatewayID, userComputeResourceId);
@@ -7107,6 +7587,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getUserStoragePreference(userId, gatewayID, userStorageResourceId);
@@ -7135,6 +7616,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getAllUserComputeResourcePreferences(java.lang.String userId, java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllUserComputeResourcePreferences(userId, gatewayID);
@@ -7162,6 +7644,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserComputeResourcePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getAllUserStoragePreferences(java.lang.String userId, java.lang.String gatewayID) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllUserStoragePreferences(userId, gatewayID);
@@ -7189,6 +7672,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserStoragePreferences failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getAllUserResourceProfiles() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getAllUserResourceProfiles();
@@ -7214,6 +7698,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllUserResourceProfiles failed: unknown result");
     }
 
+    @Override
     public boolean updateUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateUserComputeResourcePreference(userId, gatewayID, userComputeResourceId, userComputeResourcePreference);
@@ -7243,6 +7728,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean updateUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateUserStoragePreference(userId, gatewayID, userStorageId, userStoragePreference);
@@ -7272,6 +7758,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteUserComputeResourcePreference(userId, gatewayID, userComputeResourceId);
@@ -7300,6 +7787,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public boolean deleteUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_deleteUserStoragePreference(userId, gatewayID, userStorageId);
@@ -7328,6 +7816,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUserStoragePreference failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.status.QueueStatusModel> getLatestQueueStatuses() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getLatestQueueStatuses();
@@ -7353,6 +7842,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getLatestQueueStatuses failed: unknown result");
     }
 
+    @Override
     public void registerQueueStatuses(java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerQueueStatuses(queueStatuses);
@@ -7376,6 +7866,35 @@
       return;
     }
 
+    @Override
+    public org.apache.airavata.model.status.QueueStatusModel getQueueStatus(java.lang.String hostName, java.lang.String queueName) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      send_getQueueStatus(hostName, queueName);
+      return recv_getQueueStatus();
+    }
+
+    public void send_getQueueStatus(java.lang.String hostName, java.lang.String queueName) throws org.apache.thrift.TException
+    {
+      getQueueStatus_args args = new getQueueStatus_args();
+      args.setHostName(hostName);
+      args.setQueueName(queueName);
+      sendBase("getQueueStatus", args);
+    }
+
+    public org.apache.airavata.model.status.QueueStatusModel recv_getQueueStatus() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
+    {
+      getQueueStatus_result result = new getQueueStatus_result();
+      receiveBase(result, "getQueueStatus");
+      if (result.isSetSuccess()) {
+        return result.success;
+      }
+      if (result.rse != null) {
+        throw result.rse;
+      }
+      throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getQueueStatus failed: unknown result");
+    }
+
+    @Override
     public java.lang.String registerDataProduct(org.apache.airavata.model.data.replica.DataProductModel dataProductModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerDataProduct(dataProductModel);
@@ -7402,6 +7921,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerDataProduct failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.replica.DataProductModel getDataProduct(java.lang.String dataProductUri) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getDataProduct(dataProductUri);
@@ -7428,6 +7948,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDataProduct failed: unknown result");
     }
 
+    @Override
     public java.lang.String registerReplicaLocation(org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_registerReplicaLocation(replicaLocationModel);
@@ -7454,6 +7975,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "registerReplicaLocation failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.data.replica.DataProductModel getParentDataProduct(java.lang.String productUri) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getParentDataProduct(productUri);
@@ -7480,6 +8002,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParentDataProduct failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getChildDataProducts(java.lang.String productUri) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getChildDataProducts(productUri);
@@ -7506,6 +8029,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getChildDataProducts failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> searchDataProductsByName(java.lang.String gatewayId, java.lang.String userId, java.lang.String productName, int limit, int offset) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_searchDataProductsByName(gatewayId, userId, productName, limit, offset);
@@ -7536,6 +8060,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchDataProductsByName failed: unknown result");
     }
 
+    @Override
     public java.lang.String createGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_createGroupResourceProfile(groupResourceProfile);
@@ -7562,6 +8087,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public void updateGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGroupResourceProfile(groupResourceProfile);
@@ -7585,6 +8111,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getGroupResourceProfile(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupResourceProfile(groupResourceProfileId);
@@ -7611,6 +8138,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupResourceProfile(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeGroupResourceProfile(groupResourceProfileId);
@@ -7637,6 +8165,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupResourceProfile failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getGroupResourceList(java.lang.String gatewayId, java.util.List<java.lang.String> accessibleGroupResProfileIds) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupResourceList(gatewayId, accessibleGroupResProfileIds);
@@ -7664,6 +8193,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupResourceList failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupComputePrefs(java.lang.String computeResourceId, java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeGroupComputePrefs(computeResourceId, groupResourceProfileId);
@@ -7691,6 +8221,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupComputePrefs failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupComputeResourcePolicy(java.lang.String resourcePolicyId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeGroupComputeResourcePolicy(resourcePolicyId);
@@ -7717,6 +8248,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupComputeResourcePolicy failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupBatchQueueResourcePolicy(java.lang.String resourcePolicyId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeGroupBatchQueueResourcePolicy(resourcePolicyId);
@@ -7743,6 +8275,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupBatchQueueResourcePolicy failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference getGroupComputeResourcePreference(java.lang.String computeResourceId, java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupComputeResourcePreference(computeResourceId, groupResourceProfileId);
@@ -7770,6 +8303,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePreference failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getGroupComputeResourcePolicy(java.lang.String resourcePolicyId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupComputeResourcePolicy(resourcePolicyId);
@@ -7796,6 +8330,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePolicy failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getBatchQueueResourcePolicy(java.lang.String resourcePolicyId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getBatchQueueResourcePolicy(resourcePolicyId);
@@ -7822,6 +8357,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getBatchQueueResourcePolicy failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getGroupComputeResourcePrefList(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupComputeResourcePrefList(groupResourceProfileId);
@@ -7848,6 +8384,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePrefList failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getGroupBatchQueueResourcePolicyList(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupBatchQueueResourcePolicyList(groupResourceProfileId);
@@ -7874,6 +8411,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupBatchQueueResourcePolicyList failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getGroupComputeResourcePolicyList(java.lang.String groupResourceProfileId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGroupComputeResourcePolicyList(groupResourceProfileId);
@@ -7900,6 +8438,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupComputeResourcePolicyList failed: unknown result");
     }
 
+    @Override
     public void createGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createGatewayGroups(gatewayGroups);
@@ -7926,6 +8465,7 @@
       return;
     }
 
+    @Override
     public void updateGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_updateGatewayGroups(gatewayGroups);
@@ -7949,6 +8489,7 @@
       return;
     }
 
+    @Override
     public boolean isGatewayGroupsExists(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_isGatewayGroupsExists(gatewayId);
@@ -7975,6 +8516,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayGroupsExists failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGatewayGroups(gatewayId);
@@ -8001,6 +8543,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayGroups failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.parser.Parser getParser(java.lang.String parserId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getParser(parserId, gatewayId);
@@ -8028,6 +8571,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParser failed: unknown result");
     }
 
+    @Override
     public java.lang.String saveParser(org.apache.airavata.model.appcatalog.parser.Parser parser) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_saveParser(parser);
@@ -8054,6 +8598,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "saveParser failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> listAllParsers(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_listAllParsers(gatewayId);
@@ -8080,6 +8625,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "listAllParsers failed: unknown result");
     }
 
+    @Override
     public void removeParser(java.lang.String parserId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeParser(parserId, gatewayId);
@@ -8104,6 +8650,7 @@
       return;
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.parser.ParserInput getParserInput(java.lang.String parserInputId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getParserInput(parserInputId, gatewayId);
@@ -8131,6 +8678,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParserInput failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.parser.ParserOutput getParserOutput(java.lang.String parserOutputId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getParserOutput(parserOutputId, gatewayId);
@@ -8158,6 +8706,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParserOutput failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getParsingTemplate(java.lang.String templateId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getParsingTemplate(templateId, gatewayId);
@@ -8185,6 +8734,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParsingTemplate failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getParsingTemplatesForExperiment(java.lang.String experimentId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getParsingTemplatesForExperiment(experimentId, gatewayId);
@@ -8212,6 +8762,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getParsingTemplatesForExperiment failed: unknown result");
     }
 
+    @Override
     public java.lang.String saveParsingTemplate(org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_saveParsingTemplate(parsingTemplate);
@@ -8238,6 +8789,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "saveParsingTemplate failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> listAllParsingTemplates(java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_listAllParsingTemplates(gatewayId);
@@ -8264,6 +8816,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "listAllParsingTemplates failed: unknown result");
     }
 
+    @Override
     public void removeParsingTemplate(java.lang.String templateId, java.lang.String gatewayId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeParsingTemplate(templateId, gatewayId);
@@ -8288,6 +8841,7 @@
       return;
     }
 
+    @Override
     public boolean isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_isGatewayUsageReportingAvailable(gatewayId, computeResourceId);
@@ -8315,6 +8869,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGatewayUsageReportingAvailable failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_getGatewayReportingCommand(gatewayId, computeResourceId);
@@ -8342,6 +8897,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGatewayReportingCommand failed: unknown result");
     }
 
+    @Override
     public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_addGatewayUsageReportingCommand(command);
@@ -8365,6 +8921,7 @@
       return;
     }
 
+    @Override
     public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId) throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException
     {
       send_removeGatewayUsageReportingCommand(gatewayId, computeResourceId);
@@ -8398,6 +8955,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -8407,6 +8965,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void isUserExists(java.lang.String gatewayId, java.lang.String userName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserExists_call method_call = new isUserExists_call(gatewayId, userName, resultHandler, this, ___protocolFactory, ___transport);
@@ -8423,6 +8982,7 @@
         this.userName = userName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserExists_args args = new isUserExists_args();
@@ -8432,6 +8992,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8442,6 +9003,7 @@
       }
     }
 
+    @Override
     public void addGateway(org.apache.airavata.model.workspace.Gateway gateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGateway_call method_call = new addGateway_call(gateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -8456,6 +9018,7 @@
         this.gateway = gateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGateway_args args = new addGateway_args();
@@ -8464,6 +9027,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8474,6 +9038,7 @@
       }
     }
 
+    @Override
     public void getAllUsersInGateway(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUsersInGateway_call method_call = new getAllUsersInGateway_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8488,6 +9053,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUsersInGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUsersInGateway_args args = new getAllUsersInGateway_args();
@@ -8496,6 +9062,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8506,6 +9073,7 @@
       }
     }
 
+    @Override
     public void updateGateway(java.lang.String gatewayId, org.apache.airavata.model.workspace.Gateway updatedGateway, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGateway_call method_call = new updateGateway_call(gatewayId, updatedGateway, resultHandler, this, ___protocolFactory, ___transport);
@@ -8522,6 +9090,7 @@
         this.updatedGateway = updatedGateway;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGateway_args args = new updateGateway_args();
@@ -8531,6 +9100,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8541,6 +9111,7 @@
       }
     }
 
+    @Override
     public void getGateway(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGateway_call method_call = new getGateway_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8555,6 +9126,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGateway_args args = new getGateway_args();
@@ -8563,6 +9135,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Gateway getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8573,6 +9146,7 @@
       }
     }
 
+    @Override
     public void deleteGateway(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGateway_call method_call = new deleteGateway_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8587,6 +9161,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGateway", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGateway_args args = new deleteGateway_args();
@@ -8595,6 +9170,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8605,6 +9181,7 @@
       }
     }
 
+    @Override
     public void getAllGateways(org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGateways_call method_call = new getAllGateways_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -8617,6 +9194,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGateways", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGateways_args args = new getAllGateways_args();
@@ -8624,6 +9202,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Gateway> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8634,6 +9213,7 @@
       }
     }
 
+    @Override
     public void isGatewayExist(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isGatewayExist_call method_call = new isGatewayExist_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8648,6 +9228,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGatewayExist_args args = new isGatewayExist_args();
@@ -8656,6 +9237,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8666,6 +9248,7 @@
       }
     }
 
+    @Override
     public void createNotification(org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createNotification_call method_call = new createNotification_call(notification, resultHandler, this, ___protocolFactory, ___transport);
@@ -8680,6 +9263,7 @@
         this.notification = notification;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createNotification_args args = new createNotification_args();
@@ -8688,6 +9272,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8698,6 +9283,7 @@
       }
     }
 
+    @Override
     public void updateNotification(org.apache.airavata.model.workspace.Notification notification, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateNotification_call method_call = new updateNotification_call(notification, resultHandler, this, ___protocolFactory, ___transport);
@@ -8712,6 +9298,7 @@
         this.notification = notification;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateNotification_args args = new updateNotification_args();
@@ -8720,6 +9307,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8730,6 +9318,7 @@
       }
     }
 
+    @Override
     public void deleteNotification(java.lang.String gatewayId, java.lang.String notificationId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteNotification_call method_call = new deleteNotification_call(gatewayId, notificationId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8746,6 +9335,7 @@
         this.notificationId = notificationId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteNotification_args args = new deleteNotification_args();
@@ -8755,6 +9345,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8765,6 +9356,7 @@
       }
     }
 
+    @Override
     public void getNotification(java.lang.String gatewayId, java.lang.String notificationId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getNotification_call method_call = new getNotification_call(gatewayId, notificationId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8781,6 +9373,7 @@
         this.notificationId = notificationId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getNotification", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getNotification_args args = new getNotification_args();
@@ -8790,6 +9383,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Notification getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8800,6 +9394,7 @@
       }
     }
 
+    @Override
     public void getAllNotifications(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllNotifications_call method_call = new getAllNotifications_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8814,6 +9409,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllNotifications", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllNotifications_args args = new getAllNotifications_args();
@@ -8822,6 +9418,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Notification> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8832,6 +9429,7 @@
       }
     }
 
+    @Override
     public void createProject(java.lang.String gatewayId, org.apache.airavata.model.workspace.Project project, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createProject_call method_call = new createProject_call(gatewayId, project, resultHandler, this, ___protocolFactory, ___transport);
@@ -8848,6 +9446,7 @@
         this.project = project;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createProject_args args = new createProject_args();
@@ -8857,6 +9456,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8867,6 +9467,7 @@
       }
     }
 
+    @Override
     public void updateProject(java.lang.String projectId, org.apache.airavata.model.workspace.Project updatedProject, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateProject_call method_call = new updateProject_call(projectId, updatedProject, resultHandler, this, ___protocolFactory, ___transport);
@@ -8883,6 +9484,7 @@
         this.updatedProject = updatedProject;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateProject_args args = new updateProject_args();
@@ -8892,16 +9494,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateProject();
         return null;
       }
     }
 
+    @Override
     public void getProject(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProject_call method_call = new getProject_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8916,6 +9521,7 @@
         this.projectId = projectId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProject_args args = new getProject_args();
@@ -8924,6 +9530,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.Project getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8934,6 +9541,7 @@
       }
     }
 
+    @Override
     public void deleteProject(java.lang.String projectId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteProject_call method_call = new deleteProject_call(projectId, resultHandler, this, ___protocolFactory, ___transport);
@@ -8948,6 +9556,7 @@
         this.projectId = projectId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteProject_args args = new deleteProject_args();
@@ -8956,6 +9565,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -8966,6 +9576,7 @@
       }
     }
 
+    @Override
     public void getUserProjects(java.lang.String gatewayId, java.lang.String userName, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserProjects_call method_call = new getUserProjects_call(gatewayId, userName, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -8986,6 +9597,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserProjects", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserProjects_args args = new getUserProjects_args();
@@ -8997,6 +9609,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Project> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9007,6 +9620,7 @@
       }
     }
 
+    @Override
     public void searchProjects(java.lang.String gatewayId, java.lang.String userName, java.util.List<java.lang.String> accessibleProjIds, java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchProjects_call method_call = new searchProjects_call(gatewayId, userName, accessibleProjIds, filters, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -9031,6 +9645,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchProjects", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchProjects_args args = new searchProjects_args();
@@ -9044,6 +9659,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.workspace.Project> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9054,6 +9670,7 @@
       }
     }
 
+    @Override
     public void searchExperiments(java.lang.String gatewayId, java.lang.String userName, java.util.List<java.lang.String> accessibleExpIds, java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchExperiments_call method_call = new searchExperiments_call(gatewayId, userName, accessibleExpIds, filters, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -9078,6 +9695,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchExperiments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchExperiments_args args = new searchExperiments_args();
@@ -9091,6 +9709,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9101,6 +9720,7 @@
       }
     }
 
+    @Override
     public void getExperimentStatistics(java.lang.String gatewayId, long fromTime, long toTime, java.lang.String userName, java.lang.String applicationName, java.lang.String resourceHostName, java.util.List<java.lang.String> accessibleExpIds, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentStatistics_call method_call = new getExperimentStatistics_call(gatewayId, fromTime, toTime, userName, applicationName, resourceHostName, accessibleExpIds, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -9131,6 +9751,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatistics", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentStatistics_args args = new getExperimentStatistics_args();
@@ -9147,6 +9768,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentStatistics getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9157,6 +9779,7 @@
       }
     }
 
+    @Override
     public void getExperimentsInProject(java.lang.String gatewayId, java.lang.String projectId, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentsInProject_call method_call = new getExperimentsInProject_call(gatewayId, projectId, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -9177,6 +9800,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentsInProject", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentsInProject_args args = new getExperimentsInProject_args();
@@ -9188,6 +9812,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ProjectNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9198,6 +9823,7 @@
       }
     }
 
+    @Override
     public void getUserExperiments(java.lang.String gatewayId, java.lang.String userName, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserExperiments_call method_call = new getUserExperiments_call(gatewayId, userName, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -9218,6 +9844,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserExperiments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserExperiments_args args = new getUserExperiments_args();
@@ -9229,6 +9856,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9239,6 +9867,7 @@
       }
     }
 
+    @Override
     public void createExperiment(java.lang.String gatewayId, org.apache.airavata.model.experiment.ExperimentModel experiment, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createExperiment_call method_call = new createExperiment_call(gatewayId, experiment, resultHandler, this, ___protocolFactory, ___transport);
@@ -9255,6 +9884,7 @@
         this.experiment = experiment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createExperiment_args args = new createExperiment_args();
@@ -9264,6 +9894,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9274,6 +9905,7 @@
       }
     }
 
+    @Override
     public void deleteExperiment(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteExperiment_call method_call = new deleteExperiment_call(experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9288,6 +9920,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteExperiment_args args = new deleteExperiment_args();
@@ -9296,6 +9929,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9306,6 +9940,7 @@
       }
     }
 
+    @Override
     public void getExperiment(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperiment_call method_call = new getExperiment_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9320,6 +9955,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperiment_args args = new getExperiment_args();
@@ -9328,6 +9964,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9338,6 +9975,7 @@
       }
     }
 
+    @Override
     public void getDetailedExperimentTree(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getDetailedExperimentTree_call method_call = new getDetailedExperimentTree_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9352,6 +9990,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDetailedExperimentTree", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getDetailedExperimentTree_args args = new getDetailedExperimentTree_args();
@@ -9360,6 +9999,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.ExperimentModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9370,6 +10010,7 @@
       }
     }
 
+    @Override
     public void updateExperiment(java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.ExperimentModel experiment, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateExperiment_call method_call = new updateExperiment_call(airavataExperimentId, experiment, resultHandler, this, ___protocolFactory, ___transport);
@@ -9386,6 +10027,7 @@
         this.experiment = experiment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateExperiment_args args = new updateExperiment_args();
@@ -9395,16 +10037,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateExperiment();
         return null;
       }
     }
 
+    @Override
     public void updateExperimentConfiguration(java.lang.String airavataExperimentId, org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateExperimentConfiguration_call method_call = new updateExperimentConfiguration_call(airavataExperimentId, userConfiguration, resultHandler, this, ___protocolFactory, ___transport);
@@ -9421,6 +10066,7 @@
         this.userConfiguration = userConfiguration;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperimentConfiguration", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateExperimentConfiguration_args args = new updateExperimentConfiguration_args();
@@ -9430,16 +10076,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateExperimentConfiguration();
         return null;
       }
     }
 
+    @Override
     public void updateResourceScheduleing(java.lang.String airavataExperimentId, org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateResourceScheduleing_call method_call = new updateResourceScheduleing_call(airavataExperimentId, resourceScheduling, resultHandler, this, ___protocolFactory, ___transport);
@@ -9456,6 +10105,7 @@
         this.resourceScheduling = resourceScheduling;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateResourceScheduleing", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateResourceScheduleing_args args = new updateResourceScheduleing_args();
@@ -9465,16 +10115,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateResourceScheduleing();
         return null;
       }
     }
 
+    @Override
     public void getExperimentStatus(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentStatus_call method_call = new getExperimentStatus_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9489,6 +10142,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentStatus_args args = new getExperimentStatus_args();
@@ -9497,6 +10151,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.status.ExperimentStatus getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9507,6 +10162,7 @@
       }
     }
 
+    @Override
     public void getExperimentOutputs(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getExperimentOutputs_call method_call = new getExperimentOutputs_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9521,6 +10177,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getExperimentOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getExperimentOutputs_args args = new getExperimentOutputs_args();
@@ -9529,6 +10186,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9539,6 +10197,7 @@
       }
     }
 
+    @Override
     public void getIntermediateOutputs(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getIntermediateOutputs_call method_call = new getIntermediateOutputs_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9553,6 +10212,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getIntermediateOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getIntermediateOutputs_args args = new getIntermediateOutputs_args();
@@ -9561,6 +10221,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9571,6 +10232,7 @@
       }
     }
 
+    @Override
     public void getJobStatuses(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getJobStatuses_call method_call = new getJobStatuses_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9585,6 +10247,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobStatuses", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getJobStatuses_args args = new getJobStatuses_args();
@@ -9593,6 +10256,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9603,6 +10267,7 @@
       }
     }
 
+    @Override
     public void addExperimentProcessOutputs(java.lang.String outputType, java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addExperimentProcessOutputs_call method_call = new addExperimentProcessOutputs_call(outputType, outputs, id, resultHandler, this, ___protocolFactory, ___transport);
@@ -9621,6 +10286,7 @@
         this.id = id;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addExperimentProcessOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addExperimentProcessOutputs_args args = new addExperimentProcessOutputs_args();
@@ -9631,16 +10297,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addExperimentProcessOutputs();
         return null;
       }
     }
 
+    @Override
     public void addErrors(java.lang.String errorType, org.apache.airavata.model.commons.ErrorModel errorModel, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addErrors_call method_call = new addErrors_call(errorType, errorModel, id, resultHandler, this, ___protocolFactory, ___transport);
@@ -9659,6 +10328,7 @@
         this.id = id;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addErrors", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addErrors_args args = new addErrors_args();
@@ -9669,16 +10339,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addErrors();
         return null;
       }
     }
 
+    @Override
     public void addTaskStatus(org.apache.airavata.model.status.TaskStatus taskStatus, java.lang.String taskId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addTaskStatus_call method_call = new addTaskStatus_call(taskStatus, taskId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9695,6 +10368,7 @@
         this.taskId = taskId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addTaskStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addTaskStatus_args args = new addTaskStatus_args();
@@ -9704,16 +10378,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addTaskStatus();
         return null;
       }
     }
 
+    @Override
     public void addProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addProcessStatus_call method_call = new addProcessStatus_call(processStatus, processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9730,6 +10407,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addProcessStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addProcessStatus_args args = new addProcessStatus_args();
@@ -9739,16 +10417,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addProcessStatus();
         return null;
       }
     }
 
+    @Override
     public void updateProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateProcessStatus_call method_call = new updateProcessStatus_call(processStatus, processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9765,6 +10446,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateProcessStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateProcessStatus_args args = new updateProcessStatus_args();
@@ -9774,16 +10456,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateProcessStatus();
         return null;
       }
     }
 
+    @Override
     public void updateExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateExperimentStatus_call method_call = new updateExperimentStatus_call(experimentStatus, experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9800,6 +10485,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateExperimentStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateExperimentStatus_args args = new updateExperimentStatus_args();
@@ -9809,16 +10495,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateExperimentStatus();
         return null;
       }
     }
 
+    @Override
     public void addJobStatus(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String taskId, java.lang.String jobId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addJobStatus_call method_call = new addJobStatus_call(jobStatus, taskId, jobId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9837,6 +10526,7 @@
         this.jobId = jobId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addJobStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addJobStatus_args args = new addJobStatus_args();
@@ -9847,16 +10537,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addJobStatus();
         return null;
       }
     }
 
+    @Override
     public void addJob(org.apache.airavata.model.job.JobModel jobModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addJob_call method_call = new addJob_call(jobModel, processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9873,6 +10566,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addJob", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addJob_args args = new addJob_args();
@@ -9882,16 +10576,134 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addJob();
         return null;
       }
     }
 
+    @Override
+    public void deleteJobs(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteJobs_call method_call = new deleteJobs_call(processId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteJobs_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.lang.String processId;
+      public deleteJobs_call(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> 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.processId = processId;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteJobs", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteJobs_args args = new deleteJobs_args();
+        args.setProcessId(processId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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);
+        (new Client(prot)).recv_deleteJobs();
+        return null;
+      }
+    }
+
+    @Override
+    public void getJobCount(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getJobCount_call method_call = new getJobCount_call(jobStatus, gatewayId, searchBackTimeInMinutes, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getJobCount_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Integer> {
+      private org.apache.airavata.model.status.JobStatus jobStatus;
+      private java.lang.String gatewayId;
+      private double searchBackTimeInMinutes;
+      public getJobCount_call(org.apache.airavata.model.status.JobStatus jobStatus, java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> 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.jobStatus = jobStatus;
+        this.gatewayId = gatewayId;
+        this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobCount", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getJobCount_args args = new getJobCount_args();
+        args.setJobStatus(jobStatus);
+        args.setGatewayId(gatewayId);
+        args.setSearchBackTimeInMinutes(searchBackTimeInMinutes);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.lang.Integer getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_getJobCount();
+      }
+    }
+
+    @Override
+    public void getAVGTimeDistribution(java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.Double>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getAVGTimeDistribution_call method_call = new getAVGTimeDistribution_call(gatewayId, searchBackTimeInMinutes, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getAVGTimeDistribution_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.Map<java.lang.String,java.lang.Double>> {
+      private java.lang.String gatewayId;
+      private double searchBackTimeInMinutes;
+      public getAVGTimeDistribution_call(java.lang.String gatewayId, double searchBackTimeInMinutes, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.Double>> 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.gatewayId = gatewayId;
+        this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAVGTimeDistribution", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getAVGTimeDistribution_args args = new getAVGTimeDistribution_args();
+        args.setGatewayId(gatewayId);
+        args.setSearchBackTimeInMinutes(searchBackTimeInMinutes);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.util.Map<java.lang.String,java.lang.Double> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_getAVGTimeDistribution();
+      }
+    }
+
+    @Override
     public void addProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addProcess_call method_call = new addProcess_call(processModel, experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9908,6 +10720,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addProcess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addProcess_args args = new addProcess_args();
@@ -9917,6 +10730,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9927,6 +10741,7 @@
       }
     }
 
+    @Override
     public void updateProcess(org.apache.airavata.model.process.ProcessModel processModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateProcess_call method_call = new updateProcess_call(processModel, processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9943,6 +10758,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateProcess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateProcess_args args = new updateProcess_args();
@@ -9952,16 +10768,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateProcess();
         return null;
       }
     }
 
+    @Override
     public void addTask(org.apache.airavata.model.task.TaskModel taskModel, java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addTask_call method_call = new addTask_call(taskModel, processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -9978,6 +10797,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addTask", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addTask_args args = new addTask_args();
@@ -9987,6 +10807,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -9997,6 +10818,43 @@
       }
     }
 
+    @Override
+    public void deleteTasks(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      deleteTasks_call method_call = new deleteTasks_call(processId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class deleteTasks_call extends org.apache.thrift.async.TAsyncMethodCall<Void> {
+      private java.lang.String processId;
+      public deleteTasks_call(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<Void> 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.processId = processId;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteTasks", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        deleteTasks_args args = new deleteTasks_args();
+        args.setProcessId(processId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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);
+        (new Client(prot)).recv_deleteTasks();
+        return null;
+      }
+    }
+
+    @Override
     public void getUserConfigurationData(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserConfigurationData_call method_call = new getUserConfigurationData_call(experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10011,6 +10869,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserConfigurationData", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserConfigurationData_args args = new getUserConfigurationData_args();
@@ -10019,6 +10878,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.experiment.UserConfigurationDataModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10029,6 +10889,7 @@
       }
     }
 
+    @Override
     public void getProcess(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcess_call method_call = new getProcess_call(processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10043,6 +10904,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProcess_args args = new getProcess_args();
@@ -10051,6 +10913,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.process.ProcessModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10061,6 +10924,7 @@
       }
     }
 
+    @Override
     public void getProcessList(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcessList_call method_call = new getProcessList_call(experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10075,6 +10939,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProcessList_args args = new getProcessList_args();
@@ -10083,6 +10948,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.process.ProcessModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10093,6 +10959,7 @@
       }
     }
 
+    @Override
     public void getProcessStatus(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcessStatus_call method_call = new getProcessStatus_call(processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10107,6 +10974,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProcessStatus_args args = new getProcessStatus_args();
@@ -10115,6 +10983,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.status.ProcessStatus getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10125,6 +10994,77 @@
       }
     }
 
+    @Override
+    public void getProcessListInState(org.apache.airavata.model.status.ProcessState processState, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getProcessListInState_call method_call = new getProcessListInState_call(processState, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getProcessListInState_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.process.ProcessModel>> {
+      private org.apache.airavata.model.status.ProcessState processState;
+      public getProcessListInState_call(org.apache.airavata.model.status.ProcessState processState, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> 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.processState = processState;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessListInState", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getProcessListInState_args args = new getProcessListInState_args();
+        args.setProcessState(processState);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.util.List<org.apache.airavata.model.process.ProcessModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_getProcessListInState();
+      }
+    }
+
+    @Override
+    public void getProcessStatusList(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getProcessStatusList_call method_call = new getProcessStatusList_call(processId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getProcessStatusList_call extends org.apache.thrift.async.TAsyncMethodCall<java.util.List<org.apache.airavata.model.status.ProcessStatus>> {
+      private java.lang.String processId;
+      public getProcessStatusList_call(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> 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.processId = processId;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessStatusList", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getProcessStatusList_args args = new getProcessStatusList_args();
+        args.setProcessId(processId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.util.List<org.apache.airavata.model.status.ProcessStatus> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_getProcessStatusList();
+      }
+    }
+
+    @Override
     public void isJobExist(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isJobExist_call method_call = new isJobExist_call(queryType, id, resultHandler, this, ___protocolFactory, ___transport);
@@ -10141,6 +11081,7 @@
         this.id = id;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isJobExist", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isJobExist_args args = new isJobExist_args();
@@ -10150,6 +11091,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10160,6 +11102,7 @@
       }
     }
 
+    @Override
     public void getJob(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getJob_call method_call = new getJob_call(queryType, id, resultHandler, this, ___protocolFactory, ___transport);
@@ -10176,6 +11119,7 @@
         this.id = id;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJob", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getJob_args args = new getJob_args();
@@ -10185,6 +11129,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.job.JobModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10195,6 +11140,7 @@
       }
     }
 
+    @Override
     public void getJobs(java.lang.String queryType, java.lang.String id, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getJobs_call method_call = new getJobs_call(queryType, id, resultHandler, this, ___protocolFactory, ___transport);
@@ -10211,6 +11157,7 @@
         this.id = id;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getJobs_args args = new getJobs_args();
@@ -10220,6 +11167,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.job.JobModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10230,6 +11178,7 @@
       }
     }
 
+    @Override
     public void getProcessOutputs(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcessOutputs_call method_call = new getProcessOutputs_call(processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10244,6 +11193,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProcessOutputs_args args = new getProcessOutputs_args();
@@ -10252,6 +11202,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10262,6 +11213,7 @@
       }
     }
 
+    @Override
     public void getProcessWorkflows(java.lang.String processId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcessWorkflows_call method_call = new getProcessWorkflows_call(processId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10276,6 +11228,7 @@
         this.processId = processId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessWorkflows", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProcessWorkflows_args args = new getProcessWorkflows_args();
@@ -10284,6 +11237,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.process.ProcessWorkflow> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10294,6 +11248,7 @@
       }
     }
 
+    @Override
     public void addProcessWorkflow(org.apache.airavata.model.process.ProcessWorkflow processWorkflow, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addProcessWorkflow_call method_call = new addProcessWorkflow_call(processWorkflow, resultHandler, this, ___protocolFactory, ___transport);
@@ -10308,6 +11263,7 @@
         this.processWorkflow = processWorkflow;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addProcessWorkflow", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addProcessWorkflow_args args = new addProcessWorkflow_args();
@@ -10316,16 +11272,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addProcessWorkflow();
         return null;
       }
     }
 
+    @Override
     public void getProcessIds(java.lang.String experimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getProcessIds_call method_call = new getProcessIds_call(experimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10340,6 +11299,7 @@
         this.experimentId = experimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getProcessIds", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getProcessIds_args args = new getProcessIds_args();
@@ -10348,6 +11308,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10358,6 +11319,7 @@
       }
     }
 
+    @Override
     public void getJobDetails(java.lang.String airavataExperimentId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getJobDetails_call method_call = new getJobDetails_call(airavataExperimentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10372,6 +11334,7 @@
         this.airavataExperimentId = airavataExperimentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getJobDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getJobDetails_args args = new getJobDetails_args();
@@ -10380,6 +11343,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.job.JobModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.ExperimentNotFoundException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10390,6 +11354,7 @@
       }
     }
 
+    @Override
     public void registerApplicationModule(java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerApplicationModule_call method_call = new registerApplicationModule_call(gatewayId, applicationModule, resultHandler, this, ___protocolFactory, ___transport);
@@ -10406,6 +11371,7 @@
         this.applicationModule = applicationModule;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerApplicationModule_args args = new registerApplicationModule_args();
@@ -10415,6 +11381,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10425,6 +11392,7 @@
       }
     }
 
+    @Override
     public void getApplicationModule(java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationModule_call method_call = new getApplicationModule_call(appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10439,6 +11407,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationModule_args args = new getApplicationModule_args();
@@ -10447,6 +11416,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10457,6 +11427,7 @@
       }
     }
 
+    @Override
     public void updateApplicationModule(java.lang.String appModuleId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateApplicationModule_call method_call = new updateApplicationModule_call(appModuleId, applicationModule, resultHandler, this, ___protocolFactory, ___transport);
@@ -10473,6 +11444,7 @@
         this.applicationModule = applicationModule;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateApplicationModule_args args = new updateApplicationModule_args();
@@ -10482,6 +11454,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10492,6 +11465,7 @@
       }
     }
 
+    @Override
     public void getAllAppModules(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllAppModules_call method_call = new getAllAppModules_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10506,6 +11480,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllAppModules", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllAppModules_args args = new getAllAppModules_args();
@@ -10514,6 +11489,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10524,6 +11500,7 @@
       }
     }
 
+    @Override
     public void getAccessibleAppModules(java.lang.String gatewayId, java.util.List<java.lang.String> accessibleAppDeploymentIds, java.util.List<java.lang.String> accessibleComputeResourceIds, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAccessibleAppModules_call method_call = new getAccessibleAppModules_call(gatewayId, accessibleAppDeploymentIds, accessibleComputeResourceIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -10542,6 +11519,7 @@
         this.accessibleComputeResourceIds = accessibleComputeResourceIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAccessibleAppModules", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAccessibleAppModules_args args = new getAccessibleAppModules_args();
@@ -10552,6 +11530,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10562,6 +11541,7 @@
       }
     }
 
+    @Override
     public void deleteApplicationModule(java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteApplicationModule_call method_call = new deleteApplicationModule_call(appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10576,6 +11556,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteApplicationModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteApplicationModule_args args = new deleteApplicationModule_args();
@@ -10584,6 +11565,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10594,6 +11576,7 @@
       }
     }
 
+    @Override
     public void registerApplicationDeployment(java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerApplicationDeployment_call method_call = new registerApplicationDeployment_call(gatewayId, applicationDeployment, resultHandler, this, ___protocolFactory, ___transport);
@@ -10610,6 +11593,7 @@
         this.applicationDeployment = applicationDeployment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerApplicationDeployment_args args = new registerApplicationDeployment_args();
@@ -10619,6 +11603,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10629,6 +11614,7 @@
       }
     }
 
+    @Override
     public void getApplicationDeployment(java.lang.String appDeploymentId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationDeployment_call method_call = new getApplicationDeployment_call(appDeploymentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10643,6 +11629,7 @@
         this.appDeploymentId = appDeploymentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationDeployment_args args = new getApplicationDeployment_args();
@@ -10651,6 +11638,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10661,6 +11649,7 @@
       }
     }
 
+    @Override
     public void updateApplicationDeployment(java.lang.String appDeploymentId, org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateApplicationDeployment_call method_call = new updateApplicationDeployment_call(appDeploymentId, applicationDeployment, resultHandler, this, ___protocolFactory, ___transport);
@@ -10677,6 +11666,7 @@
         this.applicationDeployment = applicationDeployment;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateApplicationDeployment_args args = new updateApplicationDeployment_args();
@@ -10686,6 +11676,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10696,6 +11687,7 @@
       }
     }
 
+    @Override
     public void deleteApplicationDeployment(java.lang.String appDeploymentId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteApplicationDeployment_call method_call = new deleteApplicationDeployment_call(appDeploymentId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10710,6 +11702,7 @@
         this.appDeploymentId = appDeploymentId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteApplicationDeployment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteApplicationDeployment_args args = new deleteApplicationDeployment_args();
@@ -10718,6 +11711,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10728,6 +11722,7 @@
       }
     }
 
+    @Override
     public void getAllApplicationDeployments(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllApplicationDeployments_call method_call = new getAllApplicationDeployments_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10742,6 +11737,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllApplicationDeployments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllApplicationDeployments_args args = new getAllApplicationDeployments_args();
@@ -10750,6 +11746,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10760,6 +11757,7 @@
       }
     }
 
+    @Override
     public void getAccessibleApplicationDeployments(java.lang.String gatewayId, java.util.List<java.lang.String> accessibleAppDeploymentIds, java.util.List<java.lang.String> accessibleComputeResourceIds, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAccessibleApplicationDeployments_call method_call = new getAccessibleApplicationDeployments_call(gatewayId, accessibleAppDeploymentIds, accessibleComputeResourceIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -10778,6 +11776,7 @@
         this.accessibleComputeResourceIds = accessibleComputeResourceIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAccessibleApplicationDeployments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAccessibleApplicationDeployments_args args = new getAccessibleApplicationDeployments_args();
@@ -10788,6 +11787,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10798,6 +11798,7 @@
       }
     }
 
+    @Override
     public void getAccessibleApplicationDeploymentsForAppModule(java.lang.String gatewayId, java.lang.String appModuleId, java.util.List<java.lang.String> accessibleAppDeploymentIds, java.util.List<java.lang.String> accessibleComputeResourceIds, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAccessibleApplicationDeploymentsForAppModule_call method_call = new getAccessibleApplicationDeploymentsForAppModule_call(gatewayId, appModuleId, accessibleAppDeploymentIds, accessibleComputeResourceIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -10818,6 +11819,7 @@
         this.accessibleComputeResourceIds = accessibleComputeResourceIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAccessibleApplicationDeploymentsForAppModule", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAccessibleApplicationDeploymentsForAppModule_args args = new getAccessibleApplicationDeploymentsForAppModule_args();
@@ -10829,6 +11831,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10839,6 +11842,7 @@
       }
     }
 
+    @Override
     public void getAppModuleDeployedResources(java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAppModuleDeployedResources_call method_call = new getAppModuleDeployedResources_call(appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10853,6 +11857,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAppModuleDeployedResources", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAppModuleDeployedResources_args args = new getAppModuleDeployedResources_args();
@@ -10861,6 +11866,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10871,6 +11877,7 @@
       }
     }
 
+    @Override
     public void getApplicationDeployments(java.lang.String appModuleId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationDeployments_call method_call = new getApplicationDeployments_call(appModuleId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10885,6 +11892,7 @@
         this.appModuleId = appModuleId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationDeployments", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationDeployments_args args = new getApplicationDeployments_args();
@@ -10893,6 +11901,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10903,6 +11912,7 @@
       }
     }
 
+    @Override
     public void registerApplicationInterface(java.lang.String gatewayId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerApplicationInterface_call method_call = new registerApplicationInterface_call(gatewayId, applicationInterface, resultHandler, this, ___protocolFactory, ___transport);
@@ -10919,6 +11929,7 @@
         this.applicationInterface = applicationInterface;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerApplicationInterface_args args = new registerApplicationInterface_args();
@@ -10928,6 +11939,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10938,6 +11950,7 @@
       }
     }
 
+    @Override
     public void getApplicationInterface(java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationInterface_call method_call = new getApplicationInterface_call(appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -10952,6 +11965,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationInterface_args args = new getApplicationInterface_args();
@@ -10960,6 +11974,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -10970,6 +11985,7 @@
       }
     }
 
+    @Override
     public void updateApplicationInterface(java.lang.String appInterfaceId, org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateApplicationInterface_call method_call = new updateApplicationInterface_call(appInterfaceId, applicationInterface, resultHandler, this, ___protocolFactory, ___transport);
@@ -10986,6 +12002,7 @@
         this.applicationInterface = applicationInterface;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateApplicationInterface_args args = new updateApplicationInterface_args();
@@ -10995,6 +12012,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11005,6 +12023,7 @@
       }
     }
 
+    @Override
     public void deleteApplicationInterface(java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteApplicationInterface_call method_call = new deleteApplicationInterface_call(appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11019,6 +12038,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteApplicationInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteApplicationInterface_args args = new deleteApplicationInterface_args();
@@ -11027,6 +12047,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11037,6 +12058,7 @@
       }
     }
 
+    @Override
     public void getAllApplicationInterfaceNames(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllApplicationInterfaceNames_call method_call = new getAllApplicationInterfaceNames_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11051,6 +12073,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllApplicationInterfaceNames", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllApplicationInterfaceNames_args args = new getAllApplicationInterfaceNames_args();
@@ -11059,6 +12082,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11069,6 +12093,7 @@
       }
     }
 
+    @Override
     public void getAllApplicationInterfaces(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllApplicationInterfaces_call method_call = new getAllApplicationInterfaces_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11083,6 +12108,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllApplicationInterfaces", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllApplicationInterfaces_args args = new getAllApplicationInterfaces_args();
@@ -11091,6 +12117,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11101,6 +12128,7 @@
       }
     }
 
+    @Override
     public void getApplicationInputs(java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationInputs_call method_call = new getApplicationInputs_call(appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11115,6 +12143,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationInputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationInputs_args args = new getApplicationInputs_args();
@@ -11123,6 +12152,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11133,6 +12163,7 @@
       }
     }
 
+    @Override
     public void getApplicationOutputs(java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getApplicationOutputs_call method_call = new getApplicationOutputs_call(appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11147,6 +12178,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getApplicationOutputs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getApplicationOutputs_args args = new getApplicationOutputs_args();
@@ -11155,6 +12187,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11165,6 +12198,7 @@
       }
     }
 
+    @Override
     public void getAvailableAppInterfaceComputeResources(java.lang.String appInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAvailableAppInterfaceComputeResources_call method_call = new getAvailableAppInterfaceComputeResources_call(appInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11179,6 +12213,7 @@
         this.appInterfaceId = appInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAvailableAppInterfaceComputeResources", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAvailableAppInterfaceComputeResources_args args = new getAvailableAppInterfaceComputeResources_args();
@@ -11187,6 +12222,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11197,6 +12233,7 @@
       }
     }
 
+    @Override
     public void registerComputeResource(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerComputeResource_call method_call = new registerComputeResource_call(computeResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -11211,6 +12248,7 @@
         this.computeResourceDescription = computeResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerComputeResource_args args = new registerComputeResource_args();
@@ -11219,6 +12257,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11229,6 +12268,7 @@
       }
     }
 
+    @Override
     public void getComputeResource(java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getComputeResource_call method_call = new getComputeResource_call(computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11243,6 +12283,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getComputeResource_args args = new getComputeResource_args();
@@ -11251,6 +12292,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11261,6 +12303,7 @@
       }
     }
 
+    @Override
     public void getAllComputeResourceNames(org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllComputeResourceNames_call method_call = new getAllComputeResourceNames_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -11273,6 +12316,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllComputeResourceNames", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllComputeResourceNames_args args = new getAllComputeResourceNames_args();
@@ -11280,6 +12324,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11290,6 +12335,7 @@
       }
     }
 
+    @Override
     public void updateComputeResource(java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateComputeResource_call method_call = new updateComputeResource_call(computeResourceId, computeResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -11306,6 +12352,7 @@
         this.computeResourceDescription = computeResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateComputeResource_args args = new updateComputeResource_args();
@@ -11315,6 +12362,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11325,6 +12373,7 @@
       }
     }
 
+    @Override
     public void deleteComputeResource(java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteComputeResource_call method_call = new deleteComputeResource_call(computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11339,6 +12388,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteComputeResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteComputeResource_args args = new deleteComputeResource_args();
@@ -11347,6 +12397,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11357,6 +12408,7 @@
       }
     }
 
+    @Override
     public void registerStorageResource(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerStorageResource_call method_call = new registerStorageResource_call(storageResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -11371,6 +12423,7 @@
         this.storageResourceDescription = storageResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerStorageResource_args args = new registerStorageResource_args();
@@ -11379,6 +12432,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11389,6 +12443,7 @@
       }
     }
 
+    @Override
     public void getStorageResource(java.lang.String storageResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getStorageResource_call method_call = new getStorageResource_call(storageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11403,6 +12458,7 @@
         this.storageResourceId = storageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getStorageResource_args args = new getStorageResource_args();
@@ -11411,6 +12467,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11421,6 +12478,7 @@
       }
     }
 
+    @Override
     public void getAllStorageResourceNames(org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllStorageResourceNames_call method_call = new getAllStorageResourceNames_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -11433,6 +12491,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllStorageResourceNames", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllStorageResourceNames_args args = new getAllStorageResourceNames_args();
@@ -11440,6 +12499,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.Map<java.lang.String,java.lang.String> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11450,6 +12510,7 @@
       }
     }
 
+    @Override
     public void updateStorageResource(java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateStorageResource_call method_call = new updateStorageResource_call(storageResourceId, storageResourceDescription, resultHandler, this, ___protocolFactory, ___transport);
@@ -11466,6 +12527,7 @@
         this.storageResourceDescription = storageResourceDescription;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateStorageResource_args args = new updateStorageResource_args();
@@ -11475,6 +12537,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11485,6 +12548,7 @@
       }
     }
 
+    @Override
     public void deleteStorageResource(java.lang.String storageResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteStorageResource_call method_call = new deleteStorageResource_call(storageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11499,6 +12563,7 @@
         this.storageResourceId = storageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteStorageResource", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteStorageResource_args args = new deleteStorageResource_args();
@@ -11507,6 +12572,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11517,6 +12583,7 @@
       }
     }
 
+    @Override
     public void addLocalSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addLocalSubmissionDetails_call method_call = new addLocalSubmissionDetails_call(computeResourceId, priorityOrder, localSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11535,6 +12602,7 @@
         this.localSubmission = localSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addLocalSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addLocalSubmissionDetails_args args = new addLocalSubmissionDetails_args();
@@ -11545,6 +12613,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11555,6 +12624,7 @@
       }
     }
 
+    @Override
     public void updateLocalSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateLocalSubmissionDetails_call method_call = new updateLocalSubmissionDetails_call(jobSubmissionInterfaceId, localSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11571,6 +12641,7 @@
         this.localSubmission = localSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateLocalSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateLocalSubmissionDetails_args args = new updateLocalSubmissionDetails_args();
@@ -11580,6 +12651,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11590,6 +12662,7 @@
       }
     }
 
+    @Override
     public void getLocalJobSubmission(java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getLocalJobSubmission_call method_call = new getLocalJobSubmission_call(jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11604,6 +12677,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLocalJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getLocalJobSubmission_args args = new getLocalJobSubmission_args();
@@ -11612,6 +12686,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11622,6 +12697,7 @@
       }
     }
 
+    @Override
     public void addSSHJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSSHJobSubmissionDetails_call method_call = new addSSHJobSubmissionDetails_call(computeResourceId, priorityOrder, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11640,6 +12716,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSSHJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSSHJobSubmissionDetails_args args = new addSSHJobSubmissionDetails_args();
@@ -11650,6 +12727,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11660,6 +12738,7 @@
       }
     }
 
+    @Override
     public void addSSHForkJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSSHForkJobSubmissionDetails_call method_call = new addSSHForkJobSubmissionDetails_call(computeResourceId, priorityOrder, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11678,6 +12757,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSSHForkJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSSHForkJobSubmissionDetails_args args = new addSSHForkJobSubmissionDetails_args();
@@ -11688,6 +12768,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11698,6 +12779,7 @@
       }
     }
 
+    @Override
     public void getSSHJobSubmission(java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getSSHJobSubmission_call method_call = new getSSHJobSubmission_call(jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11712,6 +12794,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSSHJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getSSHJobSubmission_args args = new getSSHJobSubmission_args();
@@ -11720,6 +12803,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11730,6 +12814,7 @@
       }
     }
 
+    @Override
     public void addUNICOREJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUNICOREJobSubmissionDetails_call method_call = new addUNICOREJobSubmissionDetails_call(computeResourceId, priorityOrder, unicoreJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11748,6 +12833,7 @@
         this.unicoreJobSubmission = unicoreJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUNICOREJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUNICOREJobSubmissionDetails_args args = new addUNICOREJobSubmissionDetails_args();
@@ -11758,6 +12844,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11768,6 +12855,7 @@
       }
     }
 
+    @Override
     public void getUnicoreJobSubmission(java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUnicoreJobSubmission_call method_call = new getUnicoreJobSubmission_call(jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11782,6 +12870,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUnicoreJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUnicoreJobSubmission_args args = new getUnicoreJobSubmission_args();
@@ -11790,6 +12879,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11800,6 +12890,7 @@
       }
     }
 
+    @Override
     public void addCloudJobSubmissionDetails(java.lang.String computeResourceId, int priorityOrder, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addCloudJobSubmissionDetails_call method_call = new addCloudJobSubmissionDetails_call(computeResourceId, priorityOrder, cloudSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11818,6 +12909,7 @@
         this.cloudSubmission = cloudSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addCloudJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addCloudJobSubmissionDetails_args args = new addCloudJobSubmissionDetails_args();
@@ -11828,6 +12920,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11838,6 +12931,7 @@
       }
     }
 
+    @Override
     public void getCloudJobSubmission(java.lang.String jobSubmissionId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getCloudJobSubmission_call method_call = new getCloudJobSubmission_call(jobSubmissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -11852,6 +12946,7 @@
         this.jobSubmissionId = jobSubmissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getCloudJobSubmission", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getCloudJobSubmission_args args = new getCloudJobSubmission_args();
@@ -11860,6 +12955,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11870,6 +12966,7 @@
       }
     }
 
+    @Override
     public void updateSSHJobSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateSSHJobSubmissionDetails_call method_call = new updateSSHJobSubmissionDetails_call(jobSubmissionInterfaceId, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11886,6 +12983,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateSSHJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateSSHJobSubmissionDetails_args args = new updateSSHJobSubmissionDetails_args();
@@ -11895,6 +12993,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11905,6 +13004,7 @@
       }
     }
 
+    @Override
     public void updateCloudJobSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateCloudJobSubmissionDetails_call method_call = new updateCloudJobSubmissionDetails_call(jobSubmissionInterfaceId, sshJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11921,6 +13021,7 @@
         this.sshJobSubmission = sshJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateCloudJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateCloudJobSubmissionDetails_args args = new updateCloudJobSubmissionDetails_args();
@@ -11930,6 +13031,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11940,6 +13042,7 @@
       }
     }
 
+    @Override
     public void updateUnicoreJobSubmissionDetails(java.lang.String jobSubmissionInterfaceId, org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUnicoreJobSubmissionDetails_call method_call = new updateUnicoreJobSubmissionDetails_call(jobSubmissionInterfaceId, unicoreJobSubmission, resultHandler, this, ___protocolFactory, ___transport);
@@ -11956,6 +13059,7 @@
         this.unicoreJobSubmission = unicoreJobSubmission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUnicoreJobSubmissionDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUnicoreJobSubmissionDetails_args args = new updateUnicoreJobSubmissionDetails_args();
@@ -11965,6 +13069,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -11975,6 +13080,7 @@
       }
     }
 
+    @Override
     public void addLocalDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addLocalDataMovementDetails_call method_call = new addLocalDataMovementDetails_call(productUri, dataMoveType, priorityOrder, localDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -11995,6 +13101,7 @@
         this.localDataMovement = localDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addLocalDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addLocalDataMovementDetails_args args = new addLocalDataMovementDetails_args();
@@ -12006,6 +13113,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12016,6 +13124,7 @@
       }
     }
 
+    @Override
     public void updateLocalDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateLocalDataMovementDetails_call method_call = new updateLocalDataMovementDetails_call(dataMovementInterfaceId, localDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12032,6 +13141,7 @@
         this.localDataMovement = localDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateLocalDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateLocalDataMovementDetails_args args = new updateLocalDataMovementDetails_args();
@@ -12041,6 +13151,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12051,6 +13162,7 @@
       }
     }
 
+    @Override
     public void getLocalDataMovement(java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getLocalDataMovement_call method_call = new getLocalDataMovement_call(dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12065,6 +13177,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLocalDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getLocalDataMovement_args args = new getLocalDataMovement_args();
@@ -12073,6 +13186,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.LOCALDataMovement getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12083,6 +13197,7 @@
       }
     }
 
+    @Override
     public void addSCPDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addSCPDataMovementDetails_call method_call = new addSCPDataMovementDetails_call(productUri, dataMoveType, priorityOrder, scpDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12103,6 +13218,7 @@
         this.scpDataMovement = scpDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addSCPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addSCPDataMovementDetails_args args = new addSCPDataMovementDetails_args();
@@ -12114,6 +13230,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12124,6 +13241,7 @@
       }
     }
 
+    @Override
     public void updateSCPDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateSCPDataMovementDetails_call method_call = new updateSCPDataMovementDetails_call(dataMovementInterfaceId, scpDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12140,6 +13258,7 @@
         this.scpDataMovement = scpDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateSCPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateSCPDataMovementDetails_args args = new updateSCPDataMovementDetails_args();
@@ -12149,6 +13268,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12159,6 +13279,7 @@
       }
     }
 
+    @Override
     public void getSCPDataMovement(java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getSCPDataMovement_call method_call = new getSCPDataMovement_call(dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12173,6 +13294,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getSCPDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getSCPDataMovement_args args = new getSCPDataMovement_args();
@@ -12181,6 +13303,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.SCPDataMovement getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12191,6 +13314,7 @@
       }
     }
 
+    @Override
     public void addUnicoreDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUnicoreDataMovementDetails_call method_call = new addUnicoreDataMovementDetails_call(productUri, dataMoveType, priorityOrder, unicoreDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12211,6 +13335,7 @@
         this.unicoreDataMovement = unicoreDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUnicoreDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUnicoreDataMovementDetails_args args = new addUnicoreDataMovementDetails_args();
@@ -12222,6 +13347,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12232,6 +13358,7 @@
       }
     }
 
+    @Override
     public void updateUnicoreDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUnicoreDataMovementDetails_call method_call = new updateUnicoreDataMovementDetails_call(dataMovementInterfaceId, unicoreDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12248,6 +13375,7 @@
         this.unicoreDataMovement = unicoreDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUnicoreDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUnicoreDataMovementDetails_args args = new updateUnicoreDataMovementDetails_args();
@@ -12257,6 +13385,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12267,6 +13396,7 @@
       }
     }
 
+    @Override
     public void getUnicoreDataMovement(java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUnicoreDataMovement_call method_call = new getUnicoreDataMovement_call(dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12281,6 +13411,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUnicoreDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUnicoreDataMovement_args args = new getUnicoreDataMovement_args();
@@ -12289,6 +13420,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.UnicoreDataMovement getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12299,6 +13431,7 @@
       }
     }
 
+    @Override
     public void addGridFTPDataMovementDetails(java.lang.String productUri, org.apache.airavata.model.data.movement.DMType dataMoveType, int priorityOrder, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGridFTPDataMovementDetails_call method_call = new addGridFTPDataMovementDetails_call(productUri, dataMoveType, priorityOrder, gridFTPDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12319,6 +13452,7 @@
         this.gridFTPDataMovement = gridFTPDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGridFTPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGridFTPDataMovementDetails_args args = new addGridFTPDataMovementDetails_args();
@@ -12330,6 +13464,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12340,6 +13475,7 @@
       }
     }
 
+    @Override
     public void updateGridFTPDataMovementDetails(java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGridFTPDataMovementDetails_call method_call = new updateGridFTPDataMovementDetails_call(dataMovementInterfaceId, gridFTPDataMovement, resultHandler, this, ___protocolFactory, ___transport);
@@ -12356,6 +13492,7 @@
         this.gridFTPDataMovement = gridFTPDataMovement;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGridFTPDataMovementDetails", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGridFTPDataMovementDetails_args args = new updateGridFTPDataMovementDetails_args();
@@ -12365,6 +13502,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12375,6 +13513,7 @@
       }
     }
 
+    @Override
     public void getGridFTPDataMovement(java.lang.String dataMovementId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGridFTPDataMovement_call method_call = new getGridFTPDataMovement_call(dataMovementId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12389,6 +13528,7 @@
         this.dataMovementId = dataMovementId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGridFTPDataMovement", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGridFTPDataMovement_args args = new getGridFTPDataMovement_args();
@@ -12397,6 +13537,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.movement.GridFTPDataMovement getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12407,6 +13548,7 @@
       }
     }
 
+    @Override
     public void changeJobSubmissionPriority(java.lang.String jobSubmissionInterfaceId, int newPriorityOrder, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeJobSubmissionPriority_call method_call = new changeJobSubmissionPriority_call(jobSubmissionInterfaceId, newPriorityOrder, resultHandler, this, ___protocolFactory, ___transport);
@@ -12423,6 +13565,7 @@
         this.newPriorityOrder = newPriorityOrder;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeJobSubmissionPriority", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeJobSubmissionPriority_args args = new changeJobSubmissionPriority_args();
@@ -12432,6 +13575,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12442,6 +13586,7 @@
       }
     }
 
+    @Override
     public void changeDataMovementPriority(java.lang.String dataMovementInterfaceId, int newPriorityOrder, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeDataMovementPriority_call method_call = new changeDataMovementPriority_call(dataMovementInterfaceId, newPriorityOrder, resultHandler, this, ___protocolFactory, ___transport);
@@ -12458,6 +13603,7 @@
         this.newPriorityOrder = newPriorityOrder;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeDataMovementPriority", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeDataMovementPriority_args args = new changeDataMovementPriority_args();
@@ -12467,6 +13613,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12477,6 +13624,7 @@
       }
     }
 
+    @Override
     public void changeJobSubmissionPriorities(java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeJobSubmissionPriorities_call method_call = new changeJobSubmissionPriorities_call(jobSubmissionPriorityMap, resultHandler, this, ___protocolFactory, ___transport);
@@ -12491,6 +13639,7 @@
         this.jobSubmissionPriorityMap = jobSubmissionPriorityMap;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeJobSubmissionPriorities", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeJobSubmissionPriorities_args args = new changeJobSubmissionPriorities_args();
@@ -12499,6 +13648,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12509,6 +13659,7 @@
       }
     }
 
+    @Override
     public void changeDataMovementPriorities(java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       changeDataMovementPriorities_call method_call = new changeDataMovementPriorities_call(dataMovementPriorityMap, resultHandler, this, ___protocolFactory, ___transport);
@@ -12523,6 +13674,7 @@
         this.dataMovementPriorityMap = dataMovementPriorityMap;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("changeDataMovementPriorities", org.apache.thrift.protocol.TMessageType.CALL, 0));
         changeDataMovementPriorities_args args = new changeDataMovementPriorities_args();
@@ -12531,6 +13683,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12541,6 +13694,7 @@
       }
     }
 
+    @Override
     public void deleteJobSubmissionInterface(java.lang.String computeResourceId, java.lang.String jobSubmissionInterfaceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteJobSubmissionInterface_call method_call = new deleteJobSubmissionInterface_call(computeResourceId, jobSubmissionInterfaceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12557,6 +13711,7 @@
         this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteJobSubmissionInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteJobSubmissionInterface_args args = new deleteJobSubmissionInterface_args();
@@ -12566,6 +13721,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12576,6 +13732,7 @@
       }
     }
 
+    @Override
     public void deleteDataMovementInterface(java.lang.String productUri, java.lang.String dataMovementInterfaceId, org.apache.airavata.model.data.movement.DMType dataMoveType, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteDataMovementInterface_call method_call = new deleteDataMovementInterface_call(productUri, dataMovementInterfaceId, dataMoveType, resultHandler, this, ___protocolFactory, ___transport);
@@ -12594,6 +13751,7 @@
         this.dataMoveType = dataMoveType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDataMovementInterface", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteDataMovementInterface_args args = new deleteDataMovementInterface_args();
@@ -12604,6 +13762,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12614,6 +13773,7 @@
       }
     }
 
+    @Override
     public void registerResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerResourceJobManager_call method_call = new registerResourceJobManager_call(resourceJobManager, resultHandler, this, ___protocolFactory, ___transport);
@@ -12628,6 +13788,7 @@
         this.resourceJobManager = resourceJobManager;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerResourceJobManager_args args = new registerResourceJobManager_args();
@@ -12636,6 +13797,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12646,6 +13808,7 @@
       }
     }
 
+    @Override
     public void updateResourceJobManager(java.lang.String resourceJobManagerId, org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateResourceJobManager_call method_call = new updateResourceJobManager_call(resourceJobManagerId, updatedResourceJobManager, resultHandler, this, ___protocolFactory, ___transport);
@@ -12662,6 +13825,7 @@
         this.updatedResourceJobManager = updatedResourceJobManager;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateResourceJobManager_args args = new updateResourceJobManager_args();
@@ -12671,6 +13835,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12681,6 +13846,7 @@
       }
     }
 
+    @Override
     public void getResourceJobManager(java.lang.String resourceJobManagerId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getResourceJobManager_call method_call = new getResourceJobManager_call(resourceJobManagerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12695,6 +13861,7 @@
         this.resourceJobManagerId = resourceJobManagerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getResourceJobManager_args args = new getResourceJobManager_args();
@@ -12703,6 +13870,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12713,6 +13881,7 @@
       }
     }
 
+    @Override
     public void deleteResourceJobManager(java.lang.String resourceJobManagerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteResourceJobManager_call method_call = new deleteResourceJobManager_call(resourceJobManagerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -12727,6 +13896,7 @@
         this.resourceJobManagerId = resourceJobManagerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteResourceJobManager", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteResourceJobManager_args args = new deleteResourceJobManager_args();
@@ -12735,6 +13905,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12745,6 +13916,7 @@
       }
     }
 
+    @Override
     public void deleteBatchQueue(java.lang.String computeResourceId, java.lang.String queueName, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteBatchQueue_call method_call = new deleteBatchQueue_call(computeResourceId, queueName, resultHandler, this, ___protocolFactory, ___transport);
@@ -12761,6 +13933,7 @@
         this.queueName = queueName;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteBatchQueue", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteBatchQueue_args args = new deleteBatchQueue_args();
@@ -12770,6 +13943,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12780,6 +13954,7 @@
       }
     }
 
+    @Override
     public void registerGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerGatewayResourceProfile_call method_call = new registerGatewayResourceProfile_call(gatewayResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -12794,6 +13969,7 @@
         this.gatewayResourceProfile = gatewayResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerGatewayResourceProfile_args args = new registerGatewayResourceProfile_args();
@@ -12802,6 +13978,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12812,6 +13989,7 @@
       }
     }
 
+    @Override
     public void getGatewayResourceProfile(java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayResourceProfile_call method_call = new getGatewayResourceProfile_call(gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -12826,6 +14004,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayResourceProfile_args args = new getGatewayResourceProfile_args();
@@ -12834,6 +14013,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12844,6 +14024,7 @@
       }
     }
 
+    @Override
     public void updateGatewayResourceProfile(java.lang.String gatewayID, org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayResourceProfile_call method_call = new updateGatewayResourceProfile_call(gatewayID, gatewayResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -12860,6 +14041,7 @@
         this.gatewayResourceProfile = gatewayResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayResourceProfile_args args = new updateGatewayResourceProfile_args();
@@ -12869,6 +14051,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12879,6 +14062,7 @@
       }
     }
 
+    @Override
     public void deleteGatewayResourceProfile(java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGatewayResourceProfile_call method_call = new deleteGatewayResourceProfile_call(gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -12893,6 +14077,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGatewayResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGatewayResourceProfile_args args = new deleteGatewayResourceProfile_args();
@@ -12901,6 +14086,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12911,6 +14097,7 @@
       }
     }
 
+    @Override
     public void addGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGatewayComputeResourcePreference_call method_call = new addGatewayComputeResourcePreference_call(gatewayID, computeResourceId, computeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -12929,6 +14116,7 @@
         this.computeResourcePreference = computeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGatewayComputeResourcePreference_args args = new addGatewayComputeResourcePreference_args();
@@ -12939,6 +14127,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12949,6 +14138,7 @@
       }
     }
 
+    @Override
     public void addGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGatewayStoragePreference_call method_call = new addGatewayStoragePreference_call(gatewayID, storageResourceId, storagePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -12967,6 +14157,7 @@
         this.storagePreference = storagePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGatewayStoragePreference_args args = new addGatewayStoragePreference_args();
@@ -12977,6 +14168,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -12987,6 +14179,7 @@
       }
     }
 
+    @Override
     public void getGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayComputeResourcePreference_call method_call = new getGatewayComputeResourcePreference_call(gatewayID, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13003,6 +14196,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayComputeResourcePreference_args args = new getGatewayComputeResourcePreference_args();
@@ -13012,6 +14206,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13022,6 +14217,7 @@
       }
     }
 
+    @Override
     public void getGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayStoragePreference_call method_call = new getGatewayStoragePreference_call(gatewayID, storageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13038,6 +14234,7 @@
         this.storageResourceId = storageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayStoragePreference_args args = new getGatewayStoragePreference_args();
@@ -13047,6 +14244,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13057,6 +14255,7 @@
       }
     }
 
+    @Override
     public void getAllGatewayComputeResourcePreferences(java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewayComputeResourcePreferences_call method_call = new getAllGatewayComputeResourcePreferences_call(gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13071,6 +14270,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewayComputeResourcePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewayComputeResourcePreferences_args args = new getAllGatewayComputeResourcePreferences_args();
@@ -13079,6 +14279,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13089,6 +14290,7 @@
       }
     }
 
+    @Override
     public void getAllGatewayStoragePreferences(java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewayStoragePreferences_call method_call = new getAllGatewayStoragePreferences_call(gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13103,6 +14305,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewayStoragePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewayStoragePreferences_args args = new getAllGatewayStoragePreferences_args();
@@ -13111,6 +14314,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13121,6 +14325,7 @@
       }
     }
 
+    @Override
     public void getAllGatewayResourceProfiles(org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllGatewayResourceProfiles_call method_call = new getAllGatewayResourceProfiles_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -13133,6 +14338,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllGatewayResourceProfiles", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllGatewayResourceProfiles_args args = new getAllGatewayResourceProfiles_args();
@@ -13140,6 +14346,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13150,6 +14357,7 @@
       }
     }
 
+    @Override
     public void updateGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayComputeResourcePreference_call method_call = new updateGatewayComputeResourcePreference_call(gatewayID, computeResourceId, computeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -13168,6 +14376,7 @@
         this.computeResourcePreference = computeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayComputeResourcePreference_args args = new updateGatewayComputeResourcePreference_args();
@@ -13178,6 +14387,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13188,6 +14398,7 @@
       }
     }
 
+    @Override
     public void updateGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageId, org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayStoragePreference_call method_call = new updateGatewayStoragePreference_call(gatewayID, storageId, storagePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -13206,6 +14417,7 @@
         this.storagePreference = storagePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayStoragePreference_args args = new updateGatewayStoragePreference_args();
@@ -13216,6 +14428,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13226,6 +14439,7 @@
       }
     }
 
+    @Override
     public void deleteGatewayComputeResourcePreference(java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGatewayComputeResourcePreference_call method_call = new deleteGatewayComputeResourcePreference_call(gatewayID, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13242,6 +14456,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGatewayComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGatewayComputeResourcePreference_args args = new deleteGatewayComputeResourcePreference_args();
@@ -13251,6 +14466,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13261,6 +14477,7 @@
       }
     }
 
+    @Override
     public void deleteGatewayStoragePreference(java.lang.String gatewayID, java.lang.String storageId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGatewayStoragePreference_call method_call = new deleteGatewayStoragePreference_call(gatewayID, storageId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13277,6 +14494,7 @@
         this.storageId = storageId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGatewayStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGatewayStoragePreference_args args = new deleteGatewayStoragePreference_args();
@@ -13286,6 +14504,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13296,6 +14515,7 @@
       }
     }
 
+    @Override
     public void registerUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerUserResourceProfile_call method_call = new registerUserResourceProfile_call(userResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -13310,6 +14530,7 @@
         this.userResourceProfile = userResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerUserResourceProfile_args args = new registerUserResourceProfile_args();
@@ -13318,6 +14539,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13328,6 +14550,7 @@
       }
     }
 
+    @Override
     public void isUserResourceProfileExists(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserResourceProfileExists_call method_call = new isUserResourceProfileExists_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13344,6 +14567,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserResourceProfileExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserResourceProfileExists_args args = new isUserResourceProfileExists_args();
@@ -13353,6 +14577,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13363,6 +14588,121 @@
       }
     }
 
+    @Override
+    public void isUserComputeResourcePreferenceExists(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isUserComputeResourcePreferenceExists_call method_call = new isUserComputeResourcePreferenceExists_call(userId, gatewayID, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class isUserComputeResourcePreferenceExists_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private java.lang.String userId;
+      private java.lang.String gatewayID;
+      private java.lang.String computeResourceId;
+      public isUserComputeResourcePreferenceExists_call(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.userId = userId;
+        this.gatewayID = gatewayID;
+        this.computeResourceId = computeResourceId;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserComputeResourcePreferenceExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isUserComputeResourcePreferenceExists_args args = new isUserComputeResourcePreferenceExists_args();
+        args.setUserId(userId);
+        args.setGatewayID(gatewayID);
+        args.setComputeResourceId(computeResourceId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_isUserComputeResourcePreferenceExists();
+      }
+    }
+
+    @Override
+    public void isGroupComputeResourcePreferenceExists(java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isGroupComputeResourcePreferenceExists_call method_call = new isGroupComputeResourcePreferenceExists_call(computeResourceId, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class isGroupComputeResourcePreferenceExists_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private java.lang.String computeResourceId;
+      private java.lang.String groupResourceProfileId;
+      public isGroupComputeResourcePreferenceExists_call(java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.computeResourceId = computeResourceId;
+        this.groupResourceProfileId = groupResourceProfileId;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGroupComputeResourcePreferenceExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isGroupComputeResourcePreferenceExists_args args = new isGroupComputeResourcePreferenceExists_args();
+        args.setComputeResourceId(computeResourceId);
+        args.setGroupResourceProfileId(groupResourceProfileId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_isGroupComputeResourcePreferenceExists();
+      }
+    }
+
+    @Override
+    public void isGroupResourceProfileExists(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      isGroupResourceProfileExists_call method_call = new isGroupResourceProfileExists_call(groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class isGroupResourceProfileExists_call extends org.apache.thrift.async.TAsyncMethodCall<java.lang.Boolean> {
+      private java.lang.String groupResourceProfileId;
+      public isGroupResourceProfileExists_call(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> 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.groupResourceProfileId = groupResourceProfileId;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGroupResourceProfileExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        isGroupResourceProfileExists_args args = new isGroupResourceProfileExists_args();
+        args.setGroupResourceProfileId(groupResourceProfileId);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_isGroupResourceProfileExists();
+      }
+    }
+
+    @Override
     public void getUserResourceProfile(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserResourceProfile_call method_call = new getUserResourceProfile_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13379,6 +14719,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserResourceProfile_args args = new getUserResourceProfile_args();
@@ -13388,6 +14729,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13398,6 +14740,7 @@
       }
     }
 
+    @Override
     public void updateUserResourceProfile(java.lang.String userId, java.lang.String gatewayID, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserResourceProfile_call method_call = new updateUserResourceProfile_call(userId, gatewayID, userResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -13416,6 +14759,7 @@
         this.userResourceProfile = userResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserResourceProfile_args args = new updateUserResourceProfile_args();
@@ -13426,6 +14770,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13436,6 +14781,7 @@
       }
     }
 
+    @Override
     public void deleteUserResourceProfile(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserResourceProfile_call method_call = new deleteUserResourceProfile_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13452,6 +14798,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserResourceProfile_args args = new deleteUserResourceProfile_args();
@@ -13461,6 +14808,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13471,6 +14819,7 @@
       }
     }
 
+    @Override
     public void addUser(org.apache.airavata.model.user.UserProfile userProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUser_call method_call = new addUser_call(userProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -13485,6 +14834,7 @@
         this.userProfile = userProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUser_args args = new addUser_args();
@@ -13493,6 +14843,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13503,6 +14854,7 @@
       }
     }
 
+    @Override
     public void addUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String computeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUserComputeResourcePreference_call method_call = new addUserComputeResourcePreference_call(userId, gatewayID, computeResourceId, userComputeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -13523,6 +14875,7 @@
         this.userComputeResourcePreference = userComputeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUserComputeResourcePreference_args args = new addUserComputeResourcePreference_args();
@@ -13534,6 +14887,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13544,6 +14898,7 @@
       }
     }
 
+    @Override
     public void addUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUserStoragePreference_call method_call = new addUserStoragePreference_call(userId, gatewayID, userStorageResourceId, userStoragePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -13564,6 +14919,7 @@
         this.userStoragePreference = userStoragePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUserStoragePreference_args args = new addUserStoragePreference_args();
@@ -13575,6 +14931,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13585,6 +14942,7 @@
       }
     }
 
+    @Override
     public void getUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserComputeResourcePreference_call method_call = new getUserComputeResourcePreference_call(userId, gatewayID, userComputeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13603,6 +14961,7 @@
         this.userComputeResourceId = userComputeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserComputeResourcePreference_args args = new getUserComputeResourcePreference_args();
@@ -13613,6 +14972,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13623,6 +14983,7 @@
       }
     }
 
+    @Override
     public void getUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUserStoragePreference_call method_call = new getUserStoragePreference_call(userId, gatewayID, userStorageResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13641,6 +15002,7 @@
         this.userStorageResourceId = userStorageResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUserStoragePreference_args args = new getUserStoragePreference_args();
@@ -13651,6 +15013,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13661,6 +15024,7 @@
       }
     }
 
+    @Override
     public void getAllUserComputeResourcePreferences(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserComputeResourcePreferences_call method_call = new getAllUserComputeResourcePreferences_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13677,6 +15041,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserComputeResourcePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserComputeResourcePreferences_args args = new getAllUserComputeResourcePreferences_args();
@@ -13686,6 +15051,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13696,6 +15062,7 @@
       }
     }
 
+    @Override
     public void getAllUserStoragePreferences(java.lang.String userId, java.lang.String gatewayID, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserStoragePreferences_call method_call = new getAllUserStoragePreferences_call(userId, gatewayID, resultHandler, this, ___protocolFactory, ___transport);
@@ -13712,6 +15079,7 @@
         this.gatewayID = gatewayID;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserStoragePreferences", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserStoragePreferences_args args = new getAllUserStoragePreferences_args();
@@ -13721,6 +15089,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13731,6 +15100,7 @@
       }
     }
 
+    @Override
     public void getAllUserResourceProfiles(org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllUserResourceProfiles_call method_call = new getAllUserResourceProfiles_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -13743,6 +15113,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllUserResourceProfiles", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllUserResourceProfiles_args args = new getAllUserResourceProfiles_args();
@@ -13750,6 +15121,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13760,6 +15132,7 @@
       }
     }
 
+    @Override
     public void updateUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserComputeResourcePreference_call method_call = new updateUserComputeResourcePreference_call(userId, gatewayID, userComputeResourceId, userComputeResourcePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -13780,6 +15153,7 @@
         this.userComputeResourcePreference = userComputeResourcePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserComputeResourcePreference_args args = new updateUserComputeResourcePreference_args();
@@ -13791,6 +15165,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13801,6 +15176,7 @@
       }
     }
 
+    @Override
     public void updateUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId, org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateUserStoragePreference_call method_call = new updateUserStoragePreference_call(userId, gatewayID, userStorageId, userStoragePreference, resultHandler, this, ___protocolFactory, ___transport);
@@ -13821,6 +15197,7 @@
         this.userStoragePreference = userStoragePreference;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateUserStoragePreference_args args = new updateUserStoragePreference_args();
@@ -13832,6 +15209,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13842,6 +15220,7 @@
       }
     }
 
+    @Override
     public void deleteUserComputeResourcePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userComputeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserComputeResourcePreference_call method_call = new deleteUserComputeResourcePreference_call(userId, gatewayID, userComputeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13860,6 +15239,7 @@
         this.userComputeResourceId = userComputeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserComputeResourcePreference_args args = new deleteUserComputeResourcePreference_args();
@@ -13870,6 +15250,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13880,6 +15261,7 @@
       }
     }
 
+    @Override
     public void deleteUserStoragePreference(java.lang.String userId, java.lang.String gatewayID, java.lang.String userStorageId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUserStoragePreference_call method_call = new deleteUserStoragePreference_call(userId, gatewayID, userStorageId, resultHandler, this, ___protocolFactory, ___transport);
@@ -13898,6 +15280,7 @@
         this.userStorageId = userStorageId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUserStoragePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUserStoragePreference_args args = new deleteUserStoragePreference_args();
@@ -13908,6 +15291,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13918,6 +15302,7 @@
       }
     }
 
+    @Override
     public void getLatestQueueStatuses(org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getLatestQueueStatuses_call method_call = new getLatestQueueStatuses_call(resultHandler, this, ___protocolFactory, ___transport);
@@ -13930,6 +15315,7 @@
         super(client, protocolFactory, transport, resultHandler, false);
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getLatestQueueStatuses", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getLatestQueueStatuses_args args = new getLatestQueueStatuses_args();
@@ -13937,6 +15323,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.status.QueueStatusModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -13947,6 +15334,7 @@
       }
     }
 
+    @Override
     public void registerQueueStatuses(java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerQueueStatuses_call method_call = new registerQueueStatuses_call(queueStatuses, resultHandler, this, ___protocolFactory, ___transport);
@@ -13961,6 +15349,7 @@
         this.queueStatuses = queueStatuses;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerQueueStatuses", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerQueueStatuses_args args = new registerQueueStatuses_args();
@@ -13969,16 +15358,57 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_registerQueueStatuses();
         return null;
       }
     }
 
+    @Override
+    public void getQueueStatus(java.lang.String hostName, java.lang.String queueName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> resultHandler) throws org.apache.thrift.TException {
+      checkReady();
+      getQueueStatus_call method_call = new getQueueStatus_call(hostName, queueName, resultHandler, this, ___protocolFactory, ___transport);
+      this.___currentMethod = method_call;
+      ___manager.call(method_call);
+    }
+
+    public static class getQueueStatus_call extends org.apache.thrift.async.TAsyncMethodCall<org.apache.airavata.model.status.QueueStatusModel> {
+      private java.lang.String hostName;
+      private java.lang.String queueName;
+      public getQueueStatus_call(java.lang.String hostName, java.lang.String queueName, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> 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.hostName = hostName;
+        this.queueName = queueName;
+      }
+
+      @Override
+      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
+        prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getQueueStatus", org.apache.thrift.protocol.TMessageType.CALL, 0));
+        getQueueStatus_args args = new getQueueStatus_args();
+        args.setHostName(hostName);
+        args.setQueueName(queueName);
+        args.write(prot);
+        prot.writeMessageEnd();
+      }
+
+      @Override
+      public org.apache.airavata.model.status.QueueStatusModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
+        if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
+          throw new java.lang.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_getQueueStatus();
+      }
+    }
+
+    @Override
     public void registerDataProduct(org.apache.airavata.model.data.replica.DataProductModel dataProductModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerDataProduct_call method_call = new registerDataProduct_call(dataProductModel, resultHandler, this, ___protocolFactory, ___transport);
@@ -13993,6 +15423,7 @@
         this.dataProductModel = dataProductModel;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerDataProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerDataProduct_args args = new registerDataProduct_args();
@@ -14001,6 +15432,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14011,6 +15443,7 @@
       }
     }
 
+    @Override
     public void getDataProduct(java.lang.String dataProductUri, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getDataProduct_call method_call = new getDataProduct_call(dataProductUri, resultHandler, this, ___protocolFactory, ___transport);
@@ -14025,6 +15458,7 @@
         this.dataProductUri = dataProductUri;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDataProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getDataProduct_args args = new getDataProduct_args();
@@ -14033,6 +15467,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.replica.DataProductModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14043,6 +15478,7 @@
       }
     }
 
+    @Override
     public void registerReplicaLocation(org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       registerReplicaLocation_call method_call = new registerReplicaLocation_call(replicaLocationModel, resultHandler, this, ___protocolFactory, ___transport);
@@ -14057,6 +15493,7 @@
         this.replicaLocationModel = replicaLocationModel;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("registerReplicaLocation", org.apache.thrift.protocol.TMessageType.CALL, 0));
         registerReplicaLocation_args args = new registerReplicaLocation_args();
@@ -14065,6 +15502,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14075,6 +15513,7 @@
       }
     }
 
+    @Override
     public void getParentDataProduct(java.lang.String productUri, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParentDataProduct_call method_call = new getParentDataProduct_call(productUri, resultHandler, this, ___protocolFactory, ___transport);
@@ -14089,6 +15528,7 @@
         this.productUri = productUri;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParentDataProduct", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParentDataProduct_args args = new getParentDataProduct_args();
@@ -14097,6 +15537,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.data.replica.DataProductModel getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14107,6 +15548,7 @@
       }
     }
 
+    @Override
     public void getChildDataProducts(java.lang.String productUri, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getChildDataProducts_call method_call = new getChildDataProducts_call(productUri, resultHandler, this, ___protocolFactory, ___transport);
@@ -14121,6 +15563,7 @@
         this.productUri = productUri;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getChildDataProducts", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getChildDataProducts_args args = new getChildDataProducts_args();
@@ -14129,6 +15572,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14139,6 +15583,7 @@
       }
     }
 
+    @Override
     public void searchDataProductsByName(java.lang.String gatewayId, java.lang.String userId, java.lang.String productName, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchDataProductsByName_call method_call = new searchDataProductsByName_call(gatewayId, userId, productName, limit, offset, resultHandler, this, ___protocolFactory, ___transport);
@@ -14161,6 +15606,7 @@
         this.offset = offset;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchDataProductsByName", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchDataProductsByName_args args = new searchDataProductsByName_args();
@@ -14173,6 +15619,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14183,6 +15630,7 @@
       }
     }
 
+    @Override
     public void createGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createGroupResourceProfile_call method_call = new createGroupResourceProfile_call(groupResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -14197,6 +15645,7 @@
         this.groupResourceProfile = groupResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createGroupResourceProfile_args args = new createGroupResourceProfile_args();
@@ -14205,6 +15654,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14215,6 +15665,7 @@
       }
     }
 
+    @Override
     public void updateGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGroupResourceProfile_call method_call = new updateGroupResourceProfile_call(groupResourceProfile, resultHandler, this, ___protocolFactory, ___transport);
@@ -14229,6 +15680,7 @@
         this.groupResourceProfile = groupResourceProfile;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGroupResourceProfile_args args = new updateGroupResourceProfile_args();
@@ -14237,16 +15689,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateGroupResourceProfile();
         return null;
       }
     }
 
+    @Override
     public void getGroupResourceProfile(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupResourceProfile_call method_call = new getGroupResourceProfile_call(groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14261,6 +15716,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupResourceProfile_args args = new getGroupResourceProfile_args();
@@ -14269,6 +15725,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14279,6 +15736,7 @@
       }
     }
 
+    @Override
     public void removeGroupResourceProfile(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupResourceProfile_call method_call = new removeGroupResourceProfile_call(groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14293,6 +15751,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupResourceProfile", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupResourceProfile_args args = new removeGroupResourceProfile_args();
@@ -14301,6 +15760,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14311,6 +15771,7 @@
       }
     }
 
+    @Override
     public void getGroupResourceList(java.lang.String gatewayId, java.util.List<java.lang.String> accessibleGroupResProfileIds, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupResourceList_call method_call = new getGroupResourceList_call(gatewayId, accessibleGroupResProfileIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -14327,6 +15788,7 @@
         this.accessibleGroupResProfileIds = accessibleGroupResProfileIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupResourceList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupResourceList_args args = new getGroupResourceList_args();
@@ -14336,6 +15798,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14346,6 +15809,7 @@
       }
     }
 
+    @Override
     public void removeGroupComputePrefs(java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupComputePrefs_call method_call = new removeGroupComputePrefs_call(computeResourceId, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14362,6 +15826,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupComputePrefs", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupComputePrefs_args args = new removeGroupComputePrefs_args();
@@ -14371,6 +15836,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14381,6 +15847,7 @@
       }
     }
 
+    @Override
     public void removeGroupComputeResourcePolicy(java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupComputeResourcePolicy_call method_call = new removeGroupComputeResourcePolicy_call(resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14395,6 +15862,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupComputeResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupComputeResourcePolicy_args args = new removeGroupComputeResourcePolicy_args();
@@ -14403,6 +15871,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14413,6 +15882,7 @@
       }
     }
 
+    @Override
     public void removeGroupBatchQueueResourcePolicy(java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupBatchQueueResourcePolicy_call method_call = new removeGroupBatchQueueResourcePolicy_call(resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14427,6 +15897,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupBatchQueueResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupBatchQueueResourcePolicy_args args = new removeGroupBatchQueueResourcePolicy_args();
@@ -14435,6 +15906,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14445,6 +15917,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePreference(java.lang.String computeResourceId, java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePreference_call method_call = new getGroupComputeResourcePreference_call(computeResourceId, groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14461,6 +15934,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePreference", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePreference_args args = new getGroupComputeResourcePreference_args();
@@ -14470,6 +15944,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14480,6 +15955,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePolicy(java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePolicy_call method_call = new getGroupComputeResourcePolicy_call(resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14494,6 +15970,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePolicy_args args = new getGroupComputeResourcePolicy_args();
@@ -14502,6 +15979,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14512,6 +15990,7 @@
       }
     }
 
+    @Override
     public void getBatchQueueResourcePolicy(java.lang.String resourcePolicyId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getBatchQueueResourcePolicy_call method_call = new getBatchQueueResourcePolicy_call(resourcePolicyId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14526,6 +16005,7 @@
         this.resourcePolicyId = resourcePolicyId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getBatchQueueResourcePolicy", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getBatchQueueResourcePolicy_args args = new getBatchQueueResourcePolicy_args();
@@ -14534,6 +16014,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14544,6 +16025,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePrefList(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePrefList_call method_call = new getGroupComputeResourcePrefList_call(groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14558,6 +16040,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePrefList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePrefList_args args = new getGroupComputeResourcePrefList_args();
@@ -14566,6 +16049,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14576,6 +16060,7 @@
       }
     }
 
+    @Override
     public void getGroupBatchQueueResourcePolicyList(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupBatchQueueResourcePolicyList_call method_call = new getGroupBatchQueueResourcePolicyList_call(groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14590,6 +16075,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupBatchQueueResourcePolicyList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupBatchQueueResourcePolicyList_args args = new getGroupBatchQueueResourcePolicyList_args();
@@ -14598,6 +16084,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14608,6 +16095,7 @@
       }
     }
 
+    @Override
     public void getGroupComputeResourcePolicyList(java.lang.String groupResourceProfileId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupComputeResourcePolicyList_call method_call = new getGroupComputeResourcePolicyList_call(groupResourceProfileId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14622,6 +16110,7 @@
         this.groupResourceProfileId = groupResourceProfileId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupComputeResourcePolicyList", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupComputeResourcePolicyList_args args = new getGroupComputeResourcePolicyList_args();
@@ -14630,6 +16119,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14640,6 +16130,7 @@
       }
     }
 
+    @Override
     public void createGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createGatewayGroups_call method_call = new createGatewayGroups_call(gatewayGroups, resultHandler, this, ___protocolFactory, ___transport);
@@ -14654,6 +16145,7 @@
         this.gatewayGroups = gatewayGroups;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGatewayGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createGatewayGroups_args args = new createGatewayGroups_args();
@@ -14662,16 +16154,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.airavata.model.error.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_createGatewayGroups();
         return null;
       }
     }
 
+    @Override
     public void updateGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGatewayGroups_call method_call = new updateGatewayGroups_call(gatewayGroups, resultHandler, this, ___protocolFactory, ___transport);
@@ -14686,6 +16181,7 @@
         this.gatewayGroups = gatewayGroups;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGatewayGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGatewayGroups_args args = new updateGatewayGroups_args();
@@ -14694,16 +16190,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_updateGatewayGroups();
         return null;
       }
     }
 
+    @Override
     public void isGatewayGroupsExists(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isGatewayGroupsExists_call method_call = new isGatewayGroupsExists_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14718,6 +16217,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayGroupsExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGatewayGroupsExists_args args = new isGatewayGroupsExists_args();
@@ -14726,6 +16226,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14736,6 +16237,7 @@
       }
     }
 
+    @Override
     public void getGatewayGroups(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayGroups_call method_call = new getGatewayGroups_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14750,6 +16252,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayGroups_args args = new getGatewayGroups_args();
@@ -14758,6 +16261,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14768,6 +16272,7 @@
       }
     }
 
+    @Override
     public void getParser(java.lang.String parserId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParser_call method_call = new getParser_call(parserId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14784,6 +16289,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParser_args args = new getParser_args();
@@ -14793,6 +16299,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.parser.Parser getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14803,6 +16310,7 @@
       }
     }
 
+    @Override
     public void saveParser(org.apache.airavata.model.appcatalog.parser.Parser parser, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       saveParser_call method_call = new saveParser_call(parser, resultHandler, this, ___protocolFactory, ___transport);
@@ -14817,6 +16325,7 @@
         this.parser = parser;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveParser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         saveParser_args args = new saveParser_args();
@@ -14825,6 +16334,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14835,6 +16345,7 @@
       }
     }
 
+    @Override
     public void listAllParsers(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       listAllParsers_call method_call = new listAllParsers_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14849,6 +16360,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("listAllParsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         listAllParsers_args args = new listAllParsers_args();
@@ -14857,6 +16369,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14867,6 +16380,7 @@
       }
     }
 
+    @Override
     public void removeParser(java.lang.String parserId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeParser_call method_call = new removeParser_call(parserId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14883,6 +16397,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeParser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeParser_args args = new removeParser_args();
@@ -14892,16 +16407,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_removeParser();
         return null;
       }
     }
 
+    @Override
     public void getParserInput(java.lang.String parserInputId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParserInput_call method_call = new getParserInput_call(parserInputId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14918,6 +16436,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParserInput", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParserInput_args args = new getParserInput_args();
@@ -14927,6 +16446,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.parser.ParserInput getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14937,6 +16457,7 @@
       }
     }
 
+    @Override
     public void getParserOutput(java.lang.String parserOutputId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParserOutput_call method_call = new getParserOutput_call(parserOutputId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14953,6 +16474,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParserOutput", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParserOutput_args args = new getParserOutput_args();
@@ -14962,6 +16484,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.parser.ParserOutput getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -14972,6 +16495,7 @@
       }
     }
 
+    @Override
     public void getParsingTemplate(java.lang.String templateId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParsingTemplate_call method_call = new getParsingTemplate_call(templateId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -14988,6 +16512,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParsingTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParsingTemplate_args args = new getParsingTemplate_args();
@@ -14997,6 +16522,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -15007,6 +16533,7 @@
       }
     }
 
+    @Override
     public void getParsingTemplatesForExperiment(java.lang.String experimentId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getParsingTemplatesForExperiment_call method_call = new getParsingTemplatesForExperiment_call(experimentId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15023,6 +16550,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getParsingTemplatesForExperiment", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getParsingTemplatesForExperiment_args args = new getParsingTemplatesForExperiment_args();
@@ -15032,6 +16560,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -15042,6 +16571,7 @@
       }
     }
 
+    @Override
     public void saveParsingTemplate(org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       saveParsingTemplate_call method_call = new saveParsingTemplate_call(parsingTemplate, resultHandler, this, ___protocolFactory, ___transport);
@@ -15056,6 +16586,7 @@
         this.parsingTemplate = parsingTemplate;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("saveParsingTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         saveParsingTemplate_args args = new saveParsingTemplate_args();
@@ -15064,6 +16595,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -15074,6 +16606,7 @@
       }
     }
 
+    @Override
     public void listAllParsingTemplates(java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       listAllParsingTemplates_call method_call = new listAllParsingTemplates_call(gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15088,6 +16621,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("listAllParsingTemplates", org.apache.thrift.protocol.TMessageType.CALL, 0));
         listAllParsingTemplates_args args = new listAllParsingTemplates_args();
@@ -15096,6 +16630,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -15106,6 +16641,7 @@
       }
     }
 
+    @Override
     public void removeParsingTemplate(java.lang.String templateId, java.lang.String gatewayId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeParsingTemplate_call method_call = new removeParsingTemplate_call(templateId, gatewayId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15122,6 +16658,7 @@
         this.gatewayId = gatewayId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeParsingTemplate", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeParsingTemplate_args args = new removeParsingTemplate_args();
@@ -15131,16 +16668,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_removeParsingTemplate();
         return null;
       }
     }
 
+    @Override
     public void isGatewayUsageReportingAvailable(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isGatewayUsageReportingAvailable_call method_call = new isGatewayUsageReportingAvailable_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15157,6 +16697,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGatewayUsageReportingAvailable", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGatewayUsageReportingAvailable_args args = new isGatewayUsageReportingAvailable_args();
@@ -15166,6 +16707,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -15176,6 +16718,7 @@
       }
     }
 
+    @Override
     public void getGatewayReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGatewayReportingCommand_call method_call = new getGatewayReportingCommand_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15192,6 +16735,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGatewayReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGatewayReportingCommand_args args = new getGatewayReportingCommand_args();
@@ -15201,6 +16745,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -15211,6 +16756,7 @@
       }
     }
 
+    @Override
     public void addGatewayUsageReportingCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGatewayUsageReportingCommand_call method_call = new addGatewayUsageReportingCommand_call(command, resultHandler, this, ___protocolFactory, ___transport);
@@ -15225,6 +16771,7 @@
         this.command = command;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGatewayUsageReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGatewayUsageReportingCommand_args args = new addGatewayUsageReportingCommand_args();
@@ -15233,16 +16780,19 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_addGatewayUsageReportingCommand();
         return null;
       }
     }
 
+    @Override
     public void removeGatewayUsageReportingCommand(java.lang.String gatewayId, java.lang.String computeResourceId, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGatewayUsageReportingCommand_call method_call = new removeGatewayUsageReportingCommand_call(gatewayId, computeResourceId, resultHandler, this, ___protocolFactory, ___transport);
@@ -15259,6 +16809,7 @@
         this.computeResourceId = computeResourceId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGatewayUsageReportingCommand", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGatewayUsageReportingCommand_args args = new removeGatewayUsageReportingCommand_args();
@@ -15268,12 +16819,14 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public Void getResult() throws org.apache.airavata.registry.api.exception.RegistryServiceException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.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);
+        (new Client(prot)).recv_removeGatewayUsageReportingCommand();
         return null;
       }
     }
@@ -15333,13 +16886,19 @@
       processMap.put("updateExperimentStatus", new updateExperimentStatus());
       processMap.put("addJobStatus", new addJobStatus());
       processMap.put("addJob", new addJob());
+      processMap.put("deleteJobs", new deleteJobs());
+      processMap.put("getJobCount", new getJobCount());
+      processMap.put("getAVGTimeDistribution", new getAVGTimeDistribution());
       processMap.put("addProcess", new addProcess());
       processMap.put("updateProcess", new updateProcess());
       processMap.put("addTask", new addTask());
+      processMap.put("deleteTasks", new deleteTasks());
       processMap.put("getUserConfigurationData", new getUserConfigurationData());
       processMap.put("getProcess", new getProcess());
       processMap.put("getProcessList", new getProcessList());
       processMap.put("getProcessStatus", new getProcessStatus());
+      processMap.put("getProcessListInState", new getProcessListInState());
+      processMap.put("getProcessStatusList", new getProcessStatusList());
       processMap.put("isJobExist", new isJobExist());
       processMap.put("getJob", new getJob());
       processMap.put("getJobs", new getJobs());
@@ -15435,6 +16994,9 @@
       processMap.put("deleteGatewayStoragePreference", new deleteGatewayStoragePreference());
       processMap.put("registerUserResourceProfile", new registerUserResourceProfile());
       processMap.put("isUserResourceProfileExists", new isUserResourceProfileExists());
+      processMap.put("isUserComputeResourcePreferenceExists", new isUserComputeResourcePreferenceExists());
+      processMap.put("isGroupComputeResourcePreferenceExists", new isGroupComputeResourcePreferenceExists());
+      processMap.put("isGroupResourceProfileExists", new isGroupResourceProfileExists());
       processMap.put("getUserResourceProfile", new getUserResourceProfile());
       processMap.put("updateUserResourceProfile", new updateUserResourceProfile());
       processMap.put("deleteUserResourceProfile", new deleteUserResourceProfile());
@@ -15452,6 +17014,7 @@
       processMap.put("deleteUserStoragePreference", new deleteUserStoragePreference());
       processMap.put("getLatestQueueStatuses", new getLatestQueueStatuses());
       processMap.put("registerQueueStatuses", new registerQueueStatuses());
+      processMap.put("getQueueStatus", new getQueueStatus());
       processMap.put("registerDataProduct", new registerDataProduct());
       processMap.put("getDataProduct", new getDataProduct());
       processMap.put("registerReplicaLocation", new registerReplicaLocation());
@@ -15499,14 +17062,22 @@
         super("isUserExists");
       }
 
+      @Override
       public isUserExists_args getEmptyArgsInstance() {
         return new isUserExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserExists_result getResult(I iface, isUserExists_args args) throws org.apache.thrift.TException {
         isUserExists_result result = new isUserExists_result();
         try {
@@ -15524,14 +17095,22 @@
         super("addGateway");
       }
 
+      @Override
       public addGateway_args getEmptyArgsInstance() {
         return new addGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGateway_result getResult(I iface, addGateway_args args) throws org.apache.thrift.TException {
         addGateway_result result = new addGateway_result();
         try {
@@ -15550,14 +17129,22 @@
         super("getAllUsersInGateway");
       }
 
+      @Override
       public getAllUsersInGateway_args getEmptyArgsInstance() {
         return new getAllUsersInGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUsersInGateway_result getResult(I iface, getAllUsersInGateway_args args) throws org.apache.thrift.TException {
         getAllUsersInGateway_result result = new getAllUsersInGateway_result();
         try {
@@ -15574,14 +17161,22 @@
         super("updateGateway");
       }
 
+      @Override
       public updateGateway_args getEmptyArgsInstance() {
         return new updateGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGateway_result getResult(I iface, updateGateway_args args) throws org.apache.thrift.TException {
         updateGateway_result result = new updateGateway_result();
         try {
@@ -15599,14 +17194,22 @@
         super("getGateway");
       }
 
+      @Override
       public getGateway_args getEmptyArgsInstance() {
         return new getGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGateway_result getResult(I iface, getGateway_args args) throws org.apache.thrift.TException {
         getGateway_result result = new getGateway_result();
         try {
@@ -15623,14 +17226,22 @@
         super("deleteGateway");
       }
 
+      @Override
       public deleteGateway_args getEmptyArgsInstance() {
         return new deleteGateway_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGateway_result getResult(I iface, deleteGateway_args args) throws org.apache.thrift.TException {
         deleteGateway_result result = new deleteGateway_result();
         try {
@@ -15648,14 +17259,22 @@
         super("getAllGateways");
       }
 
+      @Override
       public getAllGateways_args getEmptyArgsInstance() {
         return new getAllGateways_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGateways_result getResult(I iface, getAllGateways_args args) throws org.apache.thrift.TException {
         getAllGateways_result result = new getAllGateways_result();
         try {
@@ -15672,14 +17291,22 @@
         super("isGatewayExist");
       }
 
+      @Override
       public isGatewayExist_args getEmptyArgsInstance() {
         return new isGatewayExist_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isGatewayExist_result getResult(I iface, isGatewayExist_args args) throws org.apache.thrift.TException {
         isGatewayExist_result result = new isGatewayExist_result();
         try {
@@ -15697,14 +17324,22 @@
         super("createNotification");
       }
 
+      @Override
       public createNotification_args getEmptyArgsInstance() {
         return new createNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createNotification_result getResult(I iface, createNotification_args args) throws org.apache.thrift.TException {
         createNotification_result result = new createNotification_result();
         try {
@@ -15721,14 +17356,22 @@
         super("updateNotification");
       }
 
+      @Override
       public updateNotification_args getEmptyArgsInstance() {
         return new updateNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateNotification_result getResult(I iface, updateNotification_args args) throws org.apache.thrift.TException {
         updateNotification_result result = new updateNotification_result();
         try {
@@ -15746,14 +17389,22 @@
         super("deleteNotification");
       }
 
+      @Override
       public deleteNotification_args getEmptyArgsInstance() {
         return new deleteNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteNotification_result getResult(I iface, deleteNotification_args args) throws org.apache.thrift.TException {
         deleteNotification_result result = new deleteNotification_result();
         try {
@@ -15771,14 +17422,22 @@
         super("getNotification");
       }
 
+      @Override
       public getNotification_args getEmptyArgsInstance() {
         return new getNotification_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getNotification_result getResult(I iface, getNotification_args args) throws org.apache.thrift.TException {
         getNotification_result result = new getNotification_result();
         try {
@@ -15795,14 +17454,22 @@
         super("getAllNotifications");
       }
 
+      @Override
       public getAllNotifications_args getEmptyArgsInstance() {
         return new getAllNotifications_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllNotifications_result getResult(I iface, getAllNotifications_args args) throws org.apache.thrift.TException {
         getAllNotifications_result result = new getAllNotifications_result();
         try {
@@ -15819,14 +17486,22 @@
         super("createProject");
       }
 
+      @Override
       public createProject_args getEmptyArgsInstance() {
         return new createProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createProject_result getResult(I iface, createProject_args args) throws org.apache.thrift.TException {
         createProject_result result = new createProject_result();
         try {
@@ -15843,14 +17518,22 @@
         super("updateProject");
       }
 
+      @Override
       public updateProject_args getEmptyArgsInstance() {
         return new updateProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateProject_result getResult(I iface, updateProject_args args) throws org.apache.thrift.TException {
         updateProject_result result = new updateProject_result();
         try {
@@ -15869,14 +17552,22 @@
         super("getProject");
       }
 
+      @Override
       public getProject_args getEmptyArgsInstance() {
         return new getProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProject_result getResult(I iface, getProject_args args) throws org.apache.thrift.TException {
         getProject_result result = new getProject_result();
         try {
@@ -15895,14 +17586,22 @@
         super("deleteProject");
       }
 
+      @Override
       public deleteProject_args getEmptyArgsInstance() {
         return new deleteProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteProject_result getResult(I iface, deleteProject_args args) throws org.apache.thrift.TException {
         deleteProject_result result = new deleteProject_result();
         try {
@@ -15922,14 +17621,22 @@
         super("getUserProjects");
       }
 
+      @Override
       public getUserProjects_args getEmptyArgsInstance() {
         return new getUserProjects_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserProjects_result getResult(I iface, getUserProjects_args args) throws org.apache.thrift.TException {
         getUserProjects_result result = new getUserProjects_result();
         try {
@@ -15946,14 +17653,22 @@
         super("searchProjects");
       }
 
+      @Override
       public searchProjects_args getEmptyArgsInstance() {
         return new searchProjects_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public searchProjects_result getResult(I iface, searchProjects_args args) throws org.apache.thrift.TException {
         searchProjects_result result = new searchProjects_result();
         try {
@@ -15970,14 +17685,22 @@
         super("searchExperiments");
       }
 
+      @Override
       public searchExperiments_args getEmptyArgsInstance() {
         return new searchExperiments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public searchExperiments_result getResult(I iface, searchExperiments_args args) throws org.apache.thrift.TException {
         searchExperiments_result result = new searchExperiments_result();
         try {
@@ -15994,14 +17717,22 @@
         super("getExperimentStatistics");
       }
 
+      @Override
       public getExperimentStatistics_args getEmptyArgsInstance() {
         return new getExperimentStatistics_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentStatistics_result getResult(I iface, getExperimentStatistics_args args) throws org.apache.thrift.TException {
         getExperimentStatistics_result result = new getExperimentStatistics_result();
         try {
@@ -16018,14 +17749,22 @@
         super("getExperimentsInProject");
       }
 
+      @Override
       public getExperimentsInProject_args getEmptyArgsInstance() {
         return new getExperimentsInProject_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentsInProject_result getResult(I iface, getExperimentsInProject_args args) throws org.apache.thrift.TException {
         getExperimentsInProject_result result = new getExperimentsInProject_result();
         try {
@@ -16044,14 +17783,22 @@
         super("getUserExperiments");
       }
 
+      @Override
       public getUserExperiments_args getEmptyArgsInstance() {
         return new getUserExperiments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserExperiments_result getResult(I iface, getUserExperiments_args args) throws org.apache.thrift.TException {
         getUserExperiments_result result = new getUserExperiments_result();
         try {
@@ -16068,14 +17815,22 @@
         super("createExperiment");
       }
 
+      @Override
       public createExperiment_args getEmptyArgsInstance() {
         return new createExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createExperiment_result getResult(I iface, createExperiment_args args) throws org.apache.thrift.TException {
         createExperiment_result result = new createExperiment_result();
         try {
@@ -16092,14 +17847,22 @@
         super("deleteExperiment");
       }
 
+      @Override
       public deleteExperiment_args getEmptyArgsInstance() {
         return new deleteExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteExperiment_result getResult(I iface, deleteExperiment_args args) throws org.apache.thrift.TException {
         deleteExperiment_result result = new deleteExperiment_result();
         try {
@@ -16117,14 +17880,22 @@
         super("getExperiment");
       }
 
+      @Override
       public getExperiment_args getEmptyArgsInstance() {
         return new getExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperiment_result getResult(I iface, getExperiment_args args) throws org.apache.thrift.TException {
         getExperiment_result result = new getExperiment_result();
         try {
@@ -16143,14 +17914,22 @@
         super("getDetailedExperimentTree");
       }
 
+      @Override
       public getDetailedExperimentTree_args getEmptyArgsInstance() {
         return new getDetailedExperimentTree_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getDetailedExperimentTree_result getResult(I iface, getDetailedExperimentTree_args args) throws org.apache.thrift.TException {
         getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
         try {
@@ -16169,14 +17948,22 @@
         super("updateExperiment");
       }
 
+      @Override
       public updateExperiment_args getEmptyArgsInstance() {
         return new updateExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateExperiment_result getResult(I iface, updateExperiment_args args) throws org.apache.thrift.TException {
         updateExperiment_result result = new updateExperiment_result();
         try {
@@ -16195,14 +17982,22 @@
         super("updateExperimentConfiguration");
       }
 
+      @Override
       public updateExperimentConfiguration_args getEmptyArgsInstance() {
         return new updateExperimentConfiguration_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateExperimentConfiguration_result getResult(I iface, updateExperimentConfiguration_args args) throws org.apache.thrift.TException {
         updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
         try {
@@ -16219,14 +18014,22 @@
         super("updateResourceScheduleing");
       }
 
+      @Override
       public updateResourceScheduleing_args getEmptyArgsInstance() {
         return new updateResourceScheduleing_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateResourceScheduleing_result getResult(I iface, updateResourceScheduleing_args args) throws org.apache.thrift.TException {
         updateResourceScheduleing_result result = new updateResourceScheduleing_result();
         try {
@@ -16243,14 +18046,22 @@
         super("getExperimentStatus");
       }
 
+      @Override
       public getExperimentStatus_args getEmptyArgsInstance() {
         return new getExperimentStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentStatus_result getResult(I iface, getExperimentStatus_args args) throws org.apache.thrift.TException {
         getExperimentStatus_result result = new getExperimentStatus_result();
         try {
@@ -16269,14 +18080,22 @@
         super("getExperimentOutputs");
       }
 
+      @Override
       public getExperimentOutputs_args getEmptyArgsInstance() {
         return new getExperimentOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getExperimentOutputs_result getResult(I iface, getExperimentOutputs_args args) throws org.apache.thrift.TException {
         getExperimentOutputs_result result = new getExperimentOutputs_result();
         try {
@@ -16295,14 +18114,22 @@
         super("getIntermediateOutputs");
       }
 
+      @Override
       public getIntermediateOutputs_args getEmptyArgsInstance() {
         return new getIntermediateOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getIntermediateOutputs_result getResult(I iface, getIntermediateOutputs_args args) throws org.apache.thrift.TException {
         getIntermediateOutputs_result result = new getIntermediateOutputs_result();
         try {
@@ -16321,14 +18148,22 @@
         super("getJobStatuses");
       }
 
+      @Override
       public getJobStatuses_args getEmptyArgsInstance() {
         return new getJobStatuses_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getJobStatuses_result getResult(I iface, getJobStatuses_args args) throws org.apache.thrift.TException {
         getJobStatuses_result result = new getJobStatuses_result();
         try {
@@ -16347,14 +18182,22 @@
         super("addExperimentProcessOutputs");
       }
 
+      @Override
       public addExperimentProcessOutputs_args getEmptyArgsInstance() {
         return new addExperimentProcessOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addExperimentProcessOutputs_result getResult(I iface, addExperimentProcessOutputs_args args) throws org.apache.thrift.TException {
         addExperimentProcessOutputs_result result = new addExperimentProcessOutputs_result();
         try {
@@ -16371,14 +18214,22 @@
         super("addErrors");
       }
 
+      @Override
       public addErrors_args getEmptyArgsInstance() {
         return new addErrors_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addErrors_result getResult(I iface, addErrors_args args) throws org.apache.thrift.TException {
         addErrors_result result = new addErrors_result();
         try {
@@ -16395,14 +18246,22 @@
         super("addTaskStatus");
       }
 
+      @Override
       public addTaskStatus_args getEmptyArgsInstance() {
         return new addTaskStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addTaskStatus_result getResult(I iface, addTaskStatus_args args) throws org.apache.thrift.TException {
         addTaskStatus_result result = new addTaskStatus_result();
         try {
@@ -16419,14 +18278,22 @@
         super("addProcessStatus");
       }
 
+      @Override
       public addProcessStatus_args getEmptyArgsInstance() {
         return new addProcessStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addProcessStatus_result getResult(I iface, addProcessStatus_args args) throws org.apache.thrift.TException {
         addProcessStatus_result result = new addProcessStatus_result();
         try {
@@ -16443,14 +18310,22 @@
         super("updateProcessStatus");
       }
 
+      @Override
       public updateProcessStatus_args getEmptyArgsInstance() {
         return new updateProcessStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateProcessStatus_result getResult(I iface, updateProcessStatus_args args) throws org.apache.thrift.TException {
         updateProcessStatus_result result = new updateProcessStatus_result();
         try {
@@ -16467,14 +18342,22 @@
         super("updateExperimentStatus");
       }
 
+      @Override
       public updateExperimentStatus_args getEmptyArgsInstance() {
         return new updateExperimentStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateExperimentStatus_result getResult(I iface, updateExperimentStatus_args args) throws org.apache.thrift.TException {
         updateExperimentStatus_result result = new updateExperimentStatus_result();
         try {
@@ -16491,14 +18374,22 @@
         super("addJobStatus");
       }
 
+      @Override
       public addJobStatus_args getEmptyArgsInstance() {
         return new addJobStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addJobStatus_result getResult(I iface, addJobStatus_args args) throws org.apache.thrift.TException {
         addJobStatus_result result = new addJobStatus_result();
         try {
@@ -16515,14 +18406,22 @@
         super("addJob");
       }
 
+      @Override
       public addJob_args getEmptyArgsInstance() {
         return new addJob_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addJob_result getResult(I iface, addJob_args args) throws org.apache.thrift.TException {
         addJob_result result = new addJob_result();
         try {
@@ -16534,19 +18433,124 @@
       }
     }
 
+    public static class deleteJobs<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteJobs_args> {
+      public deleteJobs() {
+        super("deleteJobs");
+      }
+
+      @Override
+      public deleteJobs_args getEmptyArgsInstance() {
+        return new deleteJobs_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public deleteJobs_result getResult(I iface, deleteJobs_args args) throws org.apache.thrift.TException {
+        deleteJobs_result result = new deleteJobs_result();
+        try {
+          iface.deleteJobs(args.processId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getJobCount<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getJobCount_args> {
+      public getJobCount() {
+        super("getJobCount");
+      }
+
+      @Override
+      public getJobCount_args getEmptyArgsInstance() {
+        return new getJobCount_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public getJobCount_result getResult(I iface, getJobCount_args args) throws org.apache.thrift.TException {
+        getJobCount_result result = new getJobCount_result();
+        try {
+          result.success = iface.getJobCount(args.jobStatus, args.gatewayId, args.searchBackTimeInMinutes);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getAVGTimeDistribution<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getAVGTimeDistribution_args> {
+      public getAVGTimeDistribution() {
+        super("getAVGTimeDistribution");
+      }
+
+      @Override
+      public getAVGTimeDistribution_args getEmptyArgsInstance() {
+        return new getAVGTimeDistribution_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public getAVGTimeDistribution_result getResult(I iface, getAVGTimeDistribution_args args) throws org.apache.thrift.TException {
+        getAVGTimeDistribution_result result = new getAVGTimeDistribution_result();
+        try {
+          result.success = iface.getAVGTimeDistribution(args.gatewayId, args.searchBackTimeInMinutes);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class addProcess<I extends Iface> extends org.apache.thrift.ProcessFunction<I, addProcess_args> {
       public addProcess() {
         super("addProcess");
       }
 
+      @Override
       public addProcess_args getEmptyArgsInstance() {
         return new addProcess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addProcess_result getResult(I iface, addProcess_args args) throws org.apache.thrift.TException {
         addProcess_result result = new addProcess_result();
         try {
@@ -16563,14 +18567,22 @@
         super("updateProcess");
       }
 
+      @Override
       public updateProcess_args getEmptyArgsInstance() {
         return new updateProcess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateProcess_result getResult(I iface, updateProcess_args args) throws org.apache.thrift.TException {
         updateProcess_result result = new updateProcess_result();
         try {
@@ -16587,14 +18599,22 @@
         super("addTask");
       }
 
+      @Override
       public addTask_args getEmptyArgsInstance() {
         return new addTask_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addTask_result getResult(I iface, addTask_args args) throws org.apache.thrift.TException {
         addTask_result result = new addTask_result();
         try {
@@ -16606,19 +18626,59 @@
       }
     }
 
+    public static class deleteTasks<I extends Iface> extends org.apache.thrift.ProcessFunction<I, deleteTasks_args> {
+      public deleteTasks() {
+        super("deleteTasks");
+      }
+
+      @Override
+      public deleteTasks_args getEmptyArgsInstance() {
+        return new deleteTasks_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public deleteTasks_result getResult(I iface, deleteTasks_args args) throws org.apache.thrift.TException {
+        deleteTasks_result result = new deleteTasks_result();
+        try {
+          iface.deleteTasks(args.processId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class getUserConfigurationData<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserConfigurationData_args> {
       public getUserConfigurationData() {
         super("getUserConfigurationData");
       }
 
+      @Override
       public getUserConfigurationData_args getEmptyArgsInstance() {
         return new getUserConfigurationData_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserConfigurationData_result getResult(I iface, getUserConfigurationData_args args) throws org.apache.thrift.TException {
         getUserConfigurationData_result result = new getUserConfigurationData_result();
         try {
@@ -16635,14 +18695,22 @@
         super("getProcess");
       }
 
+      @Override
       public getProcess_args getEmptyArgsInstance() {
         return new getProcess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProcess_result getResult(I iface, getProcess_args args) throws org.apache.thrift.TException {
         getProcess_result result = new getProcess_result();
         try {
@@ -16659,14 +18727,22 @@
         super("getProcessList");
       }
 
+      @Override
       public getProcessList_args getEmptyArgsInstance() {
         return new getProcessList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProcessList_result getResult(I iface, getProcessList_args args) throws org.apache.thrift.TException {
         getProcessList_result result = new getProcessList_result();
         try {
@@ -16683,14 +18759,22 @@
         super("getProcessStatus");
       }
 
+      @Override
       public getProcessStatus_args getEmptyArgsInstance() {
         return new getProcessStatus_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProcessStatus_result getResult(I iface, getProcessStatus_args args) throws org.apache.thrift.TException {
         getProcessStatus_result result = new getProcessStatus_result();
         try {
@@ -16702,19 +18786,91 @@
       }
     }
 
+    public static class getProcessListInState<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getProcessListInState_args> {
+      public getProcessListInState() {
+        super("getProcessListInState");
+      }
+
+      @Override
+      public getProcessListInState_args getEmptyArgsInstance() {
+        return new getProcessListInState_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public getProcessListInState_result getResult(I iface, getProcessListInState_args args) throws org.apache.thrift.TException {
+        getProcessListInState_result result = new getProcessListInState_result();
+        try {
+          result.success = iface.getProcessListInState(args.processState);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class getProcessStatusList<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getProcessStatusList_args> {
+      public getProcessStatusList() {
+        super("getProcessStatusList");
+      }
+
+      @Override
+      public getProcessStatusList_args getEmptyArgsInstance() {
+        return new getProcessStatusList_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public getProcessStatusList_result getResult(I iface, getProcessStatusList_args args) throws org.apache.thrift.TException {
+        getProcessStatusList_result result = new getProcessStatusList_result();
+        try {
+          result.success = iface.getProcessStatusList(args.processId);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class isJobExist<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isJobExist_args> {
       public isJobExist() {
         super("isJobExist");
       }
 
+      @Override
       public isJobExist_args getEmptyArgsInstance() {
         return new isJobExist_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isJobExist_result getResult(I iface, isJobExist_args args) throws org.apache.thrift.TException {
         isJobExist_result result = new isJobExist_result();
         try {
@@ -16732,14 +18888,22 @@
         super("getJob");
       }
 
+      @Override
       public getJob_args getEmptyArgsInstance() {
         return new getJob_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getJob_result getResult(I iface, getJob_args args) throws org.apache.thrift.TException {
         getJob_result result = new getJob_result();
         try {
@@ -16756,14 +18920,22 @@
         super("getJobs");
       }
 
+      @Override
       public getJobs_args getEmptyArgsInstance() {
         return new getJobs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getJobs_result getResult(I iface, getJobs_args args) throws org.apache.thrift.TException {
         getJobs_result result = new getJobs_result();
         try {
@@ -16780,14 +18952,22 @@
         super("getProcessOutputs");
       }
 
+      @Override
       public getProcessOutputs_args getEmptyArgsInstance() {
         return new getProcessOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProcessOutputs_result getResult(I iface, getProcessOutputs_args args) throws org.apache.thrift.TException {
         getProcessOutputs_result result = new getProcessOutputs_result();
         try {
@@ -16804,14 +18984,22 @@
         super("getProcessWorkflows");
       }
 
+      @Override
       public getProcessWorkflows_args getEmptyArgsInstance() {
         return new getProcessWorkflows_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProcessWorkflows_result getResult(I iface, getProcessWorkflows_args args) throws org.apache.thrift.TException {
         getProcessWorkflows_result result = new getProcessWorkflows_result();
         try {
@@ -16828,14 +19016,22 @@
         super("addProcessWorkflow");
       }
 
+      @Override
       public addProcessWorkflow_args getEmptyArgsInstance() {
         return new addProcessWorkflow_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addProcessWorkflow_result getResult(I iface, addProcessWorkflow_args args) throws org.apache.thrift.TException {
         addProcessWorkflow_result result = new addProcessWorkflow_result();
         try {
@@ -16852,14 +19048,22 @@
         super("getProcessIds");
       }
 
+      @Override
       public getProcessIds_args getEmptyArgsInstance() {
         return new getProcessIds_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getProcessIds_result getResult(I iface, getProcessIds_args args) throws org.apache.thrift.TException {
         getProcessIds_result result = new getProcessIds_result();
         try {
@@ -16876,14 +19080,22 @@
         super("getJobDetails");
       }
 
+      @Override
       public getJobDetails_args getEmptyArgsInstance() {
         return new getJobDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getJobDetails_result getResult(I iface, getJobDetails_args args) throws org.apache.thrift.TException {
         getJobDetails_result result = new getJobDetails_result();
         try {
@@ -16902,14 +19114,22 @@
         super("registerApplicationModule");
       }
 
+      @Override
       public registerApplicationModule_args getEmptyArgsInstance() {
         return new registerApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerApplicationModule_result getResult(I iface, registerApplicationModule_args args) throws org.apache.thrift.TException {
         registerApplicationModule_result result = new registerApplicationModule_result();
         try {
@@ -16926,14 +19146,22 @@
         super("getApplicationModule");
       }
 
+      @Override
       public getApplicationModule_args getEmptyArgsInstance() {
         return new getApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationModule_result getResult(I iface, getApplicationModule_args args) throws org.apache.thrift.TException {
         getApplicationModule_result result = new getApplicationModule_result();
         try {
@@ -16950,14 +19178,22 @@
         super("updateApplicationModule");
       }
 
+      @Override
       public updateApplicationModule_args getEmptyArgsInstance() {
         return new updateApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateApplicationModule_result getResult(I iface, updateApplicationModule_args args) throws org.apache.thrift.TException {
         updateApplicationModule_result result = new updateApplicationModule_result();
         try {
@@ -16975,14 +19211,22 @@
         super("getAllAppModules");
       }
 
+      @Override
       public getAllAppModules_args getEmptyArgsInstance() {
         return new getAllAppModules_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllAppModules_result getResult(I iface, getAllAppModules_args args) throws org.apache.thrift.TException {
         getAllAppModules_result result = new getAllAppModules_result();
         try {
@@ -16999,14 +19243,22 @@
         super("getAccessibleAppModules");
       }
 
+      @Override
       public getAccessibleAppModules_args getEmptyArgsInstance() {
         return new getAccessibleAppModules_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAccessibleAppModules_result getResult(I iface, getAccessibleAppModules_args args) throws org.apache.thrift.TException {
         getAccessibleAppModules_result result = new getAccessibleAppModules_result();
         try {
@@ -17023,14 +19275,22 @@
         super("deleteApplicationModule");
       }
 
+      @Override
       public deleteApplicationModule_args getEmptyArgsInstance() {
         return new deleteApplicationModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteApplicationModule_result getResult(I iface, deleteApplicationModule_args args) throws org.apache.thrift.TException {
         deleteApplicationModule_result result = new deleteApplicationModule_result();
         try {
@@ -17048,14 +19308,22 @@
         super("registerApplicationDeployment");
       }
 
+      @Override
       public registerApplicationDeployment_args getEmptyArgsInstance() {
         return new registerApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerApplicationDeployment_result getResult(I iface, registerApplicationDeployment_args args) throws org.apache.thrift.TException {
         registerApplicationDeployment_result result = new registerApplicationDeployment_result();
         try {
@@ -17072,14 +19340,22 @@
         super("getApplicationDeployment");
       }
 
+      @Override
       public getApplicationDeployment_args getEmptyArgsInstance() {
         return new getApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationDeployment_result getResult(I iface, getApplicationDeployment_args args) throws org.apache.thrift.TException {
         getApplicationDeployment_result result = new getApplicationDeployment_result();
         try {
@@ -17096,14 +19372,22 @@
         super("updateApplicationDeployment");
       }
 
+      @Override
       public updateApplicationDeployment_args getEmptyArgsInstance() {
         return new updateApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateApplicationDeployment_result getResult(I iface, updateApplicationDeployment_args args) throws org.apache.thrift.TException {
         updateApplicationDeployment_result result = new updateApplicationDeployment_result();
         try {
@@ -17121,14 +19405,22 @@
         super("deleteApplicationDeployment");
       }
 
+      @Override
       public deleteApplicationDeployment_args getEmptyArgsInstance() {
         return new deleteApplicationDeployment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteApplicationDeployment_result getResult(I iface, deleteApplicationDeployment_args args) throws org.apache.thrift.TException {
         deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
         try {
@@ -17146,14 +19438,22 @@
         super("getAllApplicationDeployments");
       }
 
+      @Override
       public getAllApplicationDeployments_args getEmptyArgsInstance() {
         return new getAllApplicationDeployments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllApplicationDeployments_result getResult(I iface, getAllApplicationDeployments_args args) throws org.apache.thrift.TException {
         getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
         try {
@@ -17170,14 +19470,22 @@
         super("getAccessibleApplicationDeployments");
       }
 
+      @Override
       public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
         return new getAccessibleApplicationDeployments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAccessibleApplicationDeployments_result getResult(I iface, getAccessibleApplicationDeployments_args args) throws org.apache.thrift.TException {
         getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
         try {
@@ -17194,14 +19502,22 @@
         super("getAccessibleApplicationDeploymentsForAppModule");
       }
 
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_args getEmptyArgsInstance() {
         return new getAccessibleApplicationDeploymentsForAppModule_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_result getResult(I iface, getAccessibleApplicationDeploymentsForAppModule_args args) throws org.apache.thrift.TException {
         getAccessibleApplicationDeploymentsForAppModule_result result = new getAccessibleApplicationDeploymentsForAppModule_result();
         try {
@@ -17218,14 +19534,22 @@
         super("getAppModuleDeployedResources");
       }
 
+      @Override
       public getAppModuleDeployedResources_args getEmptyArgsInstance() {
         return new getAppModuleDeployedResources_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAppModuleDeployedResources_result getResult(I iface, getAppModuleDeployedResources_args args) throws org.apache.thrift.TException {
         getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
         try {
@@ -17242,14 +19566,22 @@
         super("getApplicationDeployments");
       }
 
+      @Override
       public getApplicationDeployments_args getEmptyArgsInstance() {
         return new getApplicationDeployments_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationDeployments_result getResult(I iface, getApplicationDeployments_args args) throws org.apache.thrift.TException {
         getApplicationDeployments_result result = new getApplicationDeployments_result();
         try {
@@ -17266,14 +19598,22 @@
         super("registerApplicationInterface");
       }
 
+      @Override
       public registerApplicationInterface_args getEmptyArgsInstance() {
         return new registerApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerApplicationInterface_result getResult(I iface, registerApplicationInterface_args args) throws org.apache.thrift.TException {
         registerApplicationInterface_result result = new registerApplicationInterface_result();
         try {
@@ -17290,14 +19630,22 @@
         super("getApplicationInterface");
       }
 
+      @Override
       public getApplicationInterface_args getEmptyArgsInstance() {
         return new getApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationInterface_result getResult(I iface, getApplicationInterface_args args) throws org.apache.thrift.TException {
         getApplicationInterface_result result = new getApplicationInterface_result();
         try {
@@ -17314,14 +19662,22 @@
         super("updateApplicationInterface");
       }
 
+      @Override
       public updateApplicationInterface_args getEmptyArgsInstance() {
         return new updateApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateApplicationInterface_result getResult(I iface, updateApplicationInterface_args args) throws org.apache.thrift.TException {
         updateApplicationInterface_result result = new updateApplicationInterface_result();
         try {
@@ -17339,14 +19695,22 @@
         super("deleteApplicationInterface");
       }
 
+      @Override
       public deleteApplicationInterface_args getEmptyArgsInstance() {
         return new deleteApplicationInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteApplicationInterface_result getResult(I iface, deleteApplicationInterface_args args) throws org.apache.thrift.TException {
         deleteApplicationInterface_result result = new deleteApplicationInterface_result();
         try {
@@ -17364,14 +19728,22 @@
         super("getAllApplicationInterfaceNames");
       }
 
+      @Override
       public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaceNames_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllApplicationInterfaceNames_result getResult(I iface, getAllApplicationInterfaceNames_args args) throws org.apache.thrift.TException {
         getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
         try {
@@ -17388,14 +19760,22 @@
         super("getAllApplicationInterfaces");
       }
 
+      @Override
       public getAllApplicationInterfaces_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaces_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllApplicationInterfaces_result getResult(I iface, getAllApplicationInterfaces_args args) throws org.apache.thrift.TException {
         getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
         try {
@@ -17412,14 +19792,22 @@
         super("getApplicationInputs");
       }
 
+      @Override
       public getApplicationInputs_args getEmptyArgsInstance() {
         return new getApplicationInputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationInputs_result getResult(I iface, getApplicationInputs_args args) throws org.apache.thrift.TException {
         getApplicationInputs_result result = new getApplicationInputs_result();
         try {
@@ -17436,14 +19824,22 @@
         super("getApplicationOutputs");
       }
 
+      @Override
       public getApplicationOutputs_args getEmptyArgsInstance() {
         return new getApplicationOutputs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getApplicationOutputs_result getResult(I iface, getApplicationOutputs_args args) throws org.apache.thrift.TException {
         getApplicationOutputs_result result = new getApplicationOutputs_result();
         try {
@@ -17460,14 +19856,22 @@
         super("getAvailableAppInterfaceComputeResources");
       }
 
+      @Override
       public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
         return new getAvailableAppInterfaceComputeResources_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAvailableAppInterfaceComputeResources_result getResult(I iface, getAvailableAppInterfaceComputeResources_args args) throws org.apache.thrift.TException {
         getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
         try {
@@ -17484,14 +19888,22 @@
         super("registerComputeResource");
       }
 
+      @Override
       public registerComputeResource_args getEmptyArgsInstance() {
         return new registerComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerComputeResource_result getResult(I iface, registerComputeResource_args args) throws org.apache.thrift.TException {
         registerComputeResource_result result = new registerComputeResource_result();
         try {
@@ -17508,14 +19920,22 @@
         super("getComputeResource");
       }
 
+      @Override
       public getComputeResource_args getEmptyArgsInstance() {
         return new getComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getComputeResource_result getResult(I iface, getComputeResource_args args) throws org.apache.thrift.TException {
         getComputeResource_result result = new getComputeResource_result();
         try {
@@ -17532,14 +19952,22 @@
         super("getAllComputeResourceNames");
       }
 
+      @Override
       public getAllComputeResourceNames_args getEmptyArgsInstance() {
         return new getAllComputeResourceNames_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllComputeResourceNames_result getResult(I iface, getAllComputeResourceNames_args args) throws org.apache.thrift.TException {
         getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
         try {
@@ -17556,14 +19984,22 @@
         super("updateComputeResource");
       }
 
+      @Override
       public updateComputeResource_args getEmptyArgsInstance() {
         return new updateComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateComputeResource_result getResult(I iface, updateComputeResource_args args) throws org.apache.thrift.TException {
         updateComputeResource_result result = new updateComputeResource_result();
         try {
@@ -17581,14 +20017,22 @@
         super("deleteComputeResource");
       }
 
+      @Override
       public deleteComputeResource_args getEmptyArgsInstance() {
         return new deleteComputeResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteComputeResource_result getResult(I iface, deleteComputeResource_args args) throws org.apache.thrift.TException {
         deleteComputeResource_result result = new deleteComputeResource_result();
         try {
@@ -17606,14 +20050,22 @@
         super("registerStorageResource");
       }
 
+      @Override
       public registerStorageResource_args getEmptyArgsInstance() {
         return new registerStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerStorageResource_result getResult(I iface, registerStorageResource_args args) throws org.apache.thrift.TException {
         registerStorageResource_result result = new registerStorageResource_result();
         try {
@@ -17630,14 +20082,22 @@
         super("getStorageResource");
       }
 
+      @Override
       public getStorageResource_args getEmptyArgsInstance() {
         return new getStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getStorageResource_result getResult(I iface, getStorageResource_args args) throws org.apache.thrift.TException {
         getStorageResource_result result = new getStorageResource_result();
         try {
@@ -17654,14 +20114,22 @@
         super("getAllStorageResourceNames");
       }
 
+      @Override
       public getAllStorageResourceNames_args getEmptyArgsInstance() {
         return new getAllStorageResourceNames_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllStorageResourceNames_result getResult(I iface, getAllStorageResourceNames_args args) throws org.apache.thrift.TException {
         getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
         try {
@@ -17678,14 +20146,22 @@
         super("updateStorageResource");
       }
 
+      @Override
       public updateStorageResource_args getEmptyArgsInstance() {
         return new updateStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateStorageResource_result getResult(I iface, updateStorageResource_args args) throws org.apache.thrift.TException {
         updateStorageResource_result result = new updateStorageResource_result();
         try {
@@ -17703,14 +20179,22 @@
         super("deleteStorageResource");
       }
 
+      @Override
       public deleteStorageResource_args getEmptyArgsInstance() {
         return new deleteStorageResource_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteStorageResource_result getResult(I iface, deleteStorageResource_args args) throws org.apache.thrift.TException {
         deleteStorageResource_result result = new deleteStorageResource_result();
         try {
@@ -17728,14 +20212,22 @@
         super("addLocalSubmissionDetails");
       }
 
+      @Override
       public addLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new addLocalSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addLocalSubmissionDetails_result getResult(I iface, addLocalSubmissionDetails_args args) throws org.apache.thrift.TException {
         addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
         try {
@@ -17752,14 +20244,22 @@
         super("updateLocalSubmissionDetails");
       }
 
+      @Override
       public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new updateLocalSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateLocalSubmissionDetails_result getResult(I iface, updateLocalSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
         try {
@@ -17777,14 +20277,22 @@
         super("getLocalJobSubmission");
       }
 
+      @Override
       public getLocalJobSubmission_args getEmptyArgsInstance() {
         return new getLocalJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getLocalJobSubmission_result getResult(I iface, getLocalJobSubmission_args args) throws org.apache.thrift.TException {
         getLocalJobSubmission_result result = new getLocalJobSubmission_result();
         try {
@@ -17801,14 +20309,22 @@
         super("addSSHJobSubmissionDetails");
       }
 
+      @Override
       public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSSHJobSubmissionDetails_result getResult(I iface, addSSHJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
         try {
@@ -17825,14 +20341,22 @@
         super("addSSHForkJobSubmissionDetails");
       }
 
+      @Override
       public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHForkJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSSHForkJobSubmissionDetails_result getResult(I iface, addSSHForkJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
         try {
@@ -17849,14 +20373,22 @@
         super("getSSHJobSubmission");
       }
 
+      @Override
       public getSSHJobSubmission_args getEmptyArgsInstance() {
         return new getSSHJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getSSHJobSubmission_result getResult(I iface, getSSHJobSubmission_args args) throws org.apache.thrift.TException {
         getSSHJobSubmission_result result = new getSSHJobSubmission_result();
         try {
@@ -17873,14 +20405,22 @@
         super("addUNICOREJobSubmissionDetails");
       }
 
+      @Override
       public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addUNICOREJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUNICOREJobSubmissionDetails_result getResult(I iface, addUNICOREJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
         try {
@@ -17897,14 +20437,22 @@
         super("getUnicoreJobSubmission");
       }
 
+      @Override
       public getUnicoreJobSubmission_args getEmptyArgsInstance() {
         return new getUnicoreJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUnicoreJobSubmission_result getResult(I iface, getUnicoreJobSubmission_args args) throws org.apache.thrift.TException {
         getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
         try {
@@ -17921,14 +20469,22 @@
         super("addCloudJobSubmissionDetails");
       }
 
+      @Override
       public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addCloudJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addCloudJobSubmissionDetails_result getResult(I iface, addCloudJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
         try {
@@ -17945,14 +20501,22 @@
         super("getCloudJobSubmission");
       }
 
+      @Override
       public getCloudJobSubmission_args getEmptyArgsInstance() {
         return new getCloudJobSubmission_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getCloudJobSubmission_result getResult(I iface, getCloudJobSubmission_args args) throws org.apache.thrift.TException {
         getCloudJobSubmission_result result = new getCloudJobSubmission_result();
         try {
@@ -17969,14 +20533,22 @@
         super("updateSSHJobSubmissionDetails");
       }
 
+      @Override
       public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateSSHJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateSSHJobSubmissionDetails_result getResult(I iface, updateSSHJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
         try {
@@ -17994,14 +20566,22 @@
         super("updateCloudJobSubmissionDetails");
       }
 
+      @Override
       public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateCloudJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateCloudJobSubmissionDetails_result getResult(I iface, updateCloudJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
         try {
@@ -18019,14 +20599,22 @@
         super("updateUnicoreJobSubmissionDetails");
       }
 
+      @Override
       public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateUnicoreJobSubmissionDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUnicoreJobSubmissionDetails_result getResult(I iface, updateUnicoreJobSubmissionDetails_args args) throws org.apache.thrift.TException {
         updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
         try {
@@ -18044,14 +20632,22 @@
         super("addLocalDataMovementDetails");
       }
 
+      @Override
       public addLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new addLocalDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addLocalDataMovementDetails_result getResult(I iface, addLocalDataMovementDetails_args args) throws org.apache.thrift.TException {
         addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
         try {
@@ -18068,14 +20664,22 @@
         super("updateLocalDataMovementDetails");
       }
 
+      @Override
       public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new updateLocalDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateLocalDataMovementDetails_result getResult(I iface, updateLocalDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
         try {
@@ -18093,14 +20697,22 @@
         super("getLocalDataMovement");
       }
 
+      @Override
       public getLocalDataMovement_args getEmptyArgsInstance() {
         return new getLocalDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getLocalDataMovement_result getResult(I iface, getLocalDataMovement_args args) throws org.apache.thrift.TException {
         getLocalDataMovement_result result = new getLocalDataMovement_result();
         try {
@@ -18117,14 +20729,22 @@
         super("addSCPDataMovementDetails");
       }
 
+      @Override
       public addSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new addSCPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addSCPDataMovementDetails_result getResult(I iface, addSCPDataMovementDetails_args args) throws org.apache.thrift.TException {
         addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
         try {
@@ -18141,14 +20761,22 @@
         super("updateSCPDataMovementDetails");
       }
 
+      @Override
       public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateSCPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateSCPDataMovementDetails_result getResult(I iface, updateSCPDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
         try {
@@ -18166,14 +20794,22 @@
         super("getSCPDataMovement");
       }
 
+      @Override
       public getSCPDataMovement_args getEmptyArgsInstance() {
         return new getSCPDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getSCPDataMovement_result getResult(I iface, getSCPDataMovement_args args) throws org.apache.thrift.TException {
         getSCPDataMovement_result result = new getSCPDataMovement_result();
         try {
@@ -18190,14 +20826,22 @@
         super("addUnicoreDataMovementDetails");
       }
 
+      @Override
       public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new addUnicoreDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUnicoreDataMovementDetails_result getResult(I iface, addUnicoreDataMovementDetails_args args) throws org.apache.thrift.TException {
         addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
         try {
@@ -18214,14 +20858,22 @@
         super("updateUnicoreDataMovementDetails");
       }
 
+      @Override
       public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new updateUnicoreDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUnicoreDataMovementDetails_result getResult(I iface, updateUnicoreDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
         try {
@@ -18239,14 +20891,22 @@
         super("getUnicoreDataMovement");
       }
 
+      @Override
       public getUnicoreDataMovement_args getEmptyArgsInstance() {
         return new getUnicoreDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUnicoreDataMovement_result getResult(I iface, getUnicoreDataMovement_args args) throws org.apache.thrift.TException {
         getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
         try {
@@ -18263,14 +20923,22 @@
         super("addGridFTPDataMovementDetails");
       }
 
+      @Override
       public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new addGridFTPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGridFTPDataMovementDetails_result getResult(I iface, addGridFTPDataMovementDetails_args args) throws org.apache.thrift.TException {
         addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
         try {
@@ -18287,14 +20955,22 @@
         super("updateGridFTPDataMovementDetails");
       }
 
+      @Override
       public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateGridFTPDataMovementDetails_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGridFTPDataMovementDetails_result getResult(I iface, updateGridFTPDataMovementDetails_args args) throws org.apache.thrift.TException {
         updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
         try {
@@ -18312,14 +20988,22 @@
         super("getGridFTPDataMovement");
       }
 
+      @Override
       public getGridFTPDataMovement_args getEmptyArgsInstance() {
         return new getGridFTPDataMovement_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGridFTPDataMovement_result getResult(I iface, getGridFTPDataMovement_args args) throws org.apache.thrift.TException {
         getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
         try {
@@ -18336,14 +21020,22 @@
         super("changeJobSubmissionPriority");
       }
 
+      @Override
       public changeJobSubmissionPriority_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriority_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeJobSubmissionPriority_result getResult(I iface, changeJobSubmissionPriority_args args) throws org.apache.thrift.TException {
         changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
         try {
@@ -18361,14 +21053,22 @@
         super("changeDataMovementPriority");
       }
 
+      @Override
       public changeDataMovementPriority_args getEmptyArgsInstance() {
         return new changeDataMovementPriority_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeDataMovementPriority_result getResult(I iface, changeDataMovementPriority_args args) throws org.apache.thrift.TException {
         changeDataMovementPriority_result result = new changeDataMovementPriority_result();
         try {
@@ -18386,14 +21086,22 @@
         super("changeJobSubmissionPriorities");
       }
 
+      @Override
       public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriorities_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeJobSubmissionPriorities_result getResult(I iface, changeJobSubmissionPriorities_args args) throws org.apache.thrift.TException {
         changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
         try {
@@ -18411,14 +21119,22 @@
         super("changeDataMovementPriorities");
       }
 
+      @Override
       public changeDataMovementPriorities_args getEmptyArgsInstance() {
         return new changeDataMovementPriorities_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public changeDataMovementPriorities_result getResult(I iface, changeDataMovementPriorities_args args) throws org.apache.thrift.TException {
         changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
         try {
@@ -18436,14 +21152,22 @@
         super("deleteJobSubmissionInterface");
       }
 
+      @Override
       public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
         return new deleteJobSubmissionInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteJobSubmissionInterface_result getResult(I iface, deleteJobSubmissionInterface_args args) throws org.apache.thrift.TException {
         deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
         try {
@@ -18461,14 +21185,22 @@
         super("deleteDataMovementInterface");
       }
 
+      @Override
       public deleteDataMovementInterface_args getEmptyArgsInstance() {
         return new deleteDataMovementInterface_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteDataMovementInterface_result getResult(I iface, deleteDataMovementInterface_args args) throws org.apache.thrift.TException {
         deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
         try {
@@ -18486,14 +21218,22 @@
         super("registerResourceJobManager");
       }
 
+      @Override
       public registerResourceJobManager_args getEmptyArgsInstance() {
         return new registerResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerResourceJobManager_result getResult(I iface, registerResourceJobManager_args args) throws org.apache.thrift.TException {
         registerResourceJobManager_result result = new registerResourceJobManager_result();
         try {
@@ -18510,14 +21250,22 @@
         super("updateResourceJobManager");
       }
 
+      @Override
       public updateResourceJobManager_args getEmptyArgsInstance() {
         return new updateResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateResourceJobManager_result getResult(I iface, updateResourceJobManager_args args) throws org.apache.thrift.TException {
         updateResourceJobManager_result result = new updateResourceJobManager_result();
         try {
@@ -18535,14 +21283,22 @@
         super("getResourceJobManager");
       }
 
+      @Override
       public getResourceJobManager_args getEmptyArgsInstance() {
         return new getResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getResourceJobManager_result getResult(I iface, getResourceJobManager_args args) throws org.apache.thrift.TException {
         getResourceJobManager_result result = new getResourceJobManager_result();
         try {
@@ -18559,14 +21315,22 @@
         super("deleteResourceJobManager");
       }
 
+      @Override
       public deleteResourceJobManager_args getEmptyArgsInstance() {
         return new deleteResourceJobManager_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteResourceJobManager_result getResult(I iface, deleteResourceJobManager_args args) throws org.apache.thrift.TException {
         deleteResourceJobManager_result result = new deleteResourceJobManager_result();
         try {
@@ -18584,14 +21348,22 @@
         super("deleteBatchQueue");
       }
 
+      @Override
       public deleteBatchQueue_args getEmptyArgsInstance() {
         return new deleteBatchQueue_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteBatchQueue_result getResult(I iface, deleteBatchQueue_args args) throws org.apache.thrift.TException {
         deleteBatchQueue_result result = new deleteBatchQueue_result();
         try {
@@ -18609,14 +21381,22 @@
         super("registerGatewayResourceProfile");
       }
 
+      @Override
       public registerGatewayResourceProfile_args getEmptyArgsInstance() {
         return new registerGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerGatewayResourceProfile_result getResult(I iface, registerGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
         try {
@@ -18633,14 +21413,22 @@
         super("getGatewayResourceProfile");
       }
 
+      @Override
       public getGatewayResourceProfile_args getEmptyArgsInstance() {
         return new getGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayResourceProfile_result getResult(I iface, getGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
         try {
@@ -18657,14 +21445,22 @@
         super("updateGatewayResourceProfile");
       }
 
+      @Override
       public updateGatewayResourceProfile_args getEmptyArgsInstance() {
         return new updateGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayResourceProfile_result getResult(I iface, updateGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
         try {
@@ -18682,14 +21478,22 @@
         super("deleteGatewayResourceProfile");
       }
 
+      @Override
       public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
         return new deleteGatewayResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGatewayResourceProfile_result getResult(I iface, deleteGatewayResourceProfile_args args) throws org.apache.thrift.TException {
         deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
         try {
@@ -18707,14 +21511,22 @@
         super("addGatewayComputeResourcePreference");
       }
 
+      @Override
       public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new addGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGatewayComputeResourcePreference_result getResult(I iface, addGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
         try {
@@ -18732,14 +21544,22 @@
         super("addGatewayStoragePreference");
       }
 
+      @Override
       public addGatewayStoragePreference_args getEmptyArgsInstance() {
         return new addGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGatewayStoragePreference_result getResult(I iface, addGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
         try {
@@ -18757,14 +21577,22 @@
         super("getGatewayComputeResourcePreference");
       }
 
+      @Override
       public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayComputeResourcePreference_result getResult(I iface, getGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
         try {
@@ -18781,14 +21609,22 @@
         super("getGatewayStoragePreference");
       }
 
+      @Override
       public getGatewayStoragePreference_args getEmptyArgsInstance() {
         return new getGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayStoragePreference_result getResult(I iface, getGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
         try {
@@ -18805,14 +21641,22 @@
         super("getAllGatewayComputeResourcePreferences");
       }
 
+      @Override
       public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayComputeResourcePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewayComputeResourcePreferences_result getResult(I iface, getAllGatewayComputeResourcePreferences_args args) throws org.apache.thrift.TException {
         getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
         try {
@@ -18829,14 +21673,22 @@
         super("getAllGatewayStoragePreferences");
       }
 
+      @Override
       public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayStoragePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewayStoragePreferences_result getResult(I iface, getAllGatewayStoragePreferences_args args) throws org.apache.thrift.TException {
         getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
         try {
@@ -18853,14 +21705,22 @@
         super("getAllGatewayResourceProfiles");
       }
 
+      @Override
       public getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
         return new getAllGatewayResourceProfiles_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllGatewayResourceProfiles_result getResult(I iface, getAllGatewayResourceProfiles_args args) throws org.apache.thrift.TException {
         getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
         try {
@@ -18877,14 +21737,22 @@
         super("updateGatewayComputeResourcePreference");
       }
 
+      @Override
       public updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayComputeResourcePreference_result getResult(I iface, updateGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
         try {
@@ -18902,14 +21770,22 @@
         super("updateGatewayStoragePreference");
       }
 
+      @Override
       public updateGatewayStoragePreference_args getEmptyArgsInstance() {
         return new updateGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayStoragePreference_result getResult(I iface, updateGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
         try {
@@ -18927,14 +21803,22 @@
         super("deleteGatewayComputeResourcePreference");
       }
 
+      @Override
       public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteGatewayComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGatewayComputeResourcePreference_result getResult(I iface, deleteGatewayComputeResourcePreference_args args) throws org.apache.thrift.TException {
         deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
         try {
@@ -18952,14 +21836,22 @@
         super("deleteGatewayStoragePreference");
       }
 
+      @Override
       public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
         return new deleteGatewayStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGatewayStoragePreference_result getResult(I iface, deleteGatewayStoragePreference_args args) throws org.apache.thrift.TException {
         deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
         try {
@@ -18977,14 +21869,22 @@
         super("registerUserResourceProfile");
       }
 
+      @Override
       public registerUserResourceProfile_args getEmptyArgsInstance() {
         return new registerUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerUserResourceProfile_result getResult(I iface, registerUserResourceProfile_args args) throws org.apache.thrift.TException {
         registerUserResourceProfile_result result = new registerUserResourceProfile_result();
         try {
@@ -19001,14 +21901,22 @@
         super("isUserResourceProfileExists");
       }
 
+      @Override
       public isUserResourceProfileExists_args getEmptyArgsInstance() {
         return new isUserResourceProfileExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserResourceProfileExists_result getResult(I iface, isUserResourceProfileExists_args args) throws org.apache.thrift.TException {
         isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
         try {
@@ -19021,19 +21929,126 @@
       }
     }
 
+    public static class isUserComputeResourcePreferenceExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isUserComputeResourcePreferenceExists_args> {
+      public isUserComputeResourcePreferenceExists() {
+        super("isUserComputeResourcePreferenceExists");
+      }
+
+      @Override
+      public isUserComputeResourcePreferenceExists_args getEmptyArgsInstance() {
+        return new isUserComputeResourcePreferenceExists_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public isUserComputeResourcePreferenceExists_result getResult(I iface, isUserComputeResourcePreferenceExists_args args) throws org.apache.thrift.TException {
+        isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
+        try {
+          result.success = iface.isUserComputeResourcePreferenceExists(args.userId, args.gatewayID, args.computeResourceId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class isGroupComputeResourcePreferenceExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isGroupComputeResourcePreferenceExists_args> {
+      public isGroupComputeResourcePreferenceExists() {
+        super("isGroupComputeResourcePreferenceExists");
+      }
+
+      @Override
+      public isGroupComputeResourcePreferenceExists_args getEmptyArgsInstance() {
+        return new isGroupComputeResourcePreferenceExists_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public isGroupComputeResourcePreferenceExists_result getResult(I iface, isGroupComputeResourcePreferenceExists_args args) throws org.apache.thrift.TException {
+        isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
+        try {
+          result.success = iface.isGroupComputeResourcePreferenceExists(args.computeResourceId, args.groupResourceProfileId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
+    public static class isGroupResourceProfileExists<I extends Iface> extends org.apache.thrift.ProcessFunction<I, isGroupResourceProfileExists_args> {
+      public isGroupResourceProfileExists() {
+        super("isGroupResourceProfileExists");
+      }
+
+      @Override
+      public isGroupResourceProfileExists_args getEmptyArgsInstance() {
+        return new isGroupResourceProfileExists_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public isGroupResourceProfileExists_result getResult(I iface, isGroupResourceProfileExists_args args) throws org.apache.thrift.TException {
+        isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
+        try {
+          result.success = iface.isGroupResourceProfileExists(args.groupResourceProfileId);
+          result.setSuccessIsSet(true);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class getUserResourceProfile<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getUserResourceProfile_args> {
       public getUserResourceProfile() {
         super("getUserResourceProfile");
       }
 
+      @Override
       public getUserResourceProfile_args getEmptyArgsInstance() {
         return new getUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserResourceProfile_result getResult(I iface, getUserResourceProfile_args args) throws org.apache.thrift.TException {
         getUserResourceProfile_result result = new getUserResourceProfile_result();
         try {
@@ -19050,14 +22065,22 @@
         super("updateUserResourceProfile");
       }
 
+      @Override
       public updateUserResourceProfile_args getEmptyArgsInstance() {
         return new updateUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserResourceProfile_result getResult(I iface, updateUserResourceProfile_args args) throws org.apache.thrift.TException {
         updateUserResourceProfile_result result = new updateUserResourceProfile_result();
         try {
@@ -19075,14 +22098,22 @@
         super("deleteUserResourceProfile");
       }
 
+      @Override
       public deleteUserResourceProfile_args getEmptyArgsInstance() {
         return new deleteUserResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserResourceProfile_result getResult(I iface, deleteUserResourceProfile_args args) throws org.apache.thrift.TException {
         deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
         try {
@@ -19100,14 +22131,22 @@
         super("addUser");
       }
 
+      @Override
       public addUser_args getEmptyArgsInstance() {
         return new addUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUser_result getResult(I iface, addUser_args args) throws org.apache.thrift.TException {
         addUser_result result = new addUser_result();
         try {
@@ -19126,14 +22165,22 @@
         super("addUserComputeResourcePreference");
       }
 
+      @Override
       public addUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new addUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUserComputeResourcePreference_result getResult(I iface, addUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
         try {
@@ -19151,14 +22198,22 @@
         super("addUserStoragePreference");
       }
 
+      @Override
       public addUserStoragePreference_args getEmptyArgsInstance() {
         return new addUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUserStoragePreference_result getResult(I iface, addUserStoragePreference_args args) throws org.apache.thrift.TException {
         addUserStoragePreference_result result = new addUserStoragePreference_result();
         try {
@@ -19176,14 +22231,22 @@
         super("getUserComputeResourcePreference");
       }
 
+      @Override
       public getUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new getUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserComputeResourcePreference_result getResult(I iface, getUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
         try {
@@ -19200,14 +22263,22 @@
         super("getUserStoragePreference");
       }
 
+      @Override
       public getUserStoragePreference_args getEmptyArgsInstance() {
         return new getUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUserStoragePreference_result getResult(I iface, getUserStoragePreference_args args) throws org.apache.thrift.TException {
         getUserStoragePreference_result result = new getUserStoragePreference_result();
         try {
@@ -19224,14 +22295,22 @@
         super("getAllUserComputeResourcePreferences");
       }
 
+      @Override
       public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllUserComputeResourcePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserComputeResourcePreferences_result getResult(I iface, getAllUserComputeResourcePreferences_args args) throws org.apache.thrift.TException {
         getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
         try {
@@ -19248,14 +22327,22 @@
         super("getAllUserStoragePreferences");
       }
 
+      @Override
       public getAllUserStoragePreferences_args getEmptyArgsInstance() {
         return new getAllUserStoragePreferences_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserStoragePreferences_result getResult(I iface, getAllUserStoragePreferences_args args) throws org.apache.thrift.TException {
         getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
         try {
@@ -19272,14 +22359,22 @@
         super("getAllUserResourceProfiles");
       }
 
+      @Override
       public getAllUserResourceProfiles_args getEmptyArgsInstance() {
         return new getAllUserResourceProfiles_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllUserResourceProfiles_result getResult(I iface, getAllUserResourceProfiles_args args) throws org.apache.thrift.TException {
         getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
         try {
@@ -19296,14 +22391,22 @@
         super("updateUserComputeResourcePreference");
       }
 
+      @Override
       public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserComputeResourcePreference_result getResult(I iface, updateUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
         try {
@@ -19321,14 +22424,22 @@
         super("updateUserStoragePreference");
       }
 
+      @Override
       public updateUserStoragePreference_args getEmptyArgsInstance() {
         return new updateUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateUserStoragePreference_result getResult(I iface, updateUserStoragePreference_args args) throws org.apache.thrift.TException {
         updateUserStoragePreference_result result = new updateUserStoragePreference_result();
         try {
@@ -19346,14 +22457,22 @@
         super("deleteUserComputeResourcePreference");
       }
 
+      @Override
       public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteUserComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserComputeResourcePreference_result getResult(I iface, deleteUserComputeResourcePreference_args args) throws org.apache.thrift.TException {
         deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
         try {
@@ -19371,14 +22490,22 @@
         super("deleteUserStoragePreference");
       }
 
+      @Override
       public deleteUserStoragePreference_args getEmptyArgsInstance() {
         return new deleteUserStoragePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUserStoragePreference_result getResult(I iface, deleteUserStoragePreference_args args) throws org.apache.thrift.TException {
         deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
         try {
@@ -19396,14 +22523,22 @@
         super("getLatestQueueStatuses");
       }
 
+      @Override
       public getLatestQueueStatuses_args getEmptyArgsInstance() {
         return new getLatestQueueStatuses_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getLatestQueueStatuses_result getResult(I iface, getLatestQueueStatuses_args args) throws org.apache.thrift.TException {
         getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
         try {
@@ -19420,14 +22555,22 @@
         super("registerQueueStatuses");
       }
 
+      @Override
       public registerQueueStatuses_args getEmptyArgsInstance() {
         return new registerQueueStatuses_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerQueueStatuses_result getResult(I iface, registerQueueStatuses_args args) throws org.apache.thrift.TException {
         registerQueueStatuses_result result = new registerQueueStatuses_result();
         try {
@@ -19439,19 +22582,59 @@
       }
     }
 
+    public static class getQueueStatus<I extends Iface> extends org.apache.thrift.ProcessFunction<I, getQueueStatus_args> {
+      public getQueueStatus() {
+        super("getQueueStatus");
+      }
+
+      @Override
+      public getQueueStatus_args getEmptyArgsInstance() {
+        return new getQueueStatus_args();
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
+      public getQueueStatus_result getResult(I iface, getQueueStatus_args args) throws org.apache.thrift.TException {
+        getQueueStatus_result result = new getQueueStatus_result();
+        try {
+          result.success = iface.getQueueStatus(args.hostName, args.queueName);
+        } catch (org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+          result.rse = rse;
+        }
+        return result;
+      }
+    }
+
     public static class registerDataProduct<I extends Iface> extends org.apache.thrift.ProcessFunction<I, registerDataProduct_args> {
       public registerDataProduct() {
         super("registerDataProduct");
       }
 
+      @Override
       public registerDataProduct_args getEmptyArgsInstance() {
         return new registerDataProduct_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerDataProduct_result getResult(I iface, registerDataProduct_args args) throws org.apache.thrift.TException {
         registerDataProduct_result result = new registerDataProduct_result();
         try {
@@ -19468,14 +22651,22 @@
         super("getDataProduct");
       }
 
+      @Override
       public getDataProduct_args getEmptyArgsInstance() {
         return new getDataProduct_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getDataProduct_result getResult(I iface, getDataProduct_args args) throws org.apache.thrift.TException {
         getDataProduct_result result = new getDataProduct_result();
         try {
@@ -19492,14 +22683,22 @@
         super("registerReplicaLocation");
       }
 
+      @Override
       public registerReplicaLocation_args getEmptyArgsInstance() {
         return new registerReplicaLocation_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public registerReplicaLocation_result getResult(I iface, registerReplicaLocation_args args) throws org.apache.thrift.TException {
         registerReplicaLocation_result result = new registerReplicaLocation_result();
         try {
@@ -19516,14 +22715,22 @@
         super("getParentDataProduct");
       }
 
+      @Override
       public getParentDataProduct_args getEmptyArgsInstance() {
         return new getParentDataProduct_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParentDataProduct_result getResult(I iface, getParentDataProduct_args args) throws org.apache.thrift.TException {
         getParentDataProduct_result result = new getParentDataProduct_result();
         try {
@@ -19540,14 +22747,22 @@
         super("getChildDataProducts");
       }
 
+      @Override
       public getChildDataProducts_args getEmptyArgsInstance() {
         return new getChildDataProducts_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getChildDataProducts_result getResult(I iface, getChildDataProducts_args args) throws org.apache.thrift.TException {
         getChildDataProducts_result result = new getChildDataProducts_result();
         try {
@@ -19564,14 +22779,22 @@
         super("searchDataProductsByName");
       }
 
+      @Override
       public searchDataProductsByName_args getEmptyArgsInstance() {
         return new searchDataProductsByName_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public searchDataProductsByName_result getResult(I iface, searchDataProductsByName_args args) throws org.apache.thrift.TException {
         searchDataProductsByName_result result = new searchDataProductsByName_result();
         try {
@@ -19588,14 +22811,22 @@
         super("createGroupResourceProfile");
       }
 
+      @Override
       public createGroupResourceProfile_args getEmptyArgsInstance() {
         return new createGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createGroupResourceProfile_result getResult(I iface, createGroupResourceProfile_args args) throws org.apache.thrift.TException {
         createGroupResourceProfile_result result = new createGroupResourceProfile_result();
         try {
@@ -19612,14 +22843,22 @@
         super("updateGroupResourceProfile");
       }
 
+      @Override
       public updateGroupResourceProfile_args getEmptyArgsInstance() {
         return new updateGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGroupResourceProfile_result getResult(I iface, updateGroupResourceProfile_args args) throws org.apache.thrift.TException {
         updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
         try {
@@ -19636,14 +22875,22 @@
         super("getGroupResourceProfile");
       }
 
+      @Override
       public getGroupResourceProfile_args getEmptyArgsInstance() {
         return new getGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupResourceProfile_result getResult(I iface, getGroupResourceProfile_args args) throws org.apache.thrift.TException {
         getGroupResourceProfile_result result = new getGroupResourceProfile_result();
         try {
@@ -19660,14 +22907,22 @@
         super("removeGroupResourceProfile");
       }
 
+      @Override
       public removeGroupResourceProfile_args getEmptyArgsInstance() {
         return new removeGroupResourceProfile_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupResourceProfile_result getResult(I iface, removeGroupResourceProfile_args args) throws org.apache.thrift.TException {
         removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
         try {
@@ -19685,14 +22940,22 @@
         super("getGroupResourceList");
       }
 
+      @Override
       public getGroupResourceList_args getEmptyArgsInstance() {
         return new getGroupResourceList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupResourceList_result getResult(I iface, getGroupResourceList_args args) throws org.apache.thrift.TException {
         getGroupResourceList_result result = new getGroupResourceList_result();
         try {
@@ -19709,14 +22972,22 @@
         super("removeGroupComputePrefs");
       }
 
+      @Override
       public removeGroupComputePrefs_args getEmptyArgsInstance() {
         return new removeGroupComputePrefs_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupComputePrefs_result getResult(I iface, removeGroupComputePrefs_args args) throws org.apache.thrift.TException {
         removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
         try {
@@ -19734,14 +23005,22 @@
         super("removeGroupComputeResourcePolicy");
       }
 
+      @Override
       public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupComputeResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupComputeResourcePolicy_result getResult(I iface, removeGroupComputeResourcePolicy_args args) throws org.apache.thrift.TException {
         removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
         try {
@@ -19759,14 +23038,22 @@
         super("removeGroupBatchQueueResourcePolicy");
       }
 
+      @Override
       public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupBatchQueueResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupBatchQueueResourcePolicy_result getResult(I iface, removeGroupBatchQueueResourcePolicy_args args) throws org.apache.thrift.TException {
         removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
         try {
@@ -19784,14 +23071,22 @@
         super("getGroupComputeResourcePreference");
       }
 
+      @Override
       public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePreference_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePreference_result getResult(I iface, getGroupComputeResourcePreference_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
         try {
@@ -19808,14 +23103,22 @@
         super("getGroupComputeResourcePolicy");
       }
 
+      @Override
       public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePolicy_result getResult(I iface, getGroupComputeResourcePolicy_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
         try {
@@ -19832,14 +23135,22 @@
         super("getBatchQueueResourcePolicy");
       }
 
+      @Override
       public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new getBatchQueueResourcePolicy_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getBatchQueueResourcePolicy_result getResult(I iface, getBatchQueueResourcePolicy_args args) throws org.apache.thrift.TException {
         getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
         try {
@@ -19856,14 +23167,22 @@
         super("getGroupComputeResourcePrefList");
       }
 
+      @Override
       public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePrefList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePrefList_result getResult(I iface, getGroupComputeResourcePrefList_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
         try {
@@ -19880,14 +23199,22 @@
         super("getGroupBatchQueueResourcePolicyList");
       }
 
+      @Override
       public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupBatchQueueResourcePolicyList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupBatchQueueResourcePolicyList_result getResult(I iface, getGroupBatchQueueResourcePolicyList_args args) throws org.apache.thrift.TException {
         getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
         try {
@@ -19904,14 +23231,22 @@
         super("getGroupComputeResourcePolicyList");
       }
 
+      @Override
       public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicyList_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupComputeResourcePolicyList_result getResult(I iface, getGroupComputeResourcePolicyList_args args) throws org.apache.thrift.TException {
         getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
         try {
@@ -19928,14 +23263,22 @@
         super("createGatewayGroups");
       }
 
+      @Override
       public createGatewayGroups_args getEmptyArgsInstance() {
         return new createGatewayGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createGatewayGroups_result getResult(I iface, createGatewayGroups_args args) throws org.apache.thrift.TException {
         createGatewayGroups_result result = new createGatewayGroups_result();
         try {
@@ -19954,14 +23297,22 @@
         super("updateGatewayGroups");
       }
 
+      @Override
       public updateGatewayGroups_args getEmptyArgsInstance() {
         return new updateGatewayGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGatewayGroups_result getResult(I iface, updateGatewayGroups_args args) throws org.apache.thrift.TException {
         updateGatewayGroups_result result = new updateGatewayGroups_result();
         try {
@@ -19978,14 +23329,22 @@
         super("isGatewayGroupsExists");
       }
 
+      @Override
       public isGatewayGroupsExists_args getEmptyArgsInstance() {
         return new isGatewayGroupsExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isGatewayGroupsExists_result getResult(I iface, isGatewayGroupsExists_args args) throws org.apache.thrift.TException {
         isGatewayGroupsExists_result result = new isGatewayGroupsExists_result();
         try {
@@ -20003,14 +23362,22 @@
         super("getGatewayGroups");
       }
 
+      @Override
       public getGatewayGroups_args getEmptyArgsInstance() {
         return new getGatewayGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayGroups_result getResult(I iface, getGatewayGroups_args args) throws org.apache.thrift.TException {
         getGatewayGroups_result result = new getGatewayGroups_result();
         try {
@@ -20027,14 +23394,22 @@
         super("getParser");
       }
 
+      @Override
       public getParser_args getEmptyArgsInstance() {
         return new getParser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParser_result getResult(I iface, getParser_args args) throws org.apache.thrift.TException {
         getParser_result result = new getParser_result();
         try {
@@ -20051,14 +23426,22 @@
         super("saveParser");
       }
 
+      @Override
       public saveParser_args getEmptyArgsInstance() {
         return new saveParser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public saveParser_result getResult(I iface, saveParser_args args) throws org.apache.thrift.TException {
         saveParser_result result = new saveParser_result();
         try {
@@ -20075,14 +23458,22 @@
         super("listAllParsers");
       }
 
+      @Override
       public listAllParsers_args getEmptyArgsInstance() {
         return new listAllParsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public listAllParsers_result getResult(I iface, listAllParsers_args args) throws org.apache.thrift.TException {
         listAllParsers_result result = new listAllParsers_result();
         try {
@@ -20099,14 +23490,22 @@
         super("removeParser");
       }
 
+      @Override
       public removeParser_args getEmptyArgsInstance() {
         return new removeParser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeParser_result getResult(I iface, removeParser_args args) throws org.apache.thrift.TException {
         removeParser_result result = new removeParser_result();
         try {
@@ -20123,14 +23522,22 @@
         super("getParserInput");
       }
 
+      @Override
       public getParserInput_args getEmptyArgsInstance() {
         return new getParserInput_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParserInput_result getResult(I iface, getParserInput_args args) throws org.apache.thrift.TException {
         getParserInput_result result = new getParserInput_result();
         try {
@@ -20147,14 +23554,22 @@
         super("getParserOutput");
       }
 
+      @Override
       public getParserOutput_args getEmptyArgsInstance() {
         return new getParserOutput_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParserOutput_result getResult(I iface, getParserOutput_args args) throws org.apache.thrift.TException {
         getParserOutput_result result = new getParserOutput_result();
         try {
@@ -20171,14 +23586,22 @@
         super("getParsingTemplate");
       }
 
+      @Override
       public getParsingTemplate_args getEmptyArgsInstance() {
         return new getParsingTemplate_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParsingTemplate_result getResult(I iface, getParsingTemplate_args args) throws org.apache.thrift.TException {
         getParsingTemplate_result result = new getParsingTemplate_result();
         try {
@@ -20195,14 +23618,22 @@
         super("getParsingTemplatesForExperiment");
       }
 
+      @Override
       public getParsingTemplatesForExperiment_args getEmptyArgsInstance() {
         return new getParsingTemplatesForExperiment_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getParsingTemplatesForExperiment_result getResult(I iface, getParsingTemplatesForExperiment_args args) throws org.apache.thrift.TException {
         getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
         try {
@@ -20219,14 +23650,22 @@
         super("saveParsingTemplate");
       }
 
+      @Override
       public saveParsingTemplate_args getEmptyArgsInstance() {
         return new saveParsingTemplate_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public saveParsingTemplate_result getResult(I iface, saveParsingTemplate_args args) throws org.apache.thrift.TException {
         saveParsingTemplate_result result = new saveParsingTemplate_result();
         try {
@@ -20243,14 +23682,22 @@
         super("listAllParsingTemplates");
       }
 
+      @Override
       public listAllParsingTemplates_args getEmptyArgsInstance() {
         return new listAllParsingTemplates_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public listAllParsingTemplates_result getResult(I iface, listAllParsingTemplates_args args) throws org.apache.thrift.TException {
         listAllParsingTemplates_result result = new listAllParsingTemplates_result();
         try {
@@ -20267,14 +23714,22 @@
         super("removeParsingTemplate");
       }
 
+      @Override
       public removeParsingTemplate_args getEmptyArgsInstance() {
         return new removeParsingTemplate_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeParsingTemplate_result getResult(I iface, removeParsingTemplate_args args) throws org.apache.thrift.TException {
         removeParsingTemplate_result result = new removeParsingTemplate_result();
         try {
@@ -20291,14 +23746,22 @@
         super("isGatewayUsageReportingAvailable");
       }
 
+      @Override
       public isGatewayUsageReportingAvailable_args getEmptyArgsInstance() {
         return new isGatewayUsageReportingAvailable_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isGatewayUsageReportingAvailable_result getResult(I iface, isGatewayUsageReportingAvailable_args args) throws org.apache.thrift.TException {
         isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
         try {
@@ -20316,14 +23779,22 @@
         super("getGatewayReportingCommand");
       }
 
+      @Override
       public getGatewayReportingCommand_args getEmptyArgsInstance() {
         return new getGatewayReportingCommand_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGatewayReportingCommand_result getResult(I iface, getGatewayReportingCommand_args args) throws org.apache.thrift.TException {
         getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
         try {
@@ -20340,14 +23811,22 @@
         super("addGatewayUsageReportingCommand");
       }
 
+      @Override
       public addGatewayUsageReportingCommand_args getEmptyArgsInstance() {
         return new addGatewayUsageReportingCommand_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGatewayUsageReportingCommand_result getResult(I iface, addGatewayUsageReportingCommand_args args) throws org.apache.thrift.TException {
         addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
         try {
@@ -20364,14 +23843,22 @@
         super("removeGatewayUsageReportingCommand");
       }
 
+      @Override
       public removeGatewayUsageReportingCommand_args getEmptyArgsInstance() {
         return new removeGatewayUsageReportingCommand_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGatewayUsageReportingCommand_result getResult(I iface, removeGatewayUsageReportingCommand_args args) throws org.apache.thrift.TException {
         removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
         try {
@@ -20438,13 +23925,19 @@
       processMap.put("updateExperimentStatus", new updateExperimentStatus());
       processMap.put("addJobStatus", new addJobStatus());
       processMap.put("addJob", new addJob());
+      processMap.put("deleteJobs", new deleteJobs());
+      processMap.put("getJobCount", new getJobCount());
+      processMap.put("getAVGTimeDistribution", new getAVGTimeDistribution());
       processMap.put("addProcess", new addProcess());
       processMap.put("updateProcess", new updateProcess());
       processMap.put("addTask", new addTask());
+      processMap.put("deleteTasks", new deleteTasks());
       processMap.put("getUserConfigurationData", new getUserConfigurationData());
       processMap.put("getProcess", new getProcess());
       processMap.put("getProcessList", new getProcessList());
       processMap.put("getProcessStatus", new getProcessStatus());
+      processMap.put("getProcessListInState", new getProcessListInState());
+      processMap.put("getProcessStatusList", new getProcessStatusList());
       processMap.put("isJobExist", new isJobExist());
       processMap.put("getJob", new getJob());
       processMap.put("getJobs", new getJobs());
@@ -20540,6 +24033,9 @@
       processMap.put("deleteGatewayStoragePreference", new deleteGatewayStoragePreference());
       processMap.put("registerUserResourceProfile", new registerUserResourceProfile());
       processMap.put("isUserResourceProfileExists", new isUserResourceProfileExists());
+      processMap.put("isUserComputeResourcePreferenceExists", new isUserComputeResourcePreferenceExists());
+      processMap.put("isGroupComputeResourcePreferenceExists", new isGroupComputeResourcePreferenceExists());
+      processMap.put("isGroupResourceProfileExists", new isGroupResourceProfileExists());
       processMap.put("getUserResourceProfile", new getUserResourceProfile());
       processMap.put("updateUserResourceProfile", new updateUserResourceProfile());
       processMap.put("deleteUserResourceProfile", new deleteUserResourceProfile());
@@ -20557,6 +24053,7 @@
       processMap.put("deleteUserStoragePreference", new deleteUserStoragePreference());
       processMap.put("getLatestQueueStatuses", new getLatestQueueStatuses());
       processMap.put("registerQueueStatuses", new registerQueueStatuses());
+      processMap.put("getQueueStatus", new getQueueStatus());
       processMap.put("registerDataProduct", new registerDataProduct());
       processMap.put("getDataProduct", new getDataProduct());
       processMap.put("registerReplicaLocation", new registerReplicaLocation());
@@ -20604,13 +24101,16 @@
         super("isUserExists");
       }
 
+      @Override
       public isUserExists_args getEmptyArgsInstance() {
         return new isUserExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserExists_result result = new isUserExists_result();
             result.success = o;
@@ -20625,6 +24125,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -20656,10 +24157,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserExists(args.gatewayId, args.userName,resultHandler);
       }
@@ -20670,13 +24173,16 @@
         super("addGateway");
       }
 
+      @Override
       public addGateway_args getEmptyArgsInstance() {
         return new addGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addGateway_result result = new addGateway_result();
             result.success = o;
@@ -20690,6 +24196,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -20725,10 +24232,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addGateway(args.gateway,resultHandler);
       }
@@ -20739,13 +24248,16 @@
         super("getAllUsersInGateway");
       }
 
+      @Override
       public getAllUsersInGateway_args getEmptyArgsInstance() {
         return new getAllUsersInGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAllUsersInGateway_result result = new getAllUsersInGateway_result();
             result.success = o;
@@ -20759,6 +24271,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -20790,10 +24303,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUsersInGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUsersInGateway(args.gatewayId,resultHandler);
       }
@@ -20804,13 +24319,16 @@
         super("updateGateway");
       }
 
+      @Override
       public updateGateway_args getEmptyArgsInstance() {
         return new updateGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGateway_result result = new updateGateway_result();
             result.success = o;
@@ -20825,6 +24343,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -20856,10 +24375,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGateway(args.gatewayId, args.updatedGateway,resultHandler);
       }
@@ -20870,13 +24391,16 @@
         super("getGateway");
       }
 
+      @Override
       public getGateway_args getEmptyArgsInstance() {
         return new getGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Gateway o) {
             getGateway_result result = new getGateway_result();
             result.success = o;
@@ -20890,6 +24414,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -20921,10 +24446,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGateway_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Gateway> resultHandler) throws org.apache.thrift.TException {
         iface.getGateway(args.gatewayId,resultHandler);
       }
@@ -20935,13 +24462,16 @@
         super("deleteGateway");
       }
 
+      @Override
       public deleteGateway_args getEmptyArgsInstance() {
         return new deleteGateway_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGateway_result result = new deleteGateway_result();
             result.success = o;
@@ -20956,6 +24486,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -20987,10 +24518,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGateway_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGateway(args.gatewayId,resultHandler);
       }
@@ -21001,13 +24534,16 @@
         super("getAllGateways");
       }
 
+      @Override
       public getAllGateways_args getEmptyArgsInstance() {
         return new getAllGateways_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Gateway> o) {
             getAllGateways_result result = new getAllGateways_result();
             result.success = o;
@@ -21021,6 +24557,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21052,10 +24589,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGateways_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Gateway>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGateways(resultHandler);
       }
@@ -21066,13 +24605,16 @@
         super("isGatewayExist");
       }
 
+      @Override
       public isGatewayExist_args getEmptyArgsInstance() {
         return new isGatewayExist_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isGatewayExist_result result = new isGatewayExist_result();
             result.success = o;
@@ -21087,6 +24629,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21118,10 +24661,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isGatewayExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isGatewayExist(args.gatewayId,resultHandler);
       }
@@ -21132,13 +24677,16 @@
         super("createNotification");
       }
 
+      @Override
       public createNotification_args getEmptyArgsInstance() {
         return new createNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createNotification_result result = new createNotification_result();
             result.success = o;
@@ -21152,6 +24700,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21183,10 +24732,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createNotification_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createNotification(args.notification,resultHandler);
       }
@@ -21197,13 +24748,16 @@
         super("updateNotification");
       }
 
+      @Override
       public updateNotification_args getEmptyArgsInstance() {
         return new updateNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateNotification_result result = new updateNotification_result();
             result.success = o;
@@ -21218,6 +24772,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21249,10 +24804,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateNotification_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateNotification(args.notification,resultHandler);
       }
@@ -21263,13 +24820,16 @@
         super("deleteNotification");
       }
 
+      @Override
       public deleteNotification_args getEmptyArgsInstance() {
         return new deleteNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteNotification_result result = new deleteNotification_result();
             result.success = o;
@@ -21284,6 +24844,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21315,10 +24876,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteNotification_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteNotification(args.gatewayId, args.notificationId,resultHandler);
       }
@@ -21329,13 +24892,16 @@
         super("getNotification");
       }
 
+      @Override
       public getNotification_args getEmptyArgsInstance() {
         return new getNotification_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Notification o) {
             getNotification_result result = new getNotification_result();
             result.success = o;
@@ -21349,6 +24915,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21380,10 +24947,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getNotification_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Notification> resultHandler) throws org.apache.thrift.TException {
         iface.getNotification(args.gatewayId, args.notificationId,resultHandler);
       }
@@ -21394,13 +24963,16 @@
         super("getAllNotifications");
       }
 
+      @Override
       public getAllNotifications_args getEmptyArgsInstance() {
         return new getAllNotifications_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Notification> o) {
             getAllNotifications_result result = new getAllNotifications_result();
             result.success = o;
@@ -21414,6 +24986,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21445,10 +25018,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllNotifications_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Notification>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllNotifications(args.gatewayId,resultHandler);
       }
@@ -21459,13 +25034,16 @@
         super("createProject");
       }
 
+      @Override
       public createProject_args getEmptyArgsInstance() {
         return new createProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createProject_result result = new createProject_result();
             result.success = o;
@@ -21479,6 +25057,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21510,10 +25089,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createProject(args.gatewayId, args.project,resultHandler);
       }
@@ -21524,13 +25105,16 @@
         super("updateProject");
       }
 
+      @Override
       public updateProject_args getEmptyArgsInstance() {
         return new updateProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateProject_result result = new updateProject_result();
             try {
@@ -21543,6 +25127,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21578,10 +25163,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateProject_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateProject(args.projectId, args.updatedProject,resultHandler);
       }
@@ -21592,13 +25179,16 @@
         super("getProject");
       }
 
+      @Override
       public getProject_args getEmptyArgsInstance() {
         return new getProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.Project o) {
             getProject_result result = new getProject_result();
             result.success = o;
@@ -21612,6 +25202,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21647,10 +25238,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProject_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.Project> resultHandler) throws org.apache.thrift.TException {
         iface.getProject(args.projectId,resultHandler);
       }
@@ -21661,13 +25254,16 @@
         super("deleteProject");
       }
 
+      @Override
       public deleteProject_args getEmptyArgsInstance() {
         return new deleteProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteProject_result result = new deleteProject_result();
             result.success = o;
@@ -21682,6 +25278,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21717,10 +25314,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteProject(args.projectId,resultHandler);
       }
@@ -21731,13 +25330,16 @@
         super("getUserProjects");
       }
 
+      @Override
       public getUserProjects_args getEmptyArgsInstance() {
         return new getUserProjects_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
             getUserProjects_result result = new getUserProjects_result();
             result.success = o;
@@ -21751,6 +25353,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21782,10 +25385,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
         iface.getUserProjects(args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
       }
@@ -21796,13 +25401,16 @@
         super("searchProjects");
       }
 
+      @Override
       public searchProjects_args getEmptyArgsInstance() {
         return new searchProjects_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.workspace.Project> o) {
             searchProjects_result result = new searchProjects_result();
             result.success = o;
@@ -21816,6 +25424,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21847,10 +25456,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, searchProjects_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.workspace.Project>> resultHandler) throws org.apache.thrift.TException {
         iface.searchProjects(args.gatewayId, args.userName, args.accessibleProjIds, args.filters, args.limit, args.offset,resultHandler);
       }
@@ -21861,13 +25472,16 @@
         super("searchExperiments");
       }
 
+      @Override
       public searchExperiments_args getEmptyArgsInstance() {
         return new searchExperiments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) {
             searchExperiments_result result = new searchExperiments_result();
             result.success = o;
@@ -21881,6 +25495,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21912,10 +25527,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, searchExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> resultHandler) throws org.apache.thrift.TException {
         iface.searchExperiments(args.gatewayId, args.userName, args.accessibleExpIds, args.filters, args.limit, args.offset,resultHandler);
       }
@@ -21926,13 +25543,16 @@
         super("getExperimentStatistics");
       }
 
+      @Override
       public getExperimentStatistics_args getEmptyArgsInstance() {
         return new getExperimentStatistics_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentStatistics o) {
             getExperimentStatistics_result result = new getExperimentStatistics_result();
             result.success = o;
@@ -21946,6 +25566,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -21977,10 +25598,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentStatistics_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentStatistics(args.gatewayId, args.fromTime, args.toTime, args.userName, args.applicationName, args.resourceHostName, args.accessibleExpIds, args.limit, args.offset,resultHandler);
       }
@@ -21991,13 +25614,16 @@
         super("getExperimentsInProject");
       }
 
+      @Override
       public getExperimentsInProject_args getEmptyArgsInstance() {
         return new getExperimentsInProject_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
             getExperimentsInProject_result result = new getExperimentsInProject_result();
             result.success = o;
@@ -22011,6 +25637,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22046,10 +25673,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentsInProject_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentsInProject(args.gatewayId, args.projectId, args.limit, args.offset,resultHandler);
       }
@@ -22060,13 +25689,16 @@
         super("getUserExperiments");
       }
 
+      @Override
       public getUserExperiments_args getEmptyArgsInstance() {
         return new getUserExperiments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> o) {
             getUserExperiments_result result = new getUserExperiments_result();
             result.success = o;
@@ -22080,6 +25712,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22111,10 +25744,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserExperiments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.experiment.ExperimentModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getUserExperiments(args.gatewayId, args.userName, args.limit, args.offset,resultHandler);
       }
@@ -22125,13 +25760,16 @@
         super("createExperiment");
       }
 
+      @Override
       public createExperiment_args getEmptyArgsInstance() {
         return new createExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createExperiment_result result = new createExperiment_result();
             result.success = o;
@@ -22145,6 +25783,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22176,10 +25815,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createExperiment(args.gatewayId, args.experiment,resultHandler);
       }
@@ -22190,13 +25831,16 @@
         super("deleteExperiment");
       }
 
+      @Override
       public deleteExperiment_args getEmptyArgsInstance() {
         return new deleteExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteExperiment_result result = new deleteExperiment_result();
             result.success = o;
@@ -22211,6 +25855,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22242,10 +25887,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteExperiment(args.experimentId,resultHandler);
       }
@@ -22256,13 +25903,16 @@
         super("getExperiment");
       }
 
+      @Override
       public getExperiment_args getEmptyArgsInstance() {
         return new getExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
             getExperiment_result result = new getExperiment_result();
             result.success = o;
@@ -22276,6 +25926,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22311,10 +25962,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
         iface.getExperiment(args.airavataExperimentId,resultHandler);
       }
@@ -22325,13 +25978,16 @@
         super("getDetailedExperimentTree");
       }
 
+      @Override
       public getDetailedExperimentTree_args getEmptyArgsInstance() {
         return new getDetailedExperimentTree_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.ExperimentModel o) {
             getDetailedExperimentTree_result result = new getDetailedExperimentTree_result();
             result.success = o;
@@ -22345,6 +26001,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22380,10 +26037,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getDetailedExperimentTree_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentModel> resultHandler) throws org.apache.thrift.TException {
         iface.getDetailedExperimentTree(args.airavataExperimentId,resultHandler);
       }
@@ -22394,13 +26053,16 @@
         super("updateExperiment");
       }
 
+      @Override
       public updateExperiment_args getEmptyArgsInstance() {
         return new updateExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateExperiment_result result = new updateExperiment_result();
             try {
@@ -22413,6 +26075,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22448,10 +26111,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateExperiment(args.airavataExperimentId, args.experiment,resultHandler);
       }
@@ -22462,13 +26127,16 @@
         super("updateExperimentConfiguration");
       }
 
+      @Override
       public updateExperimentConfiguration_args getEmptyArgsInstance() {
         return new updateExperimentConfiguration_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateExperimentConfiguration_result result = new updateExperimentConfiguration_result();
             try {
@@ -22481,6 +26149,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22512,10 +26181,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateExperimentConfiguration_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateExperimentConfiguration(args.airavataExperimentId, args.userConfiguration,resultHandler);
       }
@@ -22526,13 +26197,16 @@
         super("updateResourceScheduleing");
       }
 
+      @Override
       public updateResourceScheduleing_args getEmptyArgsInstance() {
         return new updateResourceScheduleing_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateResourceScheduleing_result result = new updateResourceScheduleing_result();
             try {
@@ -22545,6 +26219,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22576,10 +26251,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateResourceScheduleing_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateResourceScheduleing(args.airavataExperimentId, args.resourceScheduling,resultHandler);
       }
@@ -22590,13 +26267,16 @@
         super("getExperimentStatus");
       }
 
+      @Override
       public getExperimentStatus_args getEmptyArgsInstance() {
         return new getExperimentStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.status.ExperimentStatus o) {
             getExperimentStatus_result result = new getExperimentStatus_result();
             result.success = o;
@@ -22610,6 +26290,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22645,10 +26326,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ExperimentStatus> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentStatus(args.airavataExperimentId,resultHandler);
       }
@@ -22659,13 +26342,16 @@
         super("getExperimentOutputs");
       }
 
+      @Override
       public getExperimentOutputs_args getEmptyArgsInstance() {
         return new getExperimentOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getExperimentOutputs_result result = new getExperimentOutputs_result();
             result.success = o;
@@ -22679,6 +26365,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22714,10 +26401,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getExperimentOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getExperimentOutputs(args.airavataExperimentId,resultHandler);
       }
@@ -22728,13 +26417,16 @@
         super("getIntermediateOutputs");
       }
 
+      @Override
       public getIntermediateOutputs_args getEmptyArgsInstance() {
         return new getIntermediateOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getIntermediateOutputs_result result = new getIntermediateOutputs_result();
             result.success = o;
@@ -22748,6 +26440,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22783,10 +26476,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getIntermediateOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getIntermediateOutputs(args.airavataExperimentId,resultHandler);
       }
@@ -22797,13 +26492,16 @@
         super("getJobStatuses");
       }
 
+      @Override
       public getJobStatuses_args getEmptyArgsInstance() {
         return new getJobStatuses_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> o) {
             getJobStatuses_result result = new getJobStatuses_result();
             result.success = o;
@@ -22817,6 +26515,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22852,10 +26551,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getJobStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus>> resultHandler) throws org.apache.thrift.TException {
         iface.getJobStatuses(args.airavataExperimentId,resultHandler);
       }
@@ -22866,13 +26567,16 @@
         super("addExperimentProcessOutputs");
       }
 
+      @Override
       public addExperimentProcessOutputs_args getEmptyArgsInstance() {
         return new addExperimentProcessOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addExperimentProcessOutputs_result result = new addExperimentProcessOutputs_result();
             try {
@@ -22885,6 +26589,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22916,10 +26621,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addExperimentProcessOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addExperimentProcessOutputs(args.outputType, args.outputs, args.id,resultHandler);
       }
@@ -22930,13 +26637,16 @@
         super("addErrors");
       }
 
+      @Override
       public addErrors_args getEmptyArgsInstance() {
         return new addErrors_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addErrors_result result = new addErrors_result();
             try {
@@ -22949,6 +26659,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -22980,10 +26691,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addErrors_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addErrors(args.errorType, args.errorModel, args.id,resultHandler);
       }
@@ -22994,13 +26707,16 @@
         super("addTaskStatus");
       }
 
+      @Override
       public addTaskStatus_args getEmptyArgsInstance() {
         return new addTaskStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addTaskStatus_result result = new addTaskStatus_result();
             try {
@@ -23013,6 +26729,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23044,10 +26761,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addTaskStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addTaskStatus(args.taskStatus, args.taskId,resultHandler);
       }
@@ -23058,13 +26777,16 @@
         super("addProcessStatus");
       }
 
+      @Override
       public addProcessStatus_args getEmptyArgsInstance() {
         return new addProcessStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addProcessStatus_result result = new addProcessStatus_result();
             try {
@@ -23077,6 +26799,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23108,10 +26831,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addProcessStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addProcessStatus(args.processStatus, args.processId,resultHandler);
       }
@@ -23122,13 +26847,16 @@
         super("updateProcessStatus");
       }
 
+      @Override
       public updateProcessStatus_args getEmptyArgsInstance() {
         return new updateProcessStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateProcessStatus_result result = new updateProcessStatus_result();
             try {
@@ -23141,6 +26869,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23172,10 +26901,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateProcessStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateProcessStatus(args.processStatus, args.processId,resultHandler);
       }
@@ -23186,13 +26917,16 @@
         super("updateExperimentStatus");
       }
 
+      @Override
       public updateExperimentStatus_args getEmptyArgsInstance() {
         return new updateExperimentStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateExperimentStatus_result result = new updateExperimentStatus_result();
             try {
@@ -23205,6 +26939,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23236,10 +26971,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateExperimentStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateExperimentStatus(args.experimentStatus, args.experimentId,resultHandler);
       }
@@ -23250,13 +26987,16 @@
         super("addJobStatus");
       }
 
+      @Override
       public addJobStatus_args getEmptyArgsInstance() {
         return new addJobStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addJobStatus_result result = new addJobStatus_result();
             try {
@@ -23269,6 +27009,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23300,10 +27041,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addJobStatus_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addJobStatus(args.jobStatus, args.taskId, args.jobId,resultHandler);
       }
@@ -23314,13 +27057,16 @@
         super("addJob");
       }
 
+      @Override
       public addJob_args getEmptyArgsInstance() {
         return new addJob_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addJob_result result = new addJob_result();
             try {
@@ -23333,6 +27079,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23364,27 +27111,245 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addJob_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addJob(args.jobModel, args.processId,resultHandler);
       }
     }
 
+    public static class deleteJobs<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteJobs_args, Void> {
+      public deleteJobs() {
+        super("deleteJobs");
+      }
+
+      @Override
+      public deleteJobs_args getEmptyArgsInstance() {
+        return new deleteJobs_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
+          public void onComplete(Void o) {
+            deleteJobs_result result = new deleteJobs_result();
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            deleteJobs_result result = new deleteJobs_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, deleteJobs_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteJobs(args.processId,resultHandler);
+      }
+    }
+
+    public static class getJobCount<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getJobCount_args, java.lang.Integer> {
+      public getJobCount() {
+        super("getJobCount");
+      }
+
+      @Override
+      public getJobCount_args getEmptyArgsInstance() {
+        return new getJobCount_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer>() { 
+          @Override
+          public void onComplete(java.lang.Integer o) {
+            getJobCount_result result = new getJobCount_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getJobCount_result result = new getJobCount_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, getJobCount_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Integer> resultHandler) throws org.apache.thrift.TException {
+        iface.getJobCount(args.jobStatus, args.gatewayId, args.searchBackTimeInMinutes,resultHandler);
+      }
+    }
+
+    public static class getAVGTimeDistribution<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getAVGTimeDistribution_args, java.util.Map<java.lang.String,java.lang.Double>> {
+      public getAVGTimeDistribution() {
+        super("getAVGTimeDistribution");
+      }
+
+      @Override
+      public getAVGTimeDistribution_args getEmptyArgsInstance() {
+        return new getAVGTimeDistribution_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.Double>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.Double>>() { 
+          @Override
+          public void onComplete(java.util.Map<java.lang.String,java.lang.Double> o) {
+            getAVGTimeDistribution_result result = new getAVGTimeDistribution_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getAVGTimeDistribution_result result = new getAVGTimeDistribution_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, getAVGTimeDistribution_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.Double>> resultHandler) throws org.apache.thrift.TException {
+        iface.getAVGTimeDistribution(args.gatewayId, args.searchBackTimeInMinutes,resultHandler);
+      }
+    }
+
     public static class addProcess<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, addProcess_args, java.lang.String> {
       public addProcess() {
         super("addProcess");
       }
 
+      @Override
       public addProcess_args getEmptyArgsInstance() {
         return new addProcess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addProcess_result result = new addProcess_result();
             result.success = o;
@@ -23398,6 +27363,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23429,10 +27395,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addProcess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addProcess(args.processModel, args.experimentId,resultHandler);
       }
@@ -23443,13 +27411,16 @@
         super("updateProcess");
       }
 
+      @Override
       public updateProcess_args getEmptyArgsInstance() {
         return new updateProcess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateProcess_result result = new updateProcess_result();
             try {
@@ -23462,6 +27433,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23493,10 +27465,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateProcess_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateProcess(args.processModel, args.processId,resultHandler);
       }
@@ -23507,13 +27481,16 @@
         super("addTask");
       }
 
+      @Override
       public addTask_args getEmptyArgsInstance() {
         return new addTask_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addTask_result result = new addTask_result();
             result.success = o;
@@ -23527,6 +27504,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23558,27 +27536,102 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addTask_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addTask(args.taskModel, args.processId,resultHandler);
       }
     }
 
+    public static class deleteTasks<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, deleteTasks_args, Void> {
+      public deleteTasks() {
+        super("deleteTasks");
+      }
+
+      @Override
+      public deleteTasks_args getEmptyArgsInstance() {
+        return new deleteTasks_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
+          public void onComplete(Void o) {
+            deleteTasks_result result = new deleteTasks_result();
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            deleteTasks_result result = new deleteTasks_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, deleteTasks_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
+        iface.deleteTasks(args.processId,resultHandler);
+      }
+    }
+
     public static class getUserConfigurationData<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserConfigurationData_args, org.apache.airavata.model.experiment.UserConfigurationDataModel> {
       public getUserConfigurationData() {
         super("getUserConfigurationData");
       }
 
+      @Override
       public getUserConfigurationData_args getEmptyArgsInstance() {
         return new getUserConfigurationData_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.experiment.UserConfigurationDataModel o) {
             getUserConfigurationData_result result = new getUserConfigurationData_result();
             result.success = o;
@@ -23592,6 +27645,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23623,10 +27677,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserConfigurationData_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.UserConfigurationDataModel> resultHandler) throws org.apache.thrift.TException {
         iface.getUserConfigurationData(args.experimentId,resultHandler);
       }
@@ -23637,13 +27693,16 @@
         super("getProcess");
       }
 
+      @Override
       public getProcess_args getEmptyArgsInstance() {
         return new getProcess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.process.ProcessModel o) {
             getProcess_result result = new getProcess_result();
             result.success = o;
@@ -23657,6 +27716,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23688,10 +27748,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProcess_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.process.ProcessModel> resultHandler) throws org.apache.thrift.TException {
         iface.getProcess(args.processId,resultHandler);
       }
@@ -23702,13 +27764,16 @@
         super("getProcessList");
       }
 
+      @Override
       public getProcessList_args getEmptyArgsInstance() {
         return new getProcessList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessModel> o) {
             getProcessList_result result = new getProcessList_result();
             result.success = o;
@@ -23722,6 +27787,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23753,10 +27819,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProcessList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getProcessList(args.experimentId,resultHandler);
       }
@@ -23767,13 +27835,16 @@
         super("getProcessStatus");
       }
 
+      @Override
       public getProcessStatus_args getEmptyArgsInstance() {
         return new getProcessStatus_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.status.ProcessStatus o) {
             getProcessStatus_result result = new getProcessStatus_result();
             result.success = o;
@@ -23787,6 +27858,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23818,27 +27890,174 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProcessStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.ProcessStatus> resultHandler) throws org.apache.thrift.TException {
         iface.getProcessStatus(args.processId,resultHandler);
       }
     }
 
+    public static class getProcessListInState<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessListInState_args, java.util.List<org.apache.airavata.model.process.ProcessModel>> {
+      public getProcessListInState() {
+        super("getProcessListInState");
+      }
+
+      @Override
+      public getProcessListInState_args getEmptyArgsInstance() {
+        return new getProcessListInState_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>>() { 
+          @Override
+          public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessModel> o) {
+            getProcessListInState_result result = new getProcessListInState_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getProcessListInState_result result = new getProcessListInState_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, getProcessListInState_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessModel>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessListInState(args.processState,resultHandler);
+      }
+    }
+
+    public static class getProcessStatusList<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getProcessStatusList_args, java.util.List<org.apache.airavata.model.status.ProcessStatus>> {
+      public getProcessStatusList() {
+        super("getProcessStatusList");
+      }
+
+      @Override
+      public getProcessStatusList_args getEmptyArgsInstance() {
+        return new getProcessStatusList_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>>() { 
+          @Override
+          public void onComplete(java.util.List<org.apache.airavata.model.status.ProcessStatus> o) {
+            getProcessStatusList_result result = new getProcessStatusList_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getProcessStatusList_result result = new getProcessStatusList_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, getProcessStatusList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.ProcessStatus>> resultHandler) throws org.apache.thrift.TException {
+        iface.getProcessStatusList(args.processId,resultHandler);
+      }
+    }
+
     public static class isJobExist<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isJobExist_args, java.lang.Boolean> {
       public isJobExist() {
         super("isJobExist");
       }
 
+      @Override
       public isJobExist_args getEmptyArgsInstance() {
         return new isJobExist_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isJobExist_result result = new isJobExist_result();
             result.success = o;
@@ -23853,6 +28072,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23884,10 +28104,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isJobExist_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isJobExist(args.queryType, args.id,resultHandler);
       }
@@ -23898,13 +28120,16 @@
         super("getJob");
       }
 
+      @Override
       public getJob_args getEmptyArgsInstance() {
         return new getJob_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.job.JobModel o) {
             getJob_result result = new getJob_result();
             result.success = o;
@@ -23918,6 +28143,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -23949,10 +28175,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getJob_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.job.JobModel> resultHandler) throws org.apache.thrift.TException {
         iface.getJob(args.queryType, args.id,resultHandler);
       }
@@ -23963,13 +28191,16 @@
         super("getJobs");
       }
 
+      @Override
       public getJobs_args getEmptyArgsInstance() {
         return new getJobs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
             getJobs_result result = new getJobs_result();
             result.success = o;
@@ -23983,6 +28214,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24014,10 +28246,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getJobs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getJobs(args.queryType, args.id,resultHandler);
       }
@@ -24028,13 +28262,16 @@
         super("getProcessOutputs");
       }
 
+      @Override
       public getProcessOutputs_args getEmptyArgsInstance() {
         return new getProcessOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getProcessOutputs_result result = new getProcessOutputs_result();
             result.success = o;
@@ -24048,6 +28285,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24079,10 +28317,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProcessOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getProcessOutputs(args.processId,resultHandler);
       }
@@ -24093,13 +28333,16 @@
         super("getProcessWorkflows");
       }
 
+      @Override
       public getProcessWorkflows_args getEmptyArgsInstance() {
         return new getProcessWorkflows_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.process.ProcessWorkflow> o) {
             getProcessWorkflows_result result = new getProcessWorkflows_result();
             result.success = o;
@@ -24113,6 +28356,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24144,10 +28388,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProcessWorkflows_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.process.ProcessWorkflow>> resultHandler) throws org.apache.thrift.TException {
         iface.getProcessWorkflows(args.processId,resultHandler);
       }
@@ -24158,13 +28404,16 @@
         super("addProcessWorkflow");
       }
 
+      @Override
       public addProcessWorkflow_args getEmptyArgsInstance() {
         return new addProcessWorkflow_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addProcessWorkflow_result result = new addProcessWorkflow_result();
             try {
@@ -24177,6 +28426,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24208,10 +28458,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addProcessWorkflow_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addProcessWorkflow(args.processWorkflow,resultHandler);
       }
@@ -24222,13 +28474,16 @@
         super("getProcessIds");
       }
 
+      @Override
       public getProcessIds_args getEmptyArgsInstance() {
         return new getProcessIds_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getProcessIds_result result = new getProcessIds_result();
             result.success = o;
@@ -24242,6 +28497,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24273,10 +28529,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getProcessIds_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getProcessIds(args.experimentId,resultHandler);
       }
@@ -24287,13 +28545,16 @@
         super("getJobDetails");
       }
 
+      @Override
       public getJobDetails_args getEmptyArgsInstance() {
         return new getJobDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.job.JobModel> o) {
             getJobDetails_result result = new getJobDetails_result();
             result.success = o;
@@ -24307,6 +28568,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24342,10 +28604,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getJobDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.job.JobModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getJobDetails(args.airavataExperimentId,resultHandler);
       }
@@ -24356,13 +28620,16 @@
         super("registerApplicationModule");
       }
 
+      @Override
       public registerApplicationModule_args getEmptyArgsInstance() {
         return new registerApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerApplicationModule_result result = new registerApplicationModule_result();
             result.success = o;
@@ -24376,6 +28643,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24407,10 +28675,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerApplicationModule(args.gatewayId, args.applicationModule,resultHandler);
       }
@@ -24421,13 +28691,16 @@
         super("getApplicationModule");
       }
 
+      @Override
       public getApplicationModule_args getEmptyArgsInstance() {
         return new getApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule o) {
             getApplicationModule_result result = new getApplicationModule_result();
             result.success = o;
@@ -24441,6 +28714,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24472,10 +28746,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationModule(args.appModuleId,resultHandler);
       }
@@ -24486,13 +28762,16 @@
         super("updateApplicationModule");
       }
 
+      @Override
       public updateApplicationModule_args getEmptyArgsInstance() {
         return new updateApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateApplicationModule_result result = new updateApplicationModule_result();
             result.success = o;
@@ -24507,6 +28786,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24538,10 +28818,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateApplicationModule(args.appModuleId, args.applicationModule,resultHandler);
       }
@@ -24552,13 +28834,16 @@
         super("getAllAppModules");
       }
 
+      @Override
       public getAllAppModules_args getEmptyArgsInstance() {
         return new getAllAppModules_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
             getAllAppModules_result result = new getAllAppModules_result();
             result.success = o;
@@ -24572,6 +28857,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24603,10 +28889,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllAppModules(args.gatewayId,resultHandler);
       }
@@ -24617,13 +28905,16 @@
         super("getAccessibleAppModules");
       }
 
+      @Override
       public getAccessibleAppModules_args getEmptyArgsInstance() {
         return new getAccessibleAppModules_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> o) {
             getAccessibleAppModules_result result = new getAccessibleAppModules_result();
             result.success = o;
@@ -24637,6 +28928,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24668,10 +28960,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAccessibleAppModules_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>> resultHandler) throws org.apache.thrift.TException {
         iface.getAccessibleAppModules(args.gatewayId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
       }
@@ -24682,13 +28976,16 @@
         super("deleteApplicationModule");
       }
 
+      @Override
       public deleteApplicationModule_args getEmptyArgsInstance() {
         return new deleteApplicationModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteApplicationModule_result result = new deleteApplicationModule_result();
             result.success = o;
@@ -24703,6 +29000,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24734,10 +29032,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteApplicationModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteApplicationModule(args.appModuleId,resultHandler);
       }
@@ -24748,13 +29048,16 @@
         super("registerApplicationDeployment");
       }
 
+      @Override
       public registerApplicationDeployment_args getEmptyArgsInstance() {
         return new registerApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerApplicationDeployment_result result = new registerApplicationDeployment_result();
             result.success = o;
@@ -24768,6 +29071,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24799,10 +29103,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerApplicationDeployment(args.gatewayId, args.applicationDeployment,resultHandler);
       }
@@ -24813,13 +29119,16 @@
         super("getApplicationDeployment");
       }
 
+      @Override
       public getApplicationDeployment_args getEmptyArgsInstance() {
         return new getApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription o) {
             getApplicationDeployment_result result = new getApplicationDeployment_result();
             result.success = o;
@@ -24833,6 +29142,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24864,10 +29174,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationDeployment(args.appDeploymentId,resultHandler);
       }
@@ -24878,13 +29190,16 @@
         super("updateApplicationDeployment");
       }
 
+      @Override
       public updateApplicationDeployment_args getEmptyArgsInstance() {
         return new updateApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateApplicationDeployment_result result = new updateApplicationDeployment_result();
             result.success = o;
@@ -24899,6 +29214,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24930,10 +29246,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateApplicationDeployment(args.appDeploymentId, args.applicationDeployment,resultHandler);
       }
@@ -24944,13 +29262,16 @@
         super("deleteApplicationDeployment");
       }
 
+      @Override
       public deleteApplicationDeployment_args getEmptyArgsInstance() {
         return new deleteApplicationDeployment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteApplicationDeployment_result result = new deleteApplicationDeployment_result();
             result.success = o;
@@ -24965,6 +29286,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -24996,10 +29318,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteApplicationDeployment_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteApplicationDeployment(args.appDeploymentId,resultHandler);
       }
@@ -25010,13 +29334,16 @@
         super("getAllApplicationDeployments");
       }
 
+      @Override
       public getAllApplicationDeployments_args getEmptyArgsInstance() {
         return new getAllApplicationDeployments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getAllApplicationDeployments_result result = new getAllApplicationDeployments_result();
             result.success = o;
@@ -25030,6 +29357,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25061,10 +29389,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllApplicationDeployments(args.gatewayId,resultHandler);
       }
@@ -25075,13 +29405,16 @@
         super("getAccessibleApplicationDeployments");
       }
 
+      @Override
       public getAccessibleApplicationDeployments_args getEmptyArgsInstance() {
         return new getAccessibleApplicationDeployments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getAccessibleApplicationDeployments_result result = new getAccessibleApplicationDeployments_result();
             result.success = o;
@@ -25095,6 +29428,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25126,10 +29460,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAccessibleApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAccessibleApplicationDeployments(args.gatewayId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
       }
@@ -25140,13 +29476,16 @@
         super("getAccessibleApplicationDeploymentsForAppModule");
       }
 
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_args getEmptyArgsInstance() {
         return new getAccessibleApplicationDeploymentsForAppModule_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getAccessibleApplicationDeploymentsForAppModule_result result = new getAccessibleApplicationDeploymentsForAppModule_result();
             result.success = o;
@@ -25160,6 +29499,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25191,10 +29531,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAccessibleApplicationDeploymentsForAppModule_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAccessibleApplicationDeploymentsForAppModule(args.gatewayId, args.appModuleId, args.accessibleAppDeploymentIds, args.accessibleComputeResourceIds,resultHandler);
       }
@@ -25205,13 +29547,16 @@
         super("getAppModuleDeployedResources");
       }
 
+      @Override
       public getAppModuleDeployedResources_args getEmptyArgsInstance() {
         return new getAppModuleDeployedResources_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.List<java.lang.String> o) {
             getAppModuleDeployedResources_result result = new getAppModuleDeployedResources_result();
             result.success = o;
@@ -25225,6 +29570,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25256,10 +29602,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAppModuleDeployedResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAppModuleDeployedResources(args.appModuleId,resultHandler);
       }
@@ -25270,13 +29618,16 @@
         super("getApplicationDeployments");
       }
 
+      @Override
       public getApplicationDeployments_args getEmptyArgsInstance() {
         return new getApplicationDeployments_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> o) {
             getApplicationDeployments_result result = new getApplicationDeployments_result();
             result.success = o;
@@ -25290,6 +29641,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25321,10 +29673,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationDeployments_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationDeployments(args.appModuleId,resultHandler);
       }
@@ -25335,13 +29689,16 @@
         super("registerApplicationInterface");
       }
 
+      @Override
       public registerApplicationInterface_args getEmptyArgsInstance() {
         return new registerApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerApplicationInterface_result result = new registerApplicationInterface_result();
             result.success = o;
@@ -25355,6 +29712,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25386,10 +29744,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerApplicationInterface(args.gatewayId, args.applicationInterface,resultHandler);
       }
@@ -25400,13 +29760,16 @@
         super("getApplicationInterface");
       }
 
+      @Override
       public getApplicationInterface_args getEmptyArgsInstance() {
         return new getApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription o) {
             getApplicationInterface_result result = new getApplicationInterface_result();
             result.success = o;
@@ -25420,6 +29783,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25451,10 +29815,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationInterface(args.appInterfaceId,resultHandler);
       }
@@ -25465,13 +29831,16 @@
         super("updateApplicationInterface");
       }
 
+      @Override
       public updateApplicationInterface_args getEmptyArgsInstance() {
         return new updateApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateApplicationInterface_result result = new updateApplicationInterface_result();
             result.success = o;
@@ -25486,6 +29855,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25517,10 +29887,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateApplicationInterface(args.appInterfaceId, args.applicationInterface,resultHandler);
       }
@@ -25531,13 +29903,16 @@
         super("deleteApplicationInterface");
       }
 
+      @Override
       public deleteApplicationInterface_args getEmptyArgsInstance() {
         return new deleteApplicationInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteApplicationInterface_result result = new deleteApplicationInterface_result();
             result.success = o;
@@ -25552,6 +29927,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25583,10 +29959,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteApplicationInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteApplicationInterface(args.appInterfaceId,resultHandler);
       }
@@ -25597,13 +29975,16 @@
         super("getAllApplicationInterfaceNames");
       }
 
+      @Override
       public getAllApplicationInterfaceNames_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaceNames_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllApplicationInterfaceNames_result result = new getAllApplicationInterfaceNames_result();
             result.success = o;
@@ -25617,6 +29998,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25648,10 +30030,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllApplicationInterfaceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllApplicationInterfaceNames(args.gatewayId,resultHandler);
       }
@@ -25662,13 +30046,16 @@
         super("getAllApplicationInterfaces");
       }
 
+      @Override
       public getAllApplicationInterfaces_args getEmptyArgsInstance() {
         return new getAllApplicationInterfaces_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> o) {
             getAllApplicationInterfaces_result result = new getAllApplicationInterfaces_result();
             result.success = o;
@@ -25682,6 +30069,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25713,10 +30101,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllApplicationInterfaces_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllApplicationInterfaces(args.gatewayId,resultHandler);
       }
@@ -25727,13 +30117,16 @@
         super("getApplicationInputs");
       }
 
+      @Override
       public getApplicationInputs_args getEmptyArgsInstance() {
         return new getApplicationInputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> o) {
             getApplicationInputs_result result = new getApplicationInputs_result();
             result.success = o;
@@ -25747,6 +30140,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25778,10 +30172,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationInputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.InputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationInputs(args.appInterfaceId,resultHandler);
       }
@@ -25792,13 +30188,16 @@
         super("getApplicationOutputs");
       }
 
+      @Override
       public getApplicationOutputs_args getEmptyArgsInstance() {
         return new getApplicationOutputs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> o) {
             getApplicationOutputs_result result = new getApplicationOutputs_result();
             result.success = o;
@@ -25812,6 +30211,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25843,10 +30243,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getApplicationOutputs_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType>> resultHandler) throws org.apache.thrift.TException {
         iface.getApplicationOutputs(args.appInterfaceId,resultHandler);
       }
@@ -25857,13 +30259,16 @@
         super("getAvailableAppInterfaceComputeResources");
       }
 
+      @Override
       public getAvailableAppInterfaceComputeResources_args getEmptyArgsInstance() {
         return new getAvailableAppInterfaceComputeResources_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAvailableAppInterfaceComputeResources_result result = new getAvailableAppInterfaceComputeResources_result();
             result.success = o;
@@ -25877,6 +30282,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25908,10 +30314,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAvailableAppInterfaceComputeResources_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAvailableAppInterfaceComputeResources(args.appInterfaceId,resultHandler);
       }
@@ -25922,13 +30330,16 @@
         super("registerComputeResource");
       }
 
+      @Override
       public registerComputeResource_args getEmptyArgsInstance() {
         return new registerComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerComputeResource_result result = new registerComputeResource_result();
             result.success = o;
@@ -25942,6 +30353,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -25973,10 +30385,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerComputeResource(args.computeResourceDescription,resultHandler);
       }
@@ -25987,13 +30401,16 @@
         super("getComputeResource");
       }
 
+      @Override
       public getComputeResource_args getEmptyArgsInstance() {
         return new getComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription o) {
             getComputeResource_result result = new getComputeResource_result();
             result.success = o;
@@ -26007,6 +30424,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26038,10 +30456,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getComputeResource(args.computeResourceId,resultHandler);
       }
@@ -26052,13 +30472,16 @@
         super("getAllComputeResourceNames");
       }
 
+      @Override
       public getAllComputeResourceNames_args getEmptyArgsInstance() {
         return new getAllComputeResourceNames_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllComputeResourceNames_result result = new getAllComputeResourceNames_result();
             result.success = o;
@@ -26072,6 +30495,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26103,10 +30527,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllComputeResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllComputeResourceNames(resultHandler);
       }
@@ -26117,13 +30543,16 @@
         super("updateComputeResource");
       }
 
+      @Override
       public updateComputeResource_args getEmptyArgsInstance() {
         return new updateComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateComputeResource_result result = new updateComputeResource_result();
             result.success = o;
@@ -26138,6 +30567,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26169,10 +30599,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateComputeResource(args.computeResourceId, args.computeResourceDescription,resultHandler);
       }
@@ -26183,13 +30615,16 @@
         super("deleteComputeResource");
       }
 
+      @Override
       public deleteComputeResource_args getEmptyArgsInstance() {
         return new deleteComputeResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteComputeResource_result result = new deleteComputeResource_result();
             result.success = o;
@@ -26204,6 +30639,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26235,10 +30671,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteComputeResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteComputeResource(args.computeResourceId,resultHandler);
       }
@@ -26249,13 +30687,16 @@
         super("registerStorageResource");
       }
 
+      @Override
       public registerStorageResource_args getEmptyArgsInstance() {
         return new registerStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerStorageResource_result result = new registerStorageResource_result();
             result.success = o;
@@ -26269,6 +30710,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26300,10 +30742,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerStorageResource(args.storageResourceDescription,resultHandler);
       }
@@ -26314,13 +30758,16 @@
         super("getStorageResource");
       }
 
+      @Override
       public getStorageResource_args getEmptyArgsInstance() {
         return new getStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription o) {
             getStorageResource_result result = new getStorageResource_result();
             result.success = o;
@@ -26334,6 +30781,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26365,10 +30813,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription> resultHandler) throws org.apache.thrift.TException {
         iface.getStorageResource(args.storageResourceId,resultHandler);
       }
@@ -26379,13 +30829,16 @@
         super("getAllStorageResourceNames");
       }
 
+      @Override
       public getAllStorageResourceNames_args getEmptyArgsInstance() {
         return new getAllStorageResourceNames_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>>() { 
+          @Override
           public void onComplete(java.util.Map<java.lang.String,java.lang.String> o) {
             getAllStorageResourceNames_result result = new getAllStorageResourceNames_result();
             result.success = o;
@@ -26399,6 +30852,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26430,10 +30884,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllStorageResourceNames_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.Map<java.lang.String,java.lang.String>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllStorageResourceNames(resultHandler);
       }
@@ -26444,13 +30900,16 @@
         super("updateStorageResource");
       }
 
+      @Override
       public updateStorageResource_args getEmptyArgsInstance() {
         return new updateStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateStorageResource_result result = new updateStorageResource_result();
             result.success = o;
@@ -26465,6 +30924,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26496,10 +30956,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateStorageResource(args.storageResourceId, args.storageResourceDescription,resultHandler);
       }
@@ -26510,13 +30972,16 @@
         super("deleteStorageResource");
       }
 
+      @Override
       public deleteStorageResource_args getEmptyArgsInstance() {
         return new deleteStorageResource_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteStorageResource_result result = new deleteStorageResource_result();
             result.success = o;
@@ -26531,6 +30996,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26562,10 +31028,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteStorageResource_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteStorageResource(args.storageResourceId,resultHandler);
       }
@@ -26576,13 +31044,16 @@
         super("addLocalSubmissionDetails");
       }
 
+      @Override
       public addLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new addLocalSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addLocalSubmissionDetails_result result = new addLocalSubmissionDetails_result();
             result.success = o;
@@ -26596,6 +31067,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26627,10 +31099,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addLocalSubmissionDetails(args.computeResourceId, args.priorityOrder, args.localSubmission,resultHandler);
       }
@@ -26641,13 +31115,16 @@
         super("updateLocalSubmissionDetails");
       }
 
+      @Override
       public updateLocalSubmissionDetails_args getEmptyArgsInstance() {
         return new updateLocalSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateLocalSubmissionDetails_result result = new updateLocalSubmissionDetails_result();
             result.success = o;
@@ -26662,6 +31139,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26693,10 +31171,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateLocalSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateLocalSubmissionDetails(args.jobSubmissionInterfaceId, args.localSubmission,resultHandler);
       }
@@ -26707,13 +31187,16 @@
         super("getLocalJobSubmission");
       }
 
+      @Override
       public getLocalJobSubmission_args getEmptyArgsInstance() {
         return new getLocalJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission o) {
             getLocalJobSubmission_result result = new getLocalJobSubmission_result();
             result.success = o;
@@ -26727,6 +31210,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26758,10 +31242,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getLocalJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getLocalJobSubmission(args.jobSubmissionId,resultHandler);
       }
@@ -26772,13 +31258,16 @@
         super("addSSHJobSubmissionDetails");
       }
 
+      @Override
       public addSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSSHJobSubmissionDetails_result result = new addSSHJobSubmissionDetails_result();
             result.success = o;
@@ -26792,6 +31281,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26823,10 +31313,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSSHJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
@@ -26837,13 +31329,16 @@
         super("addSSHForkJobSubmissionDetails");
       }
 
+      @Override
       public addSSHForkJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addSSHForkJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSSHForkJobSubmissionDetails_result result = new addSSHForkJobSubmissionDetails_result();
             result.success = o;
@@ -26857,6 +31352,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26888,10 +31384,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSSHForkJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSSHForkJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.sshJobSubmission,resultHandler);
       }
@@ -26902,13 +31400,16 @@
         super("getSSHJobSubmission");
       }
 
+      @Override
       public getSSHJobSubmission_args getEmptyArgsInstance() {
         return new getSSHJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission o) {
             getSSHJobSubmission_result result = new getSSHJobSubmission_result();
             result.success = o;
@@ -26922,6 +31423,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -26953,10 +31455,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getSSHJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getSSHJobSubmission(args.jobSubmissionId,resultHandler);
       }
@@ -26967,13 +31471,16 @@
         super("addUNICOREJobSubmissionDetails");
       }
 
+      @Override
       public addUNICOREJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addUNICOREJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addUNICOREJobSubmissionDetails_result result = new addUNICOREJobSubmissionDetails_result();
             result.success = o;
@@ -26987,6 +31494,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27018,10 +31526,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUNICOREJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addUNICOREJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.unicoreJobSubmission,resultHandler);
       }
@@ -27032,13 +31542,16 @@
         super("getUnicoreJobSubmission");
       }
 
+      @Override
       public getUnicoreJobSubmission_args getEmptyArgsInstance() {
         return new getUnicoreJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission o) {
             getUnicoreJobSubmission_result result = new getUnicoreJobSubmission_result();
             result.success = o;
@@ -27052,6 +31565,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27083,10 +31597,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUnicoreJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getUnicoreJobSubmission(args.jobSubmissionId,resultHandler);
       }
@@ -27097,13 +31613,16 @@
         super("addCloudJobSubmissionDetails");
       }
 
+      @Override
       public addCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new addCloudJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addCloudJobSubmissionDetails_result result = new addCloudJobSubmissionDetails_result();
             result.success = o;
@@ -27117,6 +31636,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27148,10 +31668,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addCloudJobSubmissionDetails(args.computeResourceId, args.priorityOrder, args.cloudSubmission,resultHandler);
       }
@@ -27162,13 +31684,16 @@
         super("getCloudJobSubmission");
       }
 
+      @Override
       public getCloudJobSubmission_args getEmptyArgsInstance() {
         return new getCloudJobSubmission_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission o) {
             getCloudJobSubmission_result result = new getCloudJobSubmission_result();
             result.success = o;
@@ -27182,6 +31707,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27213,10 +31739,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getCloudJobSubmission_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission> resultHandler) throws org.apache.thrift.TException {
         iface.getCloudJobSubmission(args.jobSubmissionId,resultHandler);
       }
@@ -27227,13 +31755,16 @@
         super("updateSSHJobSubmissionDetails");
       }
 
+      @Override
       public updateSSHJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateSSHJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateSSHJobSubmissionDetails_result result = new updateSSHJobSubmissionDetails_result();
             result.success = o;
@@ -27248,6 +31779,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27279,10 +31811,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateSSHJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateSSHJobSubmissionDetails(args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
@@ -27293,13 +31827,16 @@
         super("updateCloudJobSubmissionDetails");
       }
 
+      @Override
       public updateCloudJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateCloudJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateCloudJobSubmissionDetails_result result = new updateCloudJobSubmissionDetails_result();
             result.success = o;
@@ -27314,6 +31851,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27345,10 +31883,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateCloudJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateCloudJobSubmissionDetails(args.jobSubmissionInterfaceId, args.sshJobSubmission,resultHandler);
       }
@@ -27359,13 +31899,16 @@
         super("updateUnicoreJobSubmissionDetails");
       }
 
+      @Override
       public updateUnicoreJobSubmissionDetails_args getEmptyArgsInstance() {
         return new updateUnicoreJobSubmissionDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUnicoreJobSubmissionDetails_result result = new updateUnicoreJobSubmissionDetails_result();
             result.success = o;
@@ -27380,6 +31923,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27411,10 +31955,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUnicoreJobSubmissionDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUnicoreJobSubmissionDetails(args.jobSubmissionInterfaceId, args.unicoreJobSubmission,resultHandler);
       }
@@ -27425,13 +31971,16 @@
         super("addLocalDataMovementDetails");
       }
 
+      @Override
       public addLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new addLocalDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addLocalDataMovementDetails_result result = new addLocalDataMovementDetails_result();
             result.success = o;
@@ -27445,6 +31994,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27476,10 +32026,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addLocalDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.localDataMovement,resultHandler);
       }
@@ -27490,13 +32042,16 @@
         super("updateLocalDataMovementDetails");
       }
 
+      @Override
       public updateLocalDataMovementDetails_args getEmptyArgsInstance() {
         return new updateLocalDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateLocalDataMovementDetails_result result = new updateLocalDataMovementDetails_result();
             result.success = o;
@@ -27511,6 +32066,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27542,10 +32098,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateLocalDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateLocalDataMovementDetails(args.dataMovementInterfaceId, args.localDataMovement,resultHandler);
       }
@@ -27556,13 +32114,16 @@
         super("getLocalDataMovement");
       }
 
+      @Override
       public getLocalDataMovement_args getEmptyArgsInstance() {
         return new getLocalDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.LOCALDataMovement o) {
             getLocalDataMovement_result result = new getLocalDataMovement_result();
             result.success = o;
@@ -27576,6 +32137,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27607,10 +32169,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getLocalDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.LOCALDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getLocalDataMovement(args.dataMovementId,resultHandler);
       }
@@ -27621,13 +32185,16 @@
         super("addSCPDataMovementDetails");
       }
 
+      @Override
       public addSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new addSCPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addSCPDataMovementDetails_result result = new addSCPDataMovementDetails_result();
             result.success = o;
@@ -27641,6 +32208,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27672,10 +32240,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addSCPDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.scpDataMovement,resultHandler);
       }
@@ -27686,13 +32256,16 @@
         super("updateSCPDataMovementDetails");
       }
 
+      @Override
       public updateSCPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateSCPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateSCPDataMovementDetails_result result = new updateSCPDataMovementDetails_result();
             result.success = o;
@@ -27707,6 +32280,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27738,10 +32312,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateSCPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateSCPDataMovementDetails(args.dataMovementInterfaceId, args.scpDataMovement,resultHandler);
       }
@@ -27752,13 +32328,16 @@
         super("getSCPDataMovement");
       }
 
+      @Override
       public getSCPDataMovement_args getEmptyArgsInstance() {
         return new getSCPDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.SCPDataMovement o) {
             getSCPDataMovement_result result = new getSCPDataMovement_result();
             result.success = o;
@@ -27772,6 +32351,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27803,10 +32383,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getSCPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.SCPDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getSCPDataMovement(args.dataMovementId,resultHandler);
       }
@@ -27817,13 +32399,16 @@
         super("addUnicoreDataMovementDetails");
       }
 
+      @Override
       public addUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new addUnicoreDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addUnicoreDataMovementDetails_result result = new addUnicoreDataMovementDetails_result();
             result.success = o;
@@ -27837,6 +32422,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27868,10 +32454,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addUnicoreDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.unicoreDataMovement,resultHandler);
       }
@@ -27882,13 +32470,16 @@
         super("updateUnicoreDataMovementDetails");
       }
 
+      @Override
       public updateUnicoreDataMovementDetails_args getEmptyArgsInstance() {
         return new updateUnicoreDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUnicoreDataMovementDetails_result result = new updateUnicoreDataMovementDetails_result();
             result.success = o;
@@ -27903,6 +32494,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27934,10 +32526,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUnicoreDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUnicoreDataMovementDetails(args.dataMovementInterfaceId, args.unicoreDataMovement,resultHandler);
       }
@@ -27948,13 +32542,16 @@
         super("getUnicoreDataMovement");
       }
 
+      @Override
       public getUnicoreDataMovement_args getEmptyArgsInstance() {
         return new getUnicoreDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.UnicoreDataMovement o) {
             getUnicoreDataMovement_result result = new getUnicoreDataMovement_result();
             result.success = o;
@@ -27968,6 +32565,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -27999,10 +32597,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUnicoreDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.UnicoreDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getUnicoreDataMovement(args.dataMovementId,resultHandler);
       }
@@ -28013,13 +32613,16 @@
         super("addGridFTPDataMovementDetails");
       }
 
+      @Override
       public addGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new addGridFTPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addGridFTPDataMovementDetails_result result = new addGridFTPDataMovementDetails_result();
             result.success = o;
@@ -28033,6 +32636,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28064,10 +32668,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addGridFTPDataMovementDetails(args.productUri, args.dataMoveType, args.priorityOrder, args.gridFTPDataMovement,resultHandler);
       }
@@ -28078,13 +32684,16 @@
         super("updateGridFTPDataMovementDetails");
       }
 
+      @Override
       public updateGridFTPDataMovementDetails_args getEmptyArgsInstance() {
         return new updateGridFTPDataMovementDetails_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGridFTPDataMovementDetails_result result = new updateGridFTPDataMovementDetails_result();
             result.success = o;
@@ -28099,6 +32708,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28130,10 +32740,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGridFTPDataMovementDetails_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGridFTPDataMovementDetails(args.dataMovementInterfaceId, args.gridFTPDataMovement,resultHandler);
       }
@@ -28144,13 +32756,16 @@
         super("getGridFTPDataMovement");
       }
 
+      @Override
       public getGridFTPDataMovement_args getEmptyArgsInstance() {
         return new getGridFTPDataMovement_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.movement.GridFTPDataMovement o) {
             getGridFTPDataMovement_result result = new getGridFTPDataMovement_result();
             result.success = o;
@@ -28164,6 +32779,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28195,10 +32811,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGridFTPDataMovement_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.movement.GridFTPDataMovement> resultHandler) throws org.apache.thrift.TException {
         iface.getGridFTPDataMovement(args.dataMovementId,resultHandler);
       }
@@ -28209,13 +32827,16 @@
         super("changeJobSubmissionPriority");
       }
 
+      @Override
       public changeJobSubmissionPriority_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriority_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeJobSubmissionPriority_result result = new changeJobSubmissionPriority_result();
             result.success = o;
@@ -28230,6 +32851,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28261,10 +32883,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeJobSubmissionPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeJobSubmissionPriority(args.jobSubmissionInterfaceId, args.newPriorityOrder,resultHandler);
       }
@@ -28275,13 +32899,16 @@
         super("changeDataMovementPriority");
       }
 
+      @Override
       public changeDataMovementPriority_args getEmptyArgsInstance() {
         return new changeDataMovementPriority_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeDataMovementPriority_result result = new changeDataMovementPriority_result();
             result.success = o;
@@ -28296,6 +32923,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28327,10 +32955,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeDataMovementPriority_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeDataMovementPriority(args.dataMovementInterfaceId, args.newPriorityOrder,resultHandler);
       }
@@ -28341,13 +32971,16 @@
         super("changeJobSubmissionPriorities");
       }
 
+      @Override
       public changeJobSubmissionPriorities_args getEmptyArgsInstance() {
         return new changeJobSubmissionPriorities_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeJobSubmissionPriorities_result result = new changeJobSubmissionPriorities_result();
             result.success = o;
@@ -28362,6 +32995,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28393,10 +33027,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeJobSubmissionPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeJobSubmissionPriorities(args.jobSubmissionPriorityMap,resultHandler);
       }
@@ -28407,13 +33043,16 @@
         super("changeDataMovementPriorities");
       }
 
+      @Override
       public changeDataMovementPriorities_args getEmptyArgsInstance() {
         return new changeDataMovementPriorities_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             changeDataMovementPriorities_result result = new changeDataMovementPriorities_result();
             result.success = o;
@@ -28428,6 +33067,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28459,10 +33099,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, changeDataMovementPriorities_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.changeDataMovementPriorities(args.dataMovementPriorityMap,resultHandler);
       }
@@ -28473,13 +33115,16 @@
         super("deleteJobSubmissionInterface");
       }
 
+      @Override
       public deleteJobSubmissionInterface_args getEmptyArgsInstance() {
         return new deleteJobSubmissionInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteJobSubmissionInterface_result result = new deleteJobSubmissionInterface_result();
             result.success = o;
@@ -28494,6 +33139,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28525,10 +33171,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteJobSubmissionInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteJobSubmissionInterface(args.computeResourceId, args.jobSubmissionInterfaceId,resultHandler);
       }
@@ -28539,13 +33187,16 @@
         super("deleteDataMovementInterface");
       }
 
+      @Override
       public deleteDataMovementInterface_args getEmptyArgsInstance() {
         return new deleteDataMovementInterface_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteDataMovementInterface_result result = new deleteDataMovementInterface_result();
             result.success = o;
@@ -28560,6 +33211,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28591,10 +33243,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteDataMovementInterface_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteDataMovementInterface(args.productUri, args.dataMovementInterfaceId, args.dataMoveType,resultHandler);
       }
@@ -28605,13 +33259,16 @@
         super("registerResourceJobManager");
       }
 
+      @Override
       public registerResourceJobManager_args getEmptyArgsInstance() {
         return new registerResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerResourceJobManager_result result = new registerResourceJobManager_result();
             result.success = o;
@@ -28625,6 +33282,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28656,10 +33314,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerResourceJobManager(args.resourceJobManager,resultHandler);
       }
@@ -28670,13 +33330,16 @@
         super("updateResourceJobManager");
       }
 
+      @Override
       public updateResourceJobManager_args getEmptyArgsInstance() {
         return new updateResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateResourceJobManager_result result = new updateResourceJobManager_result();
             result.success = o;
@@ -28691,6 +33354,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28722,10 +33386,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateResourceJobManager(args.resourceJobManagerId, args.updatedResourceJobManager,resultHandler);
       }
@@ -28736,13 +33402,16 @@
         super("getResourceJobManager");
       }
 
+      @Override
       public getResourceJobManager_args getEmptyArgsInstance() {
         return new getResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager o) {
             getResourceJobManager_result result = new getResourceJobManager_result();
             result.success = o;
@@ -28756,6 +33425,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28787,10 +33457,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager> resultHandler) throws org.apache.thrift.TException {
         iface.getResourceJobManager(args.resourceJobManagerId,resultHandler);
       }
@@ -28801,13 +33473,16 @@
         super("deleteResourceJobManager");
       }
 
+      @Override
       public deleteResourceJobManager_args getEmptyArgsInstance() {
         return new deleteResourceJobManager_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteResourceJobManager_result result = new deleteResourceJobManager_result();
             result.success = o;
@@ -28822,6 +33497,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28853,10 +33529,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteResourceJobManager_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteResourceJobManager(args.resourceJobManagerId,resultHandler);
       }
@@ -28867,13 +33545,16 @@
         super("deleteBatchQueue");
       }
 
+      @Override
       public deleteBatchQueue_args getEmptyArgsInstance() {
         return new deleteBatchQueue_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteBatchQueue_result result = new deleteBatchQueue_result();
             result.success = o;
@@ -28888,6 +33569,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28919,10 +33601,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteBatchQueue_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteBatchQueue(args.computeResourceId, args.queueName,resultHandler);
       }
@@ -28933,13 +33617,16 @@
         super("registerGatewayResourceProfile");
       }
 
+      @Override
       public registerGatewayResourceProfile_args getEmptyArgsInstance() {
         return new registerGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerGatewayResourceProfile_result result = new registerGatewayResourceProfile_result();
             result.success = o;
@@ -28953,6 +33640,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -28984,10 +33672,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerGatewayResourceProfile(args.gatewayResourceProfile,resultHandler);
       }
@@ -28998,13 +33688,16 @@
         super("getGatewayResourceProfile");
       }
 
+      @Override
       public getGatewayResourceProfile_args getEmptyArgsInstance() {
         return new getGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile o) {
             getGatewayResourceProfile_result result = new getGatewayResourceProfile_result();
             result.success = o;
@@ -29018,6 +33711,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29049,10 +33743,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayResourceProfile(args.gatewayID,resultHandler);
       }
@@ -29063,13 +33759,16 @@
         super("updateGatewayResourceProfile");
       }
 
+      @Override
       public updateGatewayResourceProfile_args getEmptyArgsInstance() {
         return new updateGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGatewayResourceProfile_result result = new updateGatewayResourceProfile_result();
             result.success = o;
@@ -29084,6 +33783,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29115,10 +33815,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayResourceProfile(args.gatewayID, args.gatewayResourceProfile,resultHandler);
       }
@@ -29129,13 +33831,16 @@
         super("deleteGatewayResourceProfile");
       }
 
+      @Override
       public deleteGatewayResourceProfile_args getEmptyArgsInstance() {
         return new deleteGatewayResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGatewayResourceProfile_result result = new deleteGatewayResourceProfile_result();
             result.success = o;
@@ -29150,6 +33855,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29181,10 +33887,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGatewayResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGatewayResourceProfile(args.gatewayID,resultHandler);
       }
@@ -29195,13 +33903,16 @@
         super("addGatewayComputeResourcePreference");
       }
 
+      @Override
       public addGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new addGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addGatewayComputeResourcePreference_result result = new addGatewayComputeResourcePreference_result();
             result.success = o;
@@ -29216,6 +33927,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29247,10 +33959,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
       }
@@ -29261,13 +33975,16 @@
         super("addGatewayStoragePreference");
       }
 
+      @Override
       public addGatewayStoragePreference_args getEmptyArgsInstance() {
         return new addGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addGatewayStoragePreference_result result = new addGatewayStoragePreference_result();
             result.success = o;
@@ -29282,6 +33999,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29313,10 +34031,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addGatewayStoragePreference(args.gatewayID, args.storageResourceId, args.storagePreference,resultHandler);
       }
@@ -29327,13 +34047,16 @@
         super("getGatewayComputeResourcePreference");
       }
 
+      @Override
       public getGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference o) {
             getGatewayComputeResourcePreference_result result = new getGatewayComputeResourcePreference_result();
             result.success = o;
@@ -29347,6 +34070,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29378,10 +34102,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId,resultHandler);
       }
@@ -29392,13 +34118,16 @@
         super("getGatewayStoragePreference");
       }
 
+      @Override
       public getGatewayStoragePreference_args getEmptyArgsInstance() {
         return new getGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference o) {
             getGatewayStoragePreference_result result = new getGatewayStoragePreference_result();
             result.success = o;
@@ -29412,6 +34141,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29443,10 +34173,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayStoragePreference(args.gatewayID, args.storageResourceId,resultHandler);
       }
@@ -29457,13 +34189,16 @@
         super("getAllGatewayComputeResourcePreferences");
       }
 
+      @Override
       public getAllGatewayComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayComputeResourcePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> o) {
             getAllGatewayComputeResourcePreferences_result result = new getAllGatewayComputeResourcePreferences_result();
             result.success = o;
@@ -29477,6 +34212,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29508,10 +34244,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewayComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewayComputeResourcePreferences(args.gatewayID,resultHandler);
       }
@@ -29522,13 +34260,16 @@
         super("getAllGatewayStoragePreferences");
       }
 
+      @Override
       public getAllGatewayStoragePreferences_args getEmptyArgsInstance() {
         return new getAllGatewayStoragePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> o) {
             getAllGatewayStoragePreferences_result result = new getAllGatewayStoragePreferences_result();
             result.success = o;
@@ -29542,6 +34283,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29573,10 +34315,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewayStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewayStoragePreferences(args.gatewayID,resultHandler);
       }
@@ -29587,13 +34331,16 @@
         super("getAllGatewayResourceProfiles");
       }
 
+      @Override
       public getAllGatewayResourceProfiles_args getEmptyArgsInstance() {
         return new getAllGatewayResourceProfiles_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> o) {
             getAllGatewayResourceProfiles_result result = new getAllGatewayResourceProfiles_result();
             result.success = o;
@@ -29607,6 +34354,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29638,10 +34386,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllGatewayResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllGatewayResourceProfiles(resultHandler);
       }
@@ -29652,13 +34402,16 @@
         super("updateGatewayComputeResourcePreference");
       }
 
+      @Override
       public updateGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGatewayComputeResourcePreference_result result = new updateGatewayComputeResourcePreference_result();
             result.success = o;
@@ -29673,6 +34426,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29704,10 +34458,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId, args.computeResourcePreference,resultHandler);
       }
@@ -29718,13 +34474,16 @@
         super("updateGatewayStoragePreference");
       }
 
+      @Override
       public updateGatewayStoragePreference_args getEmptyArgsInstance() {
         return new updateGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGatewayStoragePreference_result result = new updateGatewayStoragePreference_result();
             result.success = o;
@@ -29739,6 +34498,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29770,10 +34530,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayStoragePreference(args.gatewayID, args.storageId, args.storagePreference,resultHandler);
       }
@@ -29784,13 +34546,16 @@
         super("deleteGatewayComputeResourcePreference");
       }
 
+      @Override
       public deleteGatewayComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteGatewayComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGatewayComputeResourcePreference_result result = new deleteGatewayComputeResourcePreference_result();
             result.success = o;
@@ -29805,6 +34570,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29836,10 +34602,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGatewayComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGatewayComputeResourcePreference(args.gatewayID, args.computeResourceId,resultHandler);
       }
@@ -29850,13 +34618,16 @@
         super("deleteGatewayStoragePreference");
       }
 
+      @Override
       public deleteGatewayStoragePreference_args getEmptyArgsInstance() {
         return new deleteGatewayStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGatewayStoragePreference_result result = new deleteGatewayStoragePreference_result();
             result.success = o;
@@ -29871,6 +34642,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29902,10 +34674,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGatewayStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGatewayStoragePreference(args.gatewayID, args.storageId,resultHandler);
       }
@@ -29916,13 +34690,16 @@
         super("registerUserResourceProfile");
       }
 
+      @Override
       public registerUserResourceProfile_args getEmptyArgsInstance() {
         return new registerUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerUserResourceProfile_result result = new registerUserResourceProfile_result();
             result.success = o;
@@ -29936,6 +34713,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -29967,10 +34745,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerUserResourceProfile(args.userResourceProfile,resultHandler);
       }
@@ -29981,13 +34761,16 @@
         super("isUserResourceProfileExists");
       }
 
+      @Override
       public isUserResourceProfileExists_args getEmptyArgsInstance() {
         return new isUserResourceProfileExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserResourceProfileExists_result result = new isUserResourceProfileExists_result();
             result.success = o;
@@ -30002,6 +34785,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30033,27 +34817,248 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserResourceProfileExists(args.userId, args.gatewayID,resultHandler);
       }
     }
 
+    public static class isUserComputeResourcePreferenceExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isUserComputeResourcePreferenceExists_args, java.lang.Boolean> {
+      public isUserComputeResourcePreferenceExists() {
+        super("isUserComputeResourcePreferenceExists");
+      }
+
+      @Override
+      public isUserComputeResourcePreferenceExists_args getEmptyArgsInstance() {
+        return new isUserComputeResourcePreferenceExists_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
+          public void onComplete(java.lang.Boolean o) {
+            isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            isUserComputeResourcePreferenceExists_result result = new isUserComputeResourcePreferenceExists_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, isUserComputeResourcePreferenceExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isUserComputeResourcePreferenceExists(args.userId, args.gatewayID, args.computeResourceId,resultHandler);
+      }
+    }
+
+    public static class isGroupComputeResourcePreferenceExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGroupComputeResourcePreferenceExists_args, java.lang.Boolean> {
+      public isGroupComputeResourcePreferenceExists() {
+        super("isGroupComputeResourcePreferenceExists");
+      }
+
+      @Override
+      public isGroupComputeResourcePreferenceExists_args getEmptyArgsInstance() {
+        return new isGroupComputeResourcePreferenceExists_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
+          public void onComplete(java.lang.Boolean o) {
+            isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            isGroupComputeResourcePreferenceExists_result result = new isGroupComputeResourcePreferenceExists_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, isGroupComputeResourcePreferenceExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isGroupComputeResourcePreferenceExists(args.computeResourceId, args.groupResourceProfileId,resultHandler);
+      }
+    }
+
+    public static class isGroupResourceProfileExists<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, isGroupResourceProfileExists_args, java.lang.Boolean> {
+      public isGroupResourceProfileExists() {
+        super("isGroupResourceProfileExists");
+      }
+
+      @Override
+      public isGroupResourceProfileExists_args getEmptyArgsInstance() {
+        return new isGroupResourceProfileExists_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
+          public void onComplete(java.lang.Boolean o) {
+            isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
+            result.success = o;
+            result.setSuccessIsSet(true);
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            isGroupResourceProfileExists_result result = new isGroupResourceProfileExists_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, isGroupResourceProfileExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
+        iface.isGroupResourceProfileExists(args.groupResourceProfileId,resultHandler);
+      }
+    }
+
     public static class getUserResourceProfile<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getUserResourceProfile_args, org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> {
       public getUserResourceProfile() {
         super("getUserResourceProfile");
       }
 
+      @Override
       public getUserResourceProfile_args getEmptyArgsInstance() {
         return new getUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile o) {
             getUserResourceProfile_result result = new getUserResourceProfile_result();
             result.success = o;
@@ -30067,6 +35072,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30098,10 +35104,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getUserResourceProfile(args.userId, args.gatewayID,resultHandler);
       }
@@ -30112,13 +35120,16 @@
         super("updateUserResourceProfile");
       }
 
+      @Override
       public updateUserResourceProfile_args getEmptyArgsInstance() {
         return new updateUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserResourceProfile_result result = new updateUserResourceProfile_result();
             result.success = o;
@@ -30133,6 +35144,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30164,10 +35176,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserResourceProfile(args.userId, args.gatewayID, args.userResourceProfile,resultHandler);
       }
@@ -30178,13 +35192,16 @@
         super("deleteUserResourceProfile");
       }
 
+      @Override
       public deleteUserResourceProfile_args getEmptyArgsInstance() {
         return new deleteUserResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserResourceProfile_result result = new deleteUserResourceProfile_result();
             result.success = o;
@@ -30199,6 +35216,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30230,10 +35248,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserResourceProfile(args.userId, args.gatewayID,resultHandler);
       }
@@ -30244,13 +35264,16 @@
         super("addUser");
       }
 
+      @Override
       public addUser_args getEmptyArgsInstance() {
         return new addUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             addUser_result result = new addUser_result();
             result.success = o;
@@ -30264,6 +35287,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30299,10 +35323,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.addUser(args.userProfile,resultHandler);
       }
@@ -30313,13 +35339,16 @@
         super("addUserComputeResourcePreference");
       }
 
+      @Override
       public addUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new addUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addUserComputeResourcePreference_result result = new addUserComputeResourcePreference_result();
             result.success = o;
@@ -30334,6 +35363,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30365,10 +35395,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addUserComputeResourcePreference(args.userId, args.gatewayID, args.computeResourceId, args.userComputeResourcePreference,resultHandler);
       }
@@ -30379,13 +35411,16 @@
         super("addUserStoragePreference");
       }
 
+      @Override
       public addUserStoragePreference_args getEmptyArgsInstance() {
         return new addUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addUserStoragePreference_result result = new addUserStoragePreference_result();
             result.success = o;
@@ -30400,6 +35435,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30431,10 +35467,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId, args.userStoragePreference,resultHandler);
       }
@@ -30445,13 +35483,16 @@
         super("getUserComputeResourcePreference");
       }
 
+      @Override
       public getUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new getUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference o) {
             getUserComputeResourcePreference_result result = new getUserComputeResourcePreference_result();
             result.success = o;
@@ -30465,6 +35506,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30496,10 +35538,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
@@ -30510,13 +35554,16 @@
         super("getUserStoragePreference");
       }
 
+      @Override
       public getUserStoragePreference_args getEmptyArgsInstance() {
         return new getUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference o) {
             getUserStoragePreference_result result = new getUserStoragePreference_result();
             result.success = o;
@@ -30530,6 +35577,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30561,10 +35609,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getUserStoragePreference(args.userId, args.gatewayID, args.userStorageResourceId,resultHandler);
       }
@@ -30575,13 +35625,16 @@
         super("getAllUserComputeResourcePreferences");
       }
 
+      @Override
       public getAllUserComputeResourcePreferences_args getEmptyArgsInstance() {
         return new getAllUserComputeResourcePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> o) {
             getAllUserComputeResourcePreferences_result result = new getAllUserComputeResourcePreferences_result();
             result.success = o;
@@ -30595,6 +35648,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30626,10 +35680,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserComputeResourcePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserComputeResourcePreferences(args.userId, args.gatewayID,resultHandler);
       }
@@ -30640,13 +35696,16 @@
         super("getAllUserStoragePreferences");
       }
 
+      @Override
       public getAllUserStoragePreferences_args getEmptyArgsInstance() {
         return new getAllUserStoragePreferences_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> o) {
             getAllUserStoragePreferences_result result = new getAllUserStoragePreferences_result();
             result.success = o;
@@ -30660,6 +35719,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30691,10 +35751,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserStoragePreferences_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserStoragePreferences(args.userId, args.gatewayID,resultHandler);
       }
@@ -30705,13 +35767,16 @@
         super("getAllUserResourceProfiles");
       }
 
+      @Override
       public getAllUserResourceProfiles_args getEmptyArgsInstance() {
         return new getAllUserResourceProfiles_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> o) {
             getAllUserResourceProfiles_result result = new getAllUserResourceProfiles_result();
             result.success = o;
@@ -30725,6 +35790,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30756,10 +35822,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllUserResourceProfiles_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllUserResourceProfiles(resultHandler);
       }
@@ -30770,13 +35838,16 @@
         super("updateUserComputeResourcePreference");
       }
 
+      @Override
       public updateUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new updateUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserComputeResourcePreference_result result = new updateUserComputeResourcePreference_result();
             result.success = o;
@@ -30791,6 +35862,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30822,10 +35894,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId, args.userComputeResourcePreference,resultHandler);
       }
@@ -30836,13 +35910,16 @@
         super("updateUserStoragePreference");
       }
 
+      @Override
       public updateUserStoragePreference_args getEmptyArgsInstance() {
         return new updateUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateUserStoragePreference_result result = new updateUserStoragePreference_result();
             result.success = o;
@@ -30857,6 +35934,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30888,10 +35966,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateUserStoragePreference(args.userId, args.gatewayID, args.userStorageId, args.userStoragePreference,resultHandler);
       }
@@ -30902,13 +35982,16 @@
         super("deleteUserComputeResourcePreference");
       }
 
+      @Override
       public deleteUserComputeResourcePreference_args getEmptyArgsInstance() {
         return new deleteUserComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserComputeResourcePreference_result result = new deleteUserComputeResourcePreference_result();
             result.success = o;
@@ -30923,6 +36006,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -30954,10 +36038,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserComputeResourcePreference(args.userId, args.gatewayID, args.userComputeResourceId,resultHandler);
       }
@@ -30968,13 +36054,16 @@
         super("deleteUserStoragePreference");
       }
 
+      @Override
       public deleteUserStoragePreference_args getEmptyArgsInstance() {
         return new deleteUserStoragePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUserStoragePreference_result result = new deleteUserStoragePreference_result();
             result.success = o;
@@ -30989,6 +36078,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31020,10 +36110,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUserStoragePreference_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUserStoragePreference(args.userId, args.gatewayID, args.userStorageId,resultHandler);
       }
@@ -31034,13 +36126,16 @@
         super("getLatestQueueStatuses");
       }
 
+      @Override
       public getLatestQueueStatuses_args getEmptyArgsInstance() {
         return new getLatestQueueStatuses_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.status.QueueStatusModel> o) {
             getLatestQueueStatuses_result result = new getLatestQueueStatuses_result();
             result.success = o;
@@ -31054,6 +36149,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31085,10 +36181,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getLatestQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.status.QueueStatusModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getLatestQueueStatuses(resultHandler);
       }
@@ -31099,13 +36197,16 @@
         super("registerQueueStatuses");
       }
 
+      @Override
       public registerQueueStatuses_args getEmptyArgsInstance() {
         return new registerQueueStatuses_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             registerQueueStatuses_result result = new registerQueueStatuses_result();
             try {
@@ -31118,6 +36219,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31149,27 +36251,103 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerQueueStatuses_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.registerQueueStatuses(args.queueStatuses,resultHandler);
       }
     }
 
+    public static class getQueueStatus<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, getQueueStatus_args, org.apache.airavata.model.status.QueueStatusModel> {
+      public getQueueStatus() {
+        super("getQueueStatus");
+      }
+
+      @Override
+      public getQueueStatus_args getEmptyArgsInstance() {
+        return new getQueueStatus_args();
+      }
+
+      @Override
+      public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
+        final org.apache.thrift.AsyncProcessFunction fcall = this;
+        return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel>() { 
+          @Override
+          public void onComplete(org.apache.airavata.model.status.QueueStatusModel o) {
+            getQueueStatus_result result = new getQueueStatus_result();
+            result.success = o;
+            try {
+              fcall.sendResponse(fb, result, org.apache.thrift.protocol.TMessageType.REPLY,seqid);
+            } catch (org.apache.thrift.transport.TTransportException e) {
+              _LOGGER.error("TTransportException writing to internal frame buffer", e);
+              fb.close();
+            } catch (java.lang.Exception e) {
+              _LOGGER.error("Exception writing to internal frame buffer", e);
+              onError(e);
+            }
+          }
+          @Override
+          public void onError(java.lang.Exception e) {
+            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
+            org.apache.thrift.TSerializable msg;
+            getQueueStatus_result result = new getQueueStatus_result();
+            if (e instanceof org.apache.airavata.registry.api.exception.RegistryServiceException) {
+              result.rse = (org.apache.airavata.registry.api.exception.RegistryServiceException) e;
+              result.setRseIsSet(true);
+              msg = result;
+            } else if (e instanceof org.apache.thrift.transport.TTransportException) {
+              _LOGGER.error("TTransportException inside handler", e);
+              fb.close();
+              return;
+            } else if (e instanceof org.apache.thrift.TApplicationException) {
+              _LOGGER.error("TApplicationException inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = (org.apache.thrift.TApplicationException)e;
+            } else {
+              _LOGGER.error("Exception inside handler", e);
+              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
+              msg = new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR, e.getMessage());
+            }
+            try {
+              fcall.sendResponse(fb,msg,msgType,seqid);
+            } catch (java.lang.Exception ex) {
+              _LOGGER.error("Exception writing to internal frame buffer", ex);
+              fb.close();
+            }
+          }
+        };
+      }
+
+      @Override
+      protected boolean isOneway() {
+        return false;
+      }
+
+      @Override
+      public void start(I iface, getQueueStatus_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.status.QueueStatusModel> resultHandler) throws org.apache.thrift.TException {
+        iface.getQueueStatus(args.hostName, args.queueName,resultHandler);
+      }
+    }
+
     public static class registerDataProduct<I extends AsyncIface> extends org.apache.thrift.AsyncProcessFunction<I, registerDataProduct_args, java.lang.String> {
       public registerDataProduct() {
         super("registerDataProduct");
       }
 
+      @Override
       public registerDataProduct_args getEmptyArgsInstance() {
         return new registerDataProduct_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerDataProduct_result result = new registerDataProduct_result();
             result.success = o;
@@ -31183,6 +36361,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31214,10 +36393,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerDataProduct(args.dataProductModel,resultHandler);
       }
@@ -31228,13 +36409,16 @@
         super("getDataProduct");
       }
 
+      @Override
       public getDataProduct_args getEmptyArgsInstance() {
         return new getDataProduct_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
             getDataProduct_result result = new getDataProduct_result();
             result.success = o;
@@ -31248,6 +36432,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31279,10 +36464,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
         iface.getDataProduct(args.dataProductUri,resultHandler);
       }
@@ -31293,13 +36480,16 @@
         super("registerReplicaLocation");
       }
 
+      @Override
       public registerReplicaLocation_args getEmptyArgsInstance() {
         return new registerReplicaLocation_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             registerReplicaLocation_result result = new registerReplicaLocation_result();
             result.success = o;
@@ -31313,6 +36503,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31344,10 +36535,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, registerReplicaLocation_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.registerReplicaLocation(args.replicaLocationModel,resultHandler);
       }
@@ -31358,13 +36551,16 @@
         super("getParentDataProduct");
       }
 
+      @Override
       public getParentDataProduct_args getEmptyArgsInstance() {
         return new getParentDataProduct_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.data.replica.DataProductModel o) {
             getParentDataProduct_result result = new getParentDataProduct_result();
             result.success = o;
@@ -31378,6 +36574,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31409,10 +36606,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParentDataProduct_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.data.replica.DataProductModel> resultHandler) throws org.apache.thrift.TException {
         iface.getParentDataProduct(args.productUri,resultHandler);
       }
@@ -31423,13 +36622,16 @@
         super("getChildDataProducts");
       }
 
+      @Override
       public getChildDataProducts_args getEmptyArgsInstance() {
         return new getChildDataProducts_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
             getChildDataProducts_result result = new getChildDataProducts_result();
             result.success = o;
@@ -31443,6 +36645,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31474,10 +36677,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getChildDataProducts_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
         iface.getChildDataProducts(args.productUri,resultHandler);
       }
@@ -31488,13 +36693,16 @@
         super("searchDataProductsByName");
       }
 
+      @Override
       public searchDataProductsByName_args getEmptyArgsInstance() {
         return new searchDataProductsByName_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> o) {
             searchDataProductsByName_result result = new searchDataProductsByName_result();
             result.success = o;
@@ -31508,6 +36716,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31539,10 +36748,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, searchDataProductsByName_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.data.replica.DataProductModel>> resultHandler) throws org.apache.thrift.TException {
         iface.searchDataProductsByName(args.gatewayId, args.userId, args.productName, args.limit, args.offset,resultHandler);
       }
@@ -31553,13 +36764,16 @@
         super("createGroupResourceProfile");
       }
 
+      @Override
       public createGroupResourceProfile_args getEmptyArgsInstance() {
         return new createGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createGroupResourceProfile_result result = new createGroupResourceProfile_result();
             result.success = o;
@@ -31573,6 +36787,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31604,10 +36819,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createGroupResourceProfile(args.groupResourceProfile,resultHandler);
       }
@@ -31618,13 +36835,16 @@
         super("updateGroupResourceProfile");
       }
 
+      @Override
       public updateGroupResourceProfile_args getEmptyArgsInstance() {
         return new updateGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateGroupResourceProfile_result result = new updateGroupResourceProfile_result();
             try {
@@ -31637,6 +36857,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31668,10 +36889,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateGroupResourceProfile(args.groupResourceProfile,resultHandler);
       }
@@ -31682,13 +36905,16 @@
         super("getGroupResourceProfile");
       }
 
+      @Override
       public getGroupResourceProfile_args getEmptyArgsInstance() {
         return new getGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile o) {
             getGroupResourceProfile_result result = new getGroupResourceProfile_result();
             result.success = o;
@@ -31702,6 +36928,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31733,10 +36960,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupResourceProfile(args.groupResourceProfileId,resultHandler);
       }
@@ -31747,13 +36976,16 @@
         super("removeGroupResourceProfile");
       }
 
+      @Override
       public removeGroupResourceProfile_args getEmptyArgsInstance() {
         return new removeGroupResourceProfile_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupResourceProfile_result result = new removeGroupResourceProfile_result();
             result.success = o;
@@ -31768,6 +37000,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31799,10 +37032,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupResourceProfile_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupResourceProfile(args.groupResourceProfileId,resultHandler);
       }
@@ -31813,13 +37048,16 @@
         super("getGroupResourceList");
       }
 
+      @Override
       public getGroupResourceList_args getEmptyArgsInstance() {
         return new getGroupResourceList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> o) {
             getGroupResourceList_result result = new getGroupResourceList_result();
             result.success = o;
@@ -31833,6 +37071,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31864,10 +37103,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupResourceList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupResourceList(args.gatewayId, args.accessibleGroupResProfileIds,resultHandler);
       }
@@ -31878,13 +37119,16 @@
         super("removeGroupComputePrefs");
       }
 
+      @Override
       public removeGroupComputePrefs_args getEmptyArgsInstance() {
         return new removeGroupComputePrefs_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupComputePrefs_result result = new removeGroupComputePrefs_result();
             result.success = o;
@@ -31899,6 +37143,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31930,10 +37175,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupComputePrefs_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupComputePrefs(args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
@@ -31944,13 +37191,16 @@
         super("removeGroupComputeResourcePolicy");
       }
 
+      @Override
       public removeGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupComputeResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupComputeResourcePolicy_result result = new removeGroupComputeResourcePolicy_result();
             result.success = o;
@@ -31965,6 +37215,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -31996,10 +37247,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
       }
@@ -32010,13 +37263,16 @@
         super("removeGroupBatchQueueResourcePolicy");
       }
 
+      @Override
       public removeGroupBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new removeGroupBatchQueueResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupBatchQueueResourcePolicy_result result = new removeGroupBatchQueueResourcePolicy_result();
             result.success = o;
@@ -32031,6 +37287,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32062,10 +37319,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
       }
@@ -32076,13 +37335,16 @@
         super("getGroupComputeResourcePreference");
       }
 
+      @Override
       public getGroupComputeResourcePreference_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePreference_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference o) {
             getGroupComputeResourcePreference_result result = new getGroupComputeResourcePreference_result();
             result.success = o;
@@ -32096,6 +37358,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32127,10 +37390,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePreference_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePreference(args.computeResourceId, args.groupResourceProfileId,resultHandler);
       }
@@ -32141,13 +37406,16 @@
         super("getGroupComputeResourcePolicy");
       }
 
+      @Override
       public getGroupComputeResourcePolicy_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy o) {
             getGroupComputeResourcePolicy_result result = new getGroupComputeResourcePolicy_result();
             result.success = o;
@@ -32161,6 +37429,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32192,10 +37461,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePolicy(args.resourcePolicyId,resultHandler);
       }
@@ -32206,13 +37477,16 @@
         super("getBatchQueueResourcePolicy");
       }
 
+      @Override
       public getBatchQueueResourcePolicy_args getEmptyArgsInstance() {
         return new getBatchQueueResourcePolicy_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy o) {
             getBatchQueueResourcePolicy_result result = new getBatchQueueResourcePolicy_result();
             result.success = o;
@@ -32226,6 +37500,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32257,10 +37532,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getBatchQueueResourcePolicy_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> resultHandler) throws org.apache.thrift.TException {
         iface.getBatchQueueResourcePolicy(args.resourcePolicyId,resultHandler);
       }
@@ -32271,13 +37548,16 @@
         super("getGroupComputeResourcePrefList");
       }
 
+      @Override
       public getGroupComputeResourcePrefList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePrefList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> o) {
             getGroupComputeResourcePrefList_result result = new getGroupComputeResourcePrefList_result();
             result.success = o;
@@ -32291,6 +37571,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32322,10 +37603,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePrefList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePrefList(args.groupResourceProfileId,resultHandler);
       }
@@ -32336,13 +37619,16 @@
         super("getGroupBatchQueueResourcePolicyList");
       }
 
+      @Override
       public getGroupBatchQueueResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupBatchQueueResourcePolicyList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> o) {
             getGroupBatchQueueResourcePolicyList_result result = new getGroupBatchQueueResourcePolicyList_result();
             result.success = o;
@@ -32356,6 +37642,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32387,10 +37674,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupBatchQueueResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupBatchQueueResourcePolicyList(args.groupResourceProfileId,resultHandler);
       }
@@ -32401,13 +37690,16 @@
         super("getGroupComputeResourcePolicyList");
       }
 
+      @Override
       public getGroupComputeResourcePolicyList_args getEmptyArgsInstance() {
         return new getGroupComputeResourcePolicyList_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> o) {
             getGroupComputeResourcePolicyList_result result = new getGroupComputeResourcePolicyList_result();
             result.success = o;
@@ -32421,6 +37713,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32452,10 +37745,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupComputeResourcePolicyList_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupComputeResourcePolicyList(args.groupResourceProfileId,resultHandler);
       }
@@ -32466,13 +37761,16 @@
         super("createGatewayGroups");
       }
 
+      @Override
       public createGatewayGroups_args getEmptyArgsInstance() {
         return new createGatewayGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             createGatewayGroups_result result = new createGatewayGroups_result();
             try {
@@ -32485,6 +37783,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32520,10 +37819,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.createGatewayGroups(args.gatewayGroups,resultHandler);
       }
@@ -32534,13 +37835,16 @@
         super("updateGatewayGroups");
       }
 
+      @Override
       public updateGatewayGroups_args getEmptyArgsInstance() {
         return new updateGatewayGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             updateGatewayGroups_result result = new updateGatewayGroups_result();
             try {
@@ -32553,6 +37857,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32584,10 +37889,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.updateGatewayGroups(args.gatewayGroups,resultHandler);
       }
@@ -32598,13 +37905,16 @@
         super("isGatewayGroupsExists");
       }
 
+      @Override
       public isGatewayGroupsExists_args getEmptyArgsInstance() {
         return new isGatewayGroupsExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isGatewayGroupsExists_result result = new isGatewayGroupsExists_result();
             result.success = o;
@@ -32619,6 +37929,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32650,10 +37961,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isGatewayGroupsExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isGatewayGroupsExists(args.gatewayId,resultHandler);
       }
@@ -32664,13 +37977,16 @@
         super("getGatewayGroups");
       }
 
+      @Override
       public getGatewayGroups_args getEmptyArgsInstance() {
         return new getGatewayGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups o) {
             getGatewayGroups_result result = new getGatewayGroups_result();
             result.success = o;
@@ -32684,6 +38000,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32715,10 +38032,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayGroups_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayGroups(args.gatewayId,resultHandler);
       }
@@ -32729,13 +38048,16 @@
         super("getParser");
       }
 
+      @Override
       public getParser_args getEmptyArgsInstance() {
         return new getParser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.parser.Parser o) {
             getParser_result result = new getParser_result();
             result.success = o;
@@ -32749,6 +38071,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32780,10 +38103,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParser_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.Parser> resultHandler) throws org.apache.thrift.TException {
         iface.getParser(args.parserId, args.gatewayId,resultHandler);
       }
@@ -32794,13 +38119,16 @@
         super("saveParser");
       }
 
+      @Override
       public saveParser_args getEmptyArgsInstance() {
         return new saveParser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             saveParser_result result = new saveParser_result();
             result.success = o;
@@ -32814,6 +38142,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32845,10 +38174,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, saveParser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.saveParser(args.parser,resultHandler);
       }
@@ -32859,13 +38190,16 @@
         super("listAllParsers");
       }
 
+      @Override
       public listAllParsers_args getEmptyArgsInstance() {
         return new listAllParsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> o) {
             listAllParsers_result result = new listAllParsers_result();
             result.success = o;
@@ -32879,6 +38213,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32910,10 +38245,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, listAllParsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.Parser>> resultHandler) throws org.apache.thrift.TException {
         iface.listAllParsers(args.gatewayId,resultHandler);
       }
@@ -32924,13 +38261,16 @@
         super("removeParser");
       }
 
+      @Override
       public removeParser_args getEmptyArgsInstance() {
         return new removeParser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             removeParser_result result = new removeParser_result();
             try {
@@ -32943,6 +38283,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -32974,10 +38315,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeParser_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.removeParser(args.parserId, args.gatewayId,resultHandler);
       }
@@ -32988,13 +38331,16 @@
         super("getParserInput");
       }
 
+      @Override
       public getParserInput_args getEmptyArgsInstance() {
         return new getParserInput_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.parser.ParserInput o) {
             getParserInput_result result = new getParserInput_result();
             result.success = o;
@@ -33008,6 +38354,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33039,10 +38386,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParserInput_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserInput> resultHandler) throws org.apache.thrift.TException {
         iface.getParserInput(args.parserInputId, args.gatewayId,resultHandler);
       }
@@ -33053,13 +38402,16 @@
         super("getParserOutput");
       }
 
+      @Override
       public getParserOutput_args getEmptyArgsInstance() {
         return new getParserOutput_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.parser.ParserOutput o) {
             getParserOutput_result result = new getParserOutput_result();
             result.success = o;
@@ -33073,6 +38425,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33104,10 +38457,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParserOutput_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParserOutput> resultHandler) throws org.apache.thrift.TException {
         iface.getParserOutput(args.parserOutputId, args.gatewayId,resultHandler);
       }
@@ -33118,13 +38473,16 @@
         super("getParsingTemplate");
       }
 
+      @Override
       public getParsingTemplate_args getEmptyArgsInstance() {
         return new getParsingTemplate_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.appcatalog.parser.ParsingTemplate o) {
             getParsingTemplate_result result = new getParsingTemplate_result();
             result.success = o;
@@ -33138,6 +38496,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33169,10 +38528,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> resultHandler) throws org.apache.thrift.TException {
         iface.getParsingTemplate(args.templateId, args.gatewayId,resultHandler);
       }
@@ -33183,13 +38544,16 @@
         super("getParsingTemplatesForExperiment");
       }
 
+      @Override
       public getParsingTemplatesForExperiment_args getEmptyArgsInstance() {
         return new getParsingTemplatesForExperiment_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
             getParsingTemplatesForExperiment_result result = new getParsingTemplatesForExperiment_result();
             result.success = o;
@@ -33203,6 +38567,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33234,10 +38599,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getParsingTemplatesForExperiment_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
         iface.getParsingTemplatesForExperiment(args.experimentId, args.gatewayId,resultHandler);
       }
@@ -33248,13 +38615,16 @@
         super("saveParsingTemplate");
       }
 
+      @Override
       public saveParsingTemplate_args getEmptyArgsInstance() {
         return new saveParsingTemplate_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             saveParsingTemplate_result result = new saveParsingTemplate_result();
             result.success = o;
@@ -33268,6 +38638,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33299,10 +38670,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, saveParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.saveParsingTemplate(args.parsingTemplate,resultHandler);
       }
@@ -33313,13 +38686,16 @@
         super("listAllParsingTemplates");
       }
 
+      @Override
       public listAllParsingTemplates_args getEmptyArgsInstance() {
         return new listAllParsingTemplates_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> o) {
             listAllParsingTemplates_result result = new listAllParsingTemplates_result();
             result.success = o;
@@ -33333,6 +38709,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33364,10 +38741,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, listAllParsingTemplates_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>> resultHandler) throws org.apache.thrift.TException {
         iface.listAllParsingTemplates(args.gatewayId,resultHandler);
       }
@@ -33378,13 +38757,16 @@
         super("removeParsingTemplate");
       }
 
+      @Override
       public removeParsingTemplate_args getEmptyArgsInstance() {
         return new removeParsingTemplate_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             removeParsingTemplate_result result = new removeParsingTemplate_result();
             try {
@@ -33397,6 +38779,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33428,10 +38811,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeParsingTemplate_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.removeParsingTemplate(args.templateId, args.gatewayId,resultHandler);
       }
@@ -33442,13 +38827,16 @@
         super("isGatewayUsageReportingAvailable");
       }
 
+      @Override
       public isGatewayUsageReportingAvailable_args getEmptyArgsInstance() {
         return new isGatewayUsageReportingAvailable_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isGatewayUsageReportingAvailable_result result = new isGatewayUsageReportingAvailable_result();
             result.success = o;
@@ -33463,6 +38851,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33494,10 +38883,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isGatewayUsageReportingAvailable_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isGatewayUsageReportingAvailable(args.gatewayId, args.computeResourceId,resultHandler);
       }
@@ -33508,13 +38899,16 @@
         super("getGatewayReportingCommand");
       }
 
+      @Override
       public getGatewayReportingCommand_args getEmptyArgsInstance() {
         return new getGatewayReportingCommand_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand>() { 
+          @Override
           public void onComplete(org.apache.airavata.model.workspace.GatewayUsageReportingCommand o) {
             getGatewayReportingCommand_result result = new getGatewayReportingCommand_result();
             result.success = o;
@@ -33528,6 +38922,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33559,10 +38954,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGatewayReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.workspace.GatewayUsageReportingCommand> resultHandler) throws org.apache.thrift.TException {
         iface.getGatewayReportingCommand(args.gatewayId, args.computeResourceId,resultHandler);
       }
@@ -33573,13 +38970,16 @@
         super("addGatewayUsageReportingCommand");
       }
 
+      @Override
       public addGatewayUsageReportingCommand_args getEmptyArgsInstance() {
         return new addGatewayUsageReportingCommand_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             addGatewayUsageReportingCommand_result result = new addGatewayUsageReportingCommand_result();
             try {
@@ -33592,6 +38992,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33623,10 +39024,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGatewayUsageReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.addGatewayUsageReportingCommand(args.command,resultHandler);
       }
@@ -33637,13 +39040,16 @@
         super("removeGatewayUsageReportingCommand");
       }
 
+      @Override
       public removeGatewayUsageReportingCommand_args getEmptyArgsInstance() {
         return new removeGatewayUsageReportingCommand_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<Void> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<Void>() { 
+          @Override
           public void onComplete(Void o) {
             removeGatewayUsageReportingCommand_result result = new removeGatewayUsageReportingCommand_result();
             try {
@@ -33656,6 +39062,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -33687,10 +39094,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGatewayUsageReportingCommand_args args, org.apache.thrift.async.AsyncMethodCallback<Void> resultHandler) throws org.apache.thrift.TException {
         iface.removeGatewayUsageReportingCommand(args.gatewayId, args.computeResourceId,resultHandler);
       }
@@ -33698,6 +39107,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   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");
 
@@ -33707,8 +39117,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.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 {
@@ -33726,6 +39136,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -33750,6 +39161,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -33762,10 +39174,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -33807,6 +39221,7 @@
       }
     }
 
+    @Override
     public isUserExists_args deepCopy() {
       return new isUserExists_args(this);
     }
@@ -33817,11 +39232,12 @@
       this.userName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isUserExists_args setGatewayId(java.lang.String gatewayId) {
+    public isUserExists_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -33841,11 +39257,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public isUserExists_args setUserName(java.lang.String userName) {
+    public isUserExists_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -33865,7 +39282,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -33886,6 +39304,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -33899,6 +39319,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -33915,8 +39336,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExists_args)
         return this.equals((isUserExists_args)that);
       return false;
@@ -33972,7 +39391,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -33982,7 +39401,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -33995,14 +39414,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -34059,6 +39482,7 @@
     }
 
     private static class isUserExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_argsStandardScheme getScheme() {
         return new isUserExists_argsStandardScheme();
       }
@@ -34066,6 +39490,7 @@
 
     private static class isUserExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -34103,6 +39528,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -34124,6 +39550,7 @@
     }
 
     private static class isUserExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_argsTupleScheme getScheme() {
         return new isUserExists_argsTupleScheme();
       }
@@ -34153,6 +39580,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserExists_result implements org.apache.thrift.TBase<isUserExists_result, isUserExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExists_result");
 
@@ -34163,7 +39591,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -34181,6 +39609,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -34205,6 +39634,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -34217,10 +39647,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -34264,6 +39696,7 @@
       }
     }
 
+    @Override
     public isUserExists_result deepCopy() {
       return new isUserExists_result(this);
     }
@@ -34298,11 +39731,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public isUserExists_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isUserExists_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -34322,7 +39756,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -34343,6 +39778,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -34356,6 +39793,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -34372,8 +39810,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExists_result)
         return this.equals((isUserExists_result)that);
       return false;
@@ -34427,7 +39863,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34437,7 +39873,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34450,10 +39886,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -34506,6 +39945,7 @@
     }
 
     private static class isUserExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_resultStandardScheme getScheme() {
         return new isUserExists_resultStandardScheme();
       }
@@ -34513,6 +39953,7 @@
 
     private static class isUserExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -34551,6 +39992,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -34572,6 +40014,7 @@
     }
 
     private static class isUserExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_resultTupleScheme getScheme() {
         return new isUserExists_resultTupleScheme();
       }
@@ -34619,6 +40062,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGateway_args implements org.apache.thrift.TBase<addGateway_args, addGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_args");
 
@@ -34627,7 +40071,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Gateway gateway; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway; // 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 {
@@ -34644,6 +40088,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY
@@ -34666,6 +40111,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -34678,10 +40124,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -34716,6 +40164,7 @@
       }
     }
 
+    @Override
     public addGateway_args deepCopy() {
       return new addGateway_args(this);
     }
@@ -34725,11 +40174,12 @@
       this.gateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getGateway() {
       return this.gateway;
     }
 
-    public addGateway_args setGateway(org.apache.airavata.model.workspace.Gateway gateway) {
+    public addGateway_args setGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway gateway) {
       this.gateway = gateway;
       return this;
     }
@@ -34749,7 +40199,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY:
         if (value == null) {
@@ -34762,6 +40213,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY:
@@ -34772,6 +40225,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -34786,8 +40240,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGateway_args)
         return this.equals((addGateway_args)that);
       return false;
@@ -34830,7 +40282,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGateway()).compareTo(other.isSetGateway());
+      lastComparison = java.lang.Boolean.compare(isSetGateway(), other.isSetGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34843,14 +40295,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -34899,6 +40355,7 @@
     }
 
     private static class addGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_argsStandardScheme getScheme() {
         return new addGateway_argsStandardScheme();
       }
@@ -34906,6 +40363,7 @@
 
     private static class addGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -34936,6 +40394,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -34952,6 +40411,7 @@
     }
 
     private static class addGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_argsTupleScheme getScheme() {
         return new addGateway_argsTupleScheme();
       }
@@ -34979,6 +40439,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGateway_result implements org.apache.thrift.TBase<addGateway_result, addGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGateway_result");
 
@@ -34989,9 +40450,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGateway_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.DuplicateEntryException dee; // 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 {
@@ -35010,6 +40471,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -35036,6 +40498,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -35048,10 +40511,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -35100,6 +40565,7 @@
       }
     }
 
+    @Override
     public addGateway_result deepCopy() {
       return new addGateway_result(this);
     }
@@ -35111,11 +40577,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addGateway_result setSuccess(java.lang.String success) {
+    public addGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -35135,11 +40602,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addGateway_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addGateway_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -35159,11 +40627,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public addGateway_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public addGateway_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -35183,7 +40652,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -35212,6 +40682,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -35228,6 +40700,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -35246,8 +40719,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGateway_result)
         return this.equals((addGateway_result)that);
       return false;
@@ -35316,7 +40787,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35326,7 +40797,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35336,7 +40807,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35349,10 +40820,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -35415,6 +40889,7 @@
     }
 
     private static class addGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_resultStandardScheme getScheme() {
         return new addGateway_resultStandardScheme();
       }
@@ -35422,6 +40897,7 @@
 
     private static class addGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -35469,6 +40945,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -35495,6 +40972,7 @@
     }
 
     private static class addGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGateway_resultTupleScheme getScheme() {
         return new addGateway_resultTupleScheme();
       }
@@ -35553,6 +41031,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUsersInGateway_args implements org.apache.thrift.TBase<getAllUsersInGateway_args, getAllUsersInGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUsersInGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUsersInGateway_args");
 
@@ -35561,7 +41040,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUsersInGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUsersInGateway_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -35578,6 +41057,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -35600,6 +41080,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -35612,10 +41093,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -35650,6 +41133,7 @@
       }
     }
 
+    @Override
     public getAllUsersInGateway_args deepCopy() {
       return new getAllUsersInGateway_args(this);
     }
@@ -35659,11 +41143,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllUsersInGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getAllUsersInGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -35683,7 +41168,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -35696,6 +41182,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -35706,6 +41194,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -35720,8 +41209,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUsersInGateway_args)
         return this.equals((getAllUsersInGateway_args)that);
       return false;
@@ -35764,7 +41251,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35777,14 +41264,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -35830,6 +41321,7 @@
     }
 
     private static class getAllUsersInGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_argsStandardScheme getScheme() {
         return new getAllUsersInGateway_argsStandardScheme();
       }
@@ -35837,6 +41329,7 @@
 
     private static class getAllUsersInGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUsersInGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -35866,6 +41359,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUsersInGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -35882,6 +41376,7 @@
     }
 
     private static class getAllUsersInGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_argsTupleScheme getScheme() {
         return new getAllUsersInGateway_argsTupleScheme();
       }
@@ -35908,6 +41403,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUsersInGateway_result implements org.apache.thrift.TBase<getAllUsersInGateway_result, getAllUsersInGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUsersInGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUsersInGateway_result");
 
@@ -35917,8 +41413,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUsersInGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUsersInGateway_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -35936,6 +41432,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -35960,6 +41457,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -35972,10 +41470,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -36019,6 +41519,7 @@
       }
     }
 
+    @Override
     public getAllUsersInGateway_result deepCopy() {
       return new getAllUsersInGateway_result(this);
     }
@@ -36033,6 +41534,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -36044,11 +41546,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllUsersInGateway_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAllUsersInGateway_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -36068,11 +41571,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllUsersInGateway_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllUsersInGateway_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -36092,7 +41596,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -36113,6 +41618,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -36126,6 +41633,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -36142,8 +41650,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUsersInGateway_result)
         return this.equals((getAllUsersInGateway_result)that);
       return false;
@@ -36199,7 +41705,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36209,7 +41715,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36222,10 +41728,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -36280,6 +41789,7 @@
     }
 
     private static class getAllUsersInGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_resultStandardScheme getScheme() {
         return new getAllUsersInGateway_resultStandardScheme();
       }
@@ -36287,6 +41797,7 @@
 
     private static class getAllUsersInGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUsersInGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUsersInGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -36302,7 +41813,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<java.lang.String>(_list0.size);
-                  java.lang.String _elem1;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = iprot.readString();
@@ -36335,6 +41846,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUsersInGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -36363,6 +41875,7 @@
     }
 
     private static class getAllUsersInGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUsersInGateway_resultTupleScheme getScheme() {
         return new getAllUsersInGateway_resultTupleScheme();
       }
@@ -36401,9 +41914,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.success = new java.util.ArrayList<java.lang.String>(_list5.size);
-            java.lang.String _elem6;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = iprot.readString();
@@ -36425,6 +41938,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGateway_args implements org.apache.thrift.TBase<updateGateway_args, updateGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_args");
 
@@ -36434,8 +41948,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.workspace.Gateway updatedGateway; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway updatedGateway; // 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 {
@@ -36453,6 +41967,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -36477,6 +41992,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -36489,10 +42005,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -36534,6 +42052,7 @@
       }
     }
 
+    @Override
     public updateGateway_args deepCopy() {
       return new updateGateway_args(this);
     }
@@ -36544,11 +42063,12 @@
       this.updatedGateway = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public updateGateway_args setGatewayId(java.lang.String gatewayId) {
+    public updateGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -36568,11 +42088,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getUpdatedGateway() {
       return this.updatedGateway;
     }
 
-    public updateGateway_args setUpdatedGateway(org.apache.airavata.model.workspace.Gateway updatedGateway) {
+    public updateGateway_args setUpdatedGateway(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway updatedGateway) {
       this.updatedGateway = updatedGateway;
       return this;
     }
@@ -36592,7 +42113,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -36613,6 +42135,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -36626,6 +42150,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -36642,8 +42167,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGateway_args)
         return this.equals((updateGateway_args)that);
       return false;
@@ -36699,7 +42222,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36709,7 +42232,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedGateway()).compareTo(other.isSetUpdatedGateway());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedGateway(), other.isSetUpdatedGateway());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36722,14 +42245,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -36789,6 +42316,7 @@
     }
 
     private static class updateGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_argsStandardScheme getScheme() {
         return new updateGateway_argsStandardScheme();
       }
@@ -36796,6 +42324,7 @@
 
     private static class updateGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -36834,6 +42363,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -36855,6 +42385,7 @@
     }
 
     private static class updateGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_argsTupleScheme getScheme() {
         return new updateGateway_argsTupleScheme();
       }
@@ -36885,6 +42416,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGateway_result implements org.apache.thrift.TBase<updateGateway_result, updateGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGateway_result");
 
@@ -36895,7 +42427,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGateway_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -36913,6 +42445,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -36937,6 +42470,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -36949,10 +42483,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -36996,6 +42532,7 @@
       }
     }
 
+    @Override
     public updateGateway_result deepCopy() {
       return new updateGateway_result(this);
     }
@@ -37030,11 +42567,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGateway_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGateway_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -37054,7 +42592,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -37075,6 +42614,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -37088,6 +42629,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -37104,8 +42646,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGateway_result)
         return this.equals((updateGateway_result)that);
       return false;
@@ -37159,7 +42699,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37169,7 +42709,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37182,10 +42722,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -37238,6 +42781,7 @@
     }
 
     private static class updateGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_resultStandardScheme getScheme() {
         return new updateGateway_resultStandardScheme();
       }
@@ -37245,6 +42789,7 @@
 
     private static class updateGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -37283,6 +42828,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -37304,6 +42850,7 @@
     }
 
     private static class updateGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGateway_resultTupleScheme getScheme() {
         return new updateGateway_resultTupleScheme();
       }
@@ -37351,6 +42898,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGateway_args implements org.apache.thrift.TBase<getGateway_args, getGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_args");
 
@@ -37359,7 +42907,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -37376,6 +42924,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -37398,6 +42947,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -37410,10 +42960,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -37448,6 +43000,7 @@
       }
     }
 
+    @Override
     public getGateway_args deepCopy() {
       return new getGateway_args(this);
     }
@@ -37457,11 +43010,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getGateway_args setGatewayId(java.lang.String gatewayId) {
+    public getGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -37481,7 +43035,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -37494,6 +43049,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -37504,6 +43061,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -37518,8 +43076,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGateway_args)
         return this.equals((getGateway_args)that);
       return false;
@@ -37562,7 +43118,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37575,14 +43131,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -37628,6 +43188,7 @@
     }
 
     private static class getGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_argsStandardScheme getScheme() {
         return new getGateway_argsStandardScheme();
       }
@@ -37635,6 +43196,7 @@
 
     private static class getGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -37664,6 +43226,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -37680,6 +43243,7 @@
     }
 
     private static class getGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_argsTupleScheme getScheme() {
         return new getGateway_argsTupleScheme();
       }
@@ -37706,6 +43270,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGateway_result implements org.apache.thrift.TBase<getGateway_result, getGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGateway_result");
 
@@ -37715,8 +43280,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGateway_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGateway_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Gateway success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -37734,6 +43299,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -37758,6 +43324,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -37770,10 +43337,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -37815,6 +43384,7 @@
       }
     }
 
+    @Override
     public getGateway_result deepCopy() {
       return new getGateway_result(this);
     }
@@ -37825,11 +43395,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Gateway getSuccess() {
       return this.success;
     }
 
-    public getGateway_result setSuccess(org.apache.airavata.model.workspace.Gateway success) {
+    public getGateway_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway success) {
       this.success = success;
       return this;
     }
@@ -37849,11 +43420,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGateway_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGateway_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -37873,7 +43445,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -37894,6 +43467,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -37907,6 +43482,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -37923,8 +43499,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGateway_result)
         return this.equals((getGateway_result)that);
       return false;
@@ -37980,7 +43554,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37990,7 +43564,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38003,10 +43577,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -38064,6 +43641,7 @@
     }
 
     private static class getGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_resultStandardScheme getScheme() {
         return new getGateway_resultStandardScheme();
       }
@@ -38071,6 +43649,7 @@
 
     private static class getGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -38110,6 +43689,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -38131,6 +43711,7 @@
     }
 
     private static class getGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGateway_resultTupleScheme getScheme() {
         return new getGateway_resultTupleScheme();
       }
@@ -38179,6 +43760,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGateway_args implements org.apache.thrift.TBase<deleteGateway_args, deleteGateway_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_args");
 
@@ -38187,7 +43769,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGateway_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -38204,6 +43786,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -38226,6 +43809,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -38238,10 +43822,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -38276,6 +43862,7 @@
       }
     }
 
+    @Override
     public deleteGateway_args deepCopy() {
       return new deleteGateway_args(this);
     }
@@ -38285,11 +43872,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteGateway_args setGatewayId(java.lang.String gatewayId) {
+    public deleteGateway_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -38309,7 +43897,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -38322,6 +43911,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -38332,6 +43923,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -38346,8 +43938,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGateway_args)
         return this.equals((deleteGateway_args)that);
       return false;
@@ -38390,7 +43980,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38403,14 +43993,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -38456,6 +44050,7 @@
     }
 
     private static class deleteGateway_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_argsStandardScheme getScheme() {
         return new deleteGateway_argsStandardScheme();
       }
@@ -38463,6 +44058,7 @@
 
     private static class deleteGateway_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -38492,6 +44088,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -38508,6 +44105,7 @@
     }
 
     private static class deleteGateway_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_argsTupleScheme getScheme() {
         return new deleteGateway_argsTupleScheme();
       }
@@ -38534,6 +44132,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGateway_result implements org.apache.thrift.TBase<deleteGateway_result, deleteGateway_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGateway_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGateway_result");
 
@@ -38544,7 +44143,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGateway_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -38562,6 +44161,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -38586,6 +44186,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -38598,10 +44199,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -38645,6 +44248,7 @@
       }
     }
 
+    @Override
     public deleteGateway_result deepCopy() {
       return new deleteGateway_result(this);
     }
@@ -38679,11 +44283,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteGateway_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteGateway_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -38703,7 +44308,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -38724,6 +44330,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -38737,6 +44345,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -38753,8 +44362,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGateway_result)
         return this.equals((deleteGateway_result)that);
       return false;
@@ -38808,7 +44415,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38818,7 +44425,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38831,10 +44438,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -38887,6 +44497,7 @@
     }
 
     private static class deleteGateway_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_resultStandardScheme getScheme() {
         return new deleteGateway_resultStandardScheme();
       }
@@ -38894,6 +44505,7 @@
 
     private static class deleteGateway_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGateway_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGateway_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -38932,6 +44544,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGateway_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -38953,6 +44566,7 @@
     }
 
     private static class deleteGateway_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGateway_resultTupleScheme getScheme() {
         return new deleteGateway_resultTupleScheme();
       }
@@ -39000,6 +44614,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGateways_args implements org.apache.thrift.TBase<getAllGateways_args, getAllGateways_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_args");
 
@@ -39023,6 +44638,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -39043,6 +44659,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39055,10 +44672,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39079,6 +44698,7 @@
     public getAllGateways_args(getAllGateways_args other) {
     }
 
+    @Override
     public getAllGateways_args deepCopy() {
       return new getAllGateways_args(this);
     }
@@ -39087,11 +44707,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -39099,6 +44722,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39111,8 +44735,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGateways_args)
         return this.equals((getAllGateways_args)that);
       return false;
@@ -39145,14 +44767,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -39188,6 +44814,7 @@
     }
 
     private static class getAllGateways_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_argsStandardScheme getScheme() {
         return new getAllGateways_argsStandardScheme();
       }
@@ -39195,6 +44822,7 @@
 
     private static class getAllGateways_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -39216,6 +44844,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGateways_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -39227,6 +44856,7 @@
     }
 
     private static class getAllGateways_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_argsTupleScheme getScheme() {
         return new getAllGateways_argsTupleScheme();
       }
@@ -39250,6 +44880,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGateways_result implements org.apache.thrift.TBase<getAllGateways_result, getAllGateways_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGateways_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGateways_result");
 
@@ -39259,8 +44890,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGateways_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGateways_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -39278,6 +44909,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -39302,6 +44934,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39314,10 +44947,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39364,6 +44999,7 @@
       }
     }
 
+    @Override
     public getAllGateways_result deepCopy() {
       return new getAllGateways_result(this);
     }
@@ -39378,6 +45014,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Gateway> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -39389,11 +45026,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Gateway> getSuccess() {
       return this.success;
     }
 
-    public getAllGateways_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
+    public getAllGateways_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Gateway> success) {
       this.success = success;
       return this;
     }
@@ -39413,11 +45051,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllGateways_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllGateways_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -39437,7 +45076,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -39458,6 +45098,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -39471,6 +45113,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39487,8 +45130,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGateways_result)
         return this.equals((getAllGateways_result)that);
       return false;
@@ -39544,7 +45185,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39554,7 +45195,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39567,10 +45208,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -39625,6 +45269,7 @@
     }
 
     private static class getAllGateways_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_resultStandardScheme getScheme() {
         return new getAllGateways_resultStandardScheme();
       }
@@ -39632,6 +45277,7 @@
 
     private static class getAllGateways_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGateways_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGateways_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -39647,7 +45293,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list8.size);
-                  org.apache.airavata.model.workspace.Gateway _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.model.workspace.Gateway();
@@ -39681,6 +45327,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGateways_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -39709,6 +45356,7 @@
     }
 
     private static class getAllGateways_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGateways_resultTupleScheme getScheme() {
         return new getAllGateways_resultTupleScheme();
       }
@@ -39747,9 +45395,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Gateway>(_list13.size);
-            org.apache.airavata.model.workspace.Gateway _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Gateway _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.model.workspace.Gateway();
@@ -39772,6 +45420,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayExist_args implements org.apache.thrift.TBase<isGatewayExist_args, isGatewayExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_args");
 
@@ -39780,7 +45429,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayExist_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -39797,6 +45446,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -39819,6 +45469,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39831,10 +45482,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39869,6 +45522,7 @@
       }
     }
 
+    @Override
     public isGatewayExist_args deepCopy() {
       return new isGatewayExist_args(this);
     }
@@ -39878,11 +45532,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isGatewayExist_args setGatewayId(java.lang.String gatewayId) {
+    public isGatewayExist_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -39902,7 +45557,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -39915,6 +45571,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -39925,6 +45583,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39939,8 +45598,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayExist_args)
         return this.equals((isGatewayExist_args)that);
       return false;
@@ -39983,7 +45640,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39996,14 +45653,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -40049,6 +45710,7 @@
     }
 
     private static class isGatewayExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_argsStandardScheme getScheme() {
         return new isGatewayExist_argsStandardScheme();
       }
@@ -40056,6 +45718,7 @@
 
     private static class isGatewayExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40085,6 +45748,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40101,6 +45765,7 @@
     }
 
     private static class isGatewayExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_argsTupleScheme getScheme() {
         return new isGatewayExist_argsTupleScheme();
       }
@@ -40127,6 +45792,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayExist_result implements org.apache.thrift.TBase<isGatewayExist_result, isGatewayExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayExist_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayExist_result");
 
@@ -40137,7 +45803,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayExist_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -40155,6 +45821,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -40179,6 +45846,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40191,10 +45859,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -40238,6 +45908,7 @@
       }
     }
 
+    @Override
     public isGatewayExist_result deepCopy() {
       return new isGatewayExist_result(this);
     }
@@ -40272,11 +45943,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public isGatewayExist_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isGatewayExist_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -40296,7 +45968,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -40317,6 +45990,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -40330,6 +46005,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -40346,8 +46022,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayExist_result)
         return this.equals((isGatewayExist_result)that);
       return false;
@@ -40401,7 +46075,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40411,7 +46085,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40424,10 +46098,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -40480,6 +46157,7 @@
     }
 
     private static class isGatewayExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_resultStandardScheme getScheme() {
         return new isGatewayExist_resultStandardScheme();
       }
@@ -40487,6 +46165,7 @@
 
     private static class isGatewayExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayExist_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40525,6 +46204,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayExist_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40546,6 +46226,7 @@
     }
 
     private static class isGatewayExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayExist_resultTupleScheme getScheme() {
         return new isGatewayExist_resultTupleScheme();
       }
@@ -40593,6 +46274,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createNotification_args implements org.apache.thrift.TBase<createNotification_args, createNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<createNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createNotification_args");
 
@@ -40601,7 +46283,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNotification_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Notification notification; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification; // 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 {
@@ -40618,6 +46300,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // NOTIFICATION
@@ -40640,6 +46323,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40652,10 +46336,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -40690,6 +46376,7 @@
       }
     }
 
+    @Override
     public createNotification_args deepCopy() {
       return new createNotification_args(this);
     }
@@ -40699,11 +46386,12 @@
       this.notification = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Notification getNotification() {
       return this.notification;
     }
 
-    public createNotification_args setNotification(org.apache.airavata.model.workspace.Notification notification) {
+    public createNotification_args setNotification(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification) {
       this.notification = notification;
       return this;
     }
@@ -40723,7 +46411,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case NOTIFICATION:
         if (value == null) {
@@ -40736,6 +46425,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case NOTIFICATION:
@@ -40746,6 +46437,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -40760,8 +46452,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createNotification_args)
         return this.equals((createNotification_args)that);
       return false;
@@ -40804,7 +46494,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetNotification()).compareTo(other.isSetNotification());
+      lastComparison = java.lang.Boolean.compare(isSetNotification(), other.isSetNotification());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40817,14 +46507,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -40873,6 +46567,7 @@
     }
 
     private static class createNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_argsStandardScheme getScheme() {
         return new createNotification_argsStandardScheme();
       }
@@ -40880,6 +46575,7 @@
 
     private static class createNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40910,6 +46606,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40926,6 +46623,7 @@
     }
 
     private static class createNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_argsTupleScheme getScheme() {
         return new createNotification_argsTupleScheme();
       }
@@ -40953,6 +46651,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createNotification_result implements org.apache.thrift.TBase<createNotification_result, createNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<createNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createNotification_result");
 
@@ -40962,8 +46661,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createNotification_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createNotification_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -40981,6 +46680,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -41005,6 +46705,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41017,10 +46718,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41062,6 +46765,7 @@
       }
     }
 
+    @Override
     public createNotification_result deepCopy() {
       return new createNotification_result(this);
     }
@@ -41072,11 +46776,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createNotification_result setSuccess(java.lang.String success) {
+    public createNotification_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -41096,11 +46801,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public createNotification_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public createNotification_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -41120,7 +46826,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -41141,6 +46848,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -41154,6 +46863,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -41170,8 +46880,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createNotification_result)
         return this.equals((createNotification_result)that);
       return false;
@@ -41227,7 +46935,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41237,7 +46945,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41250,10 +46958,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -41308,6 +47019,7 @@
     }
 
     private static class createNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_resultStandardScheme getScheme() {
         return new createNotification_resultStandardScheme();
       }
@@ -41315,6 +47027,7 @@
 
     private static class createNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -41353,6 +47066,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -41374,6 +47088,7 @@
     }
 
     private static class createNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createNotification_resultTupleScheme getScheme() {
         return new createNotification_resultTupleScheme();
       }
@@ -41421,6 +47136,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateNotification_args implements org.apache.thrift.TBase<updateNotification_args, updateNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNotification_args");
 
@@ -41429,7 +47145,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateNotification_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Notification notification; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification; // 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 {
@@ -41446,6 +47162,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // NOTIFICATION
@@ -41468,6 +47185,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41480,10 +47198,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41518,6 +47238,7 @@
       }
     }
 
+    @Override
     public updateNotification_args deepCopy() {
       return new updateNotification_args(this);
     }
@@ -41527,11 +47248,12 @@
       this.notification = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Notification getNotification() {
       return this.notification;
     }
 
-    public updateNotification_args setNotification(org.apache.airavata.model.workspace.Notification notification) {
+    public updateNotification_args setNotification(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification notification) {
       this.notification = notification;
       return this;
     }
@@ -41551,7 +47273,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case NOTIFICATION:
         if (value == null) {
@@ -41564,6 +47287,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case NOTIFICATION:
@@ -41574,6 +47299,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -41588,8 +47314,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateNotification_args)
         return this.equals((updateNotification_args)that);
       return false;
@@ -41632,7 +47356,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetNotification()).compareTo(other.isSetNotification());
+      lastComparison = java.lang.Boolean.compare(isSetNotification(), other.isSetNotification());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41645,14 +47369,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -41701,6 +47429,7 @@
     }
 
     private static class updateNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_argsStandardScheme getScheme() {
         return new updateNotification_argsStandardScheme();
       }
@@ -41708,6 +47437,7 @@
 
     private static class updateNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -41738,6 +47468,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -41754,6 +47485,7 @@
     }
 
     private static class updateNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_argsTupleScheme getScheme() {
         return new updateNotification_argsTupleScheme();
       }
@@ -41781,6 +47513,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateNotification_result implements org.apache.thrift.TBase<updateNotification_result, updateNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateNotification_result");
 
@@ -41791,7 +47524,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateNotification_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -41809,6 +47542,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -41833,6 +47567,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41845,10 +47580,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41892,6 +47629,7 @@
       }
     }
 
+    @Override
     public updateNotification_result deepCopy() {
       return new updateNotification_result(this);
     }
@@ -41926,11 +47664,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateNotification_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateNotification_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -41950,7 +47689,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -41971,6 +47711,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -41984,6 +47726,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -42000,8 +47743,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateNotification_result)
         return this.equals((updateNotification_result)that);
       return false;
@@ -42055,7 +47796,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42065,7 +47806,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42078,10 +47819,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -42134,6 +47878,7 @@
     }
 
     private static class updateNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_resultStandardScheme getScheme() {
         return new updateNotification_resultStandardScheme();
       }
@@ -42141,6 +47886,7 @@
 
     private static class updateNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42179,6 +47925,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -42200,6 +47947,7 @@
     }
 
     private static class updateNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateNotification_resultTupleScheme getScheme() {
         return new updateNotification_resultTupleScheme();
       }
@@ -42247,6 +47995,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteNotification_args implements org.apache.thrift.TBase<deleteNotification_args, deleteNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteNotification_args");
 
@@ -42256,8 +48005,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteNotification_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String notificationId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String notificationId; // 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 {
@@ -42275,6 +48024,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -42299,6 +48049,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -42311,10 +48062,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -42356,6 +48109,7 @@
       }
     }
 
+    @Override
     public deleteNotification_args deepCopy() {
       return new deleteNotification_args(this);
     }
@@ -42366,11 +48120,12 @@
       this.notificationId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public deleteNotification_args setGatewayId(java.lang.String gatewayId) {
+    public deleteNotification_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -42390,11 +48145,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNotificationId() {
       return this.notificationId;
     }
 
-    public deleteNotification_args setNotificationId(java.lang.String notificationId) {
+    public deleteNotification_args setNotificationId(@org.apache.thrift.annotation.Nullable java.lang.String notificationId) {
       this.notificationId = notificationId;
       return this;
     }
@@ -42414,7 +48170,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -42435,6 +48192,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -42448,6 +48207,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -42464,8 +48224,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteNotification_args)
         return this.equals((deleteNotification_args)that);
       return false;
@@ -42521,7 +48279,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42531,7 +48289,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNotificationId()).compareTo(other.isSetNotificationId());
+      lastComparison = java.lang.Boolean.compare(isSetNotificationId(), other.isSetNotificationId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42544,14 +48302,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -42608,6 +48370,7 @@
     }
 
     private static class deleteNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_argsStandardScheme getScheme() {
         return new deleteNotification_argsStandardScheme();
       }
@@ -42615,6 +48378,7 @@
 
     private static class deleteNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42652,6 +48416,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -42673,6 +48438,7 @@
     }
 
     private static class deleteNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_argsTupleScheme getScheme() {
         return new deleteNotification_argsTupleScheme();
       }
@@ -42702,6 +48468,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteNotification_result implements org.apache.thrift.TBase<deleteNotification_result, deleteNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteNotification_result");
 
@@ -42712,7 +48479,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteNotification_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -42730,6 +48497,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -42754,6 +48522,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -42766,10 +48535,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -42813,6 +48584,7 @@
       }
     }
 
+    @Override
     public deleteNotification_result deepCopy() {
       return new deleteNotification_result(this);
     }
@@ -42847,11 +48619,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteNotification_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteNotification_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -42871,7 +48644,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -42892,6 +48666,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -42905,6 +48681,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -42921,8 +48698,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteNotification_result)
         return this.equals((deleteNotification_result)that);
       return false;
@@ -42976,7 +48751,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42986,7 +48761,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42999,10 +48774,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -43055,6 +48833,7 @@
     }
 
     private static class deleteNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_resultStandardScheme getScheme() {
         return new deleteNotification_resultStandardScheme();
       }
@@ -43062,6 +48841,7 @@
 
     private static class deleteNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -43100,6 +48880,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -43121,6 +48902,7 @@
     }
 
     private static class deleteNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteNotification_resultTupleScheme getScheme() {
         return new deleteNotification_resultTupleScheme();
       }
@@ -43168,6 +48950,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getNotification_args implements org.apache.thrift.TBase<getNotification_args, getNotification_args._Fields>, java.io.Serializable, Cloneable, Comparable<getNotification_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNotification_args");
 
@@ -43177,8 +48960,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNotification_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNotification_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String notificationId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String notificationId; // 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 {
@@ -43196,6 +48979,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -43220,6 +49004,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43232,10 +49017,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -43277,6 +49064,7 @@
       }
     }
 
+    @Override
     public getNotification_args deepCopy() {
       return new getNotification_args(this);
     }
@@ -43287,11 +49075,12 @@
       this.notificationId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getNotification_args setGatewayId(java.lang.String gatewayId) {
+    public getNotification_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -43311,11 +49100,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNotificationId() {
       return this.notificationId;
     }
 
-    public getNotification_args setNotificationId(java.lang.String notificationId) {
+    public getNotification_args setNotificationId(@org.apache.thrift.annotation.Nullable java.lang.String notificationId) {
       this.notificationId = notificationId;
       return this;
     }
@@ -43335,7 +49125,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -43356,6 +49147,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -43369,6 +49162,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -43385,8 +49179,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getNotification_args)
         return this.equals((getNotification_args)that);
       return false;
@@ -43442,7 +49234,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43452,7 +49244,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNotificationId()).compareTo(other.isSetNotificationId());
+      lastComparison = java.lang.Boolean.compare(isSetNotificationId(), other.isSetNotificationId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43465,14 +49257,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -43529,6 +49325,7 @@
     }
 
     private static class getNotification_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_argsStandardScheme getScheme() {
         return new getNotification_argsStandardScheme();
       }
@@ -43536,6 +49333,7 @@
 
     private static class getNotification_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getNotification_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getNotification_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -43573,6 +49371,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getNotification_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -43594,6 +49393,7 @@
     }
 
     private static class getNotification_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_argsTupleScheme getScheme() {
         return new getNotification_argsTupleScheme();
       }
@@ -43623,6 +49423,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getNotification_result implements org.apache.thrift.TBase<getNotification_result, getNotification_result._Fields>, java.io.Serializable, Cloneable, Comparable<getNotification_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getNotification_result");
 
@@ -43632,8 +49433,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getNotification_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getNotification_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Notification success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -43651,6 +49452,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -43675,6 +49477,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43687,10 +49490,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -43732,6 +49537,7 @@
       }
     }
 
+    @Override
     public getNotification_result deepCopy() {
       return new getNotification_result(this);
     }
@@ -43742,11 +49548,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Notification getSuccess() {
       return this.success;
     }
 
-    public getNotification_result setSuccess(org.apache.airavata.model.workspace.Notification success) {
+    public getNotification_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification success) {
       this.success = success;
       return this;
     }
@@ -43766,11 +49573,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getNotification_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getNotification_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -43790,7 +49598,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -43811,6 +49620,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -43824,6 +49635,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -43840,8 +49652,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getNotification_result)
         return this.equals((getNotification_result)that);
       return false;
@@ -43897,7 +49707,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43907,7 +49717,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43920,10 +49730,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -43981,6 +49794,7 @@
     }
 
     private static class getNotification_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_resultStandardScheme getScheme() {
         return new getNotification_resultStandardScheme();
       }
@@ -43988,6 +49802,7 @@
 
     private static class getNotification_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getNotification_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getNotification_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44027,6 +49842,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getNotification_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44048,6 +49864,7 @@
     }
 
     private static class getNotification_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getNotification_resultTupleScheme getScheme() {
         return new getNotification_resultTupleScheme();
       }
@@ -44096,6 +49913,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllNotifications_args implements org.apache.thrift.TBase<getAllNotifications_args, getAllNotifications_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllNotifications_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllNotifications_args");
 
@@ -44104,7 +49922,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllNotifications_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllNotifications_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -44121,6 +49939,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -44143,6 +49962,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44155,10 +49975,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -44193,6 +50015,7 @@
       }
     }
 
+    @Override
     public getAllNotifications_args deepCopy() {
       return new getAllNotifications_args(this);
     }
@@ -44202,11 +50025,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllNotifications_args setGatewayId(java.lang.String gatewayId) {
+    public getAllNotifications_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -44226,7 +50050,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -44239,6 +50064,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -44249,6 +50076,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -44263,8 +50091,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllNotifications_args)
         return this.equals((getAllNotifications_args)that);
       return false;
@@ -44307,7 +50133,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44320,14 +50146,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -44373,6 +50203,7 @@
     }
 
     private static class getAllNotifications_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_argsStandardScheme getScheme() {
         return new getAllNotifications_argsStandardScheme();
       }
@@ -44380,6 +50211,7 @@
 
     private static class getAllNotifications_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllNotifications_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllNotifications_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44409,6 +50241,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllNotifications_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44425,6 +50258,7 @@
     }
 
     private static class getAllNotifications_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_argsTupleScheme getScheme() {
         return new getAllNotifications_argsTupleScheme();
       }
@@ -44451,6 +50285,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllNotifications_result implements org.apache.thrift.TBase<getAllNotifications_result, getAllNotifications_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllNotifications_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllNotifications_result");
 
@@ -44460,8 +50295,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllNotifications_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllNotifications_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Notification> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Notification> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -44479,6 +50314,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -44503,6 +50339,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44515,10 +50352,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -44565,6 +50404,7 @@
       }
     }
 
+    @Override
     public getAllNotifications_result deepCopy() {
       return new getAllNotifications_result(this);
     }
@@ -44579,6 +50419,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Notification> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -44590,11 +50431,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Notification> getSuccess() {
       return this.success;
     }
 
-    public getAllNotifications_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Notification> success) {
+    public getAllNotifications_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Notification> success) {
       this.success = success;
       return this;
     }
@@ -44614,11 +50456,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllNotifications_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllNotifications_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -44638,7 +50481,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -44659,6 +50503,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -44672,6 +50518,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -44688,8 +50535,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllNotifications_result)
         return this.equals((getAllNotifications_result)that);
       return false;
@@ -44745,7 +50590,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44755,7 +50600,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44768,10 +50613,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -44826,6 +50674,7 @@
     }
 
     private static class getAllNotifications_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_resultStandardScheme getScheme() {
         return new getAllNotifications_resultStandardScheme();
       }
@@ -44833,6 +50682,7 @@
 
     private static class getAllNotifications_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllNotifications_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllNotifications_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44848,7 +50698,7 @@
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Notification>(_list16.size);
-                  org.apache.airavata.model.workspace.Notification _elem17;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification _elem17;
                   for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                   {
                     _elem17 = new org.apache.airavata.model.workspace.Notification();
@@ -44882,6 +50732,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllNotifications_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44910,6 +50761,7 @@
     }
 
     private static class getAllNotifications_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllNotifications_resultTupleScheme getScheme() {
         return new getAllNotifications_resultTupleScheme();
       }
@@ -44948,9 +50800,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Notification>(_list21.size);
-            org.apache.airavata.model.workspace.Notification _elem22;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Notification _elem22;
             for (int _i23 = 0; _i23 < _list21.size; ++_i23)
             {
               _elem22 = new org.apache.airavata.model.workspace.Notification();
@@ -44973,6 +50825,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createProject_args implements org.apache.thrift.TBase<createProject_args, createProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_args");
 
@@ -44982,8 +50835,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.workspace.Project project; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project project; // 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 {
@@ -45001,6 +50854,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -45025,6 +50879,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45037,10 +50892,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -45082,6 +50939,7 @@
       }
     }
 
+    @Override
     public createProject_args deepCopy() {
       return new createProject_args(this);
     }
@@ -45092,11 +50950,12 @@
       this.project = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public createProject_args setGatewayId(java.lang.String gatewayId) {
+    public createProject_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -45116,11 +50975,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Project getProject() {
       return this.project;
     }
 
-    public createProject_args setProject(org.apache.airavata.model.workspace.Project project) {
+    public createProject_args setProject(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project project) {
       this.project = project;
       return this;
     }
@@ -45140,7 +51000,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -45161,6 +51022,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -45174,6 +51037,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45190,8 +51054,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createProject_args)
         return this.equals((createProject_args)that);
       return false;
@@ -45247,7 +51109,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45257,7 +51119,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProject()).compareTo(other.isSetProject());
+      lastComparison = java.lang.Boolean.compare(isSetProject(), other.isSetProject());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45270,14 +51132,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -45337,6 +51203,7 @@
     }
 
     private static class createProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_argsStandardScheme getScheme() {
         return new createProject_argsStandardScheme();
       }
@@ -45344,6 +51211,7 @@
 
     private static class createProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -45382,6 +51250,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -45403,6 +51272,7 @@
     }
 
     private static class createProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_argsTupleScheme getScheme() {
         return new createProject_argsTupleScheme();
       }
@@ -45433,6 +51303,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createProject_result implements org.apache.thrift.TBase<createProject_result, createProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<createProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createProject_result");
 
@@ -45442,8 +51313,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createProject_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -45461,6 +51332,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -45485,6 +51357,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45497,10 +51370,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -45542,6 +51417,7 @@
       }
     }
 
+    @Override
     public createProject_result deepCopy() {
       return new createProject_result(this);
     }
@@ -45552,11 +51428,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createProject_result setSuccess(java.lang.String success) {
+    public createProject_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -45576,11 +51453,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public createProject_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public createProject_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -45600,7 +51478,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -45621,6 +51500,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -45634,6 +51515,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45650,8 +51532,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createProject_result)
         return this.equals((createProject_result)that);
       return false;
@@ -45707,7 +51587,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45717,7 +51597,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45730,10 +51610,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -45788,6 +51671,7 @@
     }
 
     private static class createProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_resultStandardScheme getScheme() {
         return new createProject_resultStandardScheme();
       }
@@ -45795,6 +51679,7 @@
 
     private static class createProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -45833,6 +51718,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -45854,6 +51740,7 @@
     }
 
     private static class createProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createProject_resultTupleScheme getScheme() {
         return new createProject_resultTupleScheme();
       }
@@ -45901,6 +51788,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProject_args implements org.apache.thrift.TBase<updateProject_args, updateProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProject_args");
 
@@ -45910,8 +51798,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProject_argsTupleSchemeFactory();
 
-    public java.lang.String projectId; // required
-    public org.apache.airavata.model.workspace.Project updatedProject; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project updatedProject; // 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 {
@@ -45929,6 +51817,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROJECT_ID
@@ -45953,6 +51842,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45965,10 +51855,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46010,6 +51902,7 @@
       }
     }
 
+    @Override
     public updateProject_args deepCopy() {
       return new updateProject_args(this);
     }
@@ -46020,11 +51913,12 @@
       this.updatedProject = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public updateProject_args setProjectId(java.lang.String projectId) {
+    public updateProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -46044,11 +51938,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Project getUpdatedProject() {
       return this.updatedProject;
     }
 
-    public updateProject_args setUpdatedProject(org.apache.airavata.model.workspace.Project updatedProject) {
+    public updateProject_args setUpdatedProject(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project updatedProject) {
       this.updatedProject = updatedProject;
       return this;
     }
@@ -46068,7 +51963,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROJECT_ID:
         if (value == null) {
@@ -46089,6 +51985,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROJECT_ID:
@@ -46102,6 +52000,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46118,8 +52017,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProject_args)
         return this.equals((updateProject_args)that);
       return false;
@@ -46175,7 +52072,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46185,7 +52082,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedProject()).compareTo(other.isSetUpdatedProject());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedProject(), other.isSetUpdatedProject());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46198,14 +52095,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -46265,6 +52166,7 @@
     }
 
     private static class updateProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_argsStandardScheme getScheme() {
         return new updateProject_argsStandardScheme();
       }
@@ -46272,6 +52174,7 @@
 
     private static class updateProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -46310,6 +52213,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -46331,6 +52235,7 @@
     }
 
     private static class updateProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_argsTupleScheme getScheme() {
         return new updateProject_argsTupleScheme();
       }
@@ -46361,6 +52266,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProject_result implements org.apache.thrift.TBase<updateProject_result, updateProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProject_result");
 
@@ -46370,8 +52276,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProject_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -46389,6 +52295,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -46413,6 +52320,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46425,10 +52333,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46470,6 +52380,7 @@
       }
     }
 
+    @Override
     public updateProject_result deepCopy() {
       return new updateProject_result(this);
     }
@@ -46480,11 +52391,12 @@
       this.pnfe = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateProject_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateProject_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -46504,11 +52416,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public updateProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public updateProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -46528,7 +52441,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -46549,6 +52463,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -46562,6 +52478,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46578,8 +52495,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProject_result)
         return this.equals((updateProject_result)that);
       return false;
@@ -46635,7 +52550,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46645,7 +52560,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46658,10 +52573,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -46716,6 +52634,7 @@
     }
 
     private static class updateProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_resultStandardScheme getScheme() {
         return new updateProject_resultStandardScheme();
       }
@@ -46723,6 +52642,7 @@
 
     private static class updateProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -46762,6 +52682,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -46783,6 +52704,7 @@
     }
 
     private static class updateProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProject_resultTupleScheme getScheme() {
         return new updateProject_resultTupleScheme();
       }
@@ -46831,6 +52753,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProject_args implements org.apache.thrift.TBase<getProject_args, getProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProject_args");
 
@@ -46839,7 +52762,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProject_argsTupleSchemeFactory();
 
-    public java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // 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 {
@@ -46856,6 +52779,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROJECT_ID
@@ -46878,6 +52802,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46890,10 +52815,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46928,6 +52855,7 @@
       }
     }
 
+    @Override
     public getProject_args deepCopy() {
       return new getProject_args(this);
     }
@@ -46937,11 +52865,12 @@
       this.projectId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public getProject_args setProjectId(java.lang.String projectId) {
+    public getProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -46961,7 +52890,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROJECT_ID:
         if (value == null) {
@@ -46974,6 +52904,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROJECT_ID:
@@ -46984,6 +52916,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46998,8 +52931,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProject_args)
         return this.equals((getProject_args)that);
       return false;
@@ -47042,7 +52973,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47055,14 +52986,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -47108,6 +53043,7 @@
     }
 
     private static class getProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_argsStandardScheme getScheme() {
         return new getProject_argsStandardScheme();
       }
@@ -47115,6 +53051,7 @@
 
     private static class getProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -47144,6 +53081,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -47160,6 +53098,7 @@
     }
 
     private static class getProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_argsTupleScheme getScheme() {
         return new getProject_argsTupleScheme();
       }
@@ -47186,6 +53125,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProject_result implements org.apache.thrift.TBase<getProject_result, getProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProject_result");
 
@@ -47196,9 +53136,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProject_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.Project success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -47217,6 +53157,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -47243,6 +53184,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -47255,10 +53197,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -47307,6 +53251,7 @@
       }
     }
 
+    @Override
     public getProject_result deepCopy() {
       return new getProject_result(this);
     }
@@ -47318,11 +53263,12 @@
       this.pnfe = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.Project getSuccess() {
       return this.success;
     }
 
-    public getProject_result setSuccess(org.apache.airavata.model.workspace.Project success) {
+    public getProject_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project success) {
       this.success = success;
       return this;
     }
@@ -47342,11 +53288,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProject_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProject_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -47366,11 +53313,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public getProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public getProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -47390,7 +53338,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -47419,6 +53368,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -47435,6 +53386,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -47453,8 +53405,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProject_result)
         return this.equals((getProject_result)that);
       return false;
@@ -47523,7 +53473,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47533,7 +53483,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47543,7 +53493,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47556,10 +53506,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -47625,6 +53578,7 @@
     }
 
     private static class getProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_resultStandardScheme getScheme() {
         return new getProject_resultStandardScheme();
       }
@@ -47632,6 +53586,7 @@
 
     private static class getProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -47680,6 +53635,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -47706,6 +53662,7 @@
     }
 
     private static class getProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProject_resultTupleScheme getScheme() {
         return new getProject_resultTupleScheme();
       }
@@ -47765,6 +53722,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteProject_args implements org.apache.thrift.TBase<deleteProject_args, deleteProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteProject_args");
 
@@ -47773,7 +53731,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteProject_argsTupleSchemeFactory();
 
-    public java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // 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 {
@@ -47790,6 +53748,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROJECT_ID
@@ -47812,6 +53771,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -47824,10 +53784,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -47862,6 +53824,7 @@
       }
     }
 
+    @Override
     public deleteProject_args deepCopy() {
       return new deleteProject_args(this);
     }
@@ -47871,11 +53834,12 @@
       this.projectId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public deleteProject_args setProjectId(java.lang.String projectId) {
+    public deleteProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -47895,7 +53859,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROJECT_ID:
         if (value == null) {
@@ -47908,6 +53873,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROJECT_ID:
@@ -47918,6 +53885,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -47932,8 +53900,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteProject_args)
         return this.equals((deleteProject_args)that);
       return false;
@@ -47976,7 +53942,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47989,14 +53955,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -48042,6 +54012,7 @@
     }
 
     private static class deleteProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_argsStandardScheme getScheme() {
         return new deleteProject_argsStandardScheme();
       }
@@ -48049,6 +54020,7 @@
 
     private static class deleteProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -48078,6 +54050,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -48094,6 +54067,7 @@
     }
 
     private static class deleteProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_argsTupleScheme getScheme() {
         return new deleteProject_argsTupleScheme();
       }
@@ -48120,6 +54094,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteProject_result implements org.apache.thrift.TBase<deleteProject_result, deleteProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteProject_result");
 
@@ -48131,8 +54106,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteProject_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -48151,6 +54126,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -48177,6 +54153,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48189,10 +54166,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -48243,6 +54222,7 @@
       }
     }
 
+    @Override
     public deleteProject_result deepCopy() {
       return new deleteProject_result(this);
     }
@@ -48278,11 +54258,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteProject_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteProject_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -48302,11 +54283,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public deleteProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public deleteProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -48326,7 +54308,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -48355,6 +54338,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -48371,6 +54356,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -48389,8 +54375,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteProject_result)
         return this.equals((deleteProject_result)that);
       return false;
@@ -48457,7 +54441,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48467,7 +54451,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48477,7 +54461,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48490,10 +54474,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -48554,6 +54541,7 @@
     }
 
     private static class deleteProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_resultStandardScheme getScheme() {
         return new deleteProject_resultStandardScheme();
       }
@@ -48561,6 +54549,7 @@
 
     private static class deleteProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -48608,6 +54597,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -48634,6 +54624,7 @@
     }
 
     private static class deleteProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteProject_resultTupleScheme getScheme() {
         return new deleteProject_resultTupleScheme();
       }
@@ -48692,6 +54683,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserProjects_args implements org.apache.thrift.TBase<getUserProjects_args, getUserProjects_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProjects_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProjects_args");
 
@@ -48703,8 +54695,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserProjects_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserProjects_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
     public int limit; // required
     public int offset; // required
 
@@ -48726,6 +54718,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -48754,6 +54747,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48766,10 +54760,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -48827,6 +54823,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getUserProjects_args deepCopy() {
       return new getUserProjects_args(this);
     }
@@ -48841,11 +54838,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getUserProjects_args setGatewayId(java.lang.String gatewayId) {
+    public getUserProjects_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -48865,11 +54863,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getUserProjects_args setUserName(java.lang.String userName) {
+    public getUserProjects_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -48935,7 +54934,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -48972,6 +54972,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -48991,6 +54993,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -49011,8 +55014,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserProjects_args)
         return this.equals((getUserProjects_args)that);
       return false;
@@ -49090,7 +55091,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49100,7 +55101,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49110,7 +55111,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49120,7 +55121,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49133,14 +55134,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -49209,6 +55214,7 @@
     }
 
     private static class getUserProjects_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_argsStandardScheme getScheme() {
         return new getUserProjects_argsStandardScheme();
       }
@@ -49216,6 +55222,7 @@
 
     private static class getUserProjects_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserProjects_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProjects_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -49275,6 +55282,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProjects_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -49302,6 +55310,7 @@
     }
 
     private static class getUserProjects_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_argsTupleScheme getScheme() {
         return new getUserProjects_argsTupleScheme();
       }
@@ -49337,6 +55346,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserProjects_result implements org.apache.thrift.TBase<getUserProjects_result, getUserProjects_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserProjects_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserProjects_result");
 
@@ -49346,8 +55356,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserProjects_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserProjects_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Project> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -49365,6 +55375,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -49389,6 +55400,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49401,10 +55413,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -49451,6 +55465,7 @@
       }
     }
 
+    @Override
     public getUserProjects_result deepCopy() {
       return new getUserProjects_result(this);
     }
@@ -49465,6 +55480,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Project> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -49476,11 +55492,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Project> getSuccess() {
       return this.success;
     }
 
-    public getUserProjects_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Project> success) {
+    public getUserProjects_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success) {
       this.success = success;
       return this;
     }
@@ -49500,11 +55517,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUserProjects_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUserProjects_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -49524,7 +55542,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -49545,6 +55564,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -49558,6 +55579,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -49574,8 +55596,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserProjects_result)
         return this.equals((getUserProjects_result)that);
       return false;
@@ -49631,7 +55651,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49641,7 +55661,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49654,10 +55674,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -49712,6 +55735,7 @@
     }
 
     private static class getUserProjects_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_resultStandardScheme getScheme() {
         return new getUserProjects_resultStandardScheme();
       }
@@ -49719,6 +55743,7 @@
 
     private static class getUserProjects_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserProjects_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserProjects_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -49734,7 +55759,7 @@
                 {
                   org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list24.size);
-                  org.apache.airavata.model.workspace.Project _elem25;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem25;
                   for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                   {
                     _elem25 = new org.apache.airavata.model.workspace.Project();
@@ -49768,6 +55793,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserProjects_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -49796,6 +55822,7 @@
     }
 
     private static class getUserProjects_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserProjects_resultTupleScheme getScheme() {
         return new getUserProjects_resultTupleScheme();
       }
@@ -49834,9 +55861,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list29.size);
-            org.apache.airavata.model.workspace.Project _elem30;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem30;
             for (int _i31 = 0; _i31 < _list29.size; ++_i31)
             {
               _elem30 = new org.apache.airavata.model.workspace.Project();
@@ -49859,6 +55886,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchProjects_args implements org.apache.thrift.TBase<searchProjects_args, searchProjects_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchProjects_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchProjects_args");
 
@@ -49872,10 +55900,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchProjects_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchProjects_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
-    public java.util.List<java.lang.String> accessibleProjIds; // required
-    public java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleProjIds; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters; // required
     public int limit; // required
     public int offset; // required
 
@@ -49899,6 +55927,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -49931,6 +55960,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49943,10 +55973,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -50016,7 +56048,7 @@
         this.accessibleProjIds = __this__accessibleProjIds;
       }
       if (other.isSetFilters()) {
-        java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> __this__filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(other.filters.size());
+        java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> __this__filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
         for (java.util.Map.Entry<org.apache.airavata.model.experiment.ProjectSearchFields, java.lang.String> other_element : other.filters.entrySet()) {
 
           org.apache.airavata.model.experiment.ProjectSearchFields other_element_key = other_element.getKey();
@@ -50034,6 +56066,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public searchProjects_args deepCopy() {
       return new searchProjects_args(this);
     }
@@ -50050,11 +56083,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public searchProjects_args setGatewayId(java.lang.String gatewayId) {
+    public searchProjects_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -50074,11 +56108,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public searchProjects_args setUserName(java.lang.String userName) {
+    public searchProjects_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -50102,6 +56137,7 @@
       return (this.accessibleProjIds == null) ? 0 : this.accessibleProjIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleProjIdsIterator() {
       return (this.accessibleProjIds == null) ? null : this.accessibleProjIds.iterator();
     }
@@ -50113,11 +56149,12 @@
       this.accessibleProjIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleProjIds() {
       return this.accessibleProjIds;
     }
 
-    public searchProjects_args setAccessibleProjIds(java.util.List<java.lang.String> accessibleProjIds) {
+    public searchProjects_args setAccessibleProjIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleProjIds) {
       this.accessibleProjIds = accessibleProjIds;
       return this;
     }
@@ -50143,16 +56180,17 @@
 
     public void putToFilters(org.apache.airavata.model.experiment.ProjectSearchFields key, java.lang.String val) {
       if (this.filters == null) {
-        this.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>();
+        this.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
       }
       this.filters.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> getFilters() {
       return this.filters;
     }
 
-    public searchProjects_args setFilters(java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters) {
+    public searchProjects_args setFilters(@org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String> filters) {
       this.filters = filters;
       return this;
     }
@@ -50218,7 +56256,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -50271,6 +56310,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -50296,6 +56337,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -50320,8 +56362,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchProjects_args)
         return this.equals((searchProjects_args)that);
       return false;
@@ -50425,7 +56465,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50435,7 +56475,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50445,7 +56485,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleProjIds()).compareTo(other.isSetAccessibleProjIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleProjIds(), other.isSetAccessibleProjIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50455,7 +56495,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFilters()).compareTo(other.isSetFilters());
+      lastComparison = java.lang.Boolean.compare(isSetFilters(), other.isSetFilters());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50465,7 +56505,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50475,7 +56515,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50488,14 +56528,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -50583,6 +56627,7 @@
     }
 
     private static class searchProjects_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_argsStandardScheme getScheme() {
         return new searchProjects_argsStandardScheme();
       }
@@ -50590,6 +56635,7 @@
 
     private static class searchProjects_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchProjects_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchProjects_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -50621,7 +56667,7 @@
                 {
                   org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                   struct.accessibleProjIds = new java.util.ArrayList<java.lang.String>(_list32.size);
-                  java.lang.String _elem33;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem33;
                   for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                   {
                     _elem33 = iprot.readString();
@@ -50638,14 +56684,17 @@
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map35 = iprot.readMapBegin();
-                  struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(2*_map35.size);
-                  org.apache.airavata.model.experiment.ProjectSearchFields _key36;
-                  java.lang.String _val37;
+                  struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ProjectSearchFields _key36;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val37;
                   for (int _i38 = 0; _i38 < _map35.size; ++_i38)
                   {
                     _key36 = org.apache.airavata.model.experiment.ProjectSearchFields.findByValue(iprot.readI32());
                     _val37 = iprot.readString();
-                    struct.filters.put(_key36, _val37);
+                    if (_key36 != null)
+                    {
+                      struct.filters.put(_key36, _val37);
+                    }
                   }
                   iprot.readMapEnd();
                 }
@@ -50687,6 +56736,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchProjects_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -50739,6 +56789,7 @@
     }
 
     private static class searchProjects_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_argsTupleScheme getScheme() {
         return new searchProjects_argsTupleScheme();
       }
@@ -50785,9 +56836,9 @@
         struct.userName = iprot.readString();
         struct.setUserNameIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list43 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list43 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.accessibleProjIds = new java.util.ArrayList<java.lang.String>(_list43.size);
-          java.lang.String _elem44;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem44;
           for (int _i45 = 0; _i45 < _list43.size; ++_i45)
           {
             _elem44 = iprot.readString();
@@ -50802,15 +56853,18 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map46 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(2*_map46.size);
-            org.apache.airavata.model.experiment.ProjectSearchFields _key47;
-            java.lang.String _val48;
+            org.apache.thrift.protocol.TMap _map46 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+            struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ProjectSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ProjectSearchFields.class);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ProjectSearchFields _key47;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val48;
             for (int _i49 = 0; _i49 < _map46.size; ++_i49)
             {
               _key47 = org.apache.airavata.model.experiment.ProjectSearchFields.findByValue(iprot.readI32());
               _val48 = iprot.readString();
-              struct.filters.put(_key47, _val48);
+              if (_key47 != null)
+              {
+                struct.filters.put(_key47, _val48);
+              }
             }
           }
           struct.setFiltersIsSet(true);
@@ -50823,6 +56877,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchProjects_result implements org.apache.thrift.TBase<searchProjects_result, searchProjects_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchProjects_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchProjects_result");
 
@@ -50832,8 +56887,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchProjects_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchProjects_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.workspace.Project> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -50851,6 +56906,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -50875,6 +56931,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -50887,10 +56944,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -50937,6 +56996,7 @@
       }
     }
 
+    @Override
     public searchProjects_result deepCopy() {
       return new searchProjects_result(this);
     }
@@ -50951,6 +57011,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.workspace.Project> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -50962,11 +57023,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.workspace.Project> getSuccess() {
       return this.success;
     }
 
-    public searchProjects_result setSuccess(java.util.List<org.apache.airavata.model.workspace.Project> success) {
+    public searchProjects_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.workspace.Project> success) {
       this.success = success;
       return this;
     }
@@ -50986,11 +57048,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public searchProjects_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public searchProjects_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -51010,7 +57073,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -51031,6 +57095,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -51044,6 +57110,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -51060,8 +57127,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchProjects_result)
         return this.equals((searchProjects_result)that);
       return false;
@@ -51117,7 +57182,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51127,7 +57192,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51140,10 +57205,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -51198,6 +57266,7 @@
     }
 
     private static class searchProjects_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_resultStandardScheme getScheme() {
         return new searchProjects_resultStandardScheme();
       }
@@ -51205,6 +57274,7 @@
 
     private static class searchProjects_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchProjects_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchProjects_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -51220,7 +57290,7 @@
                 {
                   org.apache.thrift.protocol.TList _list50 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list50.size);
-                  org.apache.airavata.model.workspace.Project _elem51;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem51;
                   for (int _i52 = 0; _i52 < _list50.size; ++_i52)
                   {
                     _elem51 = new org.apache.airavata.model.workspace.Project();
@@ -51254,6 +57324,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchProjects_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -51282,6 +57353,7 @@
     }
 
     private static class searchProjects_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchProjects_resultTupleScheme getScheme() {
         return new searchProjects_resultTupleScheme();
       }
@@ -51320,9 +57392,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list55 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list55 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.workspace.Project>(_list55.size);
-            org.apache.airavata.model.workspace.Project _elem56;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.Project _elem56;
             for (int _i57 = 0; _i57 < _list55.size; ++_i57)
             {
               _elem56 = new org.apache.airavata.model.workspace.Project();
@@ -51345,6 +57417,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchExperiments_args implements org.apache.thrift.TBase<searchExperiments_args, searchExperiments_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchExperiments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchExperiments_args");
 
@@ -51358,10 +57431,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchExperiments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchExperiments_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
-    public java.util.List<java.lang.String> accessibleExpIds; // required
-    public java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleExpIds; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters; // required
     public int limit; // required
     public int offset; // required
 
@@ -51385,6 +57458,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -51417,6 +57491,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51429,10 +57504,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -51502,7 +57579,7 @@
         this.accessibleExpIds = __this__accessibleExpIds;
       }
       if (other.isSetFilters()) {
-        java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> __this__filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(other.filters.size());
+        java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> __this__filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
         for (java.util.Map.Entry<org.apache.airavata.model.experiment.ExperimentSearchFields, java.lang.String> other_element : other.filters.entrySet()) {
 
           org.apache.airavata.model.experiment.ExperimentSearchFields other_element_key = other_element.getKey();
@@ -51520,6 +57597,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public searchExperiments_args deepCopy() {
       return new searchExperiments_args(this);
     }
@@ -51536,11 +57614,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public searchExperiments_args setGatewayId(java.lang.String gatewayId) {
+    public searchExperiments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -51560,11 +57639,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public searchExperiments_args setUserName(java.lang.String userName) {
+    public searchExperiments_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -51588,6 +57668,7 @@
       return (this.accessibleExpIds == null) ? 0 : this.accessibleExpIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleExpIdsIterator() {
       return (this.accessibleExpIds == null) ? null : this.accessibleExpIds.iterator();
     }
@@ -51599,11 +57680,12 @@
       this.accessibleExpIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleExpIds() {
       return this.accessibleExpIds;
     }
 
-    public searchExperiments_args setAccessibleExpIds(java.util.List<java.lang.String> accessibleExpIds) {
+    public searchExperiments_args setAccessibleExpIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleExpIds) {
       this.accessibleExpIds = accessibleExpIds;
       return this;
     }
@@ -51629,16 +57711,17 @@
 
     public void putToFilters(org.apache.airavata.model.experiment.ExperimentSearchFields key, java.lang.String val) {
       if (this.filters == null) {
-        this.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>();
+        this.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
       }
       this.filters.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> getFilters() {
       return this.filters;
     }
 
-    public searchExperiments_args setFilters(java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters) {
+    public searchExperiments_args setFilters(@org.apache.thrift.annotation.Nullable java.util.Map<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String> filters) {
       this.filters = filters;
       return this;
     }
@@ -51704,7 +57787,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -51757,6 +57841,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -51782,6 +57868,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -51806,8 +57893,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchExperiments_args)
         return this.equals((searchExperiments_args)that);
       return false;
@@ -51911,7 +57996,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51921,7 +58006,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51931,7 +58016,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleExpIds()).compareTo(other.isSetAccessibleExpIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleExpIds(), other.isSetAccessibleExpIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51941,7 +58026,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFilters()).compareTo(other.isSetFilters());
+      lastComparison = java.lang.Boolean.compare(isSetFilters(), other.isSetFilters());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51951,7 +58036,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51961,7 +58046,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51974,14 +58059,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -52069,6 +58158,7 @@
     }
 
     private static class searchExperiments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_argsStandardScheme getScheme() {
         return new searchExperiments_argsStandardScheme();
       }
@@ -52076,6 +58166,7 @@
 
     private static class searchExperiments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchExperiments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchExperiments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -52107,7 +58198,7 @@
                 {
                   org.apache.thrift.protocol.TList _list58 = iprot.readListBegin();
                   struct.accessibleExpIds = new java.util.ArrayList<java.lang.String>(_list58.size);
-                  java.lang.String _elem59;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem59;
                   for (int _i60 = 0; _i60 < _list58.size; ++_i60)
                   {
                     _elem59 = iprot.readString();
@@ -52124,14 +58215,17 @@
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
                   org.apache.thrift.protocol.TMap _map61 = iprot.readMapBegin();
-                  struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(2*_map61.size);
-                  org.apache.airavata.model.experiment.ExperimentSearchFields _key62;
-                  java.lang.String _val63;
+                  struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSearchFields _key62;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val63;
                   for (int _i64 = 0; _i64 < _map61.size; ++_i64)
                   {
                     _key62 = org.apache.airavata.model.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
                     _val63 = iprot.readString();
-                    struct.filters.put(_key62, _val63);
+                    if (_key62 != null)
+                    {
+                      struct.filters.put(_key62, _val63);
+                    }
                   }
                   iprot.readMapEnd();
                 }
@@ -52173,6 +58267,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchExperiments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -52225,6 +58320,7 @@
     }
 
     private static class searchExperiments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_argsTupleScheme getScheme() {
         return new searchExperiments_argsTupleScheme();
       }
@@ -52271,9 +58367,9 @@
         struct.userName = iprot.readString();
         struct.setUserNameIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list69 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list69 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.accessibleExpIds = new java.util.ArrayList<java.lang.String>(_list69.size);
-          java.lang.String _elem70;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem70;
           for (int _i71 = 0; _i71 < _list69.size; ++_i71)
           {
             _elem70 = iprot.readString();
@@ -52288,15 +58384,18 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map72 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.filters = new java.util.HashMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(2*_map72.size);
-            org.apache.airavata.model.experiment.ExperimentSearchFields _key73;
-            java.lang.String _val74;
+            org.apache.thrift.protocol.TMap _map72 = iprot.readMapBegin(org.apache.thrift.protocol.TType.I32, org.apache.thrift.protocol.TType.STRING); 
+            struct.filters = new java.util.EnumMap<org.apache.airavata.model.experiment.ExperimentSearchFields,java.lang.String>(org.apache.airavata.model.experiment.ExperimentSearchFields.class);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSearchFields _key73;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val74;
             for (int _i75 = 0; _i75 < _map72.size; ++_i75)
             {
               _key73 = org.apache.airavata.model.experiment.ExperimentSearchFields.findByValue(iprot.readI32());
               _val74 = iprot.readString();
-              struct.filters.put(_key73, _val74);
+              if (_key73 != null)
+              {
+                struct.filters.put(_key73, _val74);
+              }
             }
           }
           struct.setFiltersIsSet(true);
@@ -52309,6 +58408,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchExperiments_result implements org.apache.thrift.TBase<searchExperiments_result, searchExperiments_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchExperiments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchExperiments_result");
 
@@ -52318,8 +58418,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchExperiments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchExperiments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -52337,6 +58437,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -52361,6 +58462,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -52373,10 +58475,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -52423,6 +58527,7 @@
       }
     }
 
+    @Override
     public searchExperiments_result deepCopy() {
       return new searchExperiments_result(this);
     }
@@ -52437,6 +58542,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.experiment.ExperimentSummaryModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -52448,11 +58554,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> getSuccess() {
       return this.success;
     }
 
-    public searchExperiments_result setSuccess(java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success) {
+    public searchExperiments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentSummaryModel> success) {
       this.success = success;
       return this;
     }
@@ -52472,11 +58579,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public searchExperiments_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public searchExperiments_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -52496,7 +58604,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -52517,6 +58626,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -52530,6 +58641,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -52546,8 +58658,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchExperiments_result)
         return this.equals((searchExperiments_result)that);
       return false;
@@ -52603,7 +58713,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52613,7 +58723,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52626,10 +58736,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -52684,6 +58797,7 @@
     }
 
     private static class searchExperiments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_resultStandardScheme getScheme() {
         return new searchExperiments_resultStandardScheme();
       }
@@ -52691,6 +58805,7 @@
 
     private static class searchExperiments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchExperiments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchExperiments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -52706,7 +58821,7 @@
                 {
                   org.apache.thrift.protocol.TList _list76 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentSummaryModel>(_list76.size);
-                  org.apache.airavata.model.experiment.ExperimentSummaryModel _elem77;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSummaryModel _elem77;
                   for (int _i78 = 0; _i78 < _list76.size; ++_i78)
                   {
                     _elem77 = new org.apache.airavata.model.experiment.ExperimentSummaryModel();
@@ -52740,6 +58855,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchExperiments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -52768,6 +58884,7 @@
     }
 
     private static class searchExperiments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchExperiments_resultTupleScheme getScheme() {
         return new searchExperiments_resultTupleScheme();
       }
@@ -52806,9 +58923,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list81 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list81 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentSummaryModel>(_list81.size);
-            org.apache.airavata.model.experiment.ExperimentSummaryModel _elem82;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentSummaryModel _elem82;
             for (int _i83 = 0; _i83 < _list81.size; ++_i83)
             {
               _elem82 = new org.apache.airavata.model.experiment.ExperimentSummaryModel();
@@ -52831,6 +58948,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatistics_args implements org.apache.thrift.TBase<getExperimentStatistics_args, getExperimentStatistics_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatistics_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatistics_args");
 
@@ -52847,13 +58965,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatistics_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatistics_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
     public long fromTime; // required
     public long toTime; // required
-    public java.lang.String userName; // required
-    public java.lang.String applicationName; // required
-    public java.lang.String resourceHostName; // required
-    public java.util.List<java.lang.String> accessibleExpIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String applicationName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceHostName; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleExpIds; // required
     public int limit; // required
     public int offset; // required
 
@@ -52880,6 +58998,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -52918,6 +59037,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -52930,10 +59050,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -53032,6 +59154,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getExperimentStatistics_args deepCopy() {
       return new getExperimentStatistics_args(this);
     }
@@ -53053,11 +59176,12 @@
 
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getExperimentStatistics_args setGatewayId(java.lang.String gatewayId) {
+    public getExperimentStatistics_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -53123,11 +59247,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __TOTIME_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getExperimentStatistics_args setUserName(java.lang.String userName) {
+    public getExperimentStatistics_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -53147,11 +59272,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getApplicationName() {
       return this.applicationName;
     }
 
-    public getExperimentStatistics_args setApplicationName(java.lang.String applicationName) {
+    public getExperimentStatistics_args setApplicationName(@org.apache.thrift.annotation.Nullable java.lang.String applicationName) {
       this.applicationName = applicationName;
       return this;
     }
@@ -53171,11 +59297,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceHostName() {
       return this.resourceHostName;
     }
 
-    public getExperimentStatistics_args setResourceHostName(java.lang.String resourceHostName) {
+    public getExperimentStatistics_args setResourceHostName(@org.apache.thrift.annotation.Nullable java.lang.String resourceHostName) {
       this.resourceHostName = resourceHostName;
       return this;
     }
@@ -53199,6 +59326,7 @@
       return (this.accessibleExpIds == null) ? 0 : this.accessibleExpIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleExpIdsIterator() {
       return (this.accessibleExpIds == null) ? null : this.accessibleExpIds.iterator();
     }
@@ -53210,11 +59338,12 @@
       this.accessibleExpIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleExpIds() {
       return this.accessibleExpIds;
     }
 
-    public getExperimentStatistics_args setAccessibleExpIds(java.util.List<java.lang.String> accessibleExpIds) {
+    public getExperimentStatistics_args setAccessibleExpIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleExpIds) {
       this.accessibleExpIds = accessibleExpIds;
       return this;
     }
@@ -53280,7 +59409,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -53357,6 +59487,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -53391,6 +59523,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -53421,8 +59554,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatistics_args)
         return this.equals((getExperimentStatistics_args)that);
       return false;
@@ -53561,7 +59692,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53571,7 +59702,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFromTime()).compareTo(other.isSetFromTime());
+      lastComparison = java.lang.Boolean.compare(isSetFromTime(), other.isSetFromTime());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53581,7 +59712,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetToTime()).compareTo(other.isSetToTime());
+      lastComparison = java.lang.Boolean.compare(isSetToTime(), other.isSetToTime());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53591,7 +59722,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53601,7 +59732,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationName()).compareTo(other.isSetApplicationName());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationName(), other.isSetApplicationName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53611,7 +59742,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceHostName()).compareTo(other.isSetResourceHostName());
+      lastComparison = java.lang.Boolean.compare(isSetResourceHostName(), other.isSetResourceHostName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53621,7 +59752,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleExpIds()).compareTo(other.isSetAccessibleExpIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleExpIds(), other.isSetAccessibleExpIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53631,7 +59762,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53641,7 +59772,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53654,14 +59785,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -53759,6 +59894,7 @@
     }
 
     private static class getExperimentStatistics_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_argsStandardScheme getScheme() {
         return new getExperimentStatistics_argsStandardScheme();
       }
@@ -53766,6 +59902,7 @@
 
     private static class getExperimentStatistics_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatistics_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatistics_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -53829,7 +59966,7 @@
                 {
                   org.apache.thrift.protocol.TList _list84 = iprot.readListBegin();
                   struct.accessibleExpIds = new java.util.ArrayList<java.lang.String>(_list84.size);
-                  java.lang.String _elem85;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem85;
                   for (int _i86 = 0; _i86 < _list84.size; ++_i86)
                   {
                     _elem85 = iprot.readString();
@@ -53875,6 +60012,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatistics_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -53930,6 +60068,7 @@
     }
 
     private static class getExperimentStatistics_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_argsTupleScheme getScheme() {
         return new getExperimentStatistics_argsTupleScheme();
       }
@@ -54013,9 +60152,9 @@
         }
         if (incoming.get(3)) {
           {
-            org.apache.thrift.protocol.TList _list89 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+            org.apache.thrift.protocol.TList _list89 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
             struct.accessibleExpIds = new java.util.ArrayList<java.lang.String>(_list89.size);
-            java.lang.String _elem90;
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem90;
             for (int _i91 = 0; _i91 < _list89.size; ++_i91)
             {
               _elem90 = iprot.readString();
@@ -54040,6 +60179,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatistics_result implements org.apache.thrift.TBase<getExperimentStatistics_result, getExperimentStatistics_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatistics_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatistics_result");
 
@@ -54049,8 +60189,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatistics_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatistics_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentStatistics success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentStatistics success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -54068,6 +60208,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -54092,6 +60233,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54104,10 +60246,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -54149,6 +60293,7 @@
       }
     }
 
+    @Override
     public getExperimentStatistics_result deepCopy() {
       return new getExperimentStatistics_result(this);
     }
@@ -54159,11 +60304,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentStatistics getSuccess() {
       return this.success;
     }
 
-    public getExperimentStatistics_result setSuccess(org.apache.airavata.model.experiment.ExperimentStatistics success) {
+    public getExperimentStatistics_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentStatistics success) {
       this.success = success;
       return this;
     }
@@ -54183,11 +60329,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getExperimentStatistics_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getExperimentStatistics_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -54207,7 +60354,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -54228,6 +60376,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -54241,6 +60391,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -54257,8 +60408,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatistics_result)
         return this.equals((getExperimentStatistics_result)that);
       return false;
@@ -54314,7 +60463,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54324,7 +60473,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54337,10 +60486,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -54398,6 +60550,7 @@
     }
 
     private static class getExperimentStatistics_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_resultStandardScheme getScheme() {
         return new getExperimentStatistics_resultStandardScheme();
       }
@@ -54405,6 +60558,7 @@
 
     private static class getExperimentStatistics_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatistics_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatistics_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -54444,6 +60598,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatistics_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -54465,6 +60620,7 @@
     }
 
     private static class getExperimentStatistics_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatistics_resultTupleScheme getScheme() {
         return new getExperimentStatistics_resultTupleScheme();
       }
@@ -54513,6 +60669,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentsInProject_args implements org.apache.thrift.TBase<getExperimentsInProject_args, getExperimentsInProject_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentsInProject_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentsInProject_args");
 
@@ -54524,8 +60681,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentsInProject_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentsInProject_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String projectId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String projectId; // required
     public int limit; // required
     public int offset; // required
 
@@ -54547,6 +60704,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -54575,6 +60733,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54587,10 +60746,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -54648,6 +60809,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getExperimentsInProject_args deepCopy() {
       return new getExperimentsInProject_args(this);
     }
@@ -54662,11 +60824,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getExperimentsInProject_args setGatewayId(java.lang.String gatewayId) {
+    public getExperimentsInProject_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -54686,11 +60849,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProjectId() {
       return this.projectId;
     }
 
-    public getExperimentsInProject_args setProjectId(java.lang.String projectId) {
+    public getExperimentsInProject_args setProjectId(@org.apache.thrift.annotation.Nullable java.lang.String projectId) {
       this.projectId = projectId;
       return this;
     }
@@ -54756,7 +60920,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -54793,6 +60958,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -54812,6 +60979,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -54832,8 +61000,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentsInProject_args)
         return this.equals((getExperimentsInProject_args)that);
       return false;
@@ -54911,7 +61077,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54921,7 +61087,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProjectId()).compareTo(other.isSetProjectId());
+      lastComparison = java.lang.Boolean.compare(isSetProjectId(), other.isSetProjectId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54931,7 +61097,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54941,7 +61107,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54954,14 +61120,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -55030,6 +61200,7 @@
     }
 
     private static class getExperimentsInProject_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_argsStandardScheme getScheme() {
         return new getExperimentsInProject_argsStandardScheme();
       }
@@ -55037,6 +61208,7 @@
 
     private static class getExperimentsInProject_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentsInProject_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentsInProject_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -55096,6 +61268,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentsInProject_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -55123,6 +61296,7 @@
     }
 
     private static class getExperimentsInProject_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_argsTupleScheme getScheme() {
         return new getExperimentsInProject_argsTupleScheme();
       }
@@ -55158,6 +61332,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentsInProject_result implements org.apache.thrift.TBase<getExperimentsInProject_result, getExperimentsInProject_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentsInProject_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentsInProject_result");
 
@@ -55168,9 +61343,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentsInProject_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentsInProject_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ProjectNotFoundException pnfe; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe; // 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 {
@@ -55189,6 +61364,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -55215,6 +61391,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55227,10 +61404,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -55284,6 +61463,7 @@
       }
     }
 
+    @Override
     public getExperimentsInProject_result deepCopy() {
       return new getExperimentsInProject_result(this);
     }
@@ -55299,6 +61479,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.experiment.ExperimentModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -55310,11 +61491,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getSuccess() {
       return this.success;
     }
 
-    public getExperimentsInProject_result setSuccess(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
+    public getExperimentsInProject_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
       this.success = success;
       return this;
     }
@@ -55334,11 +61516,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getExperimentsInProject_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getExperimentsInProject_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -55358,11 +61541,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ProjectNotFoundException getPnfe() {
       return this.pnfe;
     }
 
-    public getExperimentsInProject_result setPnfe(org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
+    public getExperimentsInProject_result setPnfe(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ProjectNotFoundException pnfe) {
       this.pnfe = pnfe;
       return this;
     }
@@ -55382,7 +61566,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -55411,6 +61596,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -55427,6 +61614,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -55445,8 +61633,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentsInProject_result)
         return this.equals((getExperimentsInProject_result)that);
       return false;
@@ -55515,7 +61701,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55525,7 +61711,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55535,7 +61721,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPnfe()).compareTo(other.isSetPnfe());
+      lastComparison = java.lang.Boolean.compare(isSetPnfe(), other.isSetPnfe());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55548,10 +61734,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -55614,6 +61803,7 @@
     }
 
     private static class getExperimentsInProject_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_resultStandardScheme getScheme() {
         return new getExperimentsInProject_resultStandardScheme();
       }
@@ -55621,6 +61811,7 @@
 
     private static class getExperimentsInProject_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentsInProject_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentsInProject_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -55636,7 +61827,7 @@
                 {
                   org.apache.thrift.protocol.TList _list92 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list92.size);
-                  org.apache.airavata.model.experiment.ExperimentModel _elem93;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem93;
                   for (int _i94 = 0; _i94 < _list92.size; ++_i94)
                   {
                     _elem93 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -55679,6 +61870,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentsInProject_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -55712,6 +61904,7 @@
     }
 
     private static class getExperimentsInProject_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentsInProject_resultTupleScheme getScheme() {
         return new getExperimentsInProject_resultTupleScheme();
       }
@@ -55756,9 +61949,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list97 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list97 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list97.size);
-            org.apache.airavata.model.experiment.ExperimentModel _elem98;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem98;
             for (int _i99 = 0; _i99 < _list97.size; ++_i99)
             {
               _elem98 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -55786,6 +61979,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserExperiments_args implements org.apache.thrift.TBase<getUserExperiments_args, getUserExperiments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserExperiments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserExperiments_args");
 
@@ -55797,8 +61991,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserExperiments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserExperiments_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String userName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userName; // required
     public int limit; // required
     public int offset; // required
 
@@ -55820,6 +62014,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -55848,6 +62043,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55860,10 +62056,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -55921,6 +62119,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public getUserExperiments_args deepCopy() {
       return new getUserExperiments_args(this);
     }
@@ -55935,11 +62134,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getUserExperiments_args setGatewayId(java.lang.String gatewayId) {
+    public getUserExperiments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -55959,11 +62159,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserName() {
       return this.userName;
     }
 
-    public getUserExperiments_args setUserName(java.lang.String userName) {
+    public getUserExperiments_args setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
       this.userName = userName;
       return this;
     }
@@ -56029,7 +62230,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -56066,6 +62268,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -56085,6 +62289,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -56105,8 +62310,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserExperiments_args)
         return this.equals((getUserExperiments_args)that);
       return false;
@@ -56184,7 +62387,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56194,7 +62397,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+      lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56204,7 +62407,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56214,7 +62417,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56227,14 +62430,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -56303,6 +62510,7 @@
     }
 
     private static class getUserExperiments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_argsStandardScheme getScheme() {
         return new getUserExperiments_argsStandardScheme();
       }
@@ -56310,6 +62518,7 @@
 
     private static class getUserExperiments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserExperiments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserExperiments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -56369,6 +62578,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserExperiments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -56396,6 +62606,7 @@
     }
 
     private static class getUserExperiments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_argsTupleScheme getScheme() {
         return new getUserExperiments_argsTupleScheme();
       }
@@ -56431,6 +62642,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserExperiments_result implements org.apache.thrift.TBase<getUserExperiments_result, getUserExperiments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserExperiments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserExperiments_result");
 
@@ -56440,8 +62652,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserExperiments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserExperiments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -56459,6 +62671,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -56483,6 +62696,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56495,10 +62709,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -56545,6 +62761,7 @@
       }
     }
 
+    @Override
     public getUserExperiments_result deepCopy() {
       return new getUserExperiments_result(this);
     }
@@ -56559,6 +62776,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.experiment.ExperimentModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -56570,11 +62788,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.experiment.ExperimentModel> getSuccess() {
       return this.success;
     }
 
-    public getUserExperiments_result setSuccess(java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
+    public getUserExperiments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.experiment.ExperimentModel> success) {
       this.success = success;
       return this;
     }
@@ -56594,11 +62813,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUserExperiments_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUserExperiments_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -56618,7 +62838,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -56639,6 +62860,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -56652,6 +62875,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -56668,8 +62892,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserExperiments_result)
         return this.equals((getUserExperiments_result)that);
       return false;
@@ -56725,7 +62947,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56735,7 +62957,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56748,10 +62970,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -56806,6 +63031,7 @@
     }
 
     private static class getUserExperiments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_resultStandardScheme getScheme() {
         return new getUserExperiments_resultStandardScheme();
       }
@@ -56813,6 +63039,7 @@
 
     private static class getUserExperiments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserExperiments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserExperiments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -56828,7 +63055,7 @@
                 {
                   org.apache.thrift.protocol.TList _list100 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list100.size);
-                  org.apache.airavata.model.experiment.ExperimentModel _elem101;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem101;
                   for (int _i102 = 0; _i102 < _list100.size; ++_i102)
                   {
                     _elem101 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -56862,6 +63089,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserExperiments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -56890,6 +63118,7 @@
     }
 
     private static class getUserExperiments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserExperiments_resultTupleScheme getScheme() {
         return new getUserExperiments_resultTupleScheme();
       }
@@ -56928,9 +63157,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list105 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list105 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.experiment.ExperimentModel>(_list105.size);
-            org.apache.airavata.model.experiment.ExperimentModel _elem106;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel _elem106;
             for (int _i107 = 0; _i107 < _list105.size; ++_i107)
             {
               _elem106 = new org.apache.airavata.model.experiment.ExperimentModel();
@@ -56953,6 +63182,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createExperiment_args implements org.apache.thrift.TBase<createExperiment_args, createExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<createExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createExperiment_args");
 
@@ -56962,8 +63192,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.experiment.ExperimentModel experiment; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment; // 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 {
@@ -56981,6 +63211,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -57005,6 +63236,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57017,10 +63249,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57062,6 +63296,7 @@
       }
     }
 
+    @Override
     public createExperiment_args deepCopy() {
       return new createExperiment_args(this);
     }
@@ -57072,11 +63307,12 @@
       this.experiment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public createExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public createExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -57096,11 +63332,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getExperiment() {
       return this.experiment;
     }
 
-    public createExperiment_args setExperiment(org.apache.airavata.model.experiment.ExperimentModel experiment) {
+    public createExperiment_args setExperiment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment) {
       this.experiment = experiment;
       return this;
     }
@@ -57120,7 +63357,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -57141,6 +63379,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -57154,6 +63394,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57170,8 +63411,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createExperiment_args)
         return this.equals((createExperiment_args)that);
       return false;
@@ -57227,7 +63466,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57237,7 +63476,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperiment()).compareTo(other.isSetExperiment());
+      lastComparison = java.lang.Boolean.compare(isSetExperiment(), other.isSetExperiment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57250,14 +63489,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -57317,6 +63560,7 @@
     }
 
     private static class createExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_argsStandardScheme getScheme() {
         return new createExperiment_argsStandardScheme();
       }
@@ -57324,6 +63568,7 @@
 
     private static class createExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -57362,6 +63607,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -57383,6 +63629,7 @@
     }
 
     private static class createExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_argsTupleScheme getScheme() {
         return new createExperiment_argsTupleScheme();
       }
@@ -57413,6 +63660,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createExperiment_result implements org.apache.thrift.TBase<createExperiment_result, createExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<createExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createExperiment_result");
 
@@ -57422,8 +63670,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createExperiment_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -57441,6 +63689,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -57465,6 +63714,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57477,10 +63727,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57522,6 +63774,7 @@
       }
     }
 
+    @Override
     public createExperiment_result deepCopy() {
       return new createExperiment_result(this);
     }
@@ -57532,11 +63785,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createExperiment_result setSuccess(java.lang.String success) {
+    public createExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -57556,11 +63810,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public createExperiment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public createExperiment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -57580,7 +63835,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -57601,6 +63857,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -57614,6 +63872,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57630,8 +63889,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createExperiment_result)
         return this.equals((createExperiment_result)that);
       return false;
@@ -57687,7 +63944,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57697,7 +63954,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57710,10 +63967,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -57768,6 +64028,7 @@
     }
 
     private static class createExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_resultStandardScheme getScheme() {
         return new createExperiment_resultStandardScheme();
       }
@@ -57775,6 +64036,7 @@
 
     private static class createExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -57813,6 +64075,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -57834,6 +64097,7 @@
     }
 
     private static class createExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createExperiment_resultTupleScheme getScheme() {
         return new createExperiment_resultTupleScheme();
       }
@@ -57881,6 +64145,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteExperiment_args implements org.apache.thrift.TBase<deleteExperiment_args, deleteExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteExperiment_args");
 
@@ -57889,7 +64154,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -57906,6 +64171,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -57928,6 +64194,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57940,10 +64207,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57978,6 +64247,7 @@
       }
     }
 
+    @Override
     public deleteExperiment_args deepCopy() {
       return new deleteExperiment_args(this);
     }
@@ -57987,11 +64257,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public deleteExperiment_args setExperimentId(java.lang.String experimentId) {
+    public deleteExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -58011,7 +64282,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -58024,6 +64296,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -58034,6 +64308,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -58048,8 +64323,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteExperiment_args)
         return this.equals((deleteExperiment_args)that);
       return false;
@@ -58092,7 +64365,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58105,14 +64378,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -58158,6 +64435,7 @@
     }
 
     private static class deleteExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_argsStandardScheme getScheme() {
         return new deleteExperiment_argsStandardScheme();
       }
@@ -58165,6 +64443,7 @@
 
     private static class deleteExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -58194,6 +64473,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -58210,6 +64490,7 @@
     }
 
     private static class deleteExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_argsTupleScheme getScheme() {
         return new deleteExperiment_argsTupleScheme();
       }
@@ -58236,6 +64517,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteExperiment_result implements org.apache.thrift.TBase<deleteExperiment_result, deleteExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteExperiment_result");
 
@@ -58246,7 +64528,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteExperiment_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -58264,6 +64546,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -58288,6 +64571,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58300,10 +64584,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -58347,6 +64633,7 @@
       }
     }
 
+    @Override
     public deleteExperiment_result deepCopy() {
       return new deleteExperiment_result(this);
     }
@@ -58381,11 +64668,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteExperiment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteExperiment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -58405,7 +64693,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -58426,6 +64715,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -58439,6 +64730,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -58455,8 +64747,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteExperiment_result)
         return this.equals((deleteExperiment_result)that);
       return false;
@@ -58510,7 +64800,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58520,7 +64810,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58533,10 +64823,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -58589,6 +64882,7 @@
     }
 
     private static class deleteExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_resultStandardScheme getScheme() {
         return new deleteExperiment_resultStandardScheme();
       }
@@ -58596,6 +64890,7 @@
 
     private static class deleteExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -58634,6 +64929,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -58655,6 +64951,7 @@
     }
 
     private static class deleteExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteExperiment_resultTupleScheme getScheme() {
         return new deleteExperiment_resultTupleScheme();
       }
@@ -58702,6 +64999,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperiment_args implements org.apache.thrift.TBase<getExperiment_args, getExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperiment_args");
 
@@ -58710,7 +65008,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -58727,6 +65025,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -58749,6 +65048,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58761,10 +65061,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -58799,6 +65101,7 @@
       }
     }
 
+    @Override
     public getExperiment_args deepCopy() {
       return new getExperiment_args(this);
     }
@@ -58808,11 +65111,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -58832,7 +65136,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -58845,6 +65150,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -58855,6 +65162,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -58869,8 +65177,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperiment_args)
         return this.equals((getExperiment_args)that);
       return false;
@@ -58913,7 +65219,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58926,14 +65232,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -58979,6 +65289,7 @@
     }
 
     private static class getExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_argsStandardScheme getScheme() {
         return new getExperiment_argsStandardScheme();
       }
@@ -58986,6 +65297,7 @@
 
     private static class getExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59015,6 +65327,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59031,6 +65344,7 @@
     }
 
     private static class getExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_argsTupleScheme getScheme() {
         return new getExperiment_argsTupleScheme();
       }
@@ -59057,6 +65371,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperiment_result implements org.apache.thrift.TBase<getExperiment_result, getExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperiment_result");
 
@@ -59067,9 +65382,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperiment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -59088,6 +65403,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -59114,6 +65430,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59126,10 +65443,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -59178,6 +65497,7 @@
       }
     }
 
+    @Override
     public getExperiment_result deepCopy() {
       return new getExperiment_result(this);
     }
@@ -59189,11 +65509,12 @@
       this.enf = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getSuccess() {
       return this.success;
     }
 
-    public getExperiment_result setSuccess(org.apache.airavata.model.experiment.ExperimentModel success) {
+    public getExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success) {
       this.success = success;
       return this;
     }
@@ -59213,11 +65534,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getExperiment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getExperiment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -59237,11 +65559,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -59261,7 +65584,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -59290,6 +65614,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -59306,6 +65632,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -59324,8 +65651,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperiment_result)
         return this.equals((getExperiment_result)that);
       return false;
@@ -59394,7 +65719,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59404,7 +65729,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59414,7 +65739,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59427,10 +65752,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -59496,6 +65824,7 @@
     }
 
     private static class getExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_resultStandardScheme getScheme() {
         return new getExperiment_resultStandardScheme();
       }
@@ -59503,6 +65832,7 @@
 
     private static class getExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59551,6 +65881,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59577,6 +65908,7 @@
     }
 
     private static class getExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperiment_resultTupleScheme getScheme() {
         return new getExperiment_resultTupleScheme();
       }
@@ -59636,6 +65968,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDetailedExperimentTree_args implements org.apache.thrift.TBase<getDetailedExperimentTree_args, getDetailedExperimentTree_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDetailedExperimentTree_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDetailedExperimentTree_args");
 
@@ -59644,7 +65977,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDetailedExperimentTree_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDetailedExperimentTree_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -59661,6 +65994,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -59683,6 +66017,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59695,10 +66030,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -59733,6 +66070,7 @@
       }
     }
 
+    @Override
     public getDetailedExperimentTree_args deepCopy() {
       return new getDetailedExperimentTree_args(this);
     }
@@ -59742,11 +66080,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getDetailedExperimentTree_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getDetailedExperimentTree_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -59766,7 +66105,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -59779,6 +66119,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -59789,6 +66131,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -59803,8 +66146,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDetailedExperimentTree_args)
         return this.equals((getDetailedExperimentTree_args)that);
       return false;
@@ -59847,7 +66188,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59860,14 +66201,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -59913,6 +66258,7 @@
     }
 
     private static class getDetailedExperimentTree_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_argsStandardScheme getScheme() {
         return new getDetailedExperimentTree_argsStandardScheme();
       }
@@ -59920,6 +66266,7 @@
 
     private static class getDetailedExperimentTree_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDetailedExperimentTree_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDetailedExperimentTree_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59949,6 +66296,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDetailedExperimentTree_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59965,6 +66313,7 @@
     }
 
     private static class getDetailedExperimentTree_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_argsTupleScheme getScheme() {
         return new getDetailedExperimentTree_argsTupleScheme();
       }
@@ -59991,6 +66340,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDetailedExperimentTree_result implements org.apache.thrift.TBase<getDetailedExperimentTree_result, getDetailedExperimentTree_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDetailedExperimentTree_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDetailedExperimentTree_result");
 
@@ -60001,9 +66351,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDetailedExperimentTree_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDetailedExperimentTree_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.ExperimentModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -60022,6 +66372,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -60048,6 +66399,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -60060,10 +66412,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -60112,6 +66466,7 @@
       }
     }
 
+    @Override
     public getDetailedExperimentTree_result deepCopy() {
       return new getDetailedExperimentTree_result(this);
     }
@@ -60123,11 +66478,12 @@
       this.enf = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getSuccess() {
       return this.success;
     }
 
-    public getDetailedExperimentTree_result setSuccess(org.apache.airavata.model.experiment.ExperimentModel success) {
+    public getDetailedExperimentTree_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel success) {
       this.success = success;
       return this;
     }
@@ -60147,11 +66503,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getDetailedExperimentTree_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getDetailedExperimentTree_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -60171,11 +66528,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getDetailedExperimentTree_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getDetailedExperimentTree_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -60195,7 +66553,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -60224,6 +66583,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -60240,6 +66601,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -60258,8 +66620,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDetailedExperimentTree_result)
         return this.equals((getDetailedExperimentTree_result)that);
       return false;
@@ -60328,7 +66688,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60338,7 +66698,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60348,7 +66708,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60361,10 +66721,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -60430,6 +66793,7 @@
     }
 
     private static class getDetailedExperimentTree_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_resultStandardScheme getScheme() {
         return new getDetailedExperimentTree_resultStandardScheme();
       }
@@ -60437,6 +66801,7 @@
 
     private static class getDetailedExperimentTree_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDetailedExperimentTree_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDetailedExperimentTree_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -60485,6 +66850,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDetailedExperimentTree_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -60511,6 +66877,7 @@
     }
 
     private static class getDetailedExperimentTree_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDetailedExperimentTree_resultTupleScheme getScheme() {
         return new getDetailedExperimentTree_resultTupleScheme();
       }
@@ -60570,6 +66937,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperiment_args implements org.apache.thrift.TBase<updateExperiment_args, updateExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperiment_args");
 
@@ -60579,8 +66947,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
-    public org.apache.airavata.model.experiment.ExperimentModel experiment; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment; // 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 {
@@ -60598,6 +66966,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -60622,6 +66991,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -60634,10 +67004,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -60679,6 +67051,7 @@
       }
     }
 
+    @Override
     public updateExperiment_args deepCopy() {
       return new updateExperiment_args(this);
     }
@@ -60689,11 +67062,12 @@
       this.experiment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public updateExperiment_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public updateExperiment_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -60713,11 +67087,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.ExperimentModel getExperiment() {
       return this.experiment;
     }
 
-    public updateExperiment_args setExperiment(org.apache.airavata.model.experiment.ExperimentModel experiment) {
+    public updateExperiment_args setExperiment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.ExperimentModel experiment) {
       this.experiment = experiment;
       return this;
     }
@@ -60737,7 +67112,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -60758,6 +67134,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -60771,6 +67149,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -60787,8 +67166,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperiment_args)
         return this.equals((updateExperiment_args)that);
       return false;
@@ -60844,7 +67221,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60854,7 +67231,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperiment()).compareTo(other.isSetExperiment());
+      lastComparison = java.lang.Boolean.compare(isSetExperiment(), other.isSetExperiment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60867,14 +67244,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -60934,6 +67315,7 @@
     }
 
     private static class updateExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_argsStandardScheme getScheme() {
         return new updateExperiment_argsStandardScheme();
       }
@@ -60941,6 +67323,7 @@
 
     private static class updateExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -60979,6 +67362,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -61000,6 +67384,7 @@
     }
 
     private static class updateExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_argsTupleScheme getScheme() {
         return new updateExperiment_argsTupleScheme();
       }
@@ -61030,6 +67415,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperiment_result implements org.apache.thrift.TBase<updateExperiment_result, updateExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperiment_result");
 
@@ -61039,8 +67425,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperiment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -61058,6 +67444,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -61082,6 +67469,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61094,10 +67482,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -61139,6 +67529,7 @@
       }
     }
 
+    @Override
     public updateExperiment_result deepCopy() {
       return new updateExperiment_result(this);
     }
@@ -61149,11 +67540,12 @@
       this.enf = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateExperiment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateExperiment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -61173,11 +67565,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public updateExperiment_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public updateExperiment_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -61197,7 +67590,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -61218,6 +67612,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -61231,6 +67627,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -61247,8 +67644,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperiment_result)
         return this.equals((updateExperiment_result)that);
       return false;
@@ -61304,7 +67699,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61314,7 +67709,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61327,10 +67722,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -61385,6 +67783,7 @@
     }
 
     private static class updateExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_resultStandardScheme getScheme() {
         return new updateExperiment_resultStandardScheme();
       }
@@ -61392,6 +67791,7 @@
 
     private static class updateExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -61431,6 +67831,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -61452,6 +67853,7 @@
     }
 
     private static class updateExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperiment_resultTupleScheme getScheme() {
         return new updateExperiment_resultTupleScheme();
       }
@@ -61500,6 +67902,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperimentConfiguration_args implements org.apache.thrift.TBase<updateExperimentConfiguration_args, updateExperimentConfiguration_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperimentConfiguration_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperimentConfiguration_args");
 
@@ -61509,8 +67912,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperimentConfiguration_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperimentConfiguration_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
-    public org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration; // 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 {
@@ -61528,6 +67931,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -61552,6 +67956,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61564,10 +67969,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -61609,6 +68016,7 @@
       }
     }
 
+    @Override
     public updateExperimentConfiguration_args deepCopy() {
       return new updateExperimentConfiguration_args(this);
     }
@@ -61619,11 +68027,12 @@
       this.userConfiguration = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public updateExperimentConfiguration_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public updateExperimentConfiguration_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -61643,11 +68052,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.UserConfigurationDataModel getUserConfiguration() {
       return this.userConfiguration;
     }
 
-    public updateExperimentConfiguration_args setUserConfiguration(org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) {
+    public updateExperimentConfiguration_args setUserConfiguration(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.UserConfigurationDataModel userConfiguration) {
       this.userConfiguration = userConfiguration;
       return this;
     }
@@ -61667,7 +68077,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -61688,6 +68099,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -61701,6 +68114,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -61717,8 +68131,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperimentConfiguration_args)
         return this.equals((updateExperimentConfiguration_args)that);
       return false;
@@ -61774,7 +68186,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61784,7 +68196,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserConfiguration()).compareTo(other.isSetUserConfiguration());
+      lastComparison = java.lang.Boolean.compare(isSetUserConfiguration(), other.isSetUserConfiguration());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61797,14 +68209,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -61864,6 +68280,7 @@
     }
 
     private static class updateExperimentConfiguration_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_argsStandardScheme getScheme() {
         return new updateExperimentConfiguration_argsStandardScheme();
       }
@@ -61871,6 +68288,7 @@
 
     private static class updateExperimentConfiguration_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentConfiguration_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentConfiguration_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -61909,6 +68327,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentConfiguration_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -61930,6 +68349,7 @@
     }
 
     private static class updateExperimentConfiguration_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_argsTupleScheme getScheme() {
         return new updateExperimentConfiguration_argsTupleScheme();
       }
@@ -61960,6 +68380,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperimentConfiguration_result implements org.apache.thrift.TBase<updateExperimentConfiguration_result, updateExperimentConfiguration_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperimentConfiguration_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperimentConfiguration_result");
 
@@ -61968,7 +68389,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperimentConfiguration_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperimentConfiguration_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -61985,6 +68406,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -62007,6 +68429,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62019,10 +68442,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -62057,6 +68482,7 @@
       }
     }
 
+    @Override
     public updateExperimentConfiguration_result deepCopy() {
       return new updateExperimentConfiguration_result(this);
     }
@@ -62066,11 +68492,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateExperimentConfiguration_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateExperimentConfiguration_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -62090,7 +68517,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -62103,6 +68531,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -62113,6 +68543,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -62127,8 +68558,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperimentConfiguration_result)
         return this.equals((updateExperimentConfiguration_result)that);
       return false;
@@ -62171,7 +68600,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62184,10 +68613,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -62234,6 +68666,7 @@
     }
 
     private static class updateExperimentConfiguration_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_resultStandardScheme getScheme() {
         return new updateExperimentConfiguration_resultStandardScheme();
       }
@@ -62241,6 +68674,7 @@
 
     private static class updateExperimentConfiguration_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentConfiguration_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentConfiguration_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -62271,6 +68705,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentConfiguration_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -62287,6 +68722,7 @@
     }
 
     private static class updateExperimentConfiguration_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentConfiguration_resultTupleScheme getScheme() {
         return new updateExperimentConfiguration_resultTupleScheme();
       }
@@ -62324,6 +68760,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceScheduleing_args implements org.apache.thrift.TBase<updateResourceScheduleing_args, updateResourceScheduleing_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceScheduleing_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceScheduleing_args");
 
@@ -62333,8 +68770,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateResourceScheduleing_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceScheduleing_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
-    public org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling; // 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 {
@@ -62352,6 +68789,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -62376,6 +68814,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62388,10 +68827,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -62433,6 +68874,7 @@
       }
     }
 
+    @Override
     public updateResourceScheduleing_args deepCopy() {
       return new updateResourceScheduleing_args(this);
     }
@@ -62443,11 +68885,12 @@
       this.resourceScheduling = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public updateResourceScheduleing_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public updateResourceScheduleing_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -62467,11 +68910,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel getResourceScheduling() {
       return this.resourceScheduling;
     }
 
-    public updateResourceScheduleing_args setResourceScheduling(org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) {
+    public updateResourceScheduleing_args setResourceScheduling(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel resourceScheduling) {
       this.resourceScheduling = resourceScheduling;
       return this;
     }
@@ -62491,7 +68935,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -62512,6 +68957,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -62525,6 +68972,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -62541,8 +68989,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceScheduleing_args)
         return this.equals((updateResourceScheduleing_args)that);
       return false;
@@ -62598,7 +69044,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62608,7 +69054,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceScheduling()).compareTo(other.isSetResourceScheduling());
+      lastComparison = java.lang.Boolean.compare(isSetResourceScheduling(), other.isSetResourceScheduling());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62621,14 +69067,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -62688,6 +69138,7 @@
     }
 
     private static class updateResourceScheduleing_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_argsStandardScheme getScheme() {
         return new updateResourceScheduleing_argsStandardScheme();
       }
@@ -62695,6 +69146,7 @@
 
     private static class updateResourceScheduleing_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceScheduleing_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceScheduleing_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -62733,6 +69185,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceScheduleing_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -62754,6 +69207,7 @@
     }
 
     private static class updateResourceScheduleing_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_argsTupleScheme getScheme() {
         return new updateResourceScheduleing_argsTupleScheme();
       }
@@ -62784,6 +69238,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceScheduleing_result implements org.apache.thrift.TBase<updateResourceScheduleing_result, updateResourceScheduleing_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceScheduleing_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceScheduleing_result");
 
@@ -62792,7 +69247,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateResourceScheduleing_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceScheduleing_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -62809,6 +69264,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -62831,6 +69287,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62843,10 +69300,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -62881,6 +69340,7 @@
       }
     }
 
+    @Override
     public updateResourceScheduleing_result deepCopy() {
       return new updateResourceScheduleing_result(this);
     }
@@ -62890,11 +69350,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateResourceScheduleing_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateResourceScheduleing_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -62914,7 +69375,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -62927,6 +69389,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -62937,6 +69401,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -62951,8 +69416,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceScheduleing_result)
         return this.equals((updateResourceScheduleing_result)that);
       return false;
@@ -62995,7 +69458,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63008,10 +69471,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -63058,6 +69524,7 @@
     }
 
     private static class updateResourceScheduleing_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_resultStandardScheme getScheme() {
         return new updateResourceScheduleing_resultStandardScheme();
       }
@@ -63065,6 +69532,7 @@
 
     private static class updateResourceScheduleing_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceScheduleing_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceScheduleing_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -63095,6 +69563,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceScheduleing_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -63111,6 +69580,7 @@
     }
 
     private static class updateResourceScheduleing_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceScheduleing_resultTupleScheme getScheme() {
         return new updateResourceScheduleing_resultTupleScheme();
       }
@@ -63148,6 +69618,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatus_args implements org.apache.thrift.TBase<getExperimentStatus_args, getExperimentStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_args");
 
@@ -63156,7 +69627,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -63173,6 +69644,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -63195,6 +69667,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63207,10 +69680,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -63245,6 +69720,7 @@
       }
     }
 
+    @Override
     public getExperimentStatus_args deepCopy() {
       return new getExperimentStatus_args(this);
     }
@@ -63254,11 +69730,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperimentStatus_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentStatus_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -63278,7 +69755,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -63291,6 +69769,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -63301,6 +69781,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -63315,8 +69796,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatus_args)
         return this.equals((getExperimentStatus_args)that);
       return false;
@@ -63359,7 +69838,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63372,14 +69851,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -63425,6 +69908,7 @@
     }
 
     private static class getExperimentStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_argsStandardScheme getScheme() {
         return new getExperimentStatus_argsStandardScheme();
       }
@@ -63432,6 +69916,7 @@
 
     private static class getExperimentStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -63461,6 +69946,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -63477,6 +69963,7 @@
     }
 
     private static class getExperimentStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_argsTupleScheme getScheme() {
         return new getExperimentStatus_argsTupleScheme();
       }
@@ -63503,6 +69990,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentStatus_result implements org.apache.thrift.TBase<getExperimentStatus_result, getExperimentStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentStatus_result");
 
@@ -63513,9 +70001,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ExperimentStatus success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -63534,6 +70022,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -63560,6 +70049,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63572,10 +70062,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -63624,6 +70116,7 @@
       }
     }
 
+    @Override
     public getExperimentStatus_result deepCopy() {
       return new getExperimentStatus_result(this);
     }
@@ -63635,11 +70128,12 @@
       this.enf = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ExperimentStatus getSuccess() {
       return this.success;
     }
 
-    public getExperimentStatus_result setSuccess(org.apache.airavata.model.status.ExperimentStatus success) {
+    public getExperimentStatus_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus success) {
       this.success = success;
       return this;
     }
@@ -63659,11 +70153,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getExperimentStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getExperimentStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -63683,11 +70178,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperimentStatus_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentStatus_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -63707,7 +70203,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -63736,6 +70233,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -63752,6 +70251,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -63770,8 +70270,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentStatus_result)
         return this.equals((getExperimentStatus_result)that);
       return false;
@@ -63840,7 +70338,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63850,7 +70348,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63860,7 +70358,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63873,10 +70371,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -63942,6 +70443,7 @@
     }
 
     private static class getExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_resultStandardScheme getScheme() {
         return new getExperimentStatus_resultStandardScheme();
       }
@@ -63949,6 +70451,7 @@
 
     private static class getExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -63997,6 +70500,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -64023,6 +70527,7 @@
     }
 
     private static class getExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentStatus_resultTupleScheme getScheme() {
         return new getExperimentStatus_resultTupleScheme();
       }
@@ -64082,6 +70587,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentOutputs_args implements org.apache.thrift.TBase<getExperimentOutputs_args, getExperimentOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_args");
 
@@ -64090,7 +70596,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -64107,6 +70613,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -64129,6 +70636,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64141,10 +70649,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -64179,6 +70689,7 @@
       }
     }
 
+    @Override
     public getExperimentOutputs_args deepCopy() {
       return new getExperimentOutputs_args(this);
     }
@@ -64188,11 +70699,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getExperimentOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getExperimentOutputs_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -64212,7 +70724,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -64225,6 +70738,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -64235,6 +70750,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -64249,8 +70765,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentOutputs_args)
         return this.equals((getExperimentOutputs_args)that);
       return false;
@@ -64293,7 +70807,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64306,14 +70820,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -64359,6 +70877,7 @@
     }
 
     private static class getExperimentOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_argsStandardScheme getScheme() {
         return new getExperimentOutputs_argsStandardScheme();
       }
@@ -64366,6 +70885,7 @@
 
     private static class getExperimentOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -64395,6 +70915,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -64411,6 +70932,7 @@
     }
 
     private static class getExperimentOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_argsTupleScheme getScheme() {
         return new getExperimentOutputs_argsTupleScheme();
       }
@@ -64437,6 +70959,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getExperimentOutputs_result implements org.apache.thrift.TBase<getExperimentOutputs_result, getExperimentOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getExperimentOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getExperimentOutputs_result");
 
@@ -64447,9 +70970,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getExperimentOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getExperimentOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -64468,6 +70991,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -64494,6 +71018,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64506,10 +71031,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -64563,6 +71090,7 @@
       }
     }
 
+    @Override
     public getExperimentOutputs_result deepCopy() {
       return new getExperimentOutputs_result(this);
     }
@@ -64578,6 +71106,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -64589,11 +71118,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getExperimentOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getExperimentOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -64613,11 +71143,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getExperimentOutputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getExperimentOutputs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -64637,11 +71168,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getExperimentOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getExperimentOutputs_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -64661,7 +71193,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -64690,6 +71223,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -64706,6 +71241,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -64724,8 +71260,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getExperimentOutputs_result)
         return this.equals((getExperimentOutputs_result)that);
       return false;
@@ -64794,7 +71328,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64804,7 +71338,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64814,7 +71348,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64827,10 +71361,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -64893,6 +71430,7 @@
     }
 
     private static class getExperimentOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_resultStandardScheme getScheme() {
         return new getExperimentOutputs_resultStandardScheme();
       }
@@ -64900,6 +71438,7 @@
 
     private static class getExperimentOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getExperimentOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -64915,7 +71454,7 @@
                 {
                   org.apache.thrift.protocol.TList _list108 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list108.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem109;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem109;
                   for (int _i110 = 0; _i110 < _list108.size; ++_i110)
                   {
                     _elem109 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -64958,6 +71497,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getExperimentOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -64991,6 +71531,7 @@
     }
 
     private static class getExperimentOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getExperimentOutputs_resultTupleScheme getScheme() {
         return new getExperimentOutputs_resultTupleScheme();
       }
@@ -65035,9 +71576,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list113 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list113 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list113.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem114;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem114;
             for (int _i115 = 0; _i115 < _list113.size; ++_i115)
             {
               _elem114 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -65065,6 +71606,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getIntermediateOutputs_args implements org.apache.thrift.TBase<getIntermediateOutputs_args, getIntermediateOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_args");
 
@@ -65073,7 +71615,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -65090,6 +71632,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -65112,6 +71655,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65124,10 +71668,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -65162,6 +71708,7 @@
       }
     }
 
+    @Override
     public getIntermediateOutputs_args deepCopy() {
       return new getIntermediateOutputs_args(this);
     }
@@ -65171,11 +71718,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getIntermediateOutputs_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getIntermediateOutputs_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -65195,7 +71743,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -65208,6 +71757,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -65218,6 +71769,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -65232,8 +71784,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getIntermediateOutputs_args)
         return this.equals((getIntermediateOutputs_args)that);
       return false;
@@ -65276,7 +71826,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65289,14 +71839,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -65342,6 +71896,7 @@
     }
 
     private static class getIntermediateOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_argsStandardScheme getScheme() {
         return new getIntermediateOutputs_argsStandardScheme();
       }
@@ -65349,6 +71904,7 @@
 
     private static class getIntermediateOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -65378,6 +71934,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -65394,6 +71951,7 @@
     }
 
     private static class getIntermediateOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_argsTupleScheme getScheme() {
         return new getIntermediateOutputs_argsTupleScheme();
       }
@@ -65420,6 +71978,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getIntermediateOutputs_result implements org.apache.thrift.TBase<getIntermediateOutputs_result, getIntermediateOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getIntermediateOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getIntermediateOutputs_result");
 
@@ -65430,9 +71989,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getIntermediateOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getIntermediateOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -65451,6 +72010,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -65477,6 +72037,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65489,10 +72050,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -65546,6 +72109,7 @@
       }
     }
 
+    @Override
     public getIntermediateOutputs_result deepCopy() {
       return new getIntermediateOutputs_result(this);
     }
@@ -65561,6 +72125,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -65572,11 +72137,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getIntermediateOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getIntermediateOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -65596,11 +72162,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getIntermediateOutputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getIntermediateOutputs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -65620,11 +72187,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getIntermediateOutputs_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getIntermediateOutputs_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -65644,7 +72212,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -65673,6 +72242,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -65689,6 +72260,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -65707,8 +72279,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getIntermediateOutputs_result)
         return this.equals((getIntermediateOutputs_result)that);
       return false;
@@ -65777,7 +72347,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65787,7 +72357,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65797,7 +72367,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65810,10 +72380,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -65876,6 +72449,7 @@
     }
 
     private static class getIntermediateOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_resultStandardScheme getScheme() {
         return new getIntermediateOutputs_resultStandardScheme();
       }
@@ -65883,6 +72457,7 @@
 
     private static class getIntermediateOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getIntermediateOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -65898,7 +72473,7 @@
                 {
                   org.apache.thrift.protocol.TList _list116 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list116.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem117;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem117;
                   for (int _i118 = 0; _i118 < _list116.size; ++_i118)
                   {
                     _elem117 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -65941,6 +72516,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getIntermediateOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -65974,6 +72550,7 @@
     }
 
     private static class getIntermediateOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getIntermediateOutputs_resultTupleScheme getScheme() {
         return new getIntermediateOutputs_resultTupleScheme();
       }
@@ -66018,9 +72595,9 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list121 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list121 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list121.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem122;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem122;
             for (int _i123 = 0; _i123 < _list121.size; ++_i123)
             {
               _elem122 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -66048,6 +72625,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobStatuses_args implements org.apache.thrift.TBase<getJobStatuses_args, getJobStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_args");
 
@@ -66056,7 +72634,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -66073,6 +72651,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -66095,6 +72674,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -66107,10 +72687,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -66145,6 +72727,7 @@
       }
     }
 
+    @Override
     public getJobStatuses_args deepCopy() {
       return new getJobStatuses_args(this);
     }
@@ -66154,11 +72737,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getJobStatuses_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getJobStatuses_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -66178,7 +72762,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -66191,6 +72776,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -66201,6 +72788,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -66215,8 +72803,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobStatuses_args)
         return this.equals((getJobStatuses_args)that);
       return false;
@@ -66259,7 +72845,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66272,14 +72858,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -66325,6 +72915,7 @@
     }
 
     private static class getJobStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_argsStandardScheme getScheme() {
         return new getJobStatuses_argsStandardScheme();
       }
@@ -66332,6 +72923,7 @@
 
     private static class getJobStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -66361,6 +72953,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -66377,6 +72970,7 @@
     }
 
     private static class getJobStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_argsTupleScheme getScheme() {
         return new getJobStatuses_argsTupleScheme();
       }
@@ -66403,6 +72997,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobStatuses_result implements org.apache.thrift.TBase<getJobStatuses_result, getJobStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobStatuses_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobStatuses_result");
 
@@ -66413,9 +73008,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobStatuses_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobStatuses_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -66434,6 +73029,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -66460,6 +73056,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -66472,10 +73069,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -66538,6 +73137,7 @@
       }
     }
 
+    @Override
     public getJobStatuses_result deepCopy() {
       return new getJobStatuses_result(this);
     }
@@ -66560,11 +73160,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> getSuccess() {
       return this.success;
     }
 
-    public getJobStatuses_result setSuccess(java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success) {
+    public getJobStatuses_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,org.apache.airavata.model.status.JobStatus> success) {
       this.success = success;
       return this;
     }
@@ -66584,11 +73185,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getJobStatuses_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getJobStatuses_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -66608,11 +73210,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getJobStatuses_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getJobStatuses_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -66632,7 +73235,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -66661,6 +73265,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -66677,6 +73283,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -66695,8 +73302,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobStatuses_result)
         return this.equals((getJobStatuses_result)that);
       return false;
@@ -66765,7 +73370,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66775,7 +73380,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66785,7 +73390,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -66798,10 +73403,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -66864,6 +73472,7 @@
     }
 
     private static class getJobStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_resultStandardScheme getScheme() {
         return new getJobStatuses_resultStandardScheme();
       }
@@ -66871,6 +73480,7 @@
 
     private static class getJobStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobStatuses_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -66886,8 +73496,8 @@
                 {
                   org.apache.thrift.protocol.TMap _map124 = iprot.readMapBegin();
                   struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map124.size);
-                  java.lang.String _key125;
-                  org.apache.airavata.model.status.JobStatus _val126;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key125;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus _val126;
                   for (int _i127 = 0; _i127 < _map124.size; ++_i127)
                   {
                     _key125 = iprot.readString();
@@ -66931,6 +73541,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobStatuses_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -66965,6 +73576,7 @@
     }
 
     private static class getJobStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobStatuses_resultTupleScheme getScheme() {
         return new getJobStatuses_resultTupleScheme();
       }
@@ -67010,10 +73622,10 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map130 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TMap _map130 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRUCT); 
             struct.success = new java.util.HashMap<java.lang.String,org.apache.airavata.model.status.JobStatus>(2*_map130.size);
-            java.lang.String _key131;
-            org.apache.airavata.model.status.JobStatus _val132;
+            @org.apache.thrift.annotation.Nullable java.lang.String _key131;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus _val132;
             for (int _i133 = 0; _i133 < _map130.size; ++_i133)
             {
               _key131 = iprot.readString();
@@ -67042,6 +73654,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addExperimentProcessOutputs_args implements org.apache.thrift.TBase<addExperimentProcessOutputs_args, addExperimentProcessOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<addExperimentProcessOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addExperimentProcessOutputs_args");
 
@@ -67052,9 +73665,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addExperimentProcessOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addExperimentProcessOutputs_argsTupleSchemeFactory();
 
-    public java.lang.String outputType; // required
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs; // required
-    public java.lang.String id; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String outputType; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String id; // 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 {
@@ -67073,6 +73686,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OUTPUT_TYPE
@@ -67099,6 +73713,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -67111,10 +73726,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -67168,6 +73785,7 @@
       }
     }
 
+    @Override
     public addExperimentProcessOutputs_args deepCopy() {
       return new addExperimentProcessOutputs_args(this);
     }
@@ -67179,11 +73797,12 @@
       this.id = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getOutputType() {
       return this.outputType;
     }
 
-    public addExperimentProcessOutputs_args setOutputType(java.lang.String outputType) {
+    public addExperimentProcessOutputs_args setOutputType(@org.apache.thrift.annotation.Nullable java.lang.String outputType) {
       this.outputType = outputType;
       return this;
     }
@@ -67207,6 +73826,7 @@
       return (this.outputs == null) ? 0 : this.outputs.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputsIterator() {
       return (this.outputs == null) ? null : this.outputs.iterator();
     }
@@ -67218,11 +73838,12 @@
       this.outputs.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getOutputs() {
       return this.outputs;
     }
 
-    public addExperimentProcessOutputs_args setOutputs(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs) {
+    public addExperimentProcessOutputs_args setOutputs(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> outputs) {
       this.outputs = outputs;
       return this;
     }
@@ -67242,11 +73863,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getId() {
       return this.id;
     }
 
-    public addExperimentProcessOutputs_args setId(java.lang.String id) {
+    public addExperimentProcessOutputs_args setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
       this.id = id;
       return this;
     }
@@ -67266,7 +73888,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OUTPUT_TYPE:
         if (value == null) {
@@ -67295,6 +73918,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OUTPUT_TYPE:
@@ -67311,6 +73936,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -67329,8 +73955,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addExperimentProcessOutputs_args)
         return this.equals((addExperimentProcessOutputs_args)that);
       return false;
@@ -67399,7 +74023,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetOutputType()).compareTo(other.isSetOutputType());
+      lastComparison = java.lang.Boolean.compare(isSetOutputType(), other.isSetOutputType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -67409,7 +74033,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOutputs()).compareTo(other.isSetOutputs());
+      lastComparison = java.lang.Boolean.compare(isSetOutputs(), other.isSetOutputs());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -67419,7 +74043,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -67432,14 +74056,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -67507,6 +74135,7 @@
     }
 
     private static class addExperimentProcessOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addExperimentProcessOutputs_argsStandardScheme getScheme() {
         return new addExperimentProcessOutputs_argsStandardScheme();
       }
@@ -67514,6 +74143,7 @@
 
     private static class addExperimentProcessOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addExperimentProcessOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -67537,7 +74167,7 @@
                 {
                   org.apache.thrift.protocol.TList _list134 = iprot.readListBegin();
                   struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list134.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem135;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem135;
                   for (int _i136 = 0; _i136 < _list134.size; ++_i136)
                   {
                     _elem135 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -67570,6 +74200,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addExperimentProcessOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -67603,6 +74234,7 @@
     }
 
     private static class addExperimentProcessOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addExperimentProcessOutputs_argsTupleScheme getScheme() {
         return new addExperimentProcessOutputs_argsTupleScheme();
       }
@@ -67630,9 +74262,9 @@
         struct.outputType = iprot.readString();
         struct.setOutputTypeIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list139 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list139 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.outputs = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list139.size);
-          org.apache.airavata.model.application.io.OutputDataObjectType _elem140;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem140;
           for (int _i141 = 0; _i141 < _list139.size; ++_i141)
           {
             _elem140 = new org.apache.airavata.model.application.io.OutputDataObjectType();
@@ -67651,6 +74283,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addExperimentProcessOutputs_result implements org.apache.thrift.TBase<addExperimentProcessOutputs_result, addExperimentProcessOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<addExperimentProcessOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addExperimentProcessOutputs_result");
 
@@ -67659,7 +74292,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addExperimentProcessOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addExperimentProcessOutputs_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -67676,6 +74309,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -67698,6 +74332,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -67710,10 +74345,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -67748,6 +74385,7 @@
       }
     }
 
+    @Override
     public addExperimentProcessOutputs_result deepCopy() {
       return new addExperimentProcessOutputs_result(this);
     }
@@ -67757,11 +74395,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addExperimentProcessOutputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addExperimentProcessOutputs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -67781,7 +74420,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -67794,6 +74434,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -67804,6 +74446,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -67818,8 +74461,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addExperimentProcessOutputs_result)
         return this.equals((addExperimentProcessOutputs_result)that);
       return false;
@@ -67862,7 +74503,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -67875,10 +74516,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -67925,6 +74569,7 @@
     }
 
     private static class addExperimentProcessOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addExperimentProcessOutputs_resultStandardScheme getScheme() {
         return new addExperimentProcessOutputs_resultStandardScheme();
       }
@@ -67932,6 +74577,7 @@
 
     private static class addExperimentProcessOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addExperimentProcessOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -67962,6 +74608,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addExperimentProcessOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -67978,6 +74625,7 @@
     }
 
     private static class addExperimentProcessOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addExperimentProcessOutputs_resultTupleScheme getScheme() {
         return new addExperimentProcessOutputs_resultTupleScheme();
       }
@@ -68015,6 +74663,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addErrors_args implements org.apache.thrift.TBase<addErrors_args, addErrors_args._Fields>, java.io.Serializable, Cloneable, Comparable<addErrors_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addErrors_args");
 
@@ -68025,9 +74674,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addErrors_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addErrors_argsTupleSchemeFactory();
 
-    public java.lang.String errorType; // required
-    public org.apache.airavata.model.commons.ErrorModel errorModel; // required
-    public java.lang.String id; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String errorType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel errorModel; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String id; // 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 {
@@ -68046,6 +74695,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // ERROR_TYPE
@@ -68072,6 +74722,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -68084,10 +74735,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -68136,6 +74789,7 @@
       }
     }
 
+    @Override
     public addErrors_args deepCopy() {
       return new addErrors_args(this);
     }
@@ -68147,11 +74801,12 @@
       this.id = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getErrorType() {
       return this.errorType;
     }
 
-    public addErrors_args setErrorType(java.lang.String errorType) {
+    public addErrors_args setErrorType(@org.apache.thrift.annotation.Nullable java.lang.String errorType) {
       this.errorType = errorType;
       return this;
     }
@@ -68171,11 +74826,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.commons.ErrorModel getErrorModel() {
       return this.errorModel;
     }
 
-    public addErrors_args setErrorModel(org.apache.airavata.model.commons.ErrorModel errorModel) {
+    public addErrors_args setErrorModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.commons.ErrorModel errorModel) {
       this.errorModel = errorModel;
       return this;
     }
@@ -68195,11 +74851,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getId() {
       return this.id;
     }
 
-    public addErrors_args setId(java.lang.String id) {
+    public addErrors_args setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
       this.id = id;
       return this;
     }
@@ -68219,7 +74876,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case ERROR_TYPE:
         if (value == null) {
@@ -68248,6 +74906,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case ERROR_TYPE:
@@ -68264,6 +74924,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -68282,8 +74943,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addErrors_args)
         return this.equals((addErrors_args)that);
       return false;
@@ -68352,7 +75011,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetErrorType()).compareTo(other.isSetErrorType());
+      lastComparison = java.lang.Boolean.compare(isSetErrorType(), other.isSetErrorType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68362,7 +75021,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetErrorModel()).compareTo(other.isSetErrorModel());
+      lastComparison = java.lang.Boolean.compare(isSetErrorModel(), other.isSetErrorModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68372,7 +75031,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68385,14 +75044,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -68460,6 +75123,7 @@
     }
 
     private static class addErrors_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addErrors_argsStandardScheme getScheme() {
         return new addErrors_argsStandardScheme();
       }
@@ -68467,6 +75131,7 @@
 
     private static class addErrors_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addErrors_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addErrors_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -68513,6 +75178,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addErrors_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -68539,6 +75205,7 @@
     }
 
     private static class addErrors_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addErrors_argsTupleScheme getScheme() {
         return new addErrors_argsTupleScheme();
       }
@@ -68582,6 +75249,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addErrors_result implements org.apache.thrift.TBase<addErrors_result, addErrors_result._Fields>, java.io.Serializable, Cloneable, Comparable<addErrors_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addErrors_result");
 
@@ -68590,7 +75258,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addErrors_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addErrors_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -68607,6 +75275,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -68629,6 +75298,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -68641,10 +75311,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -68679,6 +75351,7 @@
       }
     }
 
+    @Override
     public addErrors_result deepCopy() {
       return new addErrors_result(this);
     }
@@ -68688,11 +75361,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addErrors_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addErrors_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -68712,7 +75386,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -68725,6 +75400,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -68735,6 +75412,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -68749,8 +75427,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addErrors_result)
         return this.equals((addErrors_result)that);
       return false;
@@ -68793,7 +75469,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -68806,10 +75482,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -68856,6 +75535,7 @@
     }
 
     private static class addErrors_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addErrors_resultStandardScheme getScheme() {
         return new addErrors_resultStandardScheme();
       }
@@ -68863,6 +75543,7 @@
 
     private static class addErrors_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addErrors_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addErrors_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -68893,6 +75574,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addErrors_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -68909,6 +75591,7 @@
     }
 
     private static class addErrors_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addErrors_resultTupleScheme getScheme() {
         return new addErrors_resultTupleScheme();
       }
@@ -68946,6 +75629,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addTaskStatus_args implements org.apache.thrift.TBase<addTaskStatus_args, addTaskStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addTaskStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTaskStatus_args");
 
@@ -68955,8 +75639,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addTaskStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTaskStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.TaskStatus taskStatus; // required
-    public java.lang.String taskId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskStatus taskStatus; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String taskId; // 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 {
@@ -68974,6 +75658,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TASK_STATUS
@@ -68998,6 +75683,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -69010,10 +75696,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -69055,6 +75743,7 @@
       }
     }
 
+    @Override
     public addTaskStatus_args deepCopy() {
       return new addTaskStatus_args(this);
     }
@@ -69065,11 +75754,12 @@
       this.taskId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.TaskStatus getTaskStatus() {
       return this.taskStatus;
     }
 
-    public addTaskStatus_args setTaskStatus(org.apache.airavata.model.status.TaskStatus taskStatus) {
+    public addTaskStatus_args setTaskStatus(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.TaskStatus taskStatus) {
       this.taskStatus = taskStatus;
       return this;
     }
@@ -69089,11 +75779,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTaskId() {
       return this.taskId;
     }
 
-    public addTaskStatus_args setTaskId(java.lang.String taskId) {
+    public addTaskStatus_args setTaskId(@org.apache.thrift.annotation.Nullable java.lang.String taskId) {
       this.taskId = taskId;
       return this;
     }
@@ -69113,7 +75804,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TASK_STATUS:
         if (value == null) {
@@ -69134,6 +75826,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TASK_STATUS:
@@ -69147,6 +75841,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -69163,8 +75858,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addTaskStatus_args)
         return this.equals((addTaskStatus_args)that);
       return false;
@@ -69220,7 +75913,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskStatus()).compareTo(other.isSetTaskStatus());
+      lastComparison = java.lang.Boolean.compare(isSetTaskStatus(), other.isSetTaskStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69230,7 +75923,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+      lastComparison = java.lang.Boolean.compare(isSetTaskId(), other.isSetTaskId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69243,14 +75936,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -69310,6 +76007,7 @@
     }
 
     private static class addTaskStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTaskStatus_argsStandardScheme getScheme() {
         return new addTaskStatus_argsStandardScheme();
       }
@@ -69317,6 +76015,7 @@
 
     private static class addTaskStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTaskStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addTaskStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -69355,6 +76054,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addTaskStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -69376,6 +76076,7 @@
     }
 
     private static class addTaskStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTaskStatus_argsTupleScheme getScheme() {
         return new addTaskStatus_argsTupleScheme();
       }
@@ -69406,6 +76107,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addTaskStatus_result implements org.apache.thrift.TBase<addTaskStatus_result, addTaskStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addTaskStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTaskStatus_result");
 
@@ -69414,7 +76116,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addTaskStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTaskStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -69431,6 +76133,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -69453,6 +76156,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -69465,10 +76169,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -69503,6 +76209,7 @@
       }
     }
 
+    @Override
     public addTaskStatus_result deepCopy() {
       return new addTaskStatus_result(this);
     }
@@ -69512,11 +76219,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addTaskStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addTaskStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -69536,7 +76244,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -69549,6 +76258,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -69559,6 +76270,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -69573,8 +76285,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addTaskStatus_result)
         return this.equals((addTaskStatus_result)that);
       return false;
@@ -69617,7 +76327,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -69630,10 +76340,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -69680,6 +76393,7 @@
     }
 
     private static class addTaskStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTaskStatus_resultStandardScheme getScheme() {
         return new addTaskStatus_resultStandardScheme();
       }
@@ -69687,6 +76401,7 @@
 
     private static class addTaskStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTaskStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addTaskStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -69717,6 +76432,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addTaskStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -69733,6 +76449,7 @@
     }
 
     private static class addTaskStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTaskStatus_resultTupleScheme getScheme() {
         return new addTaskStatus_resultTupleScheme();
       }
@@ -69770,6 +76487,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addProcessStatus_args implements org.apache.thrift.TBase<addProcessStatus_args, addProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessStatus_args");
 
@@ -69779,8 +76497,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcessStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ProcessStatus processStatus; // required
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus processStatus; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -69798,6 +76516,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_STATUS
@@ -69822,6 +76541,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -69834,10 +76554,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -69879,6 +76601,7 @@
       }
     }
 
+    @Override
     public addProcessStatus_args deepCopy() {
       return new addProcessStatus_args(this);
     }
@@ -69889,11 +76612,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ProcessStatus getProcessStatus() {
       return this.processStatus;
     }
 
-    public addProcessStatus_args setProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus) {
+    public addProcessStatus_args setProcessStatus(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus processStatus) {
       this.processStatus = processStatus;
       return this;
     }
@@ -69913,11 +76637,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public addProcessStatus_args setProcessId(java.lang.String processId) {
+    public addProcessStatus_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -69937,7 +76662,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_STATUS:
         if (value == null) {
@@ -69958,6 +76684,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_STATUS:
@@ -69971,6 +76699,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -69987,8 +76716,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addProcessStatus_args)
         return this.equals((addProcessStatus_args)that);
       return false;
@@ -70044,7 +76771,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessStatus()).compareTo(other.isSetProcessStatus());
+      lastComparison = java.lang.Boolean.compare(isSetProcessStatus(), other.isSetProcessStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70054,7 +76781,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70067,14 +76794,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -70134,6 +76865,7 @@
     }
 
     private static class addProcessStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessStatus_argsStandardScheme getScheme() {
         return new addProcessStatus_argsStandardScheme();
       }
@@ -70141,6 +76873,7 @@
 
     private static class addProcessStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcessStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -70179,6 +76912,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addProcessStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -70200,6 +76934,7 @@
     }
 
     private static class addProcessStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessStatus_argsTupleScheme getScheme() {
         return new addProcessStatus_argsTupleScheme();
       }
@@ -70230,6 +76965,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addProcessStatus_result implements org.apache.thrift.TBase<addProcessStatus_result, addProcessStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessStatus_result");
 
@@ -70238,7 +76974,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcessStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -70255,6 +76991,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -70277,6 +77014,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -70289,10 +77027,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -70327,6 +77067,7 @@
       }
     }
 
+    @Override
     public addProcessStatus_result deepCopy() {
       return new addProcessStatus_result(this);
     }
@@ -70336,11 +77077,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addProcessStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addProcessStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -70360,7 +77102,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -70373,6 +77116,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -70383,6 +77128,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -70397,8 +77143,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addProcessStatus_result)
         return this.equals((addProcessStatus_result)that);
       return false;
@@ -70441,7 +77185,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70454,10 +77198,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -70504,6 +77251,7 @@
     }
 
     private static class addProcessStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessStatus_resultStandardScheme getScheme() {
         return new addProcessStatus_resultStandardScheme();
       }
@@ -70511,6 +77259,7 @@
 
     private static class addProcessStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcessStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addProcessStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -70541,6 +77290,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addProcessStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -70557,6 +77307,7 @@
     }
 
     private static class addProcessStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessStatus_resultTupleScheme getScheme() {
         return new addProcessStatus_resultTupleScheme();
       }
@@ -70594,6 +77345,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProcessStatus_args implements org.apache.thrift.TBase<updateProcessStatus_args, updateProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateProcessStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProcessStatus_args");
 
@@ -70603,8 +77355,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProcessStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProcessStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ProcessStatus processStatus; // required
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus processStatus; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -70622,6 +77374,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_STATUS
@@ -70646,6 +77399,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -70658,10 +77412,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -70703,6 +77459,7 @@
       }
     }
 
+    @Override
     public updateProcessStatus_args deepCopy() {
       return new updateProcessStatus_args(this);
     }
@@ -70713,11 +77470,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ProcessStatus getProcessStatus() {
       return this.processStatus;
     }
 
-    public updateProcessStatus_args setProcessStatus(org.apache.airavata.model.status.ProcessStatus processStatus) {
+    public updateProcessStatus_args setProcessStatus(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus processStatus) {
       this.processStatus = processStatus;
       return this;
     }
@@ -70737,11 +77495,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public updateProcessStatus_args setProcessId(java.lang.String processId) {
+    public updateProcessStatus_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -70761,7 +77520,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_STATUS:
         if (value == null) {
@@ -70782,6 +77542,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_STATUS:
@@ -70795,6 +77557,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -70811,8 +77574,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProcessStatus_args)
         return this.equals((updateProcessStatus_args)that);
       return false;
@@ -70868,7 +77629,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessStatus()).compareTo(other.isSetProcessStatus());
+      lastComparison = java.lang.Boolean.compare(isSetProcessStatus(), other.isSetProcessStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70878,7 +77639,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -70891,14 +77652,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -70958,6 +77723,7 @@
     }
 
     private static class updateProcessStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcessStatus_argsStandardScheme getScheme() {
         return new updateProcessStatus_argsStandardScheme();
       }
@@ -70965,6 +77731,7 @@
 
     private static class updateProcessStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProcessStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -71003,6 +77770,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProcessStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -71024,6 +77792,7 @@
     }
 
     private static class updateProcessStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcessStatus_argsTupleScheme getScheme() {
         return new updateProcessStatus_argsTupleScheme();
       }
@@ -71054,6 +77823,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProcessStatus_result implements org.apache.thrift.TBase<updateProcessStatus_result, updateProcessStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateProcessStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProcessStatus_result");
 
@@ -71062,7 +77832,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProcessStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProcessStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -71079,6 +77849,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -71101,6 +77872,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -71113,10 +77885,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -71151,6 +77925,7 @@
       }
     }
 
+    @Override
     public updateProcessStatus_result deepCopy() {
       return new updateProcessStatus_result(this);
     }
@@ -71160,11 +77935,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateProcessStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateProcessStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -71184,7 +77960,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -71197,6 +77974,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -71207,6 +77986,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -71221,8 +78001,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProcessStatus_result)
         return this.equals((updateProcessStatus_result)that);
       return false;
@@ -71265,7 +78043,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71278,10 +78056,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -71328,6 +78109,7 @@
     }
 
     private static class updateProcessStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcessStatus_resultStandardScheme getScheme() {
         return new updateProcessStatus_resultStandardScheme();
       }
@@ -71335,6 +78117,7 @@
 
     private static class updateProcessStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProcessStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProcessStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -71365,6 +78148,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProcessStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -71381,6 +78165,7 @@
     }
 
     private static class updateProcessStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcessStatus_resultTupleScheme getScheme() {
         return new updateProcessStatus_resultTupleScheme();
       }
@@ -71418,6 +78203,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperimentStatus_args implements org.apache.thrift.TBase<updateExperimentStatus_args, updateExperimentStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperimentStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperimentStatus_args");
 
@@ -71427,8 +78213,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperimentStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperimentStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ExperimentStatus experimentStatus; // required
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus experimentStatus; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -71446,6 +78232,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_STATUS
@@ -71470,6 +78257,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -71482,10 +78270,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -71527,6 +78317,7 @@
       }
     }
 
+    @Override
     public updateExperimentStatus_args deepCopy() {
       return new updateExperimentStatus_args(this);
     }
@@ -71537,11 +78328,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ExperimentStatus getExperimentStatus() {
       return this.experimentStatus;
     }
 
-    public updateExperimentStatus_args setExperimentStatus(org.apache.airavata.model.status.ExperimentStatus experimentStatus) {
+    public updateExperimentStatus_args setExperimentStatus(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ExperimentStatus experimentStatus) {
       this.experimentStatus = experimentStatus;
       return this;
     }
@@ -71561,11 +78353,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public updateExperimentStatus_args setExperimentId(java.lang.String experimentId) {
+    public updateExperimentStatus_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -71585,7 +78378,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_STATUS:
         if (value == null) {
@@ -71606,6 +78400,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_STATUS:
@@ -71619,6 +78415,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -71635,8 +78432,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperimentStatus_args)
         return this.equals((updateExperimentStatus_args)that);
       return false;
@@ -71692,7 +78487,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentStatus()).compareTo(other.isSetExperimentStatus());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentStatus(), other.isSetExperimentStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71702,7 +78497,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -71715,14 +78510,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -71782,6 +78581,7 @@
     }
 
     private static class updateExperimentStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentStatus_argsStandardScheme getScheme() {
         return new updateExperimentStatus_argsStandardScheme();
       }
@@ -71789,6 +78589,7 @@
 
     private static class updateExperimentStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -71827,6 +78628,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -71848,6 +78650,7 @@
     }
 
     private static class updateExperimentStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentStatus_argsTupleScheme getScheme() {
         return new updateExperimentStatus_argsTupleScheme();
       }
@@ -71878,6 +78681,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateExperimentStatus_result implements org.apache.thrift.TBase<updateExperimentStatus_result, updateExperimentStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateExperimentStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateExperimentStatus_result");
 
@@ -71886,7 +78690,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateExperimentStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateExperimentStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -71903,6 +78707,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -71925,6 +78730,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -71937,10 +78743,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -71975,6 +78783,7 @@
       }
     }
 
+    @Override
     public updateExperimentStatus_result deepCopy() {
       return new updateExperimentStatus_result(this);
     }
@@ -71984,11 +78793,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateExperimentStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateExperimentStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -72008,7 +78818,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -72021,6 +78832,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -72031,6 +78844,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -72045,8 +78859,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateExperimentStatus_result)
         return this.equals((updateExperimentStatus_result)that);
       return false;
@@ -72089,7 +78901,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72102,10 +78914,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -72152,6 +78967,7 @@
     }
 
     private static class updateExperimentStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentStatus_resultStandardScheme getScheme() {
         return new updateExperimentStatus_resultStandardScheme();
       }
@@ -72159,6 +78975,7 @@
 
     private static class updateExperimentStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateExperimentStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -72189,6 +79006,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateExperimentStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -72205,6 +79023,7 @@
     }
 
     private static class updateExperimentStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateExperimentStatus_resultTupleScheme getScheme() {
         return new updateExperimentStatus_resultTupleScheme();
       }
@@ -72242,6 +79061,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addJobStatus_args implements org.apache.thrift.TBase<addJobStatus_args, addJobStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<addJobStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJobStatus_args");
 
@@ -72252,9 +79072,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJobStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJobStatus_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.JobStatus jobStatus; // required
-    public java.lang.String taskId; // required
-    public java.lang.String jobId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus jobStatus; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String taskId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobId; // 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 {
@@ -72273,6 +79093,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_STATUS
@@ -72299,6 +79120,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -72311,10 +79133,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -72363,6 +79187,7 @@
       }
     }
 
+    @Override
     public addJobStatus_args deepCopy() {
       return new addJobStatus_args(this);
     }
@@ -72374,11 +79199,12 @@
       this.jobId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.JobStatus getJobStatus() {
       return this.jobStatus;
     }
 
-    public addJobStatus_args setJobStatus(org.apache.airavata.model.status.JobStatus jobStatus) {
+    public addJobStatus_args setJobStatus(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus jobStatus) {
       this.jobStatus = jobStatus;
       return this;
     }
@@ -72398,11 +79224,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTaskId() {
       return this.taskId;
     }
 
-    public addJobStatus_args setTaskId(java.lang.String taskId) {
+    public addJobStatus_args setTaskId(@org.apache.thrift.annotation.Nullable java.lang.String taskId) {
       this.taskId = taskId;
       return this;
     }
@@ -72422,11 +79249,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobId() {
       return this.jobId;
     }
 
-    public addJobStatus_args setJobId(java.lang.String jobId) {
+    public addJobStatus_args setJobId(@org.apache.thrift.annotation.Nullable java.lang.String jobId) {
       this.jobId = jobId;
       return this;
     }
@@ -72446,7 +79274,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_STATUS:
         if (value == null) {
@@ -72475,6 +79304,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_STATUS:
@@ -72491,6 +79322,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -72509,8 +79341,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addJobStatus_args)
         return this.equals((addJobStatus_args)that);
       return false;
@@ -72579,7 +79409,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobStatus()).compareTo(other.isSetJobStatus());
+      lastComparison = java.lang.Boolean.compare(isSetJobStatus(), other.isSetJobStatus());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72589,7 +79419,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskId()).compareTo(other.isSetTaskId());
+      lastComparison = java.lang.Boolean.compare(isSetTaskId(), other.isSetTaskId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72599,7 +79429,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobId()).compareTo(other.isSetJobId());
+      lastComparison = java.lang.Boolean.compare(isSetJobId(), other.isSetJobId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -72612,14 +79442,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -72690,6 +79524,7 @@
     }
 
     private static class addJobStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJobStatus_argsStandardScheme getScheme() {
         return new addJobStatus_argsStandardScheme();
       }
@@ -72697,6 +79532,7 @@
 
     private static class addJobStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJobStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addJobStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -72743,6 +79579,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addJobStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -72769,6 +79606,7 @@
     }
 
     private static class addJobStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJobStatus_argsTupleScheme getScheme() {
         return new addJobStatus_argsTupleScheme();
       }
@@ -72802,6 +79640,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addJobStatus_result implements org.apache.thrift.TBase<addJobStatus_result, addJobStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<addJobStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJobStatus_result");
 
@@ -72810,7 +79649,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJobStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJobStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -72827,6 +79666,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -72849,6 +79689,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -72861,10 +79702,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -72899,6 +79742,7 @@
       }
     }
 
+    @Override
     public addJobStatus_result deepCopy() {
       return new addJobStatus_result(this);
     }
@@ -72908,11 +79752,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addJobStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addJobStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -72932,7 +79777,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -72945,6 +79791,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -72955,6 +79803,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -72969,8 +79818,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addJobStatus_result)
         return this.equals((addJobStatus_result)that);
       return false;
@@ -73013,7 +79860,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73026,10 +79873,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -73076,6 +79926,7 @@
     }
 
     private static class addJobStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJobStatus_resultStandardScheme getScheme() {
         return new addJobStatus_resultStandardScheme();
       }
@@ -73083,6 +79934,7 @@
 
     private static class addJobStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJobStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addJobStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -73113,6 +79965,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addJobStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -73129,6 +79982,7 @@
     }
 
     private static class addJobStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJobStatus_resultTupleScheme getScheme() {
         return new addJobStatus_resultTupleScheme();
       }
@@ -73166,6 +80020,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addJob_args implements org.apache.thrift.TBase<addJob_args, addJob_args._Fields>, java.io.Serializable, Cloneable, Comparable<addJob_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJob_args");
 
@@ -73175,8 +80030,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJob_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJob_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.job.JobModel jobModel; // required
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel jobModel; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -73194,6 +80049,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_MODEL
@@ -73218,6 +80074,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -73230,10 +80087,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -73275,6 +80134,7 @@
       }
     }
 
+    @Override
     public addJob_args deepCopy() {
       return new addJob_args(this);
     }
@@ -73285,11 +80145,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.job.JobModel getJobModel() {
       return this.jobModel;
     }
 
-    public addJob_args setJobModel(org.apache.airavata.model.job.JobModel jobModel) {
+    public addJob_args setJobModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel jobModel) {
       this.jobModel = jobModel;
       return this;
     }
@@ -73309,11 +80170,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public addJob_args setProcessId(java.lang.String processId) {
+    public addJob_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -73333,7 +80195,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_MODEL:
         if (value == null) {
@@ -73354,6 +80217,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_MODEL:
@@ -73367,6 +80232,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -73383,8 +80249,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addJob_args)
         return this.equals((addJob_args)that);
       return false;
@@ -73440,7 +80304,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobModel()).compareTo(other.isSetJobModel());
+      lastComparison = java.lang.Boolean.compare(isSetJobModel(), other.isSetJobModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73450,7 +80314,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73463,14 +80327,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -73530,6 +80398,7 @@
     }
 
     private static class addJob_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJob_argsStandardScheme getScheme() {
         return new addJob_argsStandardScheme();
       }
@@ -73537,6 +80406,7 @@
 
     private static class addJob_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJob_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addJob_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -73575,6 +80445,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addJob_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -73596,6 +80467,7 @@
     }
 
     private static class addJob_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJob_argsTupleScheme getScheme() {
         return new addJob_argsTupleScheme();
       }
@@ -73626,6 +80498,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addJob_result implements org.apache.thrift.TBase<addJob_result, addJob_result._Fields>, java.io.Serializable, Cloneable, Comparable<addJob_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addJob_result");
 
@@ -73634,7 +80507,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addJob_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addJob_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -73651,6 +80524,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -73673,6 +80547,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -73685,10 +80560,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -73723,6 +80600,7 @@
       }
     }
 
+    @Override
     public addJob_result deepCopy() {
       return new addJob_result(this);
     }
@@ -73732,11 +80610,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addJob_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addJob_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -73756,7 +80635,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -73769,6 +80649,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -73779,6 +80661,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -73793,8 +80676,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addJob_result)
         return this.equals((addJob_result)that);
       return false;
@@ -73837,7 +80718,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -73850,10 +80731,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -73900,6 +80784,7 @@
     }
 
     private static class addJob_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJob_resultStandardScheme getScheme() {
         return new addJob_resultStandardScheme();
       }
@@ -73907,6 +80792,7 @@
 
     private static class addJob_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addJob_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addJob_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -73937,6 +80823,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addJob_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -73953,6 +80840,7 @@
     }
 
     private static class addJob_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addJob_resultTupleScheme getScheme() {
         return new addJob_resultTupleScheme();
       }
@@ -73990,6 +80878,2822 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class deleteJobs_args implements org.apache.thrift.TBase<deleteJobs_args, deleteJobs_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteJobs_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteJobs_args");
+
+    private static final org.apache.thrift.protocol.TField PROCESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("processId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteJobs_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteJobs_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
+      PROCESS_ID((short)1, "processId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // PROCESS_ID
+            return PROCESS_ID;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.PROCESS_ID, new org.apache.thrift.meta_data.FieldMetaData("processId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteJobs_args.class, metaDataMap);
+    }
+
+    public deleteJobs_args() {
+    }
+
+    public deleteJobs_args(
+      java.lang.String processId)
+    {
+      this();
+      this.processId = processId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public deleteJobs_args(deleteJobs_args other) {
+      if (other.isSetProcessId()) {
+        this.processId = other.processId;
+      }
+    }
+
+    @Override
+    public deleteJobs_args deepCopy() {
+      return new deleteJobs_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.processId = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getProcessId() {
+      return this.processId;
+    }
+
+    public deleteJobs_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
+      this.processId = processId;
+      return this;
+    }
+
+    public void unsetProcessId() {
+      this.processId = null;
+    }
+
+    /** Returns true if field processId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessId() {
+      return this.processId != null;
+    }
+
+    public void setProcessIdIsSet(boolean value) {
+      if (!value) {
+        this.processId = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case PROCESS_ID:
+        if (value == null) {
+          unsetProcessId();
+        } else {
+          setProcessId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case PROCESS_ID:
+        return getProcessId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case PROCESS_ID:
+        return isSetProcessId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof deleteJobs_args)
+        return this.equals((deleteJobs_args)that);
+      return false;
+    }
+
+    public boolean equals(deleteJobs_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_processId = true && this.isSetProcessId();
+      boolean that_present_processId = true && that.isSetProcessId();
+      if (this_present_processId || that_present_processId) {
+        if (!(this_present_processId && that_present_processId))
+          return false;
+        if (!this.processId.equals(that.processId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetProcessId()) ? 131071 : 524287);
+      if (isSetProcessId())
+        hashCode = hashCode * 8191 + processId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(deleteJobs_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetProcessId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processId, other.processId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteJobs_args(");
+      boolean first = true;
+
+      sb.append("processId:");
+      if (this.processId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.processId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (processId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processId' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 deleteJobs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteJobs_argsStandardScheme getScheme() {
+        return new deleteJobs_argsStandardScheme();
+      }
+    }
+
+    private static class deleteJobs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteJobs_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteJobs_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: // PROCESS_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.processId = iprot.readString();
+                struct.setProcessIdIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteJobs_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.processId != null) {
+          oprot.writeFieldBegin(PROCESS_ID_FIELD_DESC);
+          oprot.writeString(struct.processId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class deleteJobs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteJobs_argsTupleScheme getScheme() {
+        return new deleteJobs_argsTupleScheme();
+      }
+    }
+
+    private static class deleteJobs_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteJobs_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteJobs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.processId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteJobs_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.processId = iprot.readString();
+        struct.setProcessIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class deleteJobs_result implements org.apache.thrift.TBase<deleteJobs_result, deleteJobs_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteJobs_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteJobs_result");
+
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteJobs_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteJobs_resultTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteJobs_result.class, metaDataMap);
+    }
+
+    public deleteJobs_result() {
+    }
+
+    public deleteJobs_result(
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public deleteJobs_result(deleteJobs_result other) {
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public deleteJobs_result deepCopy() {
+      return new deleteJobs_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.rse = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public deleteJobs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof deleteJobs_result)
+        return this.equals((deleteJobs_result)that);
+      return false;
+    }
+
+    public boolean equals(deleteJobs_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(deleteJobs_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteJobs_result(");
+      boolean first = true;
+
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.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 deleteJobs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteJobs_resultStandardScheme getScheme() {
+        return new deleteJobs_resultStandardScheme();
+      }
+    }
+
+    private static class deleteJobs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteJobs_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteJobs_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 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteJobs_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class deleteJobs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteJobs_resultTupleScheme getScheme() {
+        return new deleteJobs_resultTupleScheme();
+      }
+    }
+
+    private static class deleteJobs_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteJobs_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteJobs_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetRse()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteJobs_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getJobCount_args implements org.apache.thrift.TBase<getJobCount_args, getJobCount_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobCount_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobCount_args");
+
+    private static final org.apache.thrift.protocol.TField JOB_STATUS_FIELD_DESC = new org.apache.thrift.protocol.TField("jobStatus", 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 SEARCH_BACK_TIME_IN_MINUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("searchBackTimeInMinutes", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobCount_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobCount_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus jobStatus; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public double searchBackTimeInMinutes; // 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 {
+      JOB_STATUS((short)1, "jobStatus"),
+      GATEWAY_ID((short)2, "gatewayId"),
+      SEARCH_BACK_TIME_IN_MINUTES((short)3, "searchBackTimeInMinutes");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // JOB_STATUS
+            return JOB_STATUS;
+          case 2: // GATEWAY_ID
+            return GATEWAY_ID;
+          case 3: // SEARCH_BACK_TIME_IN_MINUTES
+            return SEARCH_BACK_TIME_IN_MINUTES;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SEARCHBACKTIMEINMINUTES_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.JOB_STATUS, new org.apache.thrift.meta_data.FieldMetaData("jobStatus", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.JobStatus.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.SEARCH_BACK_TIME_IN_MINUTES, new org.apache.thrift.meta_data.FieldMetaData("searchBackTimeInMinutes", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobCount_args.class, metaDataMap);
+    }
+
+    public getJobCount_args() {
+    }
+
+    public getJobCount_args(
+      org.apache.airavata.model.status.JobStatus jobStatus,
+      java.lang.String gatewayId,
+      double searchBackTimeInMinutes)
+    {
+      this();
+      this.jobStatus = jobStatus;
+      this.gatewayId = gatewayId;
+      this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      setSearchBackTimeInMinutesIsSet(true);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getJobCount_args(getJobCount_args other) {
+      __isset_bitfield = other.__isset_bitfield;
+      if (other.isSetJobStatus()) {
+        this.jobStatus = new org.apache.airavata.model.status.JobStatus(other.jobStatus);
+      }
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
+      }
+      this.searchBackTimeInMinutes = other.searchBackTimeInMinutes;
+    }
+
+    @Override
+    public getJobCount_args deepCopy() {
+      return new getJobCount_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.jobStatus = null;
+      this.gatewayId = null;
+      setSearchBackTimeInMinutesIsSet(false);
+      this.searchBackTimeInMinutes = 0.0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.model.status.JobStatus getJobStatus() {
+      return this.jobStatus;
+    }
+
+    public getJobCount_args setJobStatus(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.JobStatus jobStatus) {
+      this.jobStatus = jobStatus;
+      return this;
+    }
+
+    public void unsetJobStatus() {
+      this.jobStatus = null;
+    }
+
+    /** Returns true if field jobStatus is set (has been assigned a value) and false otherwise */
+    public boolean isSetJobStatus() {
+      return this.jobStatus != null;
+    }
+
+    public void setJobStatusIsSet(boolean value) {
+      if (!value) {
+        this.jobStatus = null;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public getJobCount_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
+      return this;
+    }
+
+    public void unsetGatewayId() {
+      this.gatewayId = null;
+    }
+
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
+    }
+
+    public void setGatewayIdIsSet(boolean value) {
+      if (!value) {
+        this.gatewayId = null;
+      }
+    }
+
+    public double getSearchBackTimeInMinutes() {
+      return this.searchBackTimeInMinutes;
+    }
+
+    public getJobCount_args setSearchBackTimeInMinutes(double searchBackTimeInMinutes) {
+      this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      setSearchBackTimeInMinutesIsSet(true);
+      return this;
+    }
+
+    public void unsetSearchBackTimeInMinutes() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SEARCHBACKTIMEINMINUTES_ISSET_ID);
+    }
+
+    /** Returns true if field searchBackTimeInMinutes is set (has been assigned a value) and false otherwise */
+    public boolean isSetSearchBackTimeInMinutes() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SEARCHBACKTIMEINMINUTES_ISSET_ID);
+    }
+
+    public void setSearchBackTimeInMinutesIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SEARCHBACKTIMEINMINUTES_ISSET_ID, value);
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case JOB_STATUS:
+        if (value == null) {
+          unsetJobStatus();
+        } else {
+          setJobStatus((org.apache.airavata.model.status.JobStatus)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((java.lang.String)value);
+        }
+        break;
+
+      case SEARCH_BACK_TIME_IN_MINUTES:
+        if (value == null) {
+          unsetSearchBackTimeInMinutes();
+        } else {
+          setSearchBackTimeInMinutes((java.lang.Double)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case JOB_STATUS:
+        return getJobStatus();
+
+      case GATEWAY_ID:
+        return getGatewayId();
+
+      case SEARCH_BACK_TIME_IN_MINUTES:
+        return getSearchBackTimeInMinutes();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case JOB_STATUS:
+        return isSetJobStatus();
+      case GATEWAY_ID:
+        return isSetGatewayId();
+      case SEARCH_BACK_TIME_IN_MINUTES:
+        return isSetSearchBackTimeInMinutes();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getJobCount_args)
+        return this.equals((getJobCount_args)that);
+      return false;
+    }
+
+    public boolean equals(getJobCount_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_jobStatus = true && this.isSetJobStatus();
+      boolean that_present_jobStatus = true && that.isSetJobStatus();
+      if (this_present_jobStatus || that_present_jobStatus) {
+        if (!(this_present_jobStatus && that_present_jobStatus))
+          return false;
+        if (!this.jobStatus.equals(that.jobStatus))
+          return false;
+      }
+
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
+          return false;
+        if (!this.gatewayId.equals(that.gatewayId))
+          return false;
+      }
+
+      boolean this_present_searchBackTimeInMinutes = true;
+      boolean that_present_searchBackTimeInMinutes = true;
+      if (this_present_searchBackTimeInMinutes || that_present_searchBackTimeInMinutes) {
+        if (!(this_present_searchBackTimeInMinutes && that_present_searchBackTimeInMinutes))
+          return false;
+        if (this.searchBackTimeInMinutes != that.searchBackTimeInMinutes)
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetJobStatus()) ? 131071 : 524287);
+      if (isSetJobStatus())
+        hashCode = hashCode * 8191 + jobStatus.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
+
+      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(searchBackTimeInMinutes);
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getJobCount_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetJobStatus(), other.isSetJobStatus());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetJobStatus()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobStatus, other.jobStatus);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetSearchBackTimeInMinutes(), other.isSetSearchBackTimeInMinutes());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSearchBackTimeInMinutes()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.searchBackTimeInMinutes, other.searchBackTimeInMinutes);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobCount_args(");
+      boolean first = true;
+
+      sb.append("jobStatus:");
+      if (this.jobStatus == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.jobStatus);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("searchBackTimeInMinutes:");
+      sb.append(this.searchBackTimeInMinutes);
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (jobStatus == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobStatus' was not present! Struct: " + toString());
+      }
+      if (gatewayId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      }
+      // alas, we cannot check 'searchBackTimeInMinutes' because it's a primitive and you chose the non-beans generator.
+      // check for sub-struct validity
+      if (jobStatus != null) {
+        jobStatus.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, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        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 getJobCount_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getJobCount_argsStandardScheme getScheme() {
+        return new getJobCount_argsStandardScheme();
+      }
+    }
+
+    private static class getJobCount_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobCount_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobCount_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: // JOB_STATUS
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
+                struct.jobStatus.read(iprot);
+                struct.setJobStatusIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // SEARCH_BACK_TIME_IN_MINUTES
+              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+                struct.searchBackTimeInMinutes = iprot.readDouble();
+                struct.setSearchBackTimeInMinutesIsSet(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
+        if (!struct.isSetSearchBackTimeInMinutes()) {
+          throw new org.apache.thrift.protocol.TProtocolException("Required field 'searchBackTimeInMinutes' was not found in serialized data! Struct: " + toString());
+        }
+        struct.validate();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobCount_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.jobStatus != null) {
+          oprot.writeFieldBegin(JOB_STATUS_FIELD_DESC);
+          struct.jobStatus.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldBegin(SEARCH_BACK_TIME_IN_MINUTES_FIELD_DESC);
+        oprot.writeDouble(struct.searchBackTimeInMinutes);
+        oprot.writeFieldEnd();
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getJobCount_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getJobCount_argsTupleScheme getScheme() {
+        return new getJobCount_argsTupleScheme();
+      }
+    }
+
+    private static class getJobCount_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobCount_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getJobCount_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.jobStatus.write(oprot);
+        oprot.writeString(struct.gatewayId);
+        oprot.writeDouble(struct.searchBackTimeInMinutes);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getJobCount_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.jobStatus = new org.apache.airavata.model.status.JobStatus();
+        struct.jobStatus.read(iprot);
+        struct.setJobStatusIsSet(true);
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
+        struct.searchBackTimeInMinutes = iprot.readDouble();
+        struct.setSearchBackTimeInMinutesIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getJobCount_result implements org.apache.thrift.TBase<getJobCount_result, getJobCount_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobCount_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobCount_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.I32, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobCount_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobCount_resultTupleSchemeFactory();
+
+    public int success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.I32)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getJobCount_result.class, metaDataMap);
+    }
+
+    public getJobCount_result() {
+    }
+
+    public getJobCount_result(
+      int success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getJobCount_result(getJobCount_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public getJobCount_result deepCopy() {
+      return new getJobCount_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = 0;
+      this.rse = null;
+    }
+
+    public int getSuccess() {
+      return this.success;
+    }
+
+    public getJobCount_result setSuccess(int success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getJobCount_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Integer)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getJobCount_result)
+        return this.equals((getJobCount_result)that);
+      return false;
+    }
+
+    public boolean equals(getJobCount_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + success;
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getJobCount_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getJobCount_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        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 getJobCount_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getJobCount_resultStandardScheme getScheme() {
+        return new getJobCount_resultStandardScheme();
+      }
+    }
+
+    private static class getJobCount_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobCount_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getJobCount_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.I32) {
+                struct.success = iprot.readI32();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getJobCount_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeI32(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getJobCount_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getJobCount_resultTupleScheme getScheme() {
+        return new getJobCount_resultTupleScheme();
+      }
+    }
+
+    private static class getJobCount_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getJobCount_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getJobCount_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          oprot.writeI32(struct.success);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getJobCount_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.success = iprot.readI32();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getAVGTimeDistribution_args implements org.apache.thrift.TBase<getAVGTimeDistribution_args, getAVGTimeDistribution_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAVGTimeDistribution_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAVGTimeDistribution_args");
+
+    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)1);
+    private static final org.apache.thrift.protocol.TField SEARCH_BACK_TIME_IN_MINUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("searchBackTimeInMinutes", org.apache.thrift.protocol.TType.DOUBLE, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAVGTimeDistribution_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAVGTimeDistribution_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public double searchBackTimeInMinutes; // 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 {
+      GATEWAY_ID((short)1, "gatewayId"),
+      SEARCH_BACK_TIME_IN_MINUTES((short)3, "searchBackTimeInMinutes");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // GATEWAY_ID
+            return GATEWAY_ID;
+          case 3: // SEARCH_BACK_TIME_IN_MINUTES
+            return SEARCH_BACK_TIME_IN_MINUTES;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SEARCHBACKTIMEINMINUTES_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.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.SEARCH_BACK_TIME_IN_MINUTES, new org.apache.thrift.meta_data.FieldMetaData("searchBackTimeInMinutes", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAVGTimeDistribution_args.class, metaDataMap);
+    }
+
+    public getAVGTimeDistribution_args() {
+    }
+
+    public getAVGTimeDistribution_args(
+      java.lang.String gatewayId,
+      double searchBackTimeInMinutes)
+    {
+      this();
+      this.gatewayId = gatewayId;
+      this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      setSearchBackTimeInMinutesIsSet(true);
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getAVGTimeDistribution_args(getAVGTimeDistribution_args other) {
+      __isset_bitfield = other.__isset_bitfield;
+      if (other.isSetGatewayId()) {
+        this.gatewayId = other.gatewayId;
+      }
+      this.searchBackTimeInMinutes = other.searchBackTimeInMinutes;
+    }
+
+    @Override
+    public getAVGTimeDistribution_args deepCopy() {
+      return new getAVGTimeDistribution_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.gatewayId = null;
+      setSearchBackTimeInMinutesIsSet(false);
+      this.searchBackTimeInMinutes = 0.0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getGatewayId() {
+      return this.gatewayId;
+    }
+
+    public getAVGTimeDistribution_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
+      this.gatewayId = gatewayId;
+      return this;
+    }
+
+    public void unsetGatewayId() {
+      this.gatewayId = null;
+    }
+
+    /** Returns true if field gatewayId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayId() {
+      return this.gatewayId != null;
+    }
+
+    public void setGatewayIdIsSet(boolean value) {
+      if (!value) {
+        this.gatewayId = null;
+      }
+    }
+
+    public double getSearchBackTimeInMinutes() {
+      return this.searchBackTimeInMinutes;
+    }
+
+    public getAVGTimeDistribution_args setSearchBackTimeInMinutes(double searchBackTimeInMinutes) {
+      this.searchBackTimeInMinutes = searchBackTimeInMinutes;
+      setSearchBackTimeInMinutesIsSet(true);
+      return this;
+    }
+
+    public void unsetSearchBackTimeInMinutes() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SEARCHBACKTIMEINMINUTES_ISSET_ID);
+    }
+
+    /** Returns true if field searchBackTimeInMinutes is set (has been assigned a value) and false otherwise */
+    public boolean isSetSearchBackTimeInMinutes() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SEARCHBACKTIMEINMINUTES_ISSET_ID);
+    }
+
+    public void setSearchBackTimeInMinutesIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SEARCHBACKTIMEINMINUTES_ISSET_ID, value);
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayId();
+        } else {
+          setGatewayId((java.lang.String)value);
+        }
+        break;
+
+      case SEARCH_BACK_TIME_IN_MINUTES:
+        if (value == null) {
+          unsetSearchBackTimeInMinutes();
+        } else {
+          setSearchBackTimeInMinutes((java.lang.Double)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GATEWAY_ID:
+        return getGatewayId();
+
+      case SEARCH_BACK_TIME_IN_MINUTES:
+        return getSearchBackTimeInMinutes();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case GATEWAY_ID:
+        return isSetGatewayId();
+      case SEARCH_BACK_TIME_IN_MINUTES:
+        return isSetSearchBackTimeInMinutes();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getAVGTimeDistribution_args)
+        return this.equals((getAVGTimeDistribution_args)that);
+      return false;
+    }
+
+    public boolean equals(getAVGTimeDistribution_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_gatewayId = true && this.isSetGatewayId();
+      boolean that_present_gatewayId = true && that.isSetGatewayId();
+      if (this_present_gatewayId || that_present_gatewayId) {
+        if (!(this_present_gatewayId && that_present_gatewayId))
+          return false;
+        if (!this.gatewayId.equals(that.gatewayId))
+          return false;
+      }
+
+      boolean this_present_searchBackTimeInMinutes = true;
+      boolean that_present_searchBackTimeInMinutes = true;
+      if (this_present_searchBackTimeInMinutes || that_present_searchBackTimeInMinutes) {
+        if (!(this_present_searchBackTimeInMinutes && that_present_searchBackTimeInMinutes))
+          return false;
+        if (this.searchBackTimeInMinutes != that.searchBackTimeInMinutes)
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGatewayId()) ? 131071 : 524287);
+      if (isSetGatewayId())
+        hashCode = hashCode * 8191 + gatewayId.hashCode();
+
+      hashCode = hashCode * 8191 + org.apache.thrift.TBaseHelper.hashCode(searchBackTimeInMinutes);
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getAVGTimeDistribution_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayId, other.gatewayId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetSearchBackTimeInMinutes(), other.isSetSearchBackTimeInMinutes());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetSearchBackTimeInMinutes()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.searchBackTimeInMinutes, other.searchBackTimeInMinutes);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAVGTimeDistribution_args(");
+      boolean first = true;
+
+      sb.append("gatewayId:");
+      if (this.gatewayId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("searchBackTimeInMinutes:");
+      sb.append(this.searchBackTimeInMinutes);
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (gatewayId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayId' was not present! Struct: " + toString());
+      }
+      // alas, we cannot check 'searchBackTimeInMinutes' because it's a primitive and you chose the non-beans generator.
+      // 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, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        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 getAVGTimeDistribution_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getAVGTimeDistribution_argsStandardScheme getScheme() {
+        return new getAVGTimeDistribution_argsStandardScheme();
+      }
+    }
+
+    private static class getAVGTimeDistribution_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAVGTimeDistribution_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAVGTimeDistribution_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: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayId = iprot.readString();
+                struct.setGatewayIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // SEARCH_BACK_TIME_IN_MINUTES
+              if (schemeField.type == org.apache.thrift.protocol.TType.DOUBLE) {
+                struct.searchBackTimeInMinutes = iprot.readDouble();
+                struct.setSearchBackTimeInMinutesIsSet(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
+        if (!struct.isSetSearchBackTimeInMinutes()) {
+          throw new org.apache.thrift.protocol.TProtocolException("Required field 'searchBackTimeInMinutes' was not found in serialized data! Struct: " + toString());
+        }
+        struct.validate();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAVGTimeDistribution_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.gatewayId != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldBegin(SEARCH_BACK_TIME_IN_MINUTES_FIELD_DESC);
+        oprot.writeDouble(struct.searchBackTimeInMinutes);
+        oprot.writeFieldEnd();
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getAVGTimeDistribution_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getAVGTimeDistribution_argsTupleScheme getScheme() {
+        return new getAVGTimeDistribution_argsTupleScheme();
+      }
+    }
+
+    private static class getAVGTimeDistribution_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAVGTimeDistribution_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAVGTimeDistribution_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.gatewayId);
+        oprot.writeDouble(struct.searchBackTimeInMinutes);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAVGTimeDistribution_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.gatewayId = iprot.readString();
+        struct.setGatewayIdIsSet(true);
+        struct.searchBackTimeInMinutes = iprot.readDouble();
+        struct.setSearchBackTimeInMinutesIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getAVGTimeDistribution_result implements org.apache.thrift.TBase<getAVGTimeDistribution_result, getAVGTimeDistribution_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAVGTimeDistribution_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAVGTimeDistribution_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.MAP, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAVGTimeDistribution_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAVGTimeDistribution_resultTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Double> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.MapMetaData(org.apache.thrift.protocol.TType.MAP, 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING), 
+              new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.DOUBLE))));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAVGTimeDistribution_result.class, metaDataMap);
+    }
+
+    public getAVGTimeDistribution_result() {
+    }
+
+    public getAVGTimeDistribution_result(
+      java.util.Map<java.lang.String,java.lang.Double> success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getAVGTimeDistribution_result(getAVGTimeDistribution_result other) {
+      if (other.isSetSuccess()) {
+        java.util.Map<java.lang.String,java.lang.Double> __this__success = new java.util.HashMap<java.lang.String,java.lang.Double>(other.success);
+        this.success = __this__success;
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public getAVGTimeDistribution_result deepCopy() {
+      return new getAVGTimeDistribution_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    public void putToSuccess(java.lang.String key, double val) {
+      if (this.success == null) {
+        this.success = new java.util.HashMap<java.lang.String,java.lang.Double>();
+      }
+      this.success.put(key, val);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.util.Map<java.lang.String,java.lang.Double> getSuccess() {
+      return this.success;
+    }
+
+    public getAVGTimeDistribution_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Double> 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;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getAVGTimeDistribution_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.util.Map<java.lang.String,java.lang.Double>)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getAVGTimeDistribution_result)
+        return this.equals((getAVGTimeDistribution_result)that);
+      return false;
+    }
+
+    public boolean equals(getAVGTimeDistribution_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getAVGTimeDistribution_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getAVGTimeDistribution_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.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 getAVGTimeDistribution_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getAVGTimeDistribution_resultStandardScheme getScheme() {
+        return new getAVGTimeDistribution_resultStandardScheme();
+      }
+    }
+
+    private static class getAVGTimeDistribution_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAVGTimeDistribution_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getAVGTimeDistribution_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.MAP) {
+                {
+                  org.apache.thrift.protocol.TMap _map142 = iprot.readMapBegin();
+                  struct.success = new java.util.HashMap<java.lang.String,java.lang.Double>(2*_map142.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key143;
+                  double _val144;
+                  for (int _i145 = 0; _i145 < _map142.size; ++_i145)
+                  {
+                    _key143 = iprot.readString();
+                    _val144 = iprot.readDouble();
+                    struct.success.put(_key143, _val144);
+                  }
+                  iprot.readMapEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getAVGTimeDistribution_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE, struct.success.size()));
+            for (java.util.Map.Entry<java.lang.String, java.lang.Double> _iter146 : struct.success.entrySet())
+            {
+              oprot.writeString(_iter146.getKey());
+              oprot.writeDouble(_iter146.getValue());
+            }
+            oprot.writeMapEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getAVGTimeDistribution_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getAVGTimeDistribution_resultTupleScheme getScheme() {
+        return new getAVGTimeDistribution_resultTupleScheme();
+      }
+    }
+
+    private static class getAVGTimeDistribution_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getAVGTimeDistribution_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getAVGTimeDistribution_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (java.util.Map.Entry<java.lang.String, java.lang.Double> _iter147 : struct.success.entrySet())
+            {
+              oprot.writeString(_iter147.getKey());
+              oprot.writeDouble(_iter147.getValue());
+            }
+          }
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getAVGTimeDistribution_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TMap _map148 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.DOUBLE); 
+            struct.success = new java.util.HashMap<java.lang.String,java.lang.Double>(2*_map148.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _key149;
+            double _val150;
+            for (int _i151 = 0; _i151 < _map148.size; ++_i151)
+            {
+              _key149 = iprot.readString();
+              _val150 = iprot.readDouble();
+              struct.success.put(_key149, _val150);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addProcess_args implements org.apache.thrift.TBase<addProcess_args, addProcess_args._Fields>, java.io.Serializable, Cloneable, Comparable<addProcess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcess_args");
 
@@ -73999,8 +83703,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcess_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.process.ProcessModel processModel; // required
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel processModel; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -74018,6 +83722,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_MODEL
@@ -74042,6 +83747,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -74054,10 +83760,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -74099,6 +83807,7 @@
       }
     }
 
+    @Override
     public addProcess_args deepCopy() {
       return new addProcess_args(this);
     }
@@ -74109,11 +83818,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.process.ProcessModel getProcessModel() {
       return this.processModel;
     }
 
-    public addProcess_args setProcessModel(org.apache.airavata.model.process.ProcessModel processModel) {
+    public addProcess_args setProcessModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel processModel) {
       this.processModel = processModel;
       return this;
     }
@@ -74133,11 +83843,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public addProcess_args setExperimentId(java.lang.String experimentId) {
+    public addProcess_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -74157,7 +83868,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_MODEL:
         if (value == null) {
@@ -74178,6 +83890,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_MODEL:
@@ -74191,6 +83905,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -74207,8 +83922,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addProcess_args)
         return this.equals((addProcess_args)that);
       return false;
@@ -74264,7 +83977,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessModel()).compareTo(other.isSetProcessModel());
+      lastComparison = java.lang.Boolean.compare(isSetProcessModel(), other.isSetProcessModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74274,7 +83987,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74287,14 +84000,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -74354,6 +84071,7 @@
     }
 
     private static class addProcess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcess_argsStandardScheme getScheme() {
         return new addProcess_argsStandardScheme();
       }
@@ -74361,6 +84079,7 @@
 
     private static class addProcess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addProcess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -74399,6 +84118,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addProcess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -74420,6 +84140,7 @@
     }
 
     private static class addProcess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcess_argsTupleScheme getScheme() {
         return new addProcess_argsTupleScheme();
       }
@@ -74450,6 +84171,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addProcess_result implements org.apache.thrift.TBase<addProcess_result, addProcess_result._Fields>, java.io.Serializable, Cloneable, Comparable<addProcess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcess_result");
 
@@ -74459,8 +84181,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcess_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcess_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -74478,6 +84200,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -74502,6 +84225,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -74514,10 +84238,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -74559,6 +84285,7 @@
       }
     }
 
+    @Override
     public addProcess_result deepCopy() {
       return new addProcess_result(this);
     }
@@ -74569,11 +84296,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addProcess_result setSuccess(java.lang.String success) {
+    public addProcess_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -74593,11 +84321,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addProcess_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addProcess_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -74617,7 +84346,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -74638,6 +84368,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -74651,6 +84383,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -74667,8 +84400,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addProcess_result)
         return this.equals((addProcess_result)that);
       return false;
@@ -74724,7 +84455,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74734,7 +84465,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -74747,10 +84478,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -74805,6 +84539,7 @@
     }
 
     private static class addProcess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcess_resultStandardScheme getScheme() {
         return new addProcess_resultStandardScheme();
       }
@@ -74812,6 +84547,7 @@
 
     private static class addProcess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addProcess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -74850,6 +84586,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addProcess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -74871,6 +84608,7 @@
     }
 
     private static class addProcess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcess_resultTupleScheme getScheme() {
         return new addProcess_resultTupleScheme();
       }
@@ -74918,6 +84656,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProcess_args implements org.apache.thrift.TBase<updateProcess_args, updateProcess_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateProcess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProcess_args");
 
@@ -74927,8 +84666,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProcess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProcess_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.process.ProcessModel processModel; // required
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel processModel; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -74946,6 +84685,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_MODEL
@@ -74970,6 +84710,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -74982,10 +84723,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -75027,6 +84770,7 @@
       }
     }
 
+    @Override
     public updateProcess_args deepCopy() {
       return new updateProcess_args(this);
     }
@@ -75037,11 +84781,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.process.ProcessModel getProcessModel() {
       return this.processModel;
     }
 
-    public updateProcess_args setProcessModel(org.apache.airavata.model.process.ProcessModel processModel) {
+    public updateProcess_args setProcessModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel processModel) {
       this.processModel = processModel;
       return this;
     }
@@ -75061,11 +84806,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public updateProcess_args setProcessId(java.lang.String processId) {
+    public updateProcess_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -75085,7 +84831,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_MODEL:
         if (value == null) {
@@ -75106,6 +84853,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_MODEL:
@@ -75119,6 +84868,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -75135,8 +84885,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProcess_args)
         return this.equals((updateProcess_args)that);
       return false;
@@ -75192,7 +84940,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessModel()).compareTo(other.isSetProcessModel());
+      lastComparison = java.lang.Boolean.compare(isSetProcessModel(), other.isSetProcessModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75202,7 +84950,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75215,14 +84963,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -75282,6 +85034,7 @@
     }
 
     private static class updateProcess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcess_argsStandardScheme getScheme() {
         return new updateProcess_argsStandardScheme();
       }
@@ -75289,6 +85042,7 @@
 
     private static class updateProcess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProcess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProcess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -75327,6 +85081,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProcess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -75348,6 +85103,7 @@
     }
 
     private static class updateProcess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcess_argsTupleScheme getScheme() {
         return new updateProcess_argsTupleScheme();
       }
@@ -75378,6 +85134,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateProcess_result implements org.apache.thrift.TBase<updateProcess_result, updateProcess_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateProcess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateProcess_result");
 
@@ -75386,7 +85143,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateProcess_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateProcess_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -75403,6 +85160,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -75425,6 +85183,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -75437,10 +85196,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -75475,6 +85236,7 @@
       }
     }
 
+    @Override
     public updateProcess_result deepCopy() {
       return new updateProcess_result(this);
     }
@@ -75484,11 +85246,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateProcess_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateProcess_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -75508,7 +85271,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -75521,6 +85285,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -75531,6 +85297,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -75545,8 +85312,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateProcess_result)
         return this.equals((updateProcess_result)that);
       return false;
@@ -75589,7 +85354,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -75602,10 +85367,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -75652,6 +85420,7 @@
     }
 
     private static class updateProcess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcess_resultStandardScheme getScheme() {
         return new updateProcess_resultStandardScheme();
       }
@@ -75659,6 +85428,7 @@
 
     private static class updateProcess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateProcess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateProcess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -75689,6 +85459,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateProcess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -75705,6 +85476,7 @@
     }
 
     private static class updateProcess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateProcess_resultTupleScheme getScheme() {
         return new updateProcess_resultTupleScheme();
       }
@@ -75742,6 +85514,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addTask_args implements org.apache.thrift.TBase<addTask_args, addTask_args._Fields>, java.io.Serializable, Cloneable, Comparable<addTask_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTask_args");
 
@@ -75751,8 +85524,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addTask_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTask_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.task.TaskModel taskModel; // required
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.task.TaskModel taskModel; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -75770,6 +85543,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TASK_MODEL
@@ -75794,6 +85568,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -75806,10 +85581,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -75851,6 +85628,7 @@
       }
     }
 
+    @Override
     public addTask_args deepCopy() {
       return new addTask_args(this);
     }
@@ -75861,11 +85639,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.task.TaskModel getTaskModel() {
       return this.taskModel;
     }
 
-    public addTask_args setTaskModel(org.apache.airavata.model.task.TaskModel taskModel) {
+    public addTask_args setTaskModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.task.TaskModel taskModel) {
       this.taskModel = taskModel;
       return this;
     }
@@ -75885,11 +85664,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public addTask_args setProcessId(java.lang.String processId) {
+    public addTask_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -75909,7 +85689,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TASK_MODEL:
         if (value == null) {
@@ -75930,6 +85711,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TASK_MODEL:
@@ -75943,6 +85726,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -75959,8 +85743,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addTask_args)
         return this.equals((addTask_args)that);
       return false;
@@ -76016,7 +85798,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTaskModel()).compareTo(other.isSetTaskModel());
+      lastComparison = java.lang.Boolean.compare(isSetTaskModel(), other.isSetTaskModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76026,7 +85808,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76039,14 +85821,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -76106,6 +85892,7 @@
     }
 
     private static class addTask_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTask_argsStandardScheme getScheme() {
         return new addTask_argsStandardScheme();
       }
@@ -76113,6 +85900,7 @@
 
     private static class addTask_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTask_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addTask_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -76151,6 +85939,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addTask_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -76172,6 +85961,7 @@
     }
 
     private static class addTask_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTask_argsTupleScheme getScheme() {
         return new addTask_argsTupleScheme();
       }
@@ -76202,6 +85992,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addTask_result implements org.apache.thrift.TBase<addTask_result, addTask_result._Fields>, java.io.Serializable, Cloneable, Comparable<addTask_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addTask_result");
 
@@ -76211,8 +86002,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addTask_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addTask_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -76230,6 +86021,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -76254,6 +86046,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -76266,10 +86059,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -76311,6 +86106,7 @@
       }
     }
 
+    @Override
     public addTask_result deepCopy() {
       return new addTask_result(this);
     }
@@ -76321,11 +86117,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addTask_result setSuccess(java.lang.String success) {
+    public addTask_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -76345,11 +86142,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addTask_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addTask_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -76369,7 +86167,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -76390,6 +86189,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -76403,6 +86204,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -76419,8 +86221,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addTask_result)
         return this.equals((addTask_result)that);
       return false;
@@ -76476,7 +86276,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76486,7 +86286,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76499,10 +86299,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -76557,6 +86360,7 @@
     }
 
     private static class addTask_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTask_resultStandardScheme getScheme() {
         return new addTask_resultStandardScheme();
       }
@@ -76564,6 +86368,7 @@
 
     private static class addTask_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addTask_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addTask_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -76602,6 +86407,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addTask_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -76623,6 +86429,7 @@
     }
 
     private static class addTask_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addTask_resultTupleScheme getScheme() {
         return new addTask_resultTupleScheme();
       }
@@ -76670,6 +86477,759 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class deleteTasks_args implements org.apache.thrift.TBase<deleteTasks_args, deleteTasks_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteTasks_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteTasks_args");
+
+    private static final org.apache.thrift.protocol.TField PROCESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("processId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteTasks_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteTasks_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
+      PROCESS_ID((short)1, "processId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // PROCESS_ID
+            return PROCESS_ID;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.PROCESS_ID, new org.apache.thrift.meta_data.FieldMetaData("processId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteTasks_args.class, metaDataMap);
+    }
+
+    public deleteTasks_args() {
+    }
+
+    public deleteTasks_args(
+      java.lang.String processId)
+    {
+      this();
+      this.processId = processId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public deleteTasks_args(deleteTasks_args other) {
+      if (other.isSetProcessId()) {
+        this.processId = other.processId;
+      }
+    }
+
+    @Override
+    public deleteTasks_args deepCopy() {
+      return new deleteTasks_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.processId = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getProcessId() {
+      return this.processId;
+    }
+
+    public deleteTasks_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
+      this.processId = processId;
+      return this;
+    }
+
+    public void unsetProcessId() {
+      this.processId = null;
+    }
+
+    /** Returns true if field processId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessId() {
+      return this.processId != null;
+    }
+
+    public void setProcessIdIsSet(boolean value) {
+      if (!value) {
+        this.processId = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case PROCESS_ID:
+        if (value == null) {
+          unsetProcessId();
+        } else {
+          setProcessId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case PROCESS_ID:
+        return getProcessId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case PROCESS_ID:
+        return isSetProcessId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof deleteTasks_args)
+        return this.equals((deleteTasks_args)that);
+      return false;
+    }
+
+    public boolean equals(deleteTasks_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_processId = true && this.isSetProcessId();
+      boolean that_present_processId = true && that.isSetProcessId();
+      if (this_present_processId || that_present_processId) {
+        if (!(this_present_processId && that_present_processId))
+          return false;
+        if (!this.processId.equals(that.processId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetProcessId()) ? 131071 : 524287);
+      if (isSetProcessId())
+        hashCode = hashCode * 8191 + processId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(deleteTasks_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetProcessId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processId, other.processId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteTasks_args(");
+      boolean first = true;
+
+      sb.append("processId:");
+      if (this.processId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.processId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (processId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processId' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 deleteTasks_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteTasks_argsStandardScheme getScheme() {
+        return new deleteTasks_argsStandardScheme();
+      }
+    }
+
+    private static class deleteTasks_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteTasks_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteTasks_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: // PROCESS_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.processId = iprot.readString();
+                struct.setProcessIdIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteTasks_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.processId != null) {
+          oprot.writeFieldBegin(PROCESS_ID_FIELD_DESC);
+          oprot.writeString(struct.processId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class deleteTasks_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteTasks_argsTupleScheme getScheme() {
+        return new deleteTasks_argsTupleScheme();
+      }
+    }
+
+    private static class deleteTasks_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteTasks_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteTasks_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.processId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteTasks_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.processId = iprot.readString();
+        struct.setProcessIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class deleteTasks_result implements org.apache.thrift.TBase<deleteTasks_result, deleteTasks_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteTasks_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteTasks_result");
+
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteTasks_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteTasks_resultTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(deleteTasks_result.class, metaDataMap);
+    }
+
+    public deleteTasks_result() {
+    }
+
+    public deleteTasks_result(
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public deleteTasks_result(deleteTasks_result other) {
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public deleteTasks_result deepCopy() {
+      return new deleteTasks_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.rse = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public deleteTasks_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof deleteTasks_result)
+        return this.equals((deleteTasks_result)that);
+      return false;
+    }
+
+    public boolean equals(deleteTasks_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(deleteTasks_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("deleteTasks_result(");
+      boolean first = true;
+
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.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 deleteTasks_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteTasks_resultStandardScheme getScheme() {
+        return new deleteTasks_resultStandardScheme();
+      }
+    }
+
+    private static class deleteTasks_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteTasks_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, deleteTasks_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 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, deleteTasks_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class deleteTasks_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public deleteTasks_resultTupleScheme getScheme() {
+        return new deleteTasks_resultTupleScheme();
+      }
+    }
+
+    private static class deleteTasks_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<deleteTasks_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, deleteTasks_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetRse()) {
+          optionals.set(0);
+        }
+        oprot.writeBitSet(optionals, 1);
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, deleteTasks_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(1);
+        if (incoming.get(0)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserConfigurationData_args implements org.apache.thrift.TBase<getUserConfigurationData_args, getUserConfigurationData_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserConfigurationData_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserConfigurationData_args");
 
@@ -76678,7 +87238,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserConfigurationData_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserConfigurationData_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -76695,6 +87255,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -76717,6 +87278,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -76729,10 +87291,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -76767,6 +87331,7 @@
       }
     }
 
+    @Override
     public getUserConfigurationData_args deepCopy() {
       return new getUserConfigurationData_args(this);
     }
@@ -76776,11 +87341,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public getUserConfigurationData_args setExperimentId(java.lang.String experimentId) {
+    public getUserConfigurationData_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -76800,7 +87366,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -76813,6 +87380,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -76823,6 +87392,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -76837,8 +87407,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserConfigurationData_args)
         return this.equals((getUserConfigurationData_args)that);
       return false;
@@ -76881,7 +87449,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -76894,14 +87462,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -76947,6 +87519,7 @@
     }
 
     private static class getUserConfigurationData_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserConfigurationData_argsStandardScheme getScheme() {
         return new getUserConfigurationData_argsStandardScheme();
       }
@@ -76954,6 +87527,7 @@
 
     private static class getUserConfigurationData_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserConfigurationData_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserConfigurationData_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -76983,6 +87557,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserConfigurationData_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -76999,6 +87574,7 @@
     }
 
     private static class getUserConfigurationData_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserConfigurationData_argsTupleScheme getScheme() {
         return new getUserConfigurationData_argsTupleScheme();
       }
@@ -77025,6 +87601,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserConfigurationData_result implements org.apache.thrift.TBase<getUserConfigurationData_result, getUserConfigurationData_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserConfigurationData_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserConfigurationData_result");
 
@@ -77034,8 +87611,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserConfigurationData_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserConfigurationData_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.experiment.UserConfigurationDataModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.UserConfigurationDataModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -77053,6 +87630,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -77077,6 +87655,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -77089,10 +87668,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -77134,6 +87715,7 @@
       }
     }
 
+    @Override
     public getUserConfigurationData_result deepCopy() {
       return new getUserConfigurationData_result(this);
     }
@@ -77144,11 +87726,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.experiment.UserConfigurationDataModel getSuccess() {
       return this.success;
     }
 
-    public getUserConfigurationData_result setSuccess(org.apache.airavata.model.experiment.UserConfigurationDataModel success) {
+    public getUserConfigurationData_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.experiment.UserConfigurationDataModel success) {
       this.success = success;
       return this;
     }
@@ -77168,11 +87751,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUserConfigurationData_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUserConfigurationData_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -77192,7 +87776,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -77213,6 +87798,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -77226,6 +87813,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -77242,8 +87830,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserConfigurationData_result)
         return this.equals((getUserConfigurationData_result)that);
       return false;
@@ -77299,7 +87885,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77309,7 +87895,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77322,10 +87908,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -77383,6 +87972,7 @@
     }
 
     private static class getUserConfigurationData_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserConfigurationData_resultStandardScheme getScheme() {
         return new getUserConfigurationData_resultStandardScheme();
       }
@@ -77390,6 +87980,7 @@
 
     private static class getUserConfigurationData_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserConfigurationData_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserConfigurationData_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -77429,6 +88020,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserConfigurationData_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -77450,6 +88042,7 @@
     }
 
     private static class getUserConfigurationData_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserConfigurationData_resultTupleScheme getScheme() {
         return new getUserConfigurationData_resultTupleScheme();
       }
@@ -77498,6 +88091,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcess_args implements org.apache.thrift.TBase<getProcess_args, getProcess_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcess_args");
 
@@ -77506,7 +88100,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcess_argsTupleSchemeFactory();
 
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -77523,6 +88117,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_ID
@@ -77545,6 +88140,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -77557,10 +88153,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -77595,6 +88193,7 @@
       }
     }
 
+    @Override
     public getProcess_args deepCopy() {
       return new getProcess_args(this);
     }
@@ -77604,11 +88203,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public getProcess_args setProcessId(java.lang.String processId) {
+    public getProcess_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -77628,7 +88228,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_ID:
         if (value == null) {
@@ -77641,6 +88242,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_ID:
@@ -77651,6 +88254,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -77665,8 +88269,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcess_args)
         return this.equals((getProcess_args)that);
       return false;
@@ -77709,7 +88311,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -77722,14 +88324,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -77775,6 +88381,7 @@
     }
 
     private static class getProcess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcess_argsStandardScheme getScheme() {
         return new getProcess_argsStandardScheme();
       }
@@ -77782,6 +88389,7 @@
 
     private static class getProcess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -77811,6 +88419,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -77827,6 +88436,7 @@
     }
 
     private static class getProcess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcess_argsTupleScheme getScheme() {
         return new getProcess_argsTupleScheme();
       }
@@ -77853,6 +88463,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcess_result implements org.apache.thrift.TBase<getProcess_result, getProcess_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcess_result");
 
@@ -77862,8 +88473,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcess_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcess_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.process.ProcessModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -77881,6 +88492,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -77905,6 +88517,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -77917,10 +88530,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -77962,6 +88577,7 @@
       }
     }
 
+    @Override
     public getProcess_result deepCopy() {
       return new getProcess_result(this);
     }
@@ -77972,11 +88588,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.process.ProcessModel getSuccess() {
       return this.success;
     }
 
-    public getProcess_result setSuccess(org.apache.airavata.model.process.ProcessModel success) {
+    public getProcess_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel success) {
       this.success = success;
       return this;
     }
@@ -77996,11 +88613,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProcess_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProcess_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -78020,7 +88638,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -78041,6 +88660,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -78054,6 +88675,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -78070,8 +88692,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcess_result)
         return this.equals((getProcess_result)that);
       return false;
@@ -78127,7 +88747,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78137,7 +88757,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78150,10 +88770,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -78211,6 +88834,7 @@
     }
 
     private static class getProcess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcess_resultStandardScheme getScheme() {
         return new getProcess_resultStandardScheme();
       }
@@ -78218,6 +88842,7 @@
 
     private static class getProcess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -78257,6 +88882,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -78278,6 +88904,7 @@
     }
 
     private static class getProcess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcess_resultTupleScheme getScheme() {
         return new getProcess_resultTupleScheme();
       }
@@ -78326,6 +88953,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessList_args implements org.apache.thrift.TBase<getProcessList_args, getProcessList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessList_args");
 
@@ -78334,7 +88962,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessList_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -78351,6 +88979,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -78373,6 +89002,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -78385,10 +89015,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -78423,6 +89055,7 @@
       }
     }
 
+    @Override
     public getProcessList_args deepCopy() {
       return new getProcessList_args(this);
     }
@@ -78432,11 +89065,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public getProcessList_args setExperimentId(java.lang.String experimentId) {
+    public getProcessList_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -78456,7 +89090,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -78469,6 +89104,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -78479,6 +89116,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -78493,8 +89131,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessList_args)
         return this.equals((getProcessList_args)that);
       return false;
@@ -78537,7 +89173,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78550,14 +89186,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -78603,6 +89243,7 @@
     }
 
     private static class getProcessList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessList_argsStandardScheme getScheme() {
         return new getProcessList_argsStandardScheme();
       }
@@ -78610,6 +89251,7 @@
 
     private static class getProcessList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -78639,6 +89281,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -78655,6 +89298,7 @@
     }
 
     private static class getProcessList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessList_argsTupleScheme getScheme() {
         return new getProcessList_argsTupleScheme();
       }
@@ -78681,6 +89325,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessList_result implements org.apache.thrift.TBase<getProcessList_result, getProcessList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessList_result");
 
@@ -78690,8 +89335,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.process.ProcessModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -78709,6 +89354,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -78733,6 +89379,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -78745,10 +89392,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -78795,6 +89444,7 @@
       }
     }
 
+    @Override
     public getProcessList_result deepCopy() {
       return new getProcessList_result(this);
     }
@@ -78809,6 +89459,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.process.ProcessModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -78820,11 +89471,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.process.ProcessModel> getSuccess() {
       return this.success;
     }
 
-    public getProcessList_result setSuccess(java.util.List<org.apache.airavata.model.process.ProcessModel> success) {
+    public getProcessList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> success) {
       this.success = success;
       return this;
     }
@@ -78844,11 +89496,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProcessList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProcessList_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -78868,7 +89521,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -78889,6 +89543,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -78902,6 +89558,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -78918,8 +89575,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessList_result)
         return this.equals((getProcessList_result)that);
       return false;
@@ -78975,7 +89630,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78985,7 +89640,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -78998,10 +89653,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -79056,6 +89714,7 @@
     }
 
     private static class getProcessList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessList_resultStandardScheme getScheme() {
         return new getProcessList_resultStandardScheme();
       }
@@ -79063,6 +89722,7 @@
 
     private static class getProcessList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -79076,14 +89736,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list142 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list142.size);
-                  org.apache.airavata.model.process.ProcessModel _elem143;
-                  for (int _i144 = 0; _i144 < _list142.size; ++_i144)
+                  org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list152.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem153;
+                  for (int _i154 = 0; _i154 < _list152.size; ++_i154)
                   {
-                    _elem143 = new org.apache.airavata.model.process.ProcessModel();
-                    _elem143.read(iprot);
-                    struct.success.add(_elem143);
+                    _elem153 = new org.apache.airavata.model.process.ProcessModel();
+                    _elem153.read(iprot);
+                    struct.success.add(_elem153);
                   }
                   iprot.readListEnd();
                 }
@@ -79112,6 +89772,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -79120,9 +89781,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.process.ProcessModel _iter145 : struct.success)
+            for (org.apache.airavata.model.process.ProcessModel _iter155 : struct.success)
             {
-              _iter145.write(oprot);
+              _iter155.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -79140,6 +89801,7 @@
     }
 
     private static class getProcessList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessList_resultTupleScheme getScheme() {
         return new getProcessList_resultTupleScheme();
       }
@@ -79161,9 +89823,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.process.ProcessModel _iter146 : struct.success)
+            for (org.apache.airavata.model.process.ProcessModel _iter156 : struct.success)
             {
-              _iter146.write(oprot);
+              _iter156.write(oprot);
             }
           }
         }
@@ -79178,14 +89840,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list147 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list147.size);
-            org.apache.airavata.model.process.ProcessModel _elem148;
-            for (int _i149 = 0; _i149 < _list147.size; ++_i149)
+            org.apache.thrift.protocol.TList _list157 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list157.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem158;
+            for (int _i159 = 0; _i159 < _list157.size; ++_i159)
             {
-              _elem148 = new org.apache.airavata.model.process.ProcessModel();
-              _elem148.read(iprot);
-              struct.success.add(_elem148);
+              _elem158 = new org.apache.airavata.model.process.ProcessModel();
+              _elem158.read(iprot);
+              struct.success.add(_elem158);
             }
           }
           struct.setSuccessIsSet(true);
@@ -79203,6 +89865,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessStatus_args implements org.apache.thrift.TBase<getProcessStatus_args, getProcessStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessStatus_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessStatus_args");
 
@@ -79211,7 +89874,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessStatus_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessStatus_argsTupleSchemeFactory();
 
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -79228,6 +89891,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_ID
@@ -79250,6 +89914,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -79262,10 +89927,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -79300,6 +89967,7 @@
       }
     }
 
+    @Override
     public getProcessStatus_args deepCopy() {
       return new getProcessStatus_args(this);
     }
@@ -79309,11 +89977,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public getProcessStatus_args setProcessId(java.lang.String processId) {
+    public getProcessStatus_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -79333,7 +90002,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_ID:
         if (value == null) {
@@ -79346,6 +90016,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_ID:
@@ -79356,6 +90028,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -79370,8 +90043,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessStatus_args)
         return this.equals((getProcessStatus_args)that);
       return false;
@@ -79414,7 +90085,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79427,14 +90098,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -79480,6 +90155,7 @@
     }
 
     private static class getProcessStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessStatus_argsStandardScheme getScheme() {
         return new getProcessStatus_argsStandardScheme();
       }
@@ -79487,6 +90163,7 @@
 
     private static class getProcessStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessStatus_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessStatus_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -79516,6 +90193,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessStatus_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -79532,6 +90210,7 @@
     }
 
     private static class getProcessStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessStatus_argsTupleScheme getScheme() {
         return new getProcessStatus_argsTupleScheme();
       }
@@ -79558,6 +90237,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessStatus_result implements org.apache.thrift.TBase<getProcessStatus_result, getProcessStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessStatus_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessStatus_result");
 
@@ -79567,8 +90247,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessStatus_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessStatus_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.status.ProcessStatus success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -79586,6 +90266,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -79610,6 +90291,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -79622,10 +90304,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -79667,6 +90351,7 @@
       }
     }
 
+    @Override
     public getProcessStatus_result deepCopy() {
       return new getProcessStatus_result(this);
     }
@@ -79677,11 +90362,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.status.ProcessStatus getSuccess() {
       return this.success;
     }
 
-    public getProcessStatus_result setSuccess(org.apache.airavata.model.status.ProcessStatus success) {
+    public getProcessStatus_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus success) {
       this.success = success;
       return this;
     }
@@ -79701,11 +90387,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProcessStatus_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProcessStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -79725,7 +90412,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -79746,6 +90434,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -79759,6 +90449,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -79775,8 +90466,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessStatus_result)
         return this.equals((getProcessStatus_result)that);
       return false;
@@ -79832,7 +90521,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79842,7 +90531,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -79855,10 +90544,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -79916,6 +90608,7 @@
     }
 
     private static class getProcessStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessStatus_resultStandardScheme getScheme() {
         return new getProcessStatus_resultStandardScheme();
       }
@@ -79923,6 +90616,7 @@
 
     private static class getProcessStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessStatus_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessStatus_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -79962,6 +90656,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessStatus_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -79983,6 +90678,7 @@
     }
 
     private static class getProcessStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessStatus_resultTupleScheme getScheme() {
         return new getProcessStatus_resultTupleScheme();
       }
@@ -80031,6 +90727,1847 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getProcessListInState_args implements org.apache.thrift.TBase<getProcessListInState_args, getProcessListInState_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessListInState_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessListInState_args");
+
+    private static final org.apache.thrift.protocol.TField PROCESS_STATE_FIELD_DESC = new org.apache.thrift.protocol.TField("processState", org.apache.thrift.protocol.TType.I32, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessListInState_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessListInState_argsTupleSchemeFactory();
+
+    /**
+     * 
+     * @see org.apache.airavata.model.status.ProcessState
+     */
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessState processState; // 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 {
+      /**
+       * 
+       * @see org.apache.airavata.model.status.ProcessState
+       */
+      PROCESS_STATE((short)1, "processState");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // PROCESS_STATE
+            return PROCESS_STATE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.PROCESS_STATE, new org.apache.thrift.meta_data.FieldMetaData("processState", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.status.ProcessState.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getProcessListInState_args.class, metaDataMap);
+    }
+
+    public getProcessListInState_args() {
+    }
+
+    public getProcessListInState_args(
+      org.apache.airavata.model.status.ProcessState processState)
+    {
+      this();
+      this.processState = processState;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getProcessListInState_args(getProcessListInState_args other) {
+      if (other.isSetProcessState()) {
+        this.processState = other.processState;
+      }
+    }
+
+    @Override
+    public getProcessListInState_args deepCopy() {
+      return new getProcessListInState_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.processState = null;
+    }
+
+    /**
+     * 
+     * @see org.apache.airavata.model.status.ProcessState
+     */
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.model.status.ProcessState getProcessState() {
+      return this.processState;
+    }
+
+    /**
+     * 
+     * @see org.apache.airavata.model.status.ProcessState
+     */
+    public getProcessListInState_args setProcessState(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessState processState) {
+      this.processState = processState;
+      return this;
+    }
+
+    public void unsetProcessState() {
+      this.processState = null;
+    }
+
+    /** Returns true if field processState is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessState() {
+      return this.processState != null;
+    }
+
+    public void setProcessStateIsSet(boolean value) {
+      if (!value) {
+        this.processState = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case PROCESS_STATE:
+        if (value == null) {
+          unsetProcessState();
+        } else {
+          setProcessState((org.apache.airavata.model.status.ProcessState)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case PROCESS_STATE:
+        return getProcessState();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case PROCESS_STATE:
+        return isSetProcessState();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getProcessListInState_args)
+        return this.equals((getProcessListInState_args)that);
+      return false;
+    }
+
+    public boolean equals(getProcessListInState_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_processState = true && this.isSetProcessState();
+      boolean that_present_processState = true && that.isSetProcessState();
+      if (this_present_processState || that_present_processState) {
+        if (!(this_present_processState && that_present_processState))
+          return false;
+        if (!this.processState.equals(that.processState))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetProcessState()) ? 131071 : 524287);
+      if (isSetProcessState())
+        hashCode = hashCode * 8191 + processState.getValue();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getProcessListInState_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetProcessState(), other.isSetProcessState());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetProcessState()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processState, other.processState);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getProcessListInState_args(");
+      boolean first = true;
+
+      sb.append("processState:");
+      if (this.processState == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.processState);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (processState == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processState' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 getProcessListInState_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessListInState_argsStandardScheme getScheme() {
+        return new getProcessListInState_argsStandardScheme();
+      }
+    }
+
+    private static class getProcessListInState_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessListInState_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessListInState_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: // PROCESS_STATE
+              if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
+                struct.processState = org.apache.airavata.model.status.ProcessState.findByValue(iprot.readI32());
+                struct.setProcessStateIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessListInState_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.processState != null) {
+          oprot.writeFieldBegin(PROCESS_STATE_FIELD_DESC);
+          oprot.writeI32(struct.processState.getValue());
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getProcessListInState_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessListInState_argsTupleScheme getScheme() {
+        return new getProcessListInState_argsTupleScheme();
+      }
+    }
+
+    private static class getProcessListInState_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getProcessListInState_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getProcessListInState_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeI32(struct.processState.getValue());
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getProcessListInState_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.processState = org.apache.airavata.model.status.ProcessState.findByValue(iprot.readI32());
+        struct.setProcessStateIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getProcessListInState_result implements org.apache.thrift.TBase<getProcessListInState_result, getProcessListInState_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessListInState_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessListInState_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessListInState_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessListInState_resultTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.process.ProcessModel.class))));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getProcessListInState_result.class, metaDataMap);
+    }
+
+    public getProcessListInState_result() {
+    }
+
+    public getProcessListInState_result(
+      java.util.List<org.apache.airavata.model.process.ProcessModel> success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getProcessListInState_result(getProcessListInState_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.process.ProcessModel> __this__success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(other.success.size());
+        for (org.apache.airavata.model.process.ProcessModel other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.process.ProcessModel(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public getProcessListInState_result deepCopy() {
+      return new getProcessListInState_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.util.Iterator<org.apache.airavata.model.process.ProcessModel> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.process.ProcessModel elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>();
+      }
+      this.success.add(elem);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.util.List<org.apache.airavata.model.process.ProcessModel> getSuccess() {
+      return this.success;
+    }
+
+    public getProcessListInState_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessModel> 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;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getProcessListInState_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.util.List<org.apache.airavata.model.process.ProcessModel>)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getProcessListInState_result)
+        return this.equals((getProcessListInState_result)that);
+      return false;
+    }
+
+    public boolean equals(getProcessListInState_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getProcessListInState_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getProcessListInState_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.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 getProcessListInState_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessListInState_resultStandardScheme getScheme() {
+        return new getProcessListInState_resultStandardScheme();
+      }
+    }
+
+    private static class getProcessListInState_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessListInState_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessListInState_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.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list160.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem161;
+                  for (int _i162 = 0; _i162 < _list160.size; ++_i162)
+                  {
+                    _elem161 = new org.apache.airavata.model.process.ProcessModel();
+                    _elem161.read(iprot);
+                    struct.success.add(_elem161);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessListInState_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.process.ProcessModel _iter163 : struct.success)
+            {
+              _iter163.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getProcessListInState_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessListInState_resultTupleScheme getScheme() {
+        return new getProcessListInState_resultTupleScheme();
+      }
+    }
+
+    private static class getProcessListInState_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getProcessListInState_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getProcessListInState_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.process.ProcessModel _iter164 : struct.success)
+            {
+              _iter164.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getProcessListInState_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list165 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessModel>(_list165.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessModel _elem166;
+            for (int _i167 = 0; _i167 < _list165.size; ++_i167)
+            {
+              _elem166 = new org.apache.airavata.model.process.ProcessModel();
+              _elem166.read(iprot);
+              struct.success.add(_elem166);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getProcessStatusList_args implements org.apache.thrift.TBase<getProcessStatusList_args, getProcessStatusList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessStatusList_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessStatusList_args");
+
+    private static final org.apache.thrift.protocol.TField PROCESS_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("processId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessStatusList_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessStatusList_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
+      PROCESS_ID((short)1, "processId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // PROCESS_ID
+            return PROCESS_ID;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.PROCESS_ID, new org.apache.thrift.meta_data.FieldMetaData("processId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getProcessStatusList_args.class, metaDataMap);
+    }
+
+    public getProcessStatusList_args() {
+    }
+
+    public getProcessStatusList_args(
+      java.lang.String processId)
+    {
+      this();
+      this.processId = processId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getProcessStatusList_args(getProcessStatusList_args other) {
+      if (other.isSetProcessId()) {
+        this.processId = other.processId;
+      }
+    }
+
+    @Override
+    public getProcessStatusList_args deepCopy() {
+      return new getProcessStatusList_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.processId = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getProcessId() {
+      return this.processId;
+    }
+
+    public getProcessStatusList_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
+      this.processId = processId;
+      return this;
+    }
+
+    public void unsetProcessId() {
+      this.processId = null;
+    }
+
+    /** Returns true if field processId is set (has been assigned a value) and false otherwise */
+    public boolean isSetProcessId() {
+      return this.processId != null;
+    }
+
+    public void setProcessIdIsSet(boolean value) {
+      if (!value) {
+        this.processId = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case PROCESS_ID:
+        if (value == null) {
+          unsetProcessId();
+        } else {
+          setProcessId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case PROCESS_ID:
+        return getProcessId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case PROCESS_ID:
+        return isSetProcessId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getProcessStatusList_args)
+        return this.equals((getProcessStatusList_args)that);
+      return false;
+    }
+
+    public boolean equals(getProcessStatusList_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_processId = true && this.isSetProcessId();
+      boolean that_present_processId = true && that.isSetProcessId();
+      if (this_present_processId || that_present_processId) {
+        if (!(this_present_processId && that_present_processId))
+          return false;
+        if (!this.processId.equals(that.processId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetProcessId()) ? 131071 : 524287);
+      if (isSetProcessId())
+        hashCode = hashCode * 8191 + processId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getProcessStatusList_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetProcessId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.processId, other.processId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getProcessStatusList_args(");
+      boolean first = true;
+
+      sb.append("processId:");
+      if (this.processId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.processId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (processId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'processId' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 getProcessStatusList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessStatusList_argsStandardScheme getScheme() {
+        return new getProcessStatusList_argsStandardScheme();
+      }
+    }
+
+    private static class getProcessStatusList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessStatusList_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessStatusList_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: // PROCESS_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.processId = iprot.readString();
+                struct.setProcessIdIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessStatusList_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.processId != null) {
+          oprot.writeFieldBegin(PROCESS_ID_FIELD_DESC);
+          oprot.writeString(struct.processId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getProcessStatusList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessStatusList_argsTupleScheme getScheme() {
+        return new getProcessStatusList_argsTupleScheme();
+      }
+    }
+
+    private static class getProcessStatusList_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getProcessStatusList_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getProcessStatusList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.processId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getProcessStatusList_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.processId = iprot.readString();
+        struct.setProcessIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getProcessStatusList_result implements org.apache.thrift.TBase<getProcessStatusList_result, getProcessStatusList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessStatusList_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessStatusList_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.LIST, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessStatusList_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessStatusList_resultTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.ProcessStatus> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.ListMetaData(org.apache.thrift.protocol.TType.LIST, 
+              new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.ProcessStatus.class))));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getProcessStatusList_result.class, metaDataMap);
+    }
+
+    public getProcessStatusList_result() {
+    }
+
+    public getProcessStatusList_result(
+      java.util.List<org.apache.airavata.model.status.ProcessStatus> success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getProcessStatusList_result(getProcessStatusList_result other) {
+      if (other.isSetSuccess()) {
+        java.util.List<org.apache.airavata.model.status.ProcessStatus> __this__success = new java.util.ArrayList<org.apache.airavata.model.status.ProcessStatus>(other.success.size());
+        for (org.apache.airavata.model.status.ProcessStatus other_element : other.success) {
+          __this__success.add(new org.apache.airavata.model.status.ProcessStatus(other_element));
+        }
+        this.success = __this__success;
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public getProcessStatusList_result deepCopy() {
+      return new getProcessStatusList_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    public int getSuccessSize() {
+      return (this.success == null) ? 0 : this.success.size();
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.util.Iterator<org.apache.airavata.model.status.ProcessStatus> getSuccessIterator() {
+      return (this.success == null) ? null : this.success.iterator();
+    }
+
+    public void addToSuccess(org.apache.airavata.model.status.ProcessStatus elem) {
+      if (this.success == null) {
+        this.success = new java.util.ArrayList<org.apache.airavata.model.status.ProcessStatus>();
+      }
+      this.success.add(elem);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.util.List<org.apache.airavata.model.status.ProcessStatus> getSuccess() {
+      return this.success;
+    }
+
+    public getProcessStatusList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.ProcessStatus> 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;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getProcessStatusList_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.util.List<org.apache.airavata.model.status.ProcessStatus>)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getProcessStatusList_result)
+        return this.equals((getProcessStatusList_result)that);
+      return false;
+    }
+
+    public boolean equals(getProcessStatusList_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getProcessStatusList_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getProcessStatusList_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.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 getProcessStatusList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessStatusList_resultStandardScheme getScheme() {
+        return new getProcessStatusList_resultStandardScheme();
+      }
+    }
+
+    private static class getProcessStatusList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessStatusList_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessStatusList_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.LIST) {
+                {
+                  org.apache.thrift.protocol.TList _list168 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list168.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus _elem169;
+                  for (int _i170 = 0; _i170 < _list168.size; ++_i170)
+                  {
+                    _elem169 = new org.apache.airavata.model.status.ProcessStatus();
+                    _elem169.read(iprot);
+                    struct.success.add(_elem169);
+                  }
+                  iprot.readListEnd();
+                }
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessStatusList_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          {
+            oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
+            for (org.apache.airavata.model.status.ProcessStatus _iter171 : struct.success)
+            {
+              _iter171.write(oprot);
+            }
+            oprot.writeListEnd();
+          }
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getProcessStatusList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getProcessStatusList_resultTupleScheme getScheme() {
+        return new getProcessStatusList_resultTupleScheme();
+      }
+    }
+
+    private static class getProcessStatusList_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getProcessStatusList_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getProcessStatusList_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          {
+            oprot.writeI32(struct.success.size());
+            for (org.apache.airavata.model.status.ProcessStatus _iter172 : struct.success)
+            {
+              _iter172.write(oprot);
+            }
+          }
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getProcessStatusList_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          {
+            org.apache.thrift.protocol.TList _list173 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.status.ProcessStatus>(_list173.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.ProcessStatus _elem174;
+            for (int _i175 = 0; _i175 < _list173.size; ++_i175)
+            {
+              _elem174 = new org.apache.airavata.model.status.ProcessStatus();
+              _elem174.read(iprot);
+              struct.success.add(_elem174);
+            }
+          }
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isJobExist_args implements org.apache.thrift.TBase<isJobExist_args, isJobExist_args._Fields>, java.io.Serializable, Cloneable, Comparable<isJobExist_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isJobExist_args");
 
@@ -80040,8 +92577,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isJobExist_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isJobExist_argsTupleSchemeFactory();
 
-    public java.lang.String queryType; // required
-    public java.lang.String id; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String queryType; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String id; // 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 {
@@ -80059,6 +92596,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // QUERY_TYPE
@@ -80083,6 +92621,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -80095,10 +92634,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -80140,6 +92681,7 @@
       }
     }
 
+    @Override
     public isJobExist_args deepCopy() {
       return new isJobExist_args(this);
     }
@@ -80150,11 +92692,12 @@
       this.id = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getQueryType() {
       return this.queryType;
     }
 
-    public isJobExist_args setQueryType(java.lang.String queryType) {
+    public isJobExist_args setQueryType(@org.apache.thrift.annotation.Nullable java.lang.String queryType) {
       this.queryType = queryType;
       return this;
     }
@@ -80174,11 +92717,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getId() {
       return this.id;
     }
 
-    public isJobExist_args setId(java.lang.String id) {
+    public isJobExist_args setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
       this.id = id;
       return this;
     }
@@ -80198,7 +92742,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case QUERY_TYPE:
         if (value == null) {
@@ -80219,6 +92764,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case QUERY_TYPE:
@@ -80232,6 +92779,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -80248,8 +92796,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isJobExist_args)
         return this.equals((isJobExist_args)that);
       return false;
@@ -80305,7 +92851,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetQueryType()).compareTo(other.isSetQueryType());
+      lastComparison = java.lang.Boolean.compare(isSetQueryType(), other.isSetQueryType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -80315,7 +92861,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -80328,14 +92874,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -80392,6 +92942,7 @@
     }
 
     private static class isJobExist_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isJobExist_argsStandardScheme getScheme() {
         return new isJobExist_argsStandardScheme();
       }
@@ -80399,6 +92950,7 @@
 
     private static class isJobExist_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isJobExist_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isJobExist_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -80436,6 +92988,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isJobExist_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -80457,6 +93010,7 @@
     }
 
     private static class isJobExist_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isJobExist_argsTupleScheme getScheme() {
         return new isJobExist_argsTupleScheme();
       }
@@ -80486,6 +93040,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isJobExist_result implements org.apache.thrift.TBase<isJobExist_result, isJobExist_result._Fields>, java.io.Serializable, Cloneable, Comparable<isJobExist_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isJobExist_result");
 
@@ -80496,7 +93051,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isJobExist_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -80514,6 +93069,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -80538,6 +93094,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -80550,10 +93107,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -80597,6 +93156,7 @@
       }
     }
 
+    @Override
     public isJobExist_result deepCopy() {
       return new isJobExist_result(this);
     }
@@ -80631,11 +93191,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public isJobExist_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isJobExist_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -80655,7 +93216,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -80676,6 +93238,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -80689,6 +93253,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -80705,8 +93270,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isJobExist_result)
         return this.equals((isJobExist_result)that);
       return false;
@@ -80760,7 +93323,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -80770,7 +93333,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -80783,10 +93346,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -80839,6 +93405,7 @@
     }
 
     private static class isJobExist_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isJobExist_resultStandardScheme getScheme() {
         return new isJobExist_resultStandardScheme();
       }
@@ -80846,6 +93413,7 @@
 
     private static class isJobExist_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isJobExist_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isJobExist_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -80884,6 +93452,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isJobExist_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -80905,6 +93474,7 @@
     }
 
     private static class isJobExist_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isJobExist_resultTupleScheme getScheme() {
         return new isJobExist_resultTupleScheme();
       }
@@ -80952,6 +93522,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJob_args implements org.apache.thrift.TBase<getJob_args, getJob_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJob_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJob_args");
 
@@ -80961,8 +93532,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJob_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJob_argsTupleSchemeFactory();
 
-    public java.lang.String queryType; // required
-    public java.lang.String id; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String queryType; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String id; // 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 {
@@ -80980,6 +93551,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // QUERY_TYPE
@@ -81004,6 +93576,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81016,10 +93589,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -81061,6 +93636,7 @@
       }
     }
 
+    @Override
     public getJob_args deepCopy() {
       return new getJob_args(this);
     }
@@ -81071,11 +93647,12 @@
       this.id = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getQueryType() {
       return this.queryType;
     }
 
-    public getJob_args setQueryType(java.lang.String queryType) {
+    public getJob_args setQueryType(@org.apache.thrift.annotation.Nullable java.lang.String queryType) {
       this.queryType = queryType;
       return this;
     }
@@ -81095,11 +93672,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getId() {
       return this.id;
     }
 
-    public getJob_args setId(java.lang.String id) {
+    public getJob_args setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
       this.id = id;
       return this;
     }
@@ -81119,7 +93697,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case QUERY_TYPE:
         if (value == null) {
@@ -81140,6 +93719,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case QUERY_TYPE:
@@ -81153,6 +93734,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -81169,8 +93751,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJob_args)
         return this.equals((getJob_args)that);
       return false;
@@ -81226,7 +93806,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetQueryType()).compareTo(other.isSetQueryType());
+      lastComparison = java.lang.Boolean.compare(isSetQueryType(), other.isSetQueryType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81236,7 +93816,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81249,14 +93829,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -81313,6 +93897,7 @@
     }
 
     private static class getJob_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJob_argsStandardScheme getScheme() {
         return new getJob_argsStandardScheme();
       }
@@ -81320,6 +93905,7 @@
 
     private static class getJob_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJob_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJob_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -81357,6 +93943,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJob_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -81378,6 +93965,7 @@
     }
 
     private static class getJob_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJob_argsTupleScheme getScheme() {
         return new getJob_argsTupleScheme();
       }
@@ -81407,6 +93995,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJob_result implements org.apache.thrift.TBase<getJob_result, getJob_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJob_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJob_result");
 
@@ -81416,8 +94005,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJob_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJob_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.job.JobModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -81435,6 +94024,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -81459,6 +94049,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81471,10 +94062,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -81516,6 +94109,7 @@
       }
     }
 
+    @Override
     public getJob_result deepCopy() {
       return new getJob_result(this);
     }
@@ -81526,11 +94120,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.job.JobModel getSuccess() {
       return this.success;
     }
 
-    public getJob_result setSuccess(org.apache.airavata.model.job.JobModel success) {
+    public getJob_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel success) {
       this.success = success;
       return this;
     }
@@ -81550,11 +94145,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getJob_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getJob_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -81574,7 +94170,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -81595,6 +94192,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -81608,6 +94207,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -81624,8 +94224,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJob_result)
         return this.equals((getJob_result)that);
       return false;
@@ -81681,7 +94279,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81691,7 +94289,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -81704,10 +94302,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -81765,6 +94366,7 @@
     }
 
     private static class getJob_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJob_resultStandardScheme getScheme() {
         return new getJob_resultStandardScheme();
       }
@@ -81772,6 +94374,7 @@
 
     private static class getJob_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJob_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJob_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -81811,6 +94414,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJob_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -81832,6 +94436,7 @@
     }
 
     private static class getJob_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJob_resultTupleScheme getScheme() {
         return new getJob_resultTupleScheme();
       }
@@ -81880,6 +94485,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobs_args implements org.apache.thrift.TBase<getJobs_args, getJobs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobs_args");
 
@@ -81889,8 +94495,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobs_argsTupleSchemeFactory();
 
-    public java.lang.String queryType; // required
-    public java.lang.String id; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String queryType; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String id; // 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 {
@@ -81908,6 +94514,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // QUERY_TYPE
@@ -81932,6 +94539,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -81944,10 +94552,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -81989,6 +94599,7 @@
       }
     }
 
+    @Override
     public getJobs_args deepCopy() {
       return new getJobs_args(this);
     }
@@ -81999,11 +94610,12 @@
       this.id = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getQueryType() {
       return this.queryType;
     }
 
-    public getJobs_args setQueryType(java.lang.String queryType) {
+    public getJobs_args setQueryType(@org.apache.thrift.annotation.Nullable java.lang.String queryType) {
       this.queryType = queryType;
       return this;
     }
@@ -82023,11 +94635,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getId() {
       return this.id;
     }
 
-    public getJobs_args setId(java.lang.String id) {
+    public getJobs_args setId(@org.apache.thrift.annotation.Nullable java.lang.String id) {
       this.id = id;
       return this;
     }
@@ -82047,7 +94660,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case QUERY_TYPE:
         if (value == null) {
@@ -82068,6 +94682,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case QUERY_TYPE:
@@ -82081,6 +94697,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -82097,8 +94714,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobs_args)
         return this.equals((getJobs_args)that);
       return false;
@@ -82154,7 +94769,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetQueryType()).compareTo(other.isSetQueryType());
+      lastComparison = java.lang.Boolean.compare(isSetQueryType(), other.isSetQueryType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82164,7 +94779,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetId()).compareTo(other.isSetId());
+      lastComparison = java.lang.Boolean.compare(isSetId(), other.isSetId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82177,14 +94792,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -82241,6 +94860,7 @@
     }
 
     private static class getJobs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobs_argsStandardScheme getScheme() {
         return new getJobs_argsStandardScheme();
       }
@@ -82248,6 +94868,7 @@
 
     private static class getJobs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -82285,6 +94906,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -82306,6 +94928,7 @@
     }
 
     private static class getJobs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobs_argsTupleScheme getScheme() {
         return new getJobs_argsTupleScheme();
       }
@@ -82335,6 +94958,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobs_result implements org.apache.thrift.TBase<getJobs_result, getJobs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobs_result");
 
@@ -82344,8 +94968,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.job.JobModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -82363,6 +94987,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -82387,6 +95012,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -82399,10 +95025,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -82449,6 +95077,7 @@
       }
     }
 
+    @Override
     public getJobs_result deepCopy() {
       return new getJobs_result(this);
     }
@@ -82463,6 +95092,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.job.JobModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -82474,11 +95104,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.job.JobModel> getSuccess() {
       return this.success;
     }
 
-    public getJobs_result setSuccess(java.util.List<org.apache.airavata.model.job.JobModel> success) {
+    public getJobs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> success) {
       this.success = success;
       return this;
     }
@@ -82498,11 +95129,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getJobs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getJobs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -82522,7 +95154,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -82543,6 +95176,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -82556,6 +95191,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -82572,8 +95208,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobs_result)
         return this.equals((getJobs_result)that);
       return false;
@@ -82629,7 +95263,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82639,7 +95273,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -82652,10 +95286,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -82710,6 +95347,7 @@
     }
 
     private static class getJobs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobs_resultStandardScheme getScheme() {
         return new getJobs_resultStandardScheme();
       }
@@ -82717,6 +95355,7 @@
 
     private static class getJobs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -82730,14 +95369,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list150 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list150.size);
-                  org.apache.airavata.model.job.JobModel _elem151;
-                  for (int _i152 = 0; _i152 < _list150.size; ++_i152)
+                  org.apache.thrift.protocol.TList _list176 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list176.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem177;
+                  for (int _i178 = 0; _i178 < _list176.size; ++_i178)
                   {
-                    _elem151 = new org.apache.airavata.model.job.JobModel();
-                    _elem151.read(iprot);
-                    struct.success.add(_elem151);
+                    _elem177 = new org.apache.airavata.model.job.JobModel();
+                    _elem177.read(iprot);
+                    struct.success.add(_elem177);
                   }
                   iprot.readListEnd();
                 }
@@ -82766,6 +95405,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -82774,9 +95414,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.job.JobModel _iter153 : struct.success)
+            for (org.apache.airavata.model.job.JobModel _iter179 : struct.success)
             {
-              _iter153.write(oprot);
+              _iter179.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -82794,6 +95434,7 @@
     }
 
     private static class getJobs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobs_resultTupleScheme getScheme() {
         return new getJobs_resultTupleScheme();
       }
@@ -82815,9 +95456,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.job.JobModel _iter154 : struct.success)
+            for (org.apache.airavata.model.job.JobModel _iter180 : struct.success)
             {
-              _iter154.write(oprot);
+              _iter180.write(oprot);
             }
           }
         }
@@ -82832,14 +95473,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list155 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list155.size);
-            org.apache.airavata.model.job.JobModel _elem156;
-            for (int _i157 = 0; _i157 < _list155.size; ++_i157)
+            org.apache.thrift.protocol.TList _list181 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list181.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem182;
+            for (int _i183 = 0; _i183 < _list181.size; ++_i183)
             {
-              _elem156 = new org.apache.airavata.model.job.JobModel();
-              _elem156.read(iprot);
-              struct.success.add(_elem156);
+              _elem182 = new org.apache.airavata.model.job.JobModel();
+              _elem182.read(iprot);
+              struct.success.add(_elem182);
             }
           }
           struct.setSuccessIsSet(true);
@@ -82857,6 +95498,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessOutputs_args implements org.apache.thrift.TBase<getProcessOutputs_args, getProcessOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessOutputs_args");
 
@@ -82865,7 +95507,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessOutputs_argsTupleSchemeFactory();
 
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -82882,6 +95524,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_ID
@@ -82904,6 +95547,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -82916,10 +95560,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -82954,6 +95600,7 @@
       }
     }
 
+    @Override
     public getProcessOutputs_args deepCopy() {
       return new getProcessOutputs_args(this);
     }
@@ -82963,11 +95610,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public getProcessOutputs_args setProcessId(java.lang.String processId) {
+    public getProcessOutputs_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -82987,7 +95635,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_ID:
         if (value == null) {
@@ -83000,6 +95649,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_ID:
@@ -83010,6 +95661,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -83024,8 +95676,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessOutputs_args)
         return this.equals((getProcessOutputs_args)that);
       return false;
@@ -83068,7 +95718,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83081,14 +95731,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -83134,6 +95788,7 @@
     }
 
     private static class getProcessOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessOutputs_argsStandardScheme getScheme() {
         return new getProcessOutputs_argsStandardScheme();
       }
@@ -83141,6 +95796,7 @@
 
     private static class getProcessOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -83170,6 +95826,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -83186,6 +95843,7 @@
     }
 
     private static class getProcessOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessOutputs_argsTupleScheme getScheme() {
         return new getProcessOutputs_argsTupleScheme();
       }
@@ -83212,6 +95870,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessOutputs_result implements org.apache.thrift.TBase<getProcessOutputs_result, getProcessOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessOutputs_result");
 
@@ -83221,8 +95880,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -83240,6 +95899,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -83264,6 +95924,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -83276,10 +95937,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -83326,6 +95989,7 @@
       }
     }
 
+    @Override
     public getProcessOutputs_result deepCopy() {
       return new getProcessOutputs_result(this);
     }
@@ -83340,6 +96004,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -83351,11 +96016,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getProcessOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getProcessOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -83375,11 +96041,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProcessOutputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProcessOutputs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -83399,7 +96066,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -83420,6 +96088,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -83433,6 +96103,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -83449,8 +96120,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessOutputs_result)
         return this.equals((getProcessOutputs_result)that);
       return false;
@@ -83506,7 +96175,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83516,7 +96185,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83529,10 +96198,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -83587,6 +96259,7 @@
     }
 
     private static class getProcessOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessOutputs_resultStandardScheme getScheme() {
         return new getProcessOutputs_resultStandardScheme();
       }
@@ -83594,6 +96267,7 @@
 
     private static class getProcessOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -83607,14 +96281,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list158 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list158.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem159;
-                  for (int _i160 = 0; _i160 < _list158.size; ++_i160)
+                  org.apache.thrift.protocol.TList _list184 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list184.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem185;
+                  for (int _i186 = 0; _i186 < _list184.size; ++_i186)
                   {
-                    _elem159 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-                    _elem159.read(iprot);
-                    struct.success.add(_elem159);
+                    _elem185 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+                    _elem185.read(iprot);
+                    struct.success.add(_elem185);
                   }
                   iprot.readListEnd();
                 }
@@ -83643,6 +96317,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -83651,9 +96326,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter161 : struct.success)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter187 : struct.success)
             {
-              _iter161.write(oprot);
+              _iter187.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -83671,6 +96346,7 @@
     }
 
     private static class getProcessOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessOutputs_resultTupleScheme getScheme() {
         return new getProcessOutputs_resultTupleScheme();
       }
@@ -83692,9 +96368,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter162 : struct.success)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter188 : struct.success)
             {
-              _iter162.write(oprot);
+              _iter188.write(oprot);
             }
           }
         }
@@ -83709,14 +96385,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list163 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list163.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem164;
-            for (int _i165 = 0; _i165 < _list163.size; ++_i165)
+            org.apache.thrift.protocol.TList _list189 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list189.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem190;
+            for (int _i191 = 0; _i191 < _list189.size; ++_i191)
             {
-              _elem164 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-              _elem164.read(iprot);
-              struct.success.add(_elem164);
+              _elem190 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+              _elem190.read(iprot);
+              struct.success.add(_elem190);
             }
           }
           struct.setSuccessIsSet(true);
@@ -83734,6 +96410,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessWorkflows_args implements org.apache.thrift.TBase<getProcessWorkflows_args, getProcessWorkflows_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessWorkflows_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessWorkflows_args");
 
@@ -83742,7 +96419,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessWorkflows_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessWorkflows_argsTupleSchemeFactory();
 
-    public java.lang.String processId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String processId; // 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 {
@@ -83759,6 +96436,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_ID
@@ -83781,6 +96459,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -83793,10 +96472,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -83831,6 +96512,7 @@
       }
     }
 
+    @Override
     public getProcessWorkflows_args deepCopy() {
       return new getProcessWorkflows_args(this);
     }
@@ -83840,11 +96522,12 @@
       this.processId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProcessId() {
       return this.processId;
     }
 
-    public getProcessWorkflows_args setProcessId(java.lang.String processId) {
+    public getProcessWorkflows_args setProcessId(@org.apache.thrift.annotation.Nullable java.lang.String processId) {
       this.processId = processId;
       return this;
     }
@@ -83864,7 +96547,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_ID:
         if (value == null) {
@@ -83877,6 +96561,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_ID:
@@ -83887,6 +96573,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -83901,8 +96588,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessWorkflows_args)
         return this.equals((getProcessWorkflows_args)that);
       return false;
@@ -83945,7 +96630,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessId()).compareTo(other.isSetProcessId());
+      lastComparison = java.lang.Boolean.compare(isSetProcessId(), other.isSetProcessId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -83958,14 +96643,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -84011,6 +96700,7 @@
     }
 
     private static class getProcessWorkflows_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessWorkflows_argsStandardScheme getScheme() {
         return new getProcessWorkflows_argsStandardScheme();
       }
@@ -84018,6 +96708,7 @@
 
     private static class getProcessWorkflows_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessWorkflows_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessWorkflows_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -84047,6 +96738,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessWorkflows_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -84063,6 +96755,7 @@
     }
 
     private static class getProcessWorkflows_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessWorkflows_argsTupleScheme getScheme() {
         return new getProcessWorkflows_argsTupleScheme();
       }
@@ -84089,6 +96782,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessWorkflows_result implements org.apache.thrift.TBase<getProcessWorkflows_result, getProcessWorkflows_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessWorkflows_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessWorkflows_result");
 
@@ -84098,8 +96792,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessWorkflows_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessWorkflows_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.process.ProcessWorkflow> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessWorkflow> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -84117,6 +96811,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -84141,6 +96836,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -84153,10 +96849,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -84203,6 +96901,7 @@
       }
     }
 
+    @Override
     public getProcessWorkflows_result deepCopy() {
       return new getProcessWorkflows_result(this);
     }
@@ -84217,6 +96916,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.process.ProcessWorkflow> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -84228,11 +96928,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.process.ProcessWorkflow> getSuccess() {
       return this.success;
     }
 
-    public getProcessWorkflows_result setSuccess(java.util.List<org.apache.airavata.model.process.ProcessWorkflow> success) {
+    public getProcessWorkflows_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.process.ProcessWorkflow> success) {
       this.success = success;
       return this;
     }
@@ -84252,11 +96953,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProcessWorkflows_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProcessWorkflows_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -84276,7 +96978,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -84297,6 +97000,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -84310,6 +97015,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -84326,8 +97032,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessWorkflows_result)
         return this.equals((getProcessWorkflows_result)that);
       return false;
@@ -84383,7 +97087,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -84393,7 +97097,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -84406,10 +97110,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -84464,6 +97171,7 @@
     }
 
     private static class getProcessWorkflows_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessWorkflows_resultStandardScheme getScheme() {
         return new getProcessWorkflows_resultStandardScheme();
       }
@@ -84471,6 +97179,7 @@
 
     private static class getProcessWorkflows_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessWorkflows_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessWorkflows_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -84484,14 +97193,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list166 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessWorkflow>(_list166.size);
-                  org.apache.airavata.model.process.ProcessWorkflow _elem167;
-                  for (int _i168 = 0; _i168 < _list166.size; ++_i168)
+                  org.apache.thrift.protocol.TList _list192 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessWorkflow>(_list192.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessWorkflow _elem193;
+                  for (int _i194 = 0; _i194 < _list192.size; ++_i194)
                   {
-                    _elem167 = new org.apache.airavata.model.process.ProcessWorkflow();
-                    _elem167.read(iprot);
-                    struct.success.add(_elem167);
+                    _elem193 = new org.apache.airavata.model.process.ProcessWorkflow();
+                    _elem193.read(iprot);
+                    struct.success.add(_elem193);
                   }
                   iprot.readListEnd();
                 }
@@ -84520,6 +97229,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessWorkflows_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -84528,9 +97238,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.process.ProcessWorkflow _iter169 : struct.success)
+            for (org.apache.airavata.model.process.ProcessWorkflow _iter195 : struct.success)
             {
-              _iter169.write(oprot);
+              _iter195.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -84548,6 +97258,7 @@
     }
 
     private static class getProcessWorkflows_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessWorkflows_resultTupleScheme getScheme() {
         return new getProcessWorkflows_resultTupleScheme();
       }
@@ -84569,9 +97280,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.process.ProcessWorkflow _iter170 : struct.success)
+            for (org.apache.airavata.model.process.ProcessWorkflow _iter196 : struct.success)
             {
-              _iter170.write(oprot);
+              _iter196.write(oprot);
             }
           }
         }
@@ -84586,14 +97297,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list171 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessWorkflow>(_list171.size);
-            org.apache.airavata.model.process.ProcessWorkflow _elem172;
-            for (int _i173 = 0; _i173 < _list171.size; ++_i173)
+            org.apache.thrift.protocol.TList _list197 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.process.ProcessWorkflow>(_list197.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessWorkflow _elem198;
+            for (int _i199 = 0; _i199 < _list197.size; ++_i199)
             {
-              _elem172 = new org.apache.airavata.model.process.ProcessWorkflow();
-              _elem172.read(iprot);
-              struct.success.add(_elem172);
+              _elem198 = new org.apache.airavata.model.process.ProcessWorkflow();
+              _elem198.read(iprot);
+              struct.success.add(_elem198);
             }
           }
           struct.setSuccessIsSet(true);
@@ -84611,6 +97322,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addProcessWorkflow_args implements org.apache.thrift.TBase<addProcessWorkflow_args, addProcessWorkflow_args._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessWorkflow_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessWorkflow_args");
 
@@ -84619,7 +97331,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcessWorkflow_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessWorkflow_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.process.ProcessWorkflow processWorkflow; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessWorkflow processWorkflow; // 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 {
@@ -84636,6 +97348,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PROCESS_WORKFLOW
@@ -84658,6 +97371,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -84670,10 +97384,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -84708,6 +97424,7 @@
       }
     }
 
+    @Override
     public addProcessWorkflow_args deepCopy() {
       return new addProcessWorkflow_args(this);
     }
@@ -84717,11 +97434,12 @@
       this.processWorkflow = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.process.ProcessWorkflow getProcessWorkflow() {
       return this.processWorkflow;
     }
 
-    public addProcessWorkflow_args setProcessWorkflow(org.apache.airavata.model.process.ProcessWorkflow processWorkflow) {
+    public addProcessWorkflow_args setProcessWorkflow(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.process.ProcessWorkflow processWorkflow) {
       this.processWorkflow = processWorkflow;
       return this;
     }
@@ -84741,7 +97459,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PROCESS_WORKFLOW:
         if (value == null) {
@@ -84754,6 +97473,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PROCESS_WORKFLOW:
@@ -84764,6 +97485,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -84778,8 +97500,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addProcessWorkflow_args)
         return this.equals((addProcessWorkflow_args)that);
       return false;
@@ -84822,7 +97542,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProcessWorkflow()).compareTo(other.isSetProcessWorkflow());
+      lastComparison = java.lang.Boolean.compare(isSetProcessWorkflow(), other.isSetProcessWorkflow());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -84835,14 +97555,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -84891,6 +97615,7 @@
     }
 
     private static class addProcessWorkflow_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessWorkflow_argsStandardScheme getScheme() {
         return new addProcessWorkflow_argsStandardScheme();
       }
@@ -84898,6 +97623,7 @@
 
     private static class addProcessWorkflow_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcessWorkflow_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addProcessWorkflow_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -84928,6 +97654,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addProcessWorkflow_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -84944,6 +97671,7 @@
     }
 
     private static class addProcessWorkflow_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessWorkflow_argsTupleScheme getScheme() {
         return new addProcessWorkflow_argsTupleScheme();
       }
@@ -84971,6 +97699,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addProcessWorkflow_result implements org.apache.thrift.TBase<addProcessWorkflow_result, addProcessWorkflow_result._Fields>, java.io.Serializable, Cloneable, Comparable<addProcessWorkflow_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addProcessWorkflow_result");
 
@@ -84979,7 +97708,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addProcessWorkflow_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addProcessWorkflow_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -84996,6 +97725,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -85018,6 +97748,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -85030,10 +97761,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -85068,6 +97801,7 @@
       }
     }
 
+    @Override
     public addProcessWorkflow_result deepCopy() {
       return new addProcessWorkflow_result(this);
     }
@@ -85077,11 +97811,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addProcessWorkflow_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addProcessWorkflow_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -85101,7 +97836,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -85114,6 +97850,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -85124,6 +97862,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -85138,8 +97877,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addProcessWorkflow_result)
         return this.equals((addProcessWorkflow_result)that);
       return false;
@@ -85182,7 +97919,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85195,10 +97932,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -85245,6 +97985,7 @@
     }
 
     private static class addProcessWorkflow_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessWorkflow_resultStandardScheme getScheme() {
         return new addProcessWorkflow_resultStandardScheme();
       }
@@ -85252,6 +97993,7 @@
 
     private static class addProcessWorkflow_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addProcessWorkflow_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addProcessWorkflow_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -85282,6 +98024,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addProcessWorkflow_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -85298,6 +98041,7 @@
     }
 
     private static class addProcessWorkflow_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addProcessWorkflow_resultTupleScheme getScheme() {
         return new addProcessWorkflow_resultTupleScheme();
       }
@@ -85335,6 +98079,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessIds_args implements org.apache.thrift.TBase<getProcessIds_args, getProcessIds_args._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessIds_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessIds_args");
 
@@ -85343,7 +98088,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessIds_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessIds_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // 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 {
@@ -85360,6 +98105,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -85382,6 +98128,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -85394,10 +98141,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -85432,6 +98181,7 @@
       }
     }
 
+    @Override
     public getProcessIds_args deepCopy() {
       return new getProcessIds_args(this);
     }
@@ -85441,11 +98191,12 @@
       this.experimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public getProcessIds_args setExperimentId(java.lang.String experimentId) {
+    public getProcessIds_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -85465,7 +98216,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -85478,6 +98230,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -85488,6 +98242,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -85502,8 +98257,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessIds_args)
         return this.equals((getProcessIds_args)that);
       return false;
@@ -85546,7 +98299,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85559,14 +98312,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -85612,6 +98369,7 @@
     }
 
     private static class getProcessIds_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessIds_argsStandardScheme getScheme() {
         return new getProcessIds_argsStandardScheme();
       }
@@ -85619,6 +98377,7 @@
 
     private static class getProcessIds_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessIds_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessIds_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -85648,6 +98407,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessIds_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -85664,6 +98424,7 @@
     }
 
     private static class getProcessIds_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessIds_argsTupleScheme getScheme() {
         return new getProcessIds_argsTupleScheme();
       }
@@ -85690,6 +98451,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getProcessIds_result implements org.apache.thrift.TBase<getProcessIds_result, getProcessIds_result._Fields>, java.io.Serializable, Cloneable, Comparable<getProcessIds_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getProcessIds_result");
 
@@ -85699,8 +98461,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getProcessIds_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getProcessIds_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -85718,6 +98480,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -85742,6 +98505,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -85754,10 +98518,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -85801,6 +98567,7 @@
       }
     }
 
+    @Override
     public getProcessIds_result deepCopy() {
       return new getProcessIds_result(this);
     }
@@ -85815,6 +98582,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -85826,11 +98594,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getProcessIds_result setSuccess(java.util.List<java.lang.String> success) {
+    public getProcessIds_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -85850,11 +98619,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getProcessIds_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getProcessIds_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -85874,7 +98644,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -85895,6 +98666,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -85908,6 +98681,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -85924,8 +98698,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getProcessIds_result)
         return this.equals((getProcessIds_result)that);
       return false;
@@ -85981,7 +98753,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -85991,7 +98763,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86004,10 +98776,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -86062,6 +98837,7 @@
     }
 
     private static class getProcessIds_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessIds_resultStandardScheme getScheme() {
         return new getProcessIds_resultStandardScheme();
       }
@@ -86069,6 +98845,7 @@
 
     private static class getProcessIds_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getProcessIds_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getProcessIds_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -86082,13 +98859,13 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list174 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<java.lang.String>(_list174.size);
-                  java.lang.String _elem175;
-                  for (int _i176 = 0; _i176 < _list174.size; ++_i176)
+                  org.apache.thrift.protocol.TList _list200 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<java.lang.String>(_list200.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem201;
+                  for (int _i202 = 0; _i202 < _list200.size; ++_i202)
                   {
-                    _elem175 = iprot.readString();
-                    struct.success.add(_elem175);
+                    _elem201 = iprot.readString();
+                    struct.success.add(_elem201);
                   }
                   iprot.readListEnd();
                 }
@@ -86117,6 +98894,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getProcessIds_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -86125,9 +98903,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (java.lang.String _iter177 : struct.success)
+            for (java.lang.String _iter203 : struct.success)
             {
-              oprot.writeString(_iter177);
+              oprot.writeString(_iter203);
             }
             oprot.writeListEnd();
           }
@@ -86145,6 +98923,7 @@
     }
 
     private static class getProcessIds_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getProcessIds_resultTupleScheme getScheme() {
         return new getProcessIds_resultTupleScheme();
       }
@@ -86166,9 +98945,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.lang.String _iter178 : struct.success)
+            for (java.lang.String _iter204 : struct.success)
             {
-              oprot.writeString(_iter178);
+              oprot.writeString(_iter204);
             }
           }
         }
@@ -86183,13 +98962,13 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list179 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new java.util.ArrayList<java.lang.String>(_list179.size);
-            java.lang.String _elem180;
-            for (int _i181 = 0; _i181 < _list179.size; ++_i181)
+            org.apache.thrift.protocol.TList _list205 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+            struct.success = new java.util.ArrayList<java.lang.String>(_list205.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem206;
+            for (int _i207 = 0; _i207 < _list205.size; ++_i207)
             {
-              _elem180 = iprot.readString();
-              struct.success.add(_elem180);
+              _elem206 = iprot.readString();
+              struct.success.add(_elem206);
             }
           }
           struct.setSuccessIsSet(true);
@@ -86207,6 +98986,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobDetails_args implements org.apache.thrift.TBase<getJobDetails_args, getJobDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_args");
 
@@ -86215,7 +98995,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_argsTupleSchemeFactory();
 
-    public java.lang.String airavataExperimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId; // 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 {
@@ -86232,6 +99012,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // AIRAVATA_EXPERIMENT_ID
@@ -86254,6 +99035,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -86266,10 +99048,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -86304,6 +99088,7 @@
       }
     }
 
+    @Override
     public getJobDetails_args deepCopy() {
       return new getJobDetails_args(this);
     }
@@ -86313,11 +99098,12 @@
       this.airavataExperimentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAiravataExperimentId() {
       return this.airavataExperimentId;
     }
 
-    public getJobDetails_args setAiravataExperimentId(java.lang.String airavataExperimentId) {
+    public getJobDetails_args setAiravataExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String airavataExperimentId) {
       this.airavataExperimentId = airavataExperimentId;
       return this;
     }
@@ -86337,7 +99123,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
         if (value == null) {
@@ -86350,6 +99137,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case AIRAVATA_EXPERIMENT_ID:
@@ -86360,6 +99149,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -86374,8 +99164,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobDetails_args)
         return this.equals((getJobDetails_args)that);
       return false;
@@ -86418,7 +99206,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAiravataExperimentId()).compareTo(other.isSetAiravataExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetAiravataExperimentId(), other.isSetAiravataExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86431,14 +99219,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -86484,6 +99276,7 @@
     }
 
     private static class getJobDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_argsStandardScheme getScheme() {
         return new getJobDetails_argsStandardScheme();
       }
@@ -86491,6 +99284,7 @@
 
     private static class getJobDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -86520,6 +99314,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -86536,6 +99331,7 @@
     }
 
     private static class getJobDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_argsTupleScheme getScheme() {
         return new getJobDetails_argsTupleScheme();
       }
@@ -86562,6 +99358,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getJobDetails_result implements org.apache.thrift.TBase<getJobDetails_result, getJobDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<getJobDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getJobDetails_result");
 
@@ -86572,9 +99369,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getJobDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getJobDetails_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.job.JobModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.ExperimentNotFoundException enf; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf; // 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 {
@@ -86593,6 +99390,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -86619,6 +99417,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -86631,10 +99430,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -86688,6 +99489,7 @@
       }
     }
 
+    @Override
     public getJobDetails_result deepCopy() {
       return new getJobDetails_result(this);
     }
@@ -86703,6 +99505,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.job.JobModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -86714,11 +99517,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.job.JobModel> getSuccess() {
       return this.success;
     }
 
-    public getJobDetails_result setSuccess(java.util.List<org.apache.airavata.model.job.JobModel> success) {
+    public getJobDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.job.JobModel> success) {
       this.success = success;
       return this;
     }
@@ -86738,11 +99542,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getJobDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getJobDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -86762,11 +99567,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.ExperimentNotFoundException getEnf() {
       return this.enf;
     }
 
-    public getJobDetails_result setEnf(org.apache.airavata.model.error.ExperimentNotFoundException enf) {
+    public getJobDetails_result setEnf(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.ExperimentNotFoundException enf) {
       this.enf = enf;
       return this;
     }
@@ -86786,7 +99592,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -86815,6 +99622,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -86831,6 +99640,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -86849,8 +99659,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getJobDetails_result)
         return this.equals((getJobDetails_result)that);
       return false;
@@ -86919,7 +99727,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86929,7 +99737,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86939,7 +99747,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEnf()).compareTo(other.isSetEnf());
+      lastComparison = java.lang.Boolean.compare(isSetEnf(), other.isSetEnf());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -86952,10 +99760,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -87018,6 +99829,7 @@
     }
 
     private static class getJobDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_resultStandardScheme getScheme() {
         return new getJobDetails_resultStandardScheme();
       }
@@ -87025,6 +99837,7 @@
 
     private static class getJobDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getJobDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getJobDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -87038,14 +99851,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list182 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list182.size);
-                  org.apache.airavata.model.job.JobModel _elem183;
-                  for (int _i184 = 0; _i184 < _list182.size; ++_i184)
+                  org.apache.thrift.protocol.TList _list208 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list208.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem209;
+                  for (int _i210 = 0; _i210 < _list208.size; ++_i210)
                   {
-                    _elem183 = new org.apache.airavata.model.job.JobModel();
-                    _elem183.read(iprot);
-                    struct.success.add(_elem183);
+                    _elem209 = new org.apache.airavata.model.job.JobModel();
+                    _elem209.read(iprot);
+                    struct.success.add(_elem209);
                   }
                   iprot.readListEnd();
                 }
@@ -87083,6 +99896,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getJobDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -87091,9 +99905,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.job.JobModel _iter185 : struct.success)
+            for (org.apache.airavata.model.job.JobModel _iter211 : struct.success)
             {
-              _iter185.write(oprot);
+              _iter211.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -87116,6 +99930,7 @@
     }
 
     private static class getJobDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getJobDetails_resultTupleScheme getScheme() {
         return new getJobDetails_resultTupleScheme();
       }
@@ -87140,9 +99955,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.job.JobModel _iter186 : struct.success)
+            for (org.apache.airavata.model.job.JobModel _iter212 : struct.success)
             {
-              _iter186.write(oprot);
+              _iter212.write(oprot);
             }
           }
         }
@@ -87160,14 +99975,14 @@
         java.util.BitSet incoming = iprot.readBitSet(3);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list187 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list187.size);
-            org.apache.airavata.model.job.JobModel _elem188;
-            for (int _i189 = 0; _i189 < _list187.size; ++_i189)
+            org.apache.thrift.protocol.TList _list213 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.job.JobModel>(_list213.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.job.JobModel _elem214;
+            for (int _i215 = 0; _i215 < _list213.size; ++_i215)
             {
-              _elem188 = new org.apache.airavata.model.job.JobModel();
-              _elem188.read(iprot);
-              struct.success.add(_elem188);
+              _elem214 = new org.apache.airavata.model.job.JobModel();
+              _elem214.read(iprot);
+              struct.success.add(_elem214);
             }
           }
           struct.setSuccessIsSet(true);
@@ -87190,6 +100005,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationModule_args implements org.apache.thrift.TBase<registerApplicationModule_args, registerApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_args");
 
@@ -87199,8 +100015,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
@@ -87218,6 +100034,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -87242,6 +100059,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -87254,10 +100072,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -87299,6 +100119,7 @@
       }
     }
 
+    @Override
     public registerApplicationModule_args deepCopy() {
       return new registerApplicationModule_args(this);
     }
@@ -87309,11 +100130,12 @@
       this.applicationModule = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public registerApplicationModule_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationModule_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -87333,11 +100155,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
       return this.applicationModule;
     }
 
-    public registerApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
+    public registerApplicationModule_args setApplicationModule(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
       this.applicationModule = applicationModule;
       return this;
     }
@@ -87357,7 +100180,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -87378,6 +100202,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -87391,6 +100217,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -87407,8 +100234,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationModule_args)
         return this.equals((registerApplicationModule_args)that);
       return false;
@@ -87464,7 +100289,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87474,7 +100299,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationModule(), other.isSetApplicationModule());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87487,14 +100312,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -87554,6 +100383,7 @@
     }
 
     private static class registerApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_argsStandardScheme getScheme() {
         return new registerApplicationModule_argsStandardScheme();
       }
@@ -87561,6 +100391,7 @@
 
     private static class registerApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -87599,6 +100430,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -87620,6 +100452,7 @@
     }
 
     private static class registerApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_argsTupleScheme getScheme() {
         return new registerApplicationModule_argsTupleScheme();
       }
@@ -87650,6 +100483,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationModule_result implements org.apache.thrift.TBase<registerApplicationModule_result, registerApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationModule_result");
 
@@ -87659,8 +100493,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationModule_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationModule_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -87678,6 +100512,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -87702,6 +100537,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -87714,10 +100550,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -87759,6 +100597,7 @@
       }
     }
 
+    @Override
     public registerApplicationModule_result deepCopy() {
       return new registerApplicationModule_result(this);
     }
@@ -87769,11 +100608,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerApplicationModule_result setSuccess(java.lang.String success) {
+    public registerApplicationModule_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -87793,11 +100633,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerApplicationModule_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerApplicationModule_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -87817,7 +100658,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -87838,6 +100680,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -87851,6 +100695,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -87867,8 +100712,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationModule_result)
         return this.equals((registerApplicationModule_result)that);
       return false;
@@ -87924,7 +100767,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87934,7 +100777,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -87947,10 +100790,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -88005,6 +100851,7 @@
     }
 
     private static class registerApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_resultStandardScheme getScheme() {
         return new registerApplicationModule_resultStandardScheme();
       }
@@ -88012,6 +100859,7 @@
 
     private static class registerApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -88050,6 +100898,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -88071,6 +100920,7 @@
     }
 
     private static class registerApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationModule_resultTupleScheme getScheme() {
         return new registerApplicationModule_resultTupleScheme();
       }
@@ -88118,6 +100968,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationModule_args implements org.apache.thrift.TBase<getApplicationModule_args, getApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_args");
 
@@ -88126,7 +100977,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_argsTupleSchemeFactory();
 
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -88143,6 +100994,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_MODULE_ID
@@ -88165,6 +101017,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -88177,10 +101030,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -88215,6 +101070,7 @@
       }
     }
 
+    @Override
     public getApplicationModule_args deepCopy() {
       return new getApplicationModule_args(this);
     }
@@ -88224,11 +101080,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
+    public getApplicationModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -88248,7 +101105,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_MODULE_ID:
         if (value == null) {
@@ -88261,6 +101119,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_MODULE_ID:
@@ -88271,6 +101131,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -88285,8 +101146,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationModule_args)
         return this.equals((getApplicationModule_args)that);
       return false;
@@ -88329,7 +101188,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88342,14 +101201,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -88395,6 +101258,7 @@
     }
 
     private static class getApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_argsStandardScheme getScheme() {
         return new getApplicationModule_argsStandardScheme();
       }
@@ -88402,6 +101266,7 @@
 
     private static class getApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -88431,6 +101296,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -88447,6 +101313,7 @@
     }
 
     private static class getApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_argsTupleScheme getScheme() {
         return new getApplicationModule_argsTupleScheme();
       }
@@ -88473,6 +101340,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationModule_result implements org.apache.thrift.TBase<getApplicationModule_result, getApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationModule_result");
 
@@ -88482,8 +101350,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationModule_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationModule_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -88501,6 +101369,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -88525,6 +101394,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -88537,10 +101407,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -88582,6 +101454,7 @@
       }
     }
 
+    @Override
     public getApplicationModule_result deepCopy() {
       return new getApplicationModule_result(this);
     }
@@ -88592,11 +101465,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getSuccess() {
       return this.success;
     }
 
-    public getApplicationModule_result setSuccess(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success) {
+    public getApplicationModule_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule success) {
       this.success = success;
       return this;
     }
@@ -88616,11 +101490,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getApplicationModule_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getApplicationModule_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -88640,7 +101515,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -88661,6 +101537,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -88674,6 +101552,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -88690,8 +101569,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationModule_result)
         return this.equals((getApplicationModule_result)that);
       return false;
@@ -88747,7 +101624,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88757,7 +101634,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -88770,10 +101647,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -88831,6 +101711,7 @@
     }
 
     private static class getApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_resultStandardScheme getScheme() {
         return new getApplicationModule_resultStandardScheme();
       }
@@ -88838,6 +101719,7 @@
 
     private static class getApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -88877,6 +101759,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -88898,6 +101781,7 @@
     }
 
     private static class getApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationModule_resultTupleScheme getScheme() {
         return new getApplicationModule_resultTupleScheme();
       }
@@ -88946,6 +101830,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationModule_args implements org.apache.thrift.TBase<updateApplicationModule_args, updateApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationModule_args");
 
@@ -88955,8 +101840,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationModule_argsTupleSchemeFactory();
 
-    public java.lang.String appModuleId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule; // 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 {
@@ -88974,6 +101859,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_MODULE_ID
@@ -88998,6 +101884,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -89010,10 +101897,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -89055,6 +101944,7 @@
       }
     }
 
+    @Override
     public updateApplicationModule_args deepCopy() {
       return new updateApplicationModule_args(this);
     }
@@ -89065,11 +101955,12 @@
       this.applicationModule = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public updateApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
+    public updateApplicationModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -89089,11 +101980,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule getApplicationModule() {
       return this.applicationModule;
     }
 
-    public updateApplicationModule_args setApplicationModule(org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
+    public updateApplicationModule_args setApplicationModule(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule applicationModule) {
       this.applicationModule = applicationModule;
       return this;
     }
@@ -89113,7 +102005,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_MODULE_ID:
         if (value == null) {
@@ -89134,6 +102027,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_MODULE_ID:
@@ -89147,6 +102042,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -89163,8 +102059,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationModule_args)
         return this.equals((updateApplicationModule_args)that);
       return false;
@@ -89220,7 +102114,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89230,7 +102124,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationModule()).compareTo(other.isSetApplicationModule());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationModule(), other.isSetApplicationModule());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89243,14 +102137,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -89310,6 +102208,7 @@
     }
 
     private static class updateApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_argsStandardScheme getScheme() {
         return new updateApplicationModule_argsStandardScheme();
       }
@@ -89317,6 +102216,7 @@
 
     private static class updateApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -89355,6 +102255,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -89376,6 +102277,7 @@
     }
 
     private static class updateApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_argsTupleScheme getScheme() {
         return new updateApplicationModule_argsTupleScheme();
       }
@@ -89406,6 +102308,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationModule_result implements org.apache.thrift.TBase<updateApplicationModule_result, updateApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationModule_result");
 
@@ -89416,7 +102319,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationModule_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -89434,6 +102337,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -89458,6 +102362,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -89470,10 +102375,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -89517,6 +102424,7 @@
       }
     }
 
+    @Override
     public updateApplicationModule_result deepCopy() {
       return new updateApplicationModule_result(this);
     }
@@ -89551,11 +102459,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateApplicationModule_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateApplicationModule_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -89575,7 +102484,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -89596,6 +102506,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -89609,6 +102521,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -89625,8 +102538,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationModule_result)
         return this.equals((updateApplicationModule_result)that);
       return false;
@@ -89680,7 +102591,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89690,7 +102601,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -89703,10 +102614,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -89759,6 +102673,7 @@
     }
 
     private static class updateApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_resultStandardScheme getScheme() {
         return new updateApplicationModule_resultStandardScheme();
       }
@@ -89766,6 +102681,7 @@
 
     private static class updateApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -89804,6 +102720,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -89825,6 +102742,7 @@
     }
 
     private static class updateApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationModule_resultTupleScheme getScheme() {
         return new updateApplicationModule_resultTupleScheme();
       }
@@ -89872,6 +102790,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAppModules_args implements org.apache.thrift.TBase<getAllAppModules_args, getAllAppModules_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAppModules_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAppModules_args");
 
@@ -89880,7 +102799,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAppModules_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAppModules_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -89897,6 +102816,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -89919,6 +102839,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -89931,10 +102852,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -89969,6 +102892,7 @@
       }
     }
 
+    @Override
     public getAllAppModules_args deepCopy() {
       return new getAllAppModules_args(this);
     }
@@ -89978,11 +102902,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllAppModules_args setGatewayId(java.lang.String gatewayId) {
+    public getAllAppModules_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -90002,7 +102927,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -90015,6 +102941,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -90025,6 +102953,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -90039,8 +102968,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAppModules_args)
         return this.equals((getAllAppModules_args)that);
       return false;
@@ -90083,7 +103010,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -90096,14 +103023,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -90149,6 +103080,7 @@
     }
 
     private static class getAllAppModules_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_argsStandardScheme getScheme() {
         return new getAllAppModules_argsStandardScheme();
       }
@@ -90156,6 +103088,7 @@
 
     private static class getAllAppModules_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAppModules_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAppModules_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -90185,6 +103118,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAppModules_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -90201,6 +103135,7 @@
     }
 
     private static class getAllAppModules_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_argsTupleScheme getScheme() {
         return new getAllAppModules_argsTupleScheme();
       }
@@ -90227,6 +103162,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllAppModules_result implements org.apache.thrift.TBase<getAllAppModules_result, getAllAppModules_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllAppModules_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllAppModules_result");
 
@@ -90236,8 +103172,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllAppModules_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllAppModules_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -90255,6 +103191,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -90279,6 +103216,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -90291,10 +103229,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -90341,6 +103281,7 @@
       }
     }
 
+    @Override
     public getAllAppModules_result deepCopy() {
       return new getAllAppModules_result(this);
     }
@@ -90355,6 +103296,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -90366,11 +103308,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccess() {
       return this.success;
     }
 
-    public getAllAppModules_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
+    public getAllAppModules_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
       this.success = success;
       return this;
     }
@@ -90390,11 +103333,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllAppModules_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllAppModules_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -90414,7 +103358,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -90435,6 +103380,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -90448,6 +103395,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -90464,8 +103412,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllAppModules_result)
         return this.equals((getAllAppModules_result)that);
       return false;
@@ -90521,7 +103467,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -90531,7 +103477,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -90544,10 +103490,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -90602,6 +103551,7 @@
     }
 
     private static class getAllAppModules_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_resultStandardScheme getScheme() {
         return new getAllAppModules_resultStandardScheme();
       }
@@ -90609,6 +103559,7 @@
 
     private static class getAllAppModules_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllAppModules_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllAppModules_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -90622,14 +103573,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list190 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list190.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem191;
-                  for (int _i192 = 0; _i192 < _list190.size; ++_i192)
+                  org.apache.thrift.protocol.TList _list216 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list216.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem217;
+                  for (int _i218 = 0; _i218 < _list216.size; ++_i218)
                   {
-                    _elem191 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-                    _elem191.read(iprot);
-                    struct.success.add(_elem191);
+                    _elem217 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+                    _elem217.read(iprot);
+                    struct.success.add(_elem217);
                   }
                   iprot.readListEnd();
                 }
@@ -90658,6 +103609,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllAppModules_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -90666,9 +103618,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter193 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter219 : struct.success)
             {
-              _iter193.write(oprot);
+              _iter219.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -90686,6 +103638,7 @@
     }
 
     private static class getAllAppModules_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllAppModules_resultTupleScheme getScheme() {
         return new getAllAppModules_resultTupleScheme();
       }
@@ -90707,9 +103660,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter194 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter220 : struct.success)
             {
-              _iter194.write(oprot);
+              _iter220.write(oprot);
             }
           }
         }
@@ -90724,14 +103677,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list195 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list195.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem196;
-            for (int _i197 = 0; _i197 < _list195.size; ++_i197)
+            org.apache.thrift.protocol.TList _list221 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list221.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem222;
+            for (int _i223 = 0; _i223 < _list221.size; ++_i223)
             {
-              _elem196 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-              _elem196.read(iprot);
-              struct.success.add(_elem196);
+              _elem222 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+              _elem222.read(iprot);
+              struct.success.add(_elem222);
             }
           }
           struct.setSuccessIsSet(true);
@@ -90749,6 +103702,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleAppModules_args implements org.apache.thrift.TBase<getAccessibleAppModules_args, getAccessibleAppModules_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleAppModules_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleAppModules_args");
 
@@ -90759,9 +103713,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleAppModules_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleAppModules_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.util.List<java.lang.String> accessibleAppDeploymentIds; // required
-    public java.util.List<java.lang.String> accessibleComputeResourceIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleAppDeploymentIds; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleComputeResourceIds; // 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 {
@@ -90780,6 +103734,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -90806,6 +103761,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -90818,10 +103774,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -90874,6 +103832,7 @@
       }
     }
 
+    @Override
     public getAccessibleAppModules_args deepCopy() {
       return new getAccessibleAppModules_args(this);
     }
@@ -90885,11 +103844,12 @@
       this.accessibleComputeResourceIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAccessibleAppModules_args setGatewayId(java.lang.String gatewayId) {
+    public getAccessibleAppModules_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -90913,6 +103873,7 @@
       return (this.accessibleAppDeploymentIds == null) ? 0 : this.accessibleAppDeploymentIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleAppDeploymentIdsIterator() {
       return (this.accessibleAppDeploymentIds == null) ? null : this.accessibleAppDeploymentIds.iterator();
     }
@@ -90924,11 +103885,12 @@
       this.accessibleAppDeploymentIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleAppDeploymentIds() {
       return this.accessibleAppDeploymentIds;
     }
 
-    public getAccessibleAppModules_args setAccessibleAppDeploymentIds(java.util.List<java.lang.String> accessibleAppDeploymentIds) {
+    public getAccessibleAppModules_args setAccessibleAppDeploymentIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleAppDeploymentIds) {
       this.accessibleAppDeploymentIds = accessibleAppDeploymentIds;
       return this;
     }
@@ -90952,6 +103914,7 @@
       return (this.accessibleComputeResourceIds == null) ? 0 : this.accessibleComputeResourceIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleComputeResourceIdsIterator() {
       return (this.accessibleComputeResourceIds == null) ? null : this.accessibleComputeResourceIds.iterator();
     }
@@ -90963,11 +103926,12 @@
       this.accessibleComputeResourceIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleComputeResourceIds() {
       return this.accessibleComputeResourceIds;
     }
 
-    public getAccessibleAppModules_args setAccessibleComputeResourceIds(java.util.List<java.lang.String> accessibleComputeResourceIds) {
+    public getAccessibleAppModules_args setAccessibleComputeResourceIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleComputeResourceIds) {
       this.accessibleComputeResourceIds = accessibleComputeResourceIds;
       return this;
     }
@@ -90987,7 +103951,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -91016,6 +103981,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -91032,6 +103999,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -91050,8 +104018,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleAppModules_args)
         return this.equals((getAccessibleAppModules_args)that);
       return false;
@@ -91120,7 +104086,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91130,7 +104096,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleAppDeploymentIds()).compareTo(other.isSetAccessibleAppDeploymentIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleAppDeploymentIds(), other.isSetAccessibleAppDeploymentIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91140,7 +104106,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleComputeResourceIds()).compareTo(other.isSetAccessibleComputeResourceIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleComputeResourceIds(), other.isSetAccessibleComputeResourceIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91153,14 +104119,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -91228,6 +104198,7 @@
     }
 
     private static class getAccessibleAppModules_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_argsStandardScheme getScheme() {
         return new getAccessibleAppModules_argsStandardScheme();
       }
@@ -91235,6 +104206,7 @@
 
     private static class getAccessibleAppModules_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleAppModules_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleAppModules_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -91256,13 +104228,13 @@
             case 2: // ACCESSIBLE_APP_DEPLOYMENT_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list198 = iprot.readListBegin();
-                  struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list198.size);
-                  java.lang.String _elem199;
-                  for (int _i200 = 0; _i200 < _list198.size; ++_i200)
+                  org.apache.thrift.protocol.TList _list224 = iprot.readListBegin();
+                  struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list224.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem225;
+                  for (int _i226 = 0; _i226 < _list224.size; ++_i226)
                   {
-                    _elem199 = iprot.readString();
-                    struct.accessibleAppDeploymentIds.add(_elem199);
+                    _elem225 = iprot.readString();
+                    struct.accessibleAppDeploymentIds.add(_elem225);
                   }
                   iprot.readListEnd();
                 }
@@ -91274,13 +104246,13 @@
             case 3: // ACCESSIBLE_COMPUTE_RESOURCE_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list201 = iprot.readListBegin();
-                  struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list201.size);
-                  java.lang.String _elem202;
-                  for (int _i203 = 0; _i203 < _list201.size; ++_i203)
+                  org.apache.thrift.protocol.TList _list227 = iprot.readListBegin();
+                  struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list227.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem228;
+                  for (int _i229 = 0; _i229 < _list227.size; ++_i229)
                   {
-                    _elem202 = iprot.readString();
-                    struct.accessibleComputeResourceIds.add(_elem202);
+                    _elem228 = iprot.readString();
+                    struct.accessibleComputeResourceIds.add(_elem228);
                   }
                   iprot.readListEnd();
                 }
@@ -91300,6 +104272,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleAppModules_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -91313,9 +104286,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_APP_DEPLOYMENT_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleAppDeploymentIds.size()));
-            for (java.lang.String _iter204 : struct.accessibleAppDeploymentIds)
+            for (java.lang.String _iter230 : struct.accessibleAppDeploymentIds)
             {
-              oprot.writeString(_iter204);
+              oprot.writeString(_iter230);
             }
             oprot.writeListEnd();
           }
@@ -91325,9 +104298,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_COMPUTE_RESOURCE_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleComputeResourceIds.size()));
-            for (java.lang.String _iter205 : struct.accessibleComputeResourceIds)
+            for (java.lang.String _iter231 : struct.accessibleComputeResourceIds)
             {
-              oprot.writeString(_iter205);
+              oprot.writeString(_iter231);
             }
             oprot.writeListEnd();
           }
@@ -91340,6 +104313,7 @@
     }
 
     private static class getAccessibleAppModules_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_argsTupleScheme getScheme() {
         return new getAccessibleAppModules_argsTupleScheme();
       }
@@ -91353,16 +104327,16 @@
         oprot.writeString(struct.gatewayId);
         {
           oprot.writeI32(struct.accessibleAppDeploymentIds.size());
-          for (java.lang.String _iter206 : struct.accessibleAppDeploymentIds)
+          for (java.lang.String _iter232 : struct.accessibleAppDeploymentIds)
           {
-            oprot.writeString(_iter206);
+            oprot.writeString(_iter232);
           }
         }
         {
           oprot.writeI32(struct.accessibleComputeResourceIds.size());
-          for (java.lang.String _iter207 : struct.accessibleComputeResourceIds)
+          for (java.lang.String _iter233 : struct.accessibleComputeResourceIds)
           {
-            oprot.writeString(_iter207);
+            oprot.writeString(_iter233);
           }
         }
       }
@@ -91373,24 +104347,24 @@
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list208 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list208.size);
-          java.lang.String _elem209;
-          for (int _i210 = 0; _i210 < _list208.size; ++_i210)
+          org.apache.thrift.protocol.TList _list234 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list234.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem235;
+          for (int _i236 = 0; _i236 < _list234.size; ++_i236)
           {
-            _elem209 = iprot.readString();
-            struct.accessibleAppDeploymentIds.add(_elem209);
+            _elem235 = iprot.readString();
+            struct.accessibleAppDeploymentIds.add(_elem235);
           }
         }
         struct.setAccessibleAppDeploymentIdsIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list211 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list211.size);
-          java.lang.String _elem212;
-          for (int _i213 = 0; _i213 < _list211.size; ++_i213)
+          org.apache.thrift.protocol.TList _list237 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list237.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem238;
+          for (int _i239 = 0; _i239 < _list237.size; ++_i239)
           {
-            _elem212 = iprot.readString();
-            struct.accessibleComputeResourceIds.add(_elem212);
+            _elem238 = iprot.readString();
+            struct.accessibleComputeResourceIds.add(_elem238);
           }
         }
         struct.setAccessibleComputeResourceIdsIsSet(true);
@@ -91402,6 +104376,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleAppModules_result implements org.apache.thrift.TBase<getAccessibleAppModules_result, getAccessibleAppModules_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleAppModules_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleAppModules_result");
 
@@ -91411,8 +104386,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleAppModules_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleAppModules_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -91430,6 +104405,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -91454,6 +104430,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -91466,10 +104443,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -91516,6 +104495,7 @@
       }
     }
 
+    @Override
     public getAccessibleAppModules_result deepCopy() {
       return new getAccessibleAppModules_result(this);
     }
@@ -91530,6 +104510,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -91541,11 +104522,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> getSuccess() {
       return this.success;
     }
 
-    public getAccessibleAppModules_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
+    public getAccessibleAppModules_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule> success) {
       this.success = success;
       return this;
     }
@@ -91565,11 +104547,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAccessibleAppModules_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAccessibleAppModules_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -91589,7 +104572,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -91610,6 +104594,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -91623,6 +104609,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -91639,8 +104626,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleAppModules_result)
         return this.equals((getAccessibleAppModules_result)that);
       return false;
@@ -91696,7 +104681,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91706,7 +104691,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -91719,10 +104704,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -91777,6 +104765,7 @@
     }
 
     private static class getAccessibleAppModules_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_resultStandardScheme getScheme() {
         return new getAccessibleAppModules_resultStandardScheme();
       }
@@ -91784,6 +104773,7 @@
 
     private static class getAccessibleAppModules_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleAppModules_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleAppModules_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -91797,14 +104787,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list214 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list214.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem215;
-                  for (int _i216 = 0; _i216 < _list214.size; ++_i216)
+                  org.apache.thrift.protocol.TList _list240 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list240.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem241;
+                  for (int _i242 = 0; _i242 < _list240.size; ++_i242)
                   {
-                    _elem215 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-                    _elem215.read(iprot);
-                    struct.success.add(_elem215);
+                    _elem241 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+                    _elem241.read(iprot);
+                    struct.success.add(_elem241);
                   }
                   iprot.readListEnd();
                 }
@@ -91833,6 +104823,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleAppModules_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -91841,9 +104832,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter217 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter243 : struct.success)
             {
-              _iter217.write(oprot);
+              _iter243.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -91861,6 +104852,7 @@
     }
 
     private static class getAccessibleAppModules_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleAppModules_resultTupleScheme getScheme() {
         return new getAccessibleAppModules_resultTupleScheme();
       }
@@ -91882,9 +104874,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter218 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _iter244 : struct.success)
             {
-              _iter218.write(oprot);
+              _iter244.write(oprot);
             }
           }
         }
@@ -91899,14 +104891,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list219 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list219.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem220;
-            for (int _i221 = 0; _i221 < _list219.size; ++_i221)
+            org.apache.thrift.protocol.TList _list245 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule>(_list245.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule _elem246;
+            for (int _i247 = 0; _i247 < _list245.size; ++_i247)
             {
-              _elem220 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
-              _elem220.read(iprot);
-              struct.success.add(_elem220);
+              _elem246 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationModule();
+              _elem246.read(iprot);
+              struct.success.add(_elem246);
             }
           }
           struct.setSuccessIsSet(true);
@@ -91924,6 +104916,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationModule_args implements org.apache.thrift.TBase<deleteApplicationModule_args, deleteApplicationModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationModule_args");
 
@@ -91932,7 +104925,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationModule_argsTupleSchemeFactory();
 
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -91949,6 +104942,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_MODULE_ID
@@ -91971,6 +104965,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -91983,10 +104978,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -92021,6 +105018,7 @@
       }
     }
 
+    @Override
     public deleteApplicationModule_args deepCopy() {
       return new deleteApplicationModule_args(this);
     }
@@ -92030,11 +105028,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public deleteApplicationModule_args setAppModuleId(java.lang.String appModuleId) {
+    public deleteApplicationModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -92054,7 +105053,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_MODULE_ID:
         if (value == null) {
@@ -92067,6 +105067,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_MODULE_ID:
@@ -92077,6 +105079,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -92091,8 +105094,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationModule_args)
         return this.equals((deleteApplicationModule_args)that);
       return false;
@@ -92135,7 +105136,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92148,14 +105149,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -92201,6 +105206,7 @@
     }
 
     private static class deleteApplicationModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_argsStandardScheme getScheme() {
         return new deleteApplicationModule_argsStandardScheme();
       }
@@ -92208,6 +105214,7 @@
 
     private static class deleteApplicationModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -92237,6 +105244,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -92253,6 +105261,7 @@
     }
 
     private static class deleteApplicationModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_argsTupleScheme getScheme() {
         return new deleteApplicationModule_argsTupleScheme();
       }
@@ -92279,6 +105288,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationModule_result implements org.apache.thrift.TBase<deleteApplicationModule_result, deleteApplicationModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationModule_result");
 
@@ -92289,7 +105299,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationModule_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -92307,6 +105317,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -92331,6 +105342,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -92343,10 +105355,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -92390,6 +105404,7 @@
       }
     }
 
+    @Override
     public deleteApplicationModule_result deepCopy() {
       return new deleteApplicationModule_result(this);
     }
@@ -92424,11 +105439,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteApplicationModule_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteApplicationModule_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -92448,7 +105464,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -92469,6 +105486,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -92482,6 +105501,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -92498,8 +105518,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationModule_result)
         return this.equals((deleteApplicationModule_result)that);
       return false;
@@ -92553,7 +105571,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92563,7 +105581,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -92576,10 +105594,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -92632,6 +105653,7 @@
     }
 
     private static class deleteApplicationModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_resultStandardScheme getScheme() {
         return new deleteApplicationModule_resultStandardScheme();
       }
@@ -92639,6 +105661,7 @@
 
     private static class deleteApplicationModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -92677,6 +105700,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -92698,6 +105722,7 @@
     }
 
     private static class deleteApplicationModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationModule_resultTupleScheme getScheme() {
         return new deleteApplicationModule_resultTupleScheme();
       }
@@ -92745,6 +105770,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationDeployment_args implements org.apache.thrift.TBase<registerApplicationDeployment_args, registerApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationDeployment_args");
 
@@ -92754,8 +105780,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationDeployment_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // 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 {
@@ -92773,6 +105799,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -92797,6 +105824,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -92809,10 +105837,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -92854,6 +105884,7 @@
       }
     }
 
+    @Override
     public registerApplicationDeployment_args deepCopy() {
       return new registerApplicationDeployment_args(this);
     }
@@ -92864,11 +105895,12 @@
       this.applicationDeployment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public registerApplicationDeployment_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationDeployment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -92888,11 +105920,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment() {
       return this.applicationDeployment;
     }
 
-    public registerApplicationDeployment_args setApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
+    public registerApplicationDeployment_args setApplicationDeployment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
       this.applicationDeployment = applicationDeployment;
       return this;
     }
@@ -92912,7 +105945,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -92933,6 +105967,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -92946,6 +105982,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -92962,8 +105999,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationDeployment_args)
         return this.equals((registerApplicationDeployment_args)that);
       return false;
@@ -93019,7 +106054,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93029,7 +106064,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationDeployment()).compareTo(other.isSetApplicationDeployment());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationDeployment(), other.isSetApplicationDeployment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93042,14 +106077,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -93109,6 +106148,7 @@
     }
 
     private static class registerApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_argsStandardScheme getScheme() {
         return new registerApplicationDeployment_argsStandardScheme();
       }
@@ -93116,6 +106156,7 @@
 
     private static class registerApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -93154,6 +106195,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -93175,6 +106217,7 @@
     }
 
     private static class registerApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_argsTupleScheme getScheme() {
         return new registerApplicationDeployment_argsTupleScheme();
       }
@@ -93205,6 +106248,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationDeployment_result implements org.apache.thrift.TBase<registerApplicationDeployment_result, registerApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationDeployment_result");
 
@@ -93214,8 +106258,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationDeployment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationDeployment_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -93233,6 +106277,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -93257,6 +106302,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -93269,10 +106315,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -93314,6 +106362,7 @@
       }
     }
 
+    @Override
     public registerApplicationDeployment_result deepCopy() {
       return new registerApplicationDeployment_result(this);
     }
@@ -93324,11 +106373,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerApplicationDeployment_result setSuccess(java.lang.String success) {
+    public registerApplicationDeployment_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -93348,11 +106398,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerApplicationDeployment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerApplicationDeployment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -93372,7 +106423,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -93393,6 +106445,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -93406,6 +106460,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -93422,8 +106477,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationDeployment_result)
         return this.equals((registerApplicationDeployment_result)that);
       return false;
@@ -93479,7 +106532,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93489,7 +106542,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93502,10 +106555,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -93560,6 +106616,7 @@
     }
 
     private static class registerApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_resultStandardScheme getScheme() {
         return new registerApplicationDeployment_resultStandardScheme();
       }
@@ -93567,6 +106624,7 @@
 
     private static class registerApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -93605,6 +106663,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -93626,6 +106685,7 @@
     }
 
     private static class registerApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationDeployment_resultTupleScheme getScheme() {
         return new registerApplicationDeployment_resultTupleScheme();
       }
@@ -93673,6 +106733,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeployment_args implements org.apache.thrift.TBase<getApplicationDeployment_args, getApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeployment_args");
 
@@ -93681,7 +106742,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeployment_argsTupleSchemeFactory();
 
-    public java.lang.String appDeploymentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // 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 {
@@ -93698,6 +106759,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_DEPLOYMENT_ID
@@ -93720,6 +106782,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -93732,10 +106795,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -93770,6 +106835,7 @@
       }
     }
 
+    @Override
     public getApplicationDeployment_args deepCopy() {
       return new getApplicationDeployment_args(this);
     }
@@ -93779,11 +106845,12 @@
       this.appDeploymentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppDeploymentId() {
       return this.appDeploymentId;
     }
 
-    public getApplicationDeployment_args setAppDeploymentId(java.lang.String appDeploymentId) {
+    public getApplicationDeployment_args setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
       this.appDeploymentId = appDeploymentId;
       return this;
     }
@@ -93803,7 +106870,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_DEPLOYMENT_ID:
         if (value == null) {
@@ -93816,6 +106884,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_DEPLOYMENT_ID:
@@ -93826,6 +106896,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -93840,8 +106911,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeployment_args)
         return this.equals((getApplicationDeployment_args)that);
       return false;
@@ -93884,7 +106953,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+      lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -93897,14 +106966,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -93950,6 +107023,7 @@
     }
 
     private static class getApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_argsStandardScheme getScheme() {
         return new getApplicationDeployment_argsStandardScheme();
       }
@@ -93957,6 +107031,7 @@
 
     private static class getApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -93986,6 +107061,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -94002,6 +107078,7 @@
     }
 
     private static class getApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_argsTupleScheme getScheme() {
         return new getApplicationDeployment_argsTupleScheme();
       }
@@ -94028,6 +107105,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeployment_result implements org.apache.thrift.TBase<getApplicationDeployment_result, getApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeployment_result");
 
@@ -94037,8 +107115,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeployment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeployment_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -94056,6 +107134,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -94080,6 +107159,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -94092,10 +107172,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -94137,6 +107219,7 @@
       }
     }
 
+    @Override
     public getApplicationDeployment_result deepCopy() {
       return new getApplicationDeployment_result(this);
     }
@@ -94147,11 +107230,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getSuccess() {
       return this.success;
     }
 
-    public getApplicationDeployment_result setSuccess(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success) {
+    public getApplicationDeployment_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription success) {
       this.success = success;
       return this;
     }
@@ -94171,11 +107255,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getApplicationDeployment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getApplicationDeployment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -94195,7 +107280,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -94216,6 +107302,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -94229,6 +107317,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -94245,8 +107334,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeployment_result)
         return this.equals((getApplicationDeployment_result)that);
       return false;
@@ -94302,7 +107389,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -94312,7 +107399,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -94325,10 +107412,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -94386,6 +107476,7 @@
     }
 
     private static class getApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_resultStandardScheme getScheme() {
         return new getApplicationDeployment_resultStandardScheme();
       }
@@ -94393,6 +107484,7 @@
 
     private static class getApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -94432,6 +107524,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -94453,6 +107546,7 @@
     }
 
     private static class getApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployment_resultTupleScheme getScheme() {
         return new getApplicationDeployment_resultTupleScheme();
       }
@@ -94501,6 +107595,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationDeployment_args implements org.apache.thrift.TBase<updateApplicationDeployment_args, updateApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationDeployment_args");
 
@@ -94510,8 +107605,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationDeployment_argsTupleSchemeFactory();
 
-    public java.lang.String appDeploymentId; // required
-    public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment; // 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 {
@@ -94529,6 +107624,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_DEPLOYMENT_ID
@@ -94553,6 +107649,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -94565,10 +107662,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -94610,6 +107709,7 @@
       }
     }
 
+    @Override
     public updateApplicationDeployment_args deepCopy() {
       return new updateApplicationDeployment_args(this);
     }
@@ -94620,11 +107720,12 @@
       this.applicationDeployment = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppDeploymentId() {
       return this.appDeploymentId;
     }
 
-    public updateApplicationDeployment_args setAppDeploymentId(java.lang.String appDeploymentId) {
+    public updateApplicationDeployment_args setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
       this.appDeploymentId = appDeploymentId;
       return this;
     }
@@ -94644,11 +107745,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription getApplicationDeployment() {
       return this.applicationDeployment;
     }
 
-    public updateApplicationDeployment_args setApplicationDeployment(org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
+    public updateApplicationDeployment_args setApplicationDeployment(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription applicationDeployment) {
       this.applicationDeployment = applicationDeployment;
       return this;
     }
@@ -94668,7 +107770,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_DEPLOYMENT_ID:
         if (value == null) {
@@ -94689,6 +107792,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_DEPLOYMENT_ID:
@@ -94702,6 +107807,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -94718,8 +107824,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationDeployment_args)
         return this.equals((updateApplicationDeployment_args)that);
       return false;
@@ -94775,7 +107879,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+      lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -94785,7 +107889,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationDeployment()).compareTo(other.isSetApplicationDeployment());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationDeployment(), other.isSetApplicationDeployment());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -94798,14 +107902,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -94865,6 +107973,7 @@
     }
 
     private static class updateApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_argsStandardScheme getScheme() {
         return new updateApplicationDeployment_argsStandardScheme();
       }
@@ -94872,6 +107981,7 @@
 
     private static class updateApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -94910,6 +108020,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -94931,6 +108042,7 @@
     }
 
     private static class updateApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_argsTupleScheme getScheme() {
         return new updateApplicationDeployment_argsTupleScheme();
       }
@@ -94961,6 +108073,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationDeployment_result implements org.apache.thrift.TBase<updateApplicationDeployment_result, updateApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationDeployment_result");
 
@@ -94971,7 +108084,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationDeployment_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -94989,6 +108102,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -95013,6 +108127,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -95025,10 +108140,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -95072,6 +108189,7 @@
       }
     }
 
+    @Override
     public updateApplicationDeployment_result deepCopy() {
       return new updateApplicationDeployment_result(this);
     }
@@ -95106,11 +108224,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateApplicationDeployment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateApplicationDeployment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -95130,7 +108249,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -95151,6 +108271,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -95164,6 +108286,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -95180,8 +108303,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationDeployment_result)
         return this.equals((updateApplicationDeployment_result)that);
       return false;
@@ -95235,7 +108356,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95245,7 +108366,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95258,10 +108379,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -95314,6 +108438,7 @@
     }
 
     private static class updateApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_resultStandardScheme getScheme() {
         return new updateApplicationDeployment_resultStandardScheme();
       }
@@ -95321,6 +108446,7 @@
 
     private static class updateApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -95359,6 +108485,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -95380,6 +108507,7 @@
     }
 
     private static class updateApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationDeployment_resultTupleScheme getScheme() {
         return new updateApplicationDeployment_resultTupleScheme();
       }
@@ -95427,6 +108555,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationDeployment_args implements org.apache.thrift.TBase<deleteApplicationDeployment_args, deleteApplicationDeployment_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationDeployment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationDeployment_args");
 
@@ -95435,7 +108564,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationDeployment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationDeployment_argsTupleSchemeFactory();
 
-    public java.lang.String appDeploymentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId; // 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 {
@@ -95452,6 +108581,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_DEPLOYMENT_ID
@@ -95474,6 +108604,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -95486,10 +108617,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -95524,6 +108657,7 @@
       }
     }
 
+    @Override
     public deleteApplicationDeployment_args deepCopy() {
       return new deleteApplicationDeployment_args(this);
     }
@@ -95533,11 +108667,12 @@
       this.appDeploymentId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppDeploymentId() {
       return this.appDeploymentId;
     }
 
-    public deleteApplicationDeployment_args setAppDeploymentId(java.lang.String appDeploymentId) {
+    public deleteApplicationDeployment_args setAppDeploymentId(@org.apache.thrift.annotation.Nullable java.lang.String appDeploymentId) {
       this.appDeploymentId = appDeploymentId;
       return this;
     }
@@ -95557,7 +108692,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_DEPLOYMENT_ID:
         if (value == null) {
@@ -95570,6 +108706,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_DEPLOYMENT_ID:
@@ -95580,6 +108718,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -95594,8 +108733,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationDeployment_args)
         return this.equals((deleteApplicationDeployment_args)that);
       return false;
@@ -95638,7 +108775,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppDeploymentId()).compareTo(other.isSetAppDeploymentId());
+      lastComparison = java.lang.Boolean.compare(isSetAppDeploymentId(), other.isSetAppDeploymentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -95651,14 +108788,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -95704,6 +108845,7 @@
     }
 
     private static class deleteApplicationDeployment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_argsStandardScheme getScheme() {
         return new deleteApplicationDeployment_argsStandardScheme();
       }
@@ -95711,6 +108853,7 @@
 
     private static class deleteApplicationDeployment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationDeployment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationDeployment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -95740,6 +108883,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationDeployment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -95756,6 +108900,7 @@
     }
 
     private static class deleteApplicationDeployment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_argsTupleScheme getScheme() {
         return new deleteApplicationDeployment_argsTupleScheme();
       }
@@ -95782,6 +108927,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationDeployment_result implements org.apache.thrift.TBase<deleteApplicationDeployment_result, deleteApplicationDeployment_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationDeployment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationDeployment_result");
 
@@ -95792,7 +108938,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationDeployment_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -95810,6 +108956,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -95834,6 +108981,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -95846,10 +108994,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -95893,6 +109043,7 @@
       }
     }
 
+    @Override
     public deleteApplicationDeployment_result deepCopy() {
       return new deleteApplicationDeployment_result(this);
     }
@@ -95927,11 +109078,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteApplicationDeployment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteApplicationDeployment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -95951,7 +109103,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -95972,6 +109125,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -95985,6 +109140,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -96001,8 +109157,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationDeployment_result)
         return this.equals((deleteApplicationDeployment_result)that);
       return false;
@@ -96056,7 +109210,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96066,7 +109220,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96079,10 +109233,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -96135,6 +109292,7 @@
     }
 
     private static class deleteApplicationDeployment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_resultStandardScheme getScheme() {
         return new deleteApplicationDeployment_resultStandardScheme();
       }
@@ -96142,6 +109300,7 @@
 
     private static class deleteApplicationDeployment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationDeployment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationDeployment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -96180,6 +109339,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationDeployment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -96201,6 +109361,7 @@
     }
 
     private static class deleteApplicationDeployment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationDeployment_resultTupleScheme getScheme() {
         return new deleteApplicationDeployment_resultTupleScheme();
       }
@@ -96248,6 +109409,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationDeployments_args implements org.apache.thrift.TBase<getAllApplicationDeployments_args, getAllApplicationDeployments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationDeployments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationDeployments_args");
 
@@ -96256,7 +109418,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationDeployments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationDeployments_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -96273,6 +109435,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -96295,6 +109458,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -96307,10 +109471,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -96345,6 +109511,7 @@
       }
     }
 
+    @Override
     public getAllApplicationDeployments_args deepCopy() {
       return new getAllApplicationDeployments_args(this);
     }
@@ -96354,11 +109521,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllApplicationDeployments_args setGatewayId(java.lang.String gatewayId) {
+    public getAllApplicationDeployments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -96378,7 +109546,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -96391,6 +109560,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -96401,6 +109572,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -96415,8 +109587,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationDeployments_args)
         return this.equals((getAllApplicationDeployments_args)that);
       return false;
@@ -96459,7 +109629,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96472,14 +109642,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -96525,6 +109699,7 @@
     }
 
     private static class getAllApplicationDeployments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_argsStandardScheme getScheme() {
         return new getAllApplicationDeployments_argsStandardScheme();
       }
@@ -96532,6 +109707,7 @@
 
     private static class getAllApplicationDeployments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationDeployments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationDeployments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -96561,6 +109737,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationDeployments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -96577,6 +109754,7 @@
     }
 
     private static class getAllApplicationDeployments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_argsTupleScheme getScheme() {
         return new getAllApplicationDeployments_argsTupleScheme();
       }
@@ -96603,6 +109781,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationDeployments_result implements org.apache.thrift.TBase<getAllApplicationDeployments_result, getAllApplicationDeployments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationDeployments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationDeployments_result");
 
@@ -96612,8 +109791,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationDeployments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationDeployments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -96631,6 +109810,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -96655,6 +109835,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -96667,10 +109848,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -96717,6 +109900,7 @@
       }
     }
 
+    @Override
     public getAllApplicationDeployments_result deepCopy() {
       return new getAllApplicationDeployments_result(this);
     }
@@ -96731,6 +109915,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -96742,11 +109927,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getAllApplicationDeployments_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getAllApplicationDeployments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -96766,11 +109952,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllApplicationDeployments_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllApplicationDeployments_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -96790,7 +109977,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -96811,6 +109999,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -96824,6 +110014,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -96840,8 +110031,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationDeployments_result)
         return this.equals((getAllApplicationDeployments_result)that);
       return false;
@@ -96897,7 +110086,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96907,7 +110096,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -96920,10 +110109,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -96978,6 +110170,7 @@
     }
 
     private static class getAllApplicationDeployments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_resultStandardScheme getScheme() {
         return new getAllApplicationDeployments_resultStandardScheme();
       }
@@ -96985,6 +110178,7 @@
 
     private static class getAllApplicationDeployments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationDeployments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationDeployments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -96998,14 +110192,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list222 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list222.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem223;
-                  for (int _i224 = 0; _i224 < _list222.size; ++_i224)
+                  org.apache.thrift.protocol.TList _list248 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list248.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem249;
+                  for (int _i250 = 0; _i250 < _list248.size; ++_i250)
                   {
-                    _elem223 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-                    _elem223.read(iprot);
-                    struct.success.add(_elem223);
+                    _elem249 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+                    _elem249.read(iprot);
+                    struct.success.add(_elem249);
                   }
                   iprot.readListEnd();
                 }
@@ -97034,6 +110228,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationDeployments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -97042,9 +110237,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter225 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter251 : struct.success)
             {
-              _iter225.write(oprot);
+              _iter251.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -97062,6 +110257,7 @@
     }
 
     private static class getAllApplicationDeployments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationDeployments_resultTupleScheme getScheme() {
         return new getAllApplicationDeployments_resultTupleScheme();
       }
@@ -97083,9 +110279,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter226 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter252 : struct.success)
             {
-              _iter226.write(oprot);
+              _iter252.write(oprot);
             }
           }
         }
@@ -97100,14 +110296,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list227 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list227.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem228;
-            for (int _i229 = 0; _i229 < _list227.size; ++_i229)
+            org.apache.thrift.protocol.TList _list253 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list253.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem254;
+            for (int _i255 = 0; _i255 < _list253.size; ++_i255)
             {
-              _elem228 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-              _elem228.read(iprot);
-              struct.success.add(_elem228);
+              _elem254 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+              _elem254.read(iprot);
+              struct.success.add(_elem254);
             }
           }
           struct.setSuccessIsSet(true);
@@ -97125,6 +110321,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleApplicationDeployments_args implements org.apache.thrift.TBase<getAccessibleApplicationDeployments_args, getAccessibleApplicationDeployments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleApplicationDeployments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleApplicationDeployments_args");
 
@@ -97135,9 +110332,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleApplicationDeployments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleApplicationDeployments_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.util.List<java.lang.String> accessibleAppDeploymentIds; // required
-    public java.util.List<java.lang.String> accessibleComputeResourceIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleAppDeploymentIds; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleComputeResourceIds; // 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 {
@@ -97156,6 +110353,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -97182,6 +110380,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -97194,10 +110393,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -97250,6 +110451,7 @@
       }
     }
 
+    @Override
     public getAccessibleApplicationDeployments_args deepCopy() {
       return new getAccessibleApplicationDeployments_args(this);
     }
@@ -97261,11 +110463,12 @@
       this.accessibleComputeResourceIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAccessibleApplicationDeployments_args setGatewayId(java.lang.String gatewayId) {
+    public getAccessibleApplicationDeployments_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -97289,6 +110492,7 @@
       return (this.accessibleAppDeploymentIds == null) ? 0 : this.accessibleAppDeploymentIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleAppDeploymentIdsIterator() {
       return (this.accessibleAppDeploymentIds == null) ? null : this.accessibleAppDeploymentIds.iterator();
     }
@@ -97300,11 +110504,12 @@
       this.accessibleAppDeploymentIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleAppDeploymentIds() {
       return this.accessibleAppDeploymentIds;
     }
 
-    public getAccessibleApplicationDeployments_args setAccessibleAppDeploymentIds(java.util.List<java.lang.String> accessibleAppDeploymentIds) {
+    public getAccessibleApplicationDeployments_args setAccessibleAppDeploymentIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleAppDeploymentIds) {
       this.accessibleAppDeploymentIds = accessibleAppDeploymentIds;
       return this;
     }
@@ -97328,6 +110533,7 @@
       return (this.accessibleComputeResourceIds == null) ? 0 : this.accessibleComputeResourceIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleComputeResourceIdsIterator() {
       return (this.accessibleComputeResourceIds == null) ? null : this.accessibleComputeResourceIds.iterator();
     }
@@ -97339,11 +110545,12 @@
       this.accessibleComputeResourceIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleComputeResourceIds() {
       return this.accessibleComputeResourceIds;
     }
 
-    public getAccessibleApplicationDeployments_args setAccessibleComputeResourceIds(java.util.List<java.lang.String> accessibleComputeResourceIds) {
+    public getAccessibleApplicationDeployments_args setAccessibleComputeResourceIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleComputeResourceIds) {
       this.accessibleComputeResourceIds = accessibleComputeResourceIds;
       return this;
     }
@@ -97363,7 +110570,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -97392,6 +110600,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -97408,6 +110618,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -97426,8 +110637,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleApplicationDeployments_args)
         return this.equals((getAccessibleApplicationDeployments_args)that);
       return false;
@@ -97496,7 +110705,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -97506,7 +110715,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleAppDeploymentIds()).compareTo(other.isSetAccessibleAppDeploymentIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleAppDeploymentIds(), other.isSetAccessibleAppDeploymentIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -97516,7 +110725,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleComputeResourceIds()).compareTo(other.isSetAccessibleComputeResourceIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleComputeResourceIds(), other.isSetAccessibleComputeResourceIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -97529,14 +110738,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -97604,6 +110817,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_argsStandardScheme getScheme() {
         return new getAccessibleApplicationDeployments_argsStandardScheme();
       }
@@ -97611,6 +110825,7 @@
 
     private static class getAccessibleApplicationDeployments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleApplicationDeployments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleApplicationDeployments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -97632,13 +110847,13 @@
             case 2: // ACCESSIBLE_APP_DEPLOYMENT_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list230 = iprot.readListBegin();
-                  struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list230.size);
-                  java.lang.String _elem231;
-                  for (int _i232 = 0; _i232 < _list230.size; ++_i232)
+                  org.apache.thrift.protocol.TList _list256 = iprot.readListBegin();
+                  struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list256.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem257;
+                  for (int _i258 = 0; _i258 < _list256.size; ++_i258)
                   {
-                    _elem231 = iprot.readString();
-                    struct.accessibleAppDeploymentIds.add(_elem231);
+                    _elem257 = iprot.readString();
+                    struct.accessibleAppDeploymentIds.add(_elem257);
                   }
                   iprot.readListEnd();
                 }
@@ -97650,13 +110865,13 @@
             case 3: // ACCESSIBLE_COMPUTE_RESOURCE_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list233 = iprot.readListBegin();
-                  struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list233.size);
-                  java.lang.String _elem234;
-                  for (int _i235 = 0; _i235 < _list233.size; ++_i235)
+                  org.apache.thrift.protocol.TList _list259 = iprot.readListBegin();
+                  struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list259.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem260;
+                  for (int _i261 = 0; _i261 < _list259.size; ++_i261)
                   {
-                    _elem234 = iprot.readString();
-                    struct.accessibleComputeResourceIds.add(_elem234);
+                    _elem260 = iprot.readString();
+                    struct.accessibleComputeResourceIds.add(_elem260);
                   }
                   iprot.readListEnd();
                 }
@@ -97676,6 +110891,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleApplicationDeployments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -97689,9 +110905,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_APP_DEPLOYMENT_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleAppDeploymentIds.size()));
-            for (java.lang.String _iter236 : struct.accessibleAppDeploymentIds)
+            for (java.lang.String _iter262 : struct.accessibleAppDeploymentIds)
             {
-              oprot.writeString(_iter236);
+              oprot.writeString(_iter262);
             }
             oprot.writeListEnd();
           }
@@ -97701,9 +110917,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_COMPUTE_RESOURCE_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleComputeResourceIds.size()));
-            for (java.lang.String _iter237 : struct.accessibleComputeResourceIds)
+            for (java.lang.String _iter263 : struct.accessibleComputeResourceIds)
             {
-              oprot.writeString(_iter237);
+              oprot.writeString(_iter263);
             }
             oprot.writeListEnd();
           }
@@ -97716,6 +110932,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_argsTupleScheme getScheme() {
         return new getAccessibleApplicationDeployments_argsTupleScheme();
       }
@@ -97729,16 +110946,16 @@
         oprot.writeString(struct.gatewayId);
         {
           oprot.writeI32(struct.accessibleAppDeploymentIds.size());
-          for (java.lang.String _iter238 : struct.accessibleAppDeploymentIds)
+          for (java.lang.String _iter264 : struct.accessibleAppDeploymentIds)
           {
-            oprot.writeString(_iter238);
+            oprot.writeString(_iter264);
           }
         }
         {
           oprot.writeI32(struct.accessibleComputeResourceIds.size());
-          for (java.lang.String _iter239 : struct.accessibleComputeResourceIds)
+          for (java.lang.String _iter265 : struct.accessibleComputeResourceIds)
           {
-            oprot.writeString(_iter239);
+            oprot.writeString(_iter265);
           }
         }
       }
@@ -97749,24 +110966,24 @@
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list240 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list240.size);
-          java.lang.String _elem241;
-          for (int _i242 = 0; _i242 < _list240.size; ++_i242)
+          org.apache.thrift.protocol.TList _list266 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list266.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem267;
+          for (int _i268 = 0; _i268 < _list266.size; ++_i268)
           {
-            _elem241 = iprot.readString();
-            struct.accessibleAppDeploymentIds.add(_elem241);
+            _elem267 = iprot.readString();
+            struct.accessibleAppDeploymentIds.add(_elem267);
           }
         }
         struct.setAccessibleAppDeploymentIdsIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list243 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list243.size);
-          java.lang.String _elem244;
-          for (int _i245 = 0; _i245 < _list243.size; ++_i245)
+          org.apache.thrift.protocol.TList _list269 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list269.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem270;
+          for (int _i271 = 0; _i271 < _list269.size; ++_i271)
           {
-            _elem244 = iprot.readString();
-            struct.accessibleComputeResourceIds.add(_elem244);
+            _elem270 = iprot.readString();
+            struct.accessibleComputeResourceIds.add(_elem270);
           }
         }
         struct.setAccessibleComputeResourceIdsIsSet(true);
@@ -97778,6 +110995,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleApplicationDeployments_result implements org.apache.thrift.TBase<getAccessibleApplicationDeployments_result, getAccessibleApplicationDeployments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleApplicationDeployments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleApplicationDeployments_result");
 
@@ -97787,8 +111005,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleApplicationDeployments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleApplicationDeployments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -97806,6 +111024,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -97830,6 +111049,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -97842,10 +111062,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -97892,6 +111114,7 @@
       }
     }
 
+    @Override
     public getAccessibleApplicationDeployments_result deepCopy() {
       return new getAccessibleApplicationDeployments_result(this);
     }
@@ -97906,6 +111129,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -97917,11 +111141,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getAccessibleApplicationDeployments_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getAccessibleApplicationDeployments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -97941,11 +111166,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAccessibleApplicationDeployments_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAccessibleApplicationDeployments_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -97965,7 +111191,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -97986,6 +111213,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -97999,6 +111228,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -98015,8 +111245,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleApplicationDeployments_result)
         return this.equals((getAccessibleApplicationDeployments_result)that);
       return false;
@@ -98072,7 +111300,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98082,7 +111310,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98095,10 +111323,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -98153,6 +111384,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_resultStandardScheme getScheme() {
         return new getAccessibleApplicationDeployments_resultStandardScheme();
       }
@@ -98160,6 +111392,7 @@
 
     private static class getAccessibleApplicationDeployments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleApplicationDeployments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleApplicationDeployments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -98173,14 +111406,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list246 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list246.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem247;
-                  for (int _i248 = 0; _i248 < _list246.size; ++_i248)
+                  org.apache.thrift.protocol.TList _list272 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list272.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem273;
+                  for (int _i274 = 0; _i274 < _list272.size; ++_i274)
                   {
-                    _elem247 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-                    _elem247.read(iprot);
-                    struct.success.add(_elem247);
+                    _elem273 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+                    _elem273.read(iprot);
+                    struct.success.add(_elem273);
                   }
                   iprot.readListEnd();
                 }
@@ -98209,6 +111442,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleApplicationDeployments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -98217,9 +111451,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter249 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter275 : struct.success)
             {
-              _iter249.write(oprot);
+              _iter275.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -98237,6 +111471,7 @@
     }
 
     private static class getAccessibleApplicationDeployments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeployments_resultTupleScheme getScheme() {
         return new getAccessibleApplicationDeployments_resultTupleScheme();
       }
@@ -98258,9 +111493,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter250 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter276 : struct.success)
             {
-              _iter250.write(oprot);
+              _iter276.write(oprot);
             }
           }
         }
@@ -98275,14 +111510,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list251 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list251.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem252;
-            for (int _i253 = 0; _i253 < _list251.size; ++_i253)
+            org.apache.thrift.protocol.TList _list277 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list277.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem278;
+            for (int _i279 = 0; _i279 < _list277.size; ++_i279)
             {
-              _elem252 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-              _elem252.read(iprot);
-              struct.success.add(_elem252);
+              _elem278 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+              _elem278.read(iprot);
+              struct.success.add(_elem278);
             }
           }
           struct.setSuccessIsSet(true);
@@ -98300,6 +111535,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleApplicationDeploymentsForAppModule_args implements org.apache.thrift.TBase<getAccessibleApplicationDeploymentsForAppModule_args, getAccessibleApplicationDeploymentsForAppModule_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleApplicationDeploymentsForAppModule_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleApplicationDeploymentsForAppModule_args");
 
@@ -98311,10 +111547,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleApplicationDeploymentsForAppModule_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleApplicationDeploymentsForAppModule_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String appModuleId; // required
-    public java.util.List<java.lang.String> accessibleAppDeploymentIds; // required
-    public java.util.List<java.lang.String> accessibleComputeResourceIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleAppDeploymentIds; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleComputeResourceIds; // 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 {
@@ -98334,6 +111570,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -98362,6 +111599,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -98374,10 +111612,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -98437,6 +111677,7 @@
       }
     }
 
+    @Override
     public getAccessibleApplicationDeploymentsForAppModule_args deepCopy() {
       return new getAccessibleApplicationDeploymentsForAppModule_args(this);
     }
@@ -98449,11 +111690,12 @@
       this.accessibleComputeResourceIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAccessibleApplicationDeploymentsForAppModule_args setGatewayId(java.lang.String gatewayId) {
+    public getAccessibleApplicationDeploymentsForAppModule_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -98473,11 +111715,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getAccessibleApplicationDeploymentsForAppModule_args setAppModuleId(java.lang.String appModuleId) {
+    public getAccessibleApplicationDeploymentsForAppModule_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -98501,6 +111744,7 @@
       return (this.accessibleAppDeploymentIds == null) ? 0 : this.accessibleAppDeploymentIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleAppDeploymentIdsIterator() {
       return (this.accessibleAppDeploymentIds == null) ? null : this.accessibleAppDeploymentIds.iterator();
     }
@@ -98512,11 +111756,12 @@
       this.accessibleAppDeploymentIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleAppDeploymentIds() {
       return this.accessibleAppDeploymentIds;
     }
 
-    public getAccessibleApplicationDeploymentsForAppModule_args setAccessibleAppDeploymentIds(java.util.List<java.lang.String> accessibleAppDeploymentIds) {
+    public getAccessibleApplicationDeploymentsForAppModule_args setAccessibleAppDeploymentIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleAppDeploymentIds) {
       this.accessibleAppDeploymentIds = accessibleAppDeploymentIds;
       return this;
     }
@@ -98540,6 +111785,7 @@
       return (this.accessibleComputeResourceIds == null) ? 0 : this.accessibleComputeResourceIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleComputeResourceIdsIterator() {
       return (this.accessibleComputeResourceIds == null) ? null : this.accessibleComputeResourceIds.iterator();
     }
@@ -98551,11 +111797,12 @@
       this.accessibleComputeResourceIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleComputeResourceIds() {
       return this.accessibleComputeResourceIds;
     }
 
-    public getAccessibleApplicationDeploymentsForAppModule_args setAccessibleComputeResourceIds(java.util.List<java.lang.String> accessibleComputeResourceIds) {
+    public getAccessibleApplicationDeploymentsForAppModule_args setAccessibleComputeResourceIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleComputeResourceIds) {
       this.accessibleComputeResourceIds = accessibleComputeResourceIds;
       return this;
     }
@@ -98575,7 +111822,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -98612,6 +111860,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -98631,6 +111881,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -98651,8 +111902,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleApplicationDeploymentsForAppModule_args)
         return this.equals((getAccessibleApplicationDeploymentsForAppModule_args)that);
       return false;
@@ -98734,7 +111983,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98744,7 +111993,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98754,7 +112003,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleAppDeploymentIds()).compareTo(other.isSetAccessibleAppDeploymentIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleAppDeploymentIds(), other.isSetAccessibleAppDeploymentIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98764,7 +112013,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleComputeResourceIds()).compareTo(other.isSetAccessibleComputeResourceIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleComputeResourceIds(), other.isSetAccessibleComputeResourceIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -98777,14 +112026,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -98863,6 +112116,7 @@
     }
 
     private static class getAccessibleApplicationDeploymentsForAppModule_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_argsStandardScheme getScheme() {
         return new getAccessibleApplicationDeploymentsForAppModule_argsStandardScheme();
       }
@@ -98870,6 +112124,7 @@
 
     private static class getAccessibleApplicationDeploymentsForAppModule_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleApplicationDeploymentsForAppModule_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleApplicationDeploymentsForAppModule_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -98899,13 +112154,13 @@
             case 3: // ACCESSIBLE_APP_DEPLOYMENT_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list254 = iprot.readListBegin();
-                  struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list254.size);
-                  java.lang.String _elem255;
-                  for (int _i256 = 0; _i256 < _list254.size; ++_i256)
+                  org.apache.thrift.protocol.TList _list280 = iprot.readListBegin();
+                  struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list280.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem281;
+                  for (int _i282 = 0; _i282 < _list280.size; ++_i282)
                   {
-                    _elem255 = iprot.readString();
-                    struct.accessibleAppDeploymentIds.add(_elem255);
+                    _elem281 = iprot.readString();
+                    struct.accessibleAppDeploymentIds.add(_elem281);
                   }
                   iprot.readListEnd();
                 }
@@ -98917,13 +112172,13 @@
             case 4: // ACCESSIBLE_COMPUTE_RESOURCE_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list257 = iprot.readListBegin();
-                  struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list257.size);
-                  java.lang.String _elem258;
-                  for (int _i259 = 0; _i259 < _list257.size; ++_i259)
+                  org.apache.thrift.protocol.TList _list283 = iprot.readListBegin();
+                  struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list283.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem284;
+                  for (int _i285 = 0; _i285 < _list283.size; ++_i285)
                   {
-                    _elem258 = iprot.readString();
-                    struct.accessibleComputeResourceIds.add(_elem258);
+                    _elem284 = iprot.readString();
+                    struct.accessibleComputeResourceIds.add(_elem284);
                   }
                   iprot.readListEnd();
                 }
@@ -98943,6 +112198,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleApplicationDeploymentsForAppModule_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -98961,9 +112217,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_APP_DEPLOYMENT_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleAppDeploymentIds.size()));
-            for (java.lang.String _iter260 : struct.accessibleAppDeploymentIds)
+            for (java.lang.String _iter286 : struct.accessibleAppDeploymentIds)
             {
-              oprot.writeString(_iter260);
+              oprot.writeString(_iter286);
             }
             oprot.writeListEnd();
           }
@@ -98973,9 +112229,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_COMPUTE_RESOURCE_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleComputeResourceIds.size()));
-            for (java.lang.String _iter261 : struct.accessibleComputeResourceIds)
+            for (java.lang.String _iter287 : struct.accessibleComputeResourceIds)
             {
-              oprot.writeString(_iter261);
+              oprot.writeString(_iter287);
             }
             oprot.writeListEnd();
           }
@@ -98988,6 +112244,7 @@
     }
 
     private static class getAccessibleApplicationDeploymentsForAppModule_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_argsTupleScheme getScheme() {
         return new getAccessibleApplicationDeploymentsForAppModule_argsTupleScheme();
       }
@@ -99002,16 +112259,16 @@
         oprot.writeString(struct.appModuleId);
         {
           oprot.writeI32(struct.accessibleAppDeploymentIds.size());
-          for (java.lang.String _iter262 : struct.accessibleAppDeploymentIds)
+          for (java.lang.String _iter288 : struct.accessibleAppDeploymentIds)
           {
-            oprot.writeString(_iter262);
+            oprot.writeString(_iter288);
           }
         }
         {
           oprot.writeI32(struct.accessibleComputeResourceIds.size());
-          for (java.lang.String _iter263 : struct.accessibleComputeResourceIds)
+          for (java.lang.String _iter289 : struct.accessibleComputeResourceIds)
           {
-            oprot.writeString(_iter263);
+            oprot.writeString(_iter289);
           }
         }
       }
@@ -99024,24 +112281,24 @@
         struct.appModuleId = iprot.readString();
         struct.setAppModuleIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list264 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list264.size);
-          java.lang.String _elem265;
-          for (int _i266 = 0; _i266 < _list264.size; ++_i266)
+          org.apache.thrift.protocol.TList _list290 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleAppDeploymentIds = new java.util.ArrayList<java.lang.String>(_list290.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem291;
+          for (int _i292 = 0; _i292 < _list290.size; ++_i292)
           {
-            _elem265 = iprot.readString();
-            struct.accessibleAppDeploymentIds.add(_elem265);
+            _elem291 = iprot.readString();
+            struct.accessibleAppDeploymentIds.add(_elem291);
           }
         }
         struct.setAccessibleAppDeploymentIdsIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list267 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list267.size);
-          java.lang.String _elem268;
-          for (int _i269 = 0; _i269 < _list267.size; ++_i269)
+          org.apache.thrift.protocol.TList _list293 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleComputeResourceIds = new java.util.ArrayList<java.lang.String>(_list293.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem294;
+          for (int _i295 = 0; _i295 < _list293.size; ++_i295)
           {
-            _elem268 = iprot.readString();
-            struct.accessibleComputeResourceIds.add(_elem268);
+            _elem294 = iprot.readString();
+            struct.accessibleComputeResourceIds.add(_elem294);
           }
         }
         struct.setAccessibleComputeResourceIdsIsSet(true);
@@ -99053,6 +112310,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAccessibleApplicationDeploymentsForAppModule_result implements org.apache.thrift.TBase<getAccessibleApplicationDeploymentsForAppModule_result, getAccessibleApplicationDeploymentsForAppModule_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAccessibleApplicationDeploymentsForAppModule_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAccessibleApplicationDeploymentsForAppModule_result");
 
@@ -99062,8 +112320,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAccessibleApplicationDeploymentsForAppModule_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAccessibleApplicationDeploymentsForAppModule_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -99081,6 +112339,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -99105,6 +112364,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -99117,10 +112377,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -99167,6 +112429,7 @@
       }
     }
 
+    @Override
     public getAccessibleApplicationDeploymentsForAppModule_result deepCopy() {
       return new getAccessibleApplicationDeploymentsForAppModule_result(this);
     }
@@ -99181,6 +112444,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -99192,11 +112456,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getAccessibleApplicationDeploymentsForAppModule_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getAccessibleApplicationDeploymentsForAppModule_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -99216,11 +112481,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAccessibleApplicationDeploymentsForAppModule_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAccessibleApplicationDeploymentsForAppModule_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -99240,7 +112506,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -99261,6 +112528,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -99274,6 +112543,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -99290,8 +112560,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAccessibleApplicationDeploymentsForAppModule_result)
         return this.equals((getAccessibleApplicationDeploymentsForAppModule_result)that);
       return false;
@@ -99347,7 +112615,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99357,7 +112625,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99370,10 +112638,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -99428,6 +112699,7 @@
     }
 
     private static class getAccessibleApplicationDeploymentsForAppModule_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_resultStandardScheme getScheme() {
         return new getAccessibleApplicationDeploymentsForAppModule_resultStandardScheme();
       }
@@ -99435,6 +112707,7 @@
 
     private static class getAccessibleApplicationDeploymentsForAppModule_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAccessibleApplicationDeploymentsForAppModule_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAccessibleApplicationDeploymentsForAppModule_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -99448,14 +112721,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list270 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list270.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem271;
-                  for (int _i272 = 0; _i272 < _list270.size; ++_i272)
+                  org.apache.thrift.protocol.TList _list296 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list296.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem297;
+                  for (int _i298 = 0; _i298 < _list296.size; ++_i298)
                   {
-                    _elem271 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-                    _elem271.read(iprot);
-                    struct.success.add(_elem271);
+                    _elem297 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+                    _elem297.read(iprot);
+                    struct.success.add(_elem297);
                   }
                   iprot.readListEnd();
                 }
@@ -99484,6 +112757,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAccessibleApplicationDeploymentsForAppModule_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -99492,9 +112766,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter273 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter299 : struct.success)
             {
-              _iter273.write(oprot);
+              _iter299.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -99512,6 +112786,7 @@
     }
 
     private static class getAccessibleApplicationDeploymentsForAppModule_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAccessibleApplicationDeploymentsForAppModule_resultTupleScheme getScheme() {
         return new getAccessibleApplicationDeploymentsForAppModule_resultTupleScheme();
       }
@@ -99533,9 +112808,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter274 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter300 : struct.success)
             {
-              _iter274.write(oprot);
+              _iter300.write(oprot);
             }
           }
         }
@@ -99550,14 +112825,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list275 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list275.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem276;
-            for (int _i277 = 0; _i277 < _list275.size; ++_i277)
+            org.apache.thrift.protocol.TList _list301 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list301.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem302;
+            for (int _i303 = 0; _i303 < _list301.size; ++_i303)
             {
-              _elem276 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-              _elem276.read(iprot);
-              struct.success.add(_elem276);
+              _elem302 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+              _elem302.read(iprot);
+              struct.success.add(_elem302);
             }
           }
           struct.setSuccessIsSet(true);
@@ -99575,6 +112850,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAppModuleDeployedResources_args implements org.apache.thrift.TBase<getAppModuleDeployedResources_args, getAppModuleDeployedResources_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAppModuleDeployedResources_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAppModuleDeployedResources_args");
 
@@ -99583,7 +112859,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAppModuleDeployedResources_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAppModuleDeployedResources_argsTupleSchemeFactory();
 
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -99600,6 +112876,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_MODULE_ID
@@ -99622,6 +112899,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -99634,10 +112912,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -99672,6 +112952,7 @@
       }
     }
 
+    @Override
     public getAppModuleDeployedResources_args deepCopy() {
       return new getAppModuleDeployedResources_args(this);
     }
@@ -99681,11 +112962,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getAppModuleDeployedResources_args setAppModuleId(java.lang.String appModuleId) {
+    public getAppModuleDeployedResources_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -99705,7 +112987,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_MODULE_ID:
         if (value == null) {
@@ -99718,6 +113001,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_MODULE_ID:
@@ -99728,6 +113013,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -99742,8 +113028,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAppModuleDeployedResources_args)
         return this.equals((getAppModuleDeployedResources_args)that);
       return false;
@@ -99786,7 +113070,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -99799,14 +113083,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -99852,6 +113140,7 @@
     }
 
     private static class getAppModuleDeployedResources_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_argsStandardScheme getScheme() {
         return new getAppModuleDeployedResources_argsStandardScheme();
       }
@@ -99859,6 +113148,7 @@
 
     private static class getAppModuleDeployedResources_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAppModuleDeployedResources_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAppModuleDeployedResources_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -99888,6 +113178,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAppModuleDeployedResources_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -99904,6 +113195,7 @@
     }
 
     private static class getAppModuleDeployedResources_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_argsTupleScheme getScheme() {
         return new getAppModuleDeployedResources_argsTupleScheme();
       }
@@ -99930,6 +113222,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAppModuleDeployedResources_result implements org.apache.thrift.TBase<getAppModuleDeployedResources_result, getAppModuleDeployedResources_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAppModuleDeployedResources_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAppModuleDeployedResources_result");
 
@@ -99939,8 +113232,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAppModuleDeployedResources_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAppModuleDeployedResources_resultTupleSchemeFactory();
 
-    public java.util.List<java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -99958,6 +113251,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -99982,6 +113276,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -99994,10 +113289,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -100041,6 +113338,7 @@
       }
     }
 
+    @Override
     public getAppModuleDeployedResources_result deepCopy() {
       return new getAppModuleDeployedResources_result(this);
     }
@@ -100055,6 +113353,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -100066,11 +113365,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAppModuleDeployedResources_result setSuccess(java.util.List<java.lang.String> success) {
+    public getAppModuleDeployedResources_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -100090,11 +113390,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAppModuleDeployedResources_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAppModuleDeployedResources_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -100114,7 +113415,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -100135,6 +113437,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -100148,6 +113452,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -100164,8 +113469,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAppModuleDeployedResources_result)
         return this.equals((getAppModuleDeployedResources_result)that);
       return false;
@@ -100221,7 +113524,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100231,7 +113534,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100244,10 +113547,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -100302,6 +113608,7 @@
     }
 
     private static class getAppModuleDeployedResources_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_resultStandardScheme getScheme() {
         return new getAppModuleDeployedResources_resultStandardScheme();
       }
@@ -100309,6 +113616,7 @@
 
     private static class getAppModuleDeployedResources_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAppModuleDeployedResources_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAppModuleDeployedResources_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -100322,13 +113630,13 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list278 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<java.lang.String>(_list278.size);
-                  java.lang.String _elem279;
-                  for (int _i280 = 0; _i280 < _list278.size; ++_i280)
+                  org.apache.thrift.protocol.TList _list304 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<java.lang.String>(_list304.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem305;
+                  for (int _i306 = 0; _i306 < _list304.size; ++_i306)
                   {
-                    _elem279 = iprot.readString();
-                    struct.success.add(_elem279);
+                    _elem305 = iprot.readString();
+                    struct.success.add(_elem305);
                   }
                   iprot.readListEnd();
                 }
@@ -100357,6 +113665,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAppModuleDeployedResources_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -100365,9 +113674,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (java.lang.String _iter281 : struct.success)
+            for (java.lang.String _iter307 : struct.success)
             {
-              oprot.writeString(_iter281);
+              oprot.writeString(_iter307);
             }
             oprot.writeListEnd();
           }
@@ -100385,6 +113694,7 @@
     }
 
     private static class getAppModuleDeployedResources_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAppModuleDeployedResources_resultTupleScheme getScheme() {
         return new getAppModuleDeployedResources_resultTupleScheme();
       }
@@ -100406,9 +113716,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.lang.String _iter282 : struct.success)
+            for (java.lang.String _iter308 : struct.success)
             {
-              oprot.writeString(_iter282);
+              oprot.writeString(_iter308);
             }
           }
         }
@@ -100423,13 +113733,13 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list283 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new java.util.ArrayList<java.lang.String>(_list283.size);
-            java.lang.String _elem284;
-            for (int _i285 = 0; _i285 < _list283.size; ++_i285)
+            org.apache.thrift.protocol.TList _list309 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+            struct.success = new java.util.ArrayList<java.lang.String>(_list309.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _elem310;
+            for (int _i311 = 0; _i311 < _list309.size; ++_i311)
             {
-              _elem284 = iprot.readString();
-              struct.success.add(_elem284);
+              _elem310 = iprot.readString();
+              struct.success.add(_elem310);
             }
           }
           struct.setSuccessIsSet(true);
@@ -100447,6 +113757,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeployments_args implements org.apache.thrift.TBase<getApplicationDeployments_args, getApplicationDeployments_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeployments_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeployments_args");
 
@@ -100455,7 +113766,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeployments_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeployments_argsTupleSchemeFactory();
 
-    public java.lang.String appModuleId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appModuleId; // 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 {
@@ -100472,6 +113783,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_MODULE_ID
@@ -100494,6 +113806,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -100506,10 +113819,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -100544,6 +113859,7 @@
       }
     }
 
+    @Override
     public getApplicationDeployments_args deepCopy() {
       return new getApplicationDeployments_args(this);
     }
@@ -100553,11 +113869,12 @@
       this.appModuleId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppModuleId() {
       return this.appModuleId;
     }
 
-    public getApplicationDeployments_args setAppModuleId(java.lang.String appModuleId) {
+    public getApplicationDeployments_args setAppModuleId(@org.apache.thrift.annotation.Nullable java.lang.String appModuleId) {
       this.appModuleId = appModuleId;
       return this;
     }
@@ -100577,7 +113894,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_MODULE_ID:
         if (value == null) {
@@ -100590,6 +113908,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_MODULE_ID:
@@ -100600,6 +113920,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -100614,8 +113935,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeployments_args)
         return this.equals((getApplicationDeployments_args)that);
       return false;
@@ -100658,7 +113977,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppModuleId()).compareTo(other.isSetAppModuleId());
+      lastComparison = java.lang.Boolean.compare(isSetAppModuleId(), other.isSetAppModuleId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -100671,14 +113990,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -100724,6 +114047,7 @@
     }
 
     private static class getApplicationDeployments_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployments_argsStandardScheme getScheme() {
         return new getApplicationDeployments_argsStandardScheme();
       }
@@ -100731,6 +114055,7 @@
 
     private static class getApplicationDeployments_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeployments_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeployments_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -100760,6 +114085,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeployments_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -100776,6 +114102,7 @@
     }
 
     private static class getApplicationDeployments_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployments_argsTupleScheme getScheme() {
         return new getApplicationDeployments_argsTupleScheme();
       }
@@ -100802,6 +114129,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationDeployments_result implements org.apache.thrift.TBase<getApplicationDeployments_result, getApplicationDeployments_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationDeployments_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationDeployments_result");
 
@@ -100811,8 +114139,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationDeployments_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationDeployments_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -100830,6 +114158,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -100854,6 +114183,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -100866,10 +114196,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -100916,6 +114248,7 @@
       }
     }
 
+    @Override
     public getApplicationDeployments_result deepCopy() {
       return new getApplicationDeployments_result(this);
     }
@@ -100930,6 +114263,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -100941,11 +114275,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> getSuccess() {
       return this.success;
     }
 
-    public getApplicationDeployments_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
+    public getApplicationDeployments_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription> success) {
       this.success = success;
       return this;
     }
@@ -100965,11 +114300,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getApplicationDeployments_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getApplicationDeployments_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -100989,7 +114325,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -101010,6 +114347,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -101023,6 +114362,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -101039,8 +114379,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationDeployments_result)
         return this.equals((getApplicationDeployments_result)that);
       return false;
@@ -101096,7 +114434,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101106,7 +114444,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101119,10 +114457,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -101177,6 +114518,7 @@
     }
 
     private static class getApplicationDeployments_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployments_resultStandardScheme getScheme() {
         return new getApplicationDeployments_resultStandardScheme();
       }
@@ -101184,6 +114526,7 @@
 
     private static class getApplicationDeployments_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationDeployments_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationDeployments_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -101197,14 +114540,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list286 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list286.size);
-                  org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem287;
-                  for (int _i288 = 0; _i288 < _list286.size; ++_i288)
+                  org.apache.thrift.protocol.TList _list312 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list312.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem313;
+                  for (int _i314 = 0; _i314 < _list312.size; ++_i314)
                   {
-                    _elem287 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-                    _elem287.read(iprot);
-                    struct.success.add(_elem287);
+                    _elem313 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+                    _elem313.read(iprot);
+                    struct.success.add(_elem313);
                   }
                   iprot.readListEnd();
                 }
@@ -101233,6 +114576,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationDeployments_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -101241,9 +114585,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter289 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter315 : struct.success)
             {
-              _iter289.write(oprot);
+              _iter315.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -101261,6 +114605,7 @@
     }
 
     private static class getApplicationDeployments_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationDeployments_resultTupleScheme getScheme() {
         return new getApplicationDeployments_resultTupleScheme();
       }
@@ -101282,9 +114627,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter290 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _iter316 : struct.success)
             {
-              _iter290.write(oprot);
+              _iter316.write(oprot);
             }
           }
         }
@@ -101299,14 +114644,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list291 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list291.size);
-            org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem292;
-            for (int _i293 = 0; _i293 < _list291.size; ++_i293)
+            org.apache.thrift.protocol.TList _list317 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription>(_list317.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription _elem318;
+            for (int _i319 = 0; _i319 < _list317.size; ++_i319)
             {
-              _elem292 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
-              _elem292.read(iprot);
-              struct.success.add(_elem292);
+              _elem318 = new org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription();
+              _elem318.read(iprot);
+              struct.success.add(_elem318);
             }
           }
           struct.setSuccessIsSet(true);
@@ -101324,6 +114669,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationInterface_args implements org.apache.thrift.TBase<registerApplicationInterface_args, registerApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationInterface_args");
 
@@ -101333,8 +114679,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationInterface_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // 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 {
@@ -101352,6 +114698,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -101376,6 +114723,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -101388,10 +114736,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -101433,6 +114783,7 @@
       }
     }
 
+    @Override
     public registerApplicationInterface_args deepCopy() {
       return new registerApplicationInterface_args(this);
     }
@@ -101443,11 +114794,12 @@
       this.applicationInterface = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public registerApplicationInterface_args setGatewayId(java.lang.String gatewayId) {
+    public registerApplicationInterface_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -101467,11 +114819,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface() {
       return this.applicationInterface;
     }
 
-    public registerApplicationInterface_args setApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
+    public registerApplicationInterface_args setApplicationInterface(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
       this.applicationInterface = applicationInterface;
       return this;
     }
@@ -101491,7 +114844,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -101512,6 +114866,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -101525,6 +114881,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -101541,8 +114898,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationInterface_args)
         return this.equals((registerApplicationInterface_args)that);
       return false;
@@ -101598,7 +114953,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101608,7 +114963,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterface()).compareTo(other.isSetApplicationInterface());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationInterface(), other.isSetApplicationInterface());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -101621,14 +114976,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -101688,6 +115047,7 @@
     }
 
     private static class registerApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_argsStandardScheme getScheme() {
         return new registerApplicationInterface_argsStandardScheme();
       }
@@ -101695,6 +115055,7 @@
 
     private static class registerApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -101733,6 +115094,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -101754,6 +115116,7 @@
     }
 
     private static class registerApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_argsTupleScheme getScheme() {
         return new registerApplicationInterface_argsTupleScheme();
       }
@@ -101784,6 +115147,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerApplicationInterface_result implements org.apache.thrift.TBase<registerApplicationInterface_result, registerApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerApplicationInterface_result");
 
@@ -101793,8 +115157,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerApplicationInterface_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerApplicationInterface_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -101812,6 +115176,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -101836,6 +115201,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -101848,10 +115214,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -101893,6 +115261,7 @@
       }
     }
 
+    @Override
     public registerApplicationInterface_result deepCopy() {
       return new registerApplicationInterface_result(this);
     }
@@ -101903,11 +115272,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerApplicationInterface_result setSuccess(java.lang.String success) {
+    public registerApplicationInterface_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -101927,11 +115297,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerApplicationInterface_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerApplicationInterface_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -101951,7 +115322,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -101972,6 +115344,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -101985,6 +115359,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -102001,8 +115376,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerApplicationInterface_result)
         return this.equals((registerApplicationInterface_result)that);
       return false;
@@ -102058,7 +115431,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102068,7 +115441,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102081,10 +115454,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -102139,6 +115515,7 @@
     }
 
     private static class registerApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_resultStandardScheme getScheme() {
         return new registerApplicationInterface_resultStandardScheme();
       }
@@ -102146,6 +115523,7 @@
 
     private static class registerApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -102184,6 +115562,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -102205,6 +115584,7 @@
     }
 
     private static class registerApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerApplicationInterface_resultTupleScheme getScheme() {
         return new registerApplicationInterface_resultTupleScheme();
       }
@@ -102252,6 +115632,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInterface_args implements org.apache.thrift.TBase<getApplicationInterface_args, getApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInterface_args");
 
@@ -102260,7 +115641,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInterface_argsTupleSchemeFactory();
 
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -102277,6 +115658,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_INTERFACE_ID
@@ -102299,6 +115681,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -102311,10 +115694,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -102349,6 +115734,7 @@
       }
     }
 
+    @Override
     public getApplicationInterface_args deepCopy() {
       return new getApplicationInterface_args(this);
     }
@@ -102358,11 +115744,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getApplicationInterface_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getApplicationInterface_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -102382,7 +115769,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_INTERFACE_ID:
         if (value == null) {
@@ -102395,6 +115783,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_INTERFACE_ID:
@@ -102405,6 +115795,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -102419,8 +115810,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInterface_args)
         return this.equals((getApplicationInterface_args)that);
       return false;
@@ -102463,7 +115852,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102476,14 +115865,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -102529,6 +115922,7 @@
     }
 
     private static class getApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_argsStandardScheme getScheme() {
         return new getApplicationInterface_argsStandardScheme();
       }
@@ -102536,6 +115930,7 @@
 
     private static class getApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -102565,6 +115960,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -102581,6 +115977,7 @@
     }
 
     private static class getApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_argsTupleScheme getScheme() {
         return new getApplicationInterface_argsTupleScheme();
       }
@@ -102607,6 +116004,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInterface_result implements org.apache.thrift.TBase<getApplicationInterface_result, getApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInterface_result");
 
@@ -102616,8 +116014,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInterface_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInterface_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -102635,6 +116033,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -102659,6 +116058,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -102671,10 +116071,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -102716,6 +116118,7 @@
       }
     }
 
+    @Override
     public getApplicationInterface_result deepCopy() {
       return new getApplicationInterface_result(this);
     }
@@ -102726,11 +116129,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getSuccess() {
       return this.success;
     }
 
-    public getApplicationInterface_result setSuccess(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success) {
+    public getApplicationInterface_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription success) {
       this.success = success;
       return this;
     }
@@ -102750,11 +116154,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getApplicationInterface_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getApplicationInterface_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -102774,7 +116179,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -102795,6 +116201,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -102808,6 +116216,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -102824,8 +116233,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInterface_result)
         return this.equals((getApplicationInterface_result)that);
       return false;
@@ -102881,7 +116288,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102891,7 +116298,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -102904,10 +116311,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -102965,6 +116375,7 @@
     }
 
     private static class getApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_resultStandardScheme getScheme() {
         return new getApplicationInterface_resultStandardScheme();
       }
@@ -102972,6 +116383,7 @@
 
     private static class getApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -103011,6 +116423,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -103032,6 +116445,7 @@
     }
 
     private static class getApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInterface_resultTupleScheme getScheme() {
         return new getApplicationInterface_resultTupleScheme();
       }
@@ -103080,6 +116494,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationInterface_args implements org.apache.thrift.TBase<updateApplicationInterface_args, updateApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationInterface_args");
 
@@ -103089,8 +116504,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationInterface_argsTupleSchemeFactory();
 
-    public java.lang.String appInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface; // 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 {
@@ -103108,6 +116523,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_INTERFACE_ID
@@ -103132,6 +116548,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -103144,10 +116561,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -103189,6 +116608,7 @@
       }
     }
 
+    @Override
     public updateApplicationInterface_args deepCopy() {
       return new updateApplicationInterface_args(this);
     }
@@ -103199,11 +116619,12 @@
       this.applicationInterface = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public updateApplicationInterface_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public updateApplicationInterface_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -103223,11 +116644,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription getApplicationInterface() {
       return this.applicationInterface;
     }
 
-    public updateApplicationInterface_args setApplicationInterface(org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
+    public updateApplicationInterface_args setApplicationInterface(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription applicationInterface) {
       this.applicationInterface = applicationInterface;
       return this;
     }
@@ -103247,7 +116669,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_INTERFACE_ID:
         if (value == null) {
@@ -103268,6 +116691,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_INTERFACE_ID:
@@ -103281,6 +116706,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -103297,8 +116723,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationInterface_args)
         return this.equals((updateApplicationInterface_args)that);
       return false;
@@ -103354,7 +116778,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103364,7 +116788,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetApplicationInterface()).compareTo(other.isSetApplicationInterface());
+      lastComparison = java.lang.Boolean.compare(isSetApplicationInterface(), other.isSetApplicationInterface());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103377,14 +116801,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -103444,6 +116872,7 @@
     }
 
     private static class updateApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_argsStandardScheme getScheme() {
         return new updateApplicationInterface_argsStandardScheme();
       }
@@ -103451,6 +116880,7 @@
 
     private static class updateApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -103489,6 +116919,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -103510,6 +116941,7 @@
     }
 
     private static class updateApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_argsTupleScheme getScheme() {
         return new updateApplicationInterface_argsTupleScheme();
       }
@@ -103540,6 +116972,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateApplicationInterface_result implements org.apache.thrift.TBase<updateApplicationInterface_result, updateApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateApplicationInterface_result");
 
@@ -103550,7 +116983,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateApplicationInterface_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -103568,6 +117001,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -103592,6 +117026,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -103604,10 +117039,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -103651,6 +117088,7 @@
       }
     }
 
+    @Override
     public updateApplicationInterface_result deepCopy() {
       return new updateApplicationInterface_result(this);
     }
@@ -103685,11 +117123,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateApplicationInterface_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateApplicationInterface_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -103709,7 +117148,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -103730,6 +117170,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -103743,6 +117185,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -103759,8 +117202,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateApplicationInterface_result)
         return this.equals((updateApplicationInterface_result)that);
       return false;
@@ -103814,7 +117255,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103824,7 +117265,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -103837,10 +117278,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -103893,6 +117337,7 @@
     }
 
     private static class updateApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_resultStandardScheme getScheme() {
         return new updateApplicationInterface_resultStandardScheme();
       }
@@ -103900,6 +117345,7 @@
 
     private static class updateApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -103938,6 +117384,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -103959,6 +117406,7 @@
     }
 
     private static class updateApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateApplicationInterface_resultTupleScheme getScheme() {
         return new updateApplicationInterface_resultTupleScheme();
       }
@@ -104006,6 +117454,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationInterface_args implements org.apache.thrift.TBase<deleteApplicationInterface_args, deleteApplicationInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationInterface_args");
 
@@ -104014,7 +117463,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteApplicationInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationInterface_argsTupleSchemeFactory();
 
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -104031,6 +117480,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_INTERFACE_ID
@@ -104053,6 +117503,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -104065,10 +117516,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -104103,6 +117556,7 @@
       }
     }
 
+    @Override
     public deleteApplicationInterface_args deepCopy() {
       return new deleteApplicationInterface_args(this);
     }
@@ -104112,11 +117566,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public deleteApplicationInterface_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public deleteApplicationInterface_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -104136,7 +117591,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_INTERFACE_ID:
         if (value == null) {
@@ -104149,6 +117605,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_INTERFACE_ID:
@@ -104159,6 +117617,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -104173,8 +117632,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationInterface_args)
         return this.equals((deleteApplicationInterface_args)that);
       return false;
@@ -104217,7 +117674,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104230,14 +117687,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -104283,6 +117744,7 @@
     }
 
     private static class deleteApplicationInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_argsStandardScheme getScheme() {
         return new deleteApplicationInterface_argsStandardScheme();
       }
@@ -104290,6 +117752,7 @@
 
     private static class deleteApplicationInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -104319,6 +117782,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -104335,6 +117799,7 @@
     }
 
     private static class deleteApplicationInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_argsTupleScheme getScheme() {
         return new deleteApplicationInterface_argsTupleScheme();
       }
@@ -104361,6 +117826,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteApplicationInterface_result implements org.apache.thrift.TBase<deleteApplicationInterface_result, deleteApplicationInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteApplicationInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteApplicationInterface_result");
 
@@ -104371,7 +117837,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteApplicationInterface_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -104389,6 +117855,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -104413,6 +117880,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -104425,10 +117893,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -104472,6 +117942,7 @@
       }
     }
 
+    @Override
     public deleteApplicationInterface_result deepCopy() {
       return new deleteApplicationInterface_result(this);
     }
@@ -104506,11 +117977,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteApplicationInterface_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteApplicationInterface_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -104530,7 +118002,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -104551,6 +118024,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -104564,6 +118039,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -104580,8 +118056,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteApplicationInterface_result)
         return this.equals((deleteApplicationInterface_result)that);
       return false;
@@ -104635,7 +118109,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104645,7 +118119,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -104658,10 +118132,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -104714,6 +118191,7 @@
     }
 
     private static class deleteApplicationInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_resultStandardScheme getScheme() {
         return new deleteApplicationInterface_resultStandardScheme();
       }
@@ -104721,6 +118199,7 @@
 
     private static class deleteApplicationInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteApplicationInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteApplicationInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -104759,6 +118238,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteApplicationInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -104780,6 +118260,7 @@
     }
 
     private static class deleteApplicationInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteApplicationInterface_resultTupleScheme getScheme() {
         return new deleteApplicationInterface_resultTupleScheme();
       }
@@ -104827,6 +118308,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaceNames_args implements org.apache.thrift.TBase<getAllApplicationInterfaceNames_args, getAllApplicationInterfaceNames_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaceNames_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaceNames_args");
 
@@ -104835,7 +118317,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaceNames_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaceNames_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -104852,6 +118334,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -104874,6 +118357,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -104886,10 +118370,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -104924,6 +118410,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaceNames_args deepCopy() {
       return new getAllApplicationInterfaceNames_args(this);
     }
@@ -104933,11 +118420,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllApplicationInterfaceNames_args setGatewayId(java.lang.String gatewayId) {
+    public getAllApplicationInterfaceNames_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -104957,7 +118445,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -104970,6 +118459,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -104980,6 +118471,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -104994,8 +118486,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaceNames_args)
         return this.equals((getAllApplicationInterfaceNames_args)that);
       return false;
@@ -105038,7 +118528,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105051,14 +118541,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -105104,6 +118598,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_argsStandardScheme getScheme() {
         return new getAllApplicationInterfaceNames_argsStandardScheme();
       }
@@ -105111,6 +118606,7 @@
 
     private static class getAllApplicationInterfaceNames_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaceNames_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaceNames_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -105140,6 +118636,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaceNames_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -105156,6 +118653,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_argsTupleScheme getScheme() {
         return new getAllApplicationInterfaceNames_argsTupleScheme();
       }
@@ -105182,6 +118680,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaceNames_result implements org.apache.thrift.TBase<getAllApplicationInterfaceNames_result, getAllApplicationInterfaceNames_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaceNames_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaceNames_result");
 
@@ -105191,8 +118690,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaceNames_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaceNames_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -105210,6 +118709,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -105234,6 +118734,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -105246,10 +118747,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -105294,6 +118797,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaceNames_result deepCopy() {
       return new getAllApplicationInterfaceNames_result(this);
     }
@@ -105315,11 +118819,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllApplicationInterfaceNames_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllApplicationInterfaceNames_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -105339,11 +118844,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllApplicationInterfaceNames_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllApplicationInterfaceNames_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -105363,7 +118869,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -105384,6 +118891,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -105397,6 +118906,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -105413,8 +118923,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaceNames_result)
         return this.equals((getAllApplicationInterfaceNames_result)that);
       return false;
@@ -105470,7 +118978,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105480,7 +118988,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105493,10 +119001,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -105551,6 +119062,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_resultStandardScheme getScheme() {
         return new getAllApplicationInterfaceNames_resultStandardScheme();
       }
@@ -105558,6 +119070,7 @@
 
     private static class getAllApplicationInterfaceNames_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaceNames_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaceNames_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -105571,15 +119084,15 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map294 = iprot.readMapBegin();
-                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map294.size);
-                  java.lang.String _key295;
-                  java.lang.String _val296;
-                  for (int _i297 = 0; _i297 < _map294.size; ++_i297)
+                  org.apache.thrift.protocol.TMap _map320 = iprot.readMapBegin();
+                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map320.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key321;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val322;
+                  for (int _i323 = 0; _i323 < _map320.size; ++_i323)
                   {
-                    _key295 = iprot.readString();
-                    _val296 = iprot.readString();
-                    struct.success.put(_key295, _val296);
+                    _key321 = iprot.readString();
+                    _val322 = iprot.readString();
+                    struct.success.put(_key321, _val322);
                   }
                   iprot.readMapEnd();
                 }
@@ -105608,6 +119121,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaceNames_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -105616,10 +119130,10 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter298 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter324 : struct.success.entrySet())
             {
-              oprot.writeString(_iter298.getKey());
-              oprot.writeString(_iter298.getValue());
+              oprot.writeString(_iter324.getKey());
+              oprot.writeString(_iter324.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -105637,6 +119151,7 @@
     }
 
     private static class getAllApplicationInterfaceNames_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaceNames_resultTupleScheme getScheme() {
         return new getAllApplicationInterfaceNames_resultTupleScheme();
       }
@@ -105658,10 +119173,10 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter299 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter325 : struct.success.entrySet())
             {
-              oprot.writeString(_iter299.getKey());
-              oprot.writeString(_iter299.getValue());
+              oprot.writeString(_iter325.getKey());
+              oprot.writeString(_iter325.getValue());
             }
           }
         }
@@ -105676,15 +119191,15 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map300 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map300.size);
-            java.lang.String _key301;
-            java.lang.String _val302;
-            for (int _i303 = 0; _i303 < _map300.size; ++_i303)
+            org.apache.thrift.protocol.TMap _map326 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
+            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map326.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _key327;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val328;
+            for (int _i329 = 0; _i329 < _map326.size; ++_i329)
             {
-              _key301 = iprot.readString();
-              _val302 = iprot.readString();
-              struct.success.put(_key301, _val302);
+              _key327 = iprot.readString();
+              _val328 = iprot.readString();
+              struct.success.put(_key327, _val328);
             }
           }
           struct.setSuccessIsSet(true);
@@ -105702,6 +119217,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaces_args implements org.apache.thrift.TBase<getAllApplicationInterfaces_args, getAllApplicationInterfaces_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaces_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaces_args");
 
@@ -105710,7 +119226,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaces_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaces_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -105727,6 +119243,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -105749,6 +119266,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -105761,10 +119279,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -105799,6 +119319,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaces_args deepCopy() {
       return new getAllApplicationInterfaces_args(this);
     }
@@ -105808,11 +119329,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getAllApplicationInterfaces_args setGatewayId(java.lang.String gatewayId) {
+    public getAllApplicationInterfaces_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -105832,7 +119354,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -105845,6 +119368,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -105855,6 +119380,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -105869,8 +119395,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaces_args)
         return this.equals((getAllApplicationInterfaces_args)that);
       return false;
@@ -105913,7 +119437,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -105926,14 +119450,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -105979,6 +119507,7 @@
     }
 
     private static class getAllApplicationInterfaces_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_argsStandardScheme getScheme() {
         return new getAllApplicationInterfaces_argsStandardScheme();
       }
@@ -105986,6 +119515,7 @@
 
     private static class getAllApplicationInterfaces_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaces_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaces_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -106015,6 +119545,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaces_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -106031,6 +119562,7 @@
     }
 
     private static class getAllApplicationInterfaces_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_argsTupleScheme getScheme() {
         return new getAllApplicationInterfaces_argsTupleScheme();
       }
@@ -106057,6 +119589,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllApplicationInterfaces_result implements org.apache.thrift.TBase<getAllApplicationInterfaces_result, getAllApplicationInterfaces_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllApplicationInterfaces_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllApplicationInterfaces_result");
 
@@ -106066,8 +119599,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllApplicationInterfaces_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllApplicationInterfaces_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -106085,6 +119618,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -106109,6 +119643,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106121,10 +119656,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -106171,6 +119708,7 @@
       }
     }
 
+    @Override
     public getAllApplicationInterfaces_result deepCopy() {
       return new getAllApplicationInterfaces_result(this);
     }
@@ -106185,6 +119723,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -106196,11 +119735,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> getSuccess() {
       return this.success;
     }
 
-    public getAllApplicationInterfaces_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success) {
+    public getAllApplicationInterfaces_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription> success) {
       this.success = success;
       return this;
     }
@@ -106220,11 +119760,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllApplicationInterfaces_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllApplicationInterfaces_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -106244,7 +119785,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -106265,6 +119807,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -106278,6 +119822,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -106294,8 +119839,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllApplicationInterfaces_result)
         return this.equals((getAllApplicationInterfaces_result)that);
       return false;
@@ -106351,7 +119894,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -106361,7 +119904,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -106374,10 +119917,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -106432,6 +119978,7 @@
     }
 
     private static class getAllApplicationInterfaces_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_resultStandardScheme getScheme() {
         return new getAllApplicationInterfaces_resultStandardScheme();
       }
@@ -106439,6 +119986,7 @@
 
     private static class getAllApplicationInterfaces_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllApplicationInterfaces_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllApplicationInterfaces_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -106452,14 +120000,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list304 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>(_list304.size);
-                  org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem305;
-                  for (int _i306 = 0; _i306 < _list304.size; ++_i306)
+                  org.apache.thrift.protocol.TList _list330 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>(_list330.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem331;
+                  for (int _i332 = 0; _i332 < _list330.size; ++_i332)
                   {
-                    _elem305 = new org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription();
-                    _elem305.read(iprot);
-                    struct.success.add(_elem305);
+                    _elem331 = new org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription();
+                    _elem331.read(iprot);
+                    struct.success.add(_elem331);
                   }
                   iprot.readListEnd();
                 }
@@ -106488,6 +120036,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllApplicationInterfaces_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -106496,9 +120045,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _iter307 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _iter333 : struct.success)
             {
-              _iter307.write(oprot);
+              _iter333.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -106516,6 +120065,7 @@
     }
 
     private static class getAllApplicationInterfaces_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllApplicationInterfaces_resultTupleScheme getScheme() {
         return new getAllApplicationInterfaces_resultTupleScheme();
       }
@@ -106537,9 +120087,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _iter308 : struct.success)
+            for (org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _iter334 : struct.success)
             {
-              _iter308.write(oprot);
+              _iter334.write(oprot);
             }
           }
         }
@@ -106554,14 +120104,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list309 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>(_list309.size);
-            org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem310;
-            for (int _i311 = 0; _i311 < _list309.size; ++_i311)
+            org.apache.thrift.protocol.TList _list335 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription>(_list335.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription _elem336;
+            for (int _i337 = 0; _i337 < _list335.size; ++_i337)
             {
-              _elem310 = new org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription();
-              _elem310.read(iprot);
-              struct.success.add(_elem310);
+              _elem336 = new org.apache.airavata.model.appcatalog.appinterface.ApplicationInterfaceDescription();
+              _elem336.read(iprot);
+              struct.success.add(_elem336);
             }
           }
           struct.setSuccessIsSet(true);
@@ -106579,6 +120129,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInputs_args implements org.apache.thrift.TBase<getApplicationInputs_args, getApplicationInputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInputs_args");
 
@@ -106587,7 +120138,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInputs_argsTupleSchemeFactory();
 
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -106604,6 +120155,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_INTERFACE_ID
@@ -106626,6 +120178,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106638,10 +120191,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -106676,6 +120231,7 @@
       }
     }
 
+    @Override
     public getApplicationInputs_args deepCopy() {
       return new getApplicationInputs_args(this);
     }
@@ -106685,11 +120241,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getApplicationInputs_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getApplicationInputs_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -106709,7 +120266,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_INTERFACE_ID:
         if (value == null) {
@@ -106722,6 +120280,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_INTERFACE_ID:
@@ -106732,6 +120292,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -106746,8 +120307,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInputs_args)
         return this.equals((getApplicationInputs_args)that);
       return false;
@@ -106790,7 +120349,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -106803,14 +120362,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -106856,6 +120419,7 @@
     }
 
     private static class getApplicationInputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_argsStandardScheme getScheme() {
         return new getApplicationInputs_argsStandardScheme();
       }
@@ -106863,6 +120427,7 @@
 
     private static class getApplicationInputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -106892,6 +120457,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -106908,6 +120474,7 @@
     }
 
     private static class getApplicationInputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_argsTupleScheme getScheme() {
         return new getApplicationInputs_argsTupleScheme();
       }
@@ -106934,6 +120501,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationInputs_result implements org.apache.thrift.TBase<getApplicationInputs_result, getApplicationInputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationInputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationInputs_result");
 
@@ -106943,8 +120511,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationInputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationInputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -106962,6 +120530,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -106986,6 +120555,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -106998,10 +120568,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -107048,6 +120620,7 @@
       }
     }
 
+    @Override
     public getApplicationInputs_result deepCopy() {
       return new getApplicationInputs_result(this);
     }
@@ -107062,6 +120635,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.InputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -107073,11 +120647,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getApplicationInputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success) {
+    public getApplicationInputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.InputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -107097,11 +120672,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getApplicationInputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getApplicationInputs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -107121,7 +120697,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -107142,6 +120719,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -107155,6 +120734,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -107171,8 +120751,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationInputs_result)
         return this.equals((getApplicationInputs_result)that);
       return false;
@@ -107228,7 +120806,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107238,7 +120816,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107251,10 +120829,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -107309,6 +120890,7 @@
     }
 
     private static class getApplicationInputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_resultStandardScheme getScheme() {
         return new getApplicationInputs_resultStandardScheme();
       }
@@ -107316,6 +120898,7 @@
 
     private static class getApplicationInputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationInputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationInputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -107329,14 +120912,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list312 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list312.size);
-                  org.apache.airavata.model.application.io.InputDataObjectType _elem313;
-                  for (int _i314 = 0; _i314 < _list312.size; ++_i314)
+                  org.apache.thrift.protocol.TList _list338 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list338.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem339;
+                  for (int _i340 = 0; _i340 < _list338.size; ++_i340)
                   {
-                    _elem313 = new org.apache.airavata.model.application.io.InputDataObjectType();
-                    _elem313.read(iprot);
-                    struct.success.add(_elem313);
+                    _elem339 = new org.apache.airavata.model.application.io.InputDataObjectType();
+                    _elem339.read(iprot);
+                    struct.success.add(_elem339);
                   }
                   iprot.readListEnd();
                 }
@@ -107365,6 +120948,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationInputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -107373,9 +120957,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.application.io.InputDataObjectType _iter315 : struct.success)
+            for (org.apache.airavata.model.application.io.InputDataObjectType _iter341 : struct.success)
             {
-              _iter315.write(oprot);
+              _iter341.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -107393,6 +120977,7 @@
     }
 
     private static class getApplicationInputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationInputs_resultTupleScheme getScheme() {
         return new getApplicationInputs_resultTupleScheme();
       }
@@ -107414,9 +120999,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.application.io.InputDataObjectType _iter316 : struct.success)
+            for (org.apache.airavata.model.application.io.InputDataObjectType _iter342 : struct.success)
             {
-              _iter316.write(oprot);
+              _iter342.write(oprot);
             }
           }
         }
@@ -107431,14 +121016,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list317 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list317.size);
-            org.apache.airavata.model.application.io.InputDataObjectType _elem318;
-            for (int _i319 = 0; _i319 < _list317.size; ++_i319)
+            org.apache.thrift.protocol.TList _list343 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.InputDataObjectType>(_list343.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.InputDataObjectType _elem344;
+            for (int _i345 = 0; _i345 < _list343.size; ++_i345)
             {
-              _elem318 = new org.apache.airavata.model.application.io.InputDataObjectType();
-              _elem318.read(iprot);
-              struct.success.add(_elem318);
+              _elem344 = new org.apache.airavata.model.application.io.InputDataObjectType();
+              _elem344.read(iprot);
+              struct.success.add(_elem344);
             }
           }
           struct.setSuccessIsSet(true);
@@ -107456,6 +121041,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationOutputs_args implements org.apache.thrift.TBase<getApplicationOutputs_args, getApplicationOutputs_args._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationOutputs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationOutputs_args");
 
@@ -107464,7 +121050,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationOutputs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationOutputs_argsTupleSchemeFactory();
 
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -107481,6 +121067,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_INTERFACE_ID
@@ -107503,6 +121090,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -107515,10 +121103,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -107553,6 +121143,7 @@
       }
     }
 
+    @Override
     public getApplicationOutputs_args deepCopy() {
       return new getApplicationOutputs_args(this);
     }
@@ -107562,11 +121153,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getApplicationOutputs_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getApplicationOutputs_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -107586,7 +121178,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_INTERFACE_ID:
         if (value == null) {
@@ -107599,6 +121192,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_INTERFACE_ID:
@@ -107609,6 +121204,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -107623,8 +121219,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationOutputs_args)
         return this.equals((getApplicationOutputs_args)that);
       return false;
@@ -107667,7 +121261,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -107680,14 +121274,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -107733,6 +121331,7 @@
     }
 
     private static class getApplicationOutputs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_argsStandardScheme getScheme() {
         return new getApplicationOutputs_argsStandardScheme();
       }
@@ -107740,6 +121339,7 @@
 
     private static class getApplicationOutputs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationOutputs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationOutputs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -107769,6 +121369,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationOutputs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -107785,6 +121386,7 @@
     }
 
     private static class getApplicationOutputs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_argsTupleScheme getScheme() {
         return new getApplicationOutputs_argsTupleScheme();
       }
@@ -107811,6 +121413,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getApplicationOutputs_result implements org.apache.thrift.TBase<getApplicationOutputs_result, getApplicationOutputs_result._Fields>, java.io.Serializable, Cloneable, Comparable<getApplicationOutputs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getApplicationOutputs_result");
 
@@ -107820,8 +121423,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getApplicationOutputs_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getApplicationOutputs_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -107839,6 +121442,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -107863,6 +121467,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -107875,10 +121480,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -107925,6 +121532,7 @@
       }
     }
 
+    @Override
     public getApplicationOutputs_result deepCopy() {
       return new getApplicationOutputs_result(this);
     }
@@ -107939,6 +121547,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -107950,11 +121559,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> getSuccess() {
       return this.success;
     }
 
-    public getApplicationOutputs_result setSuccess(java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
+    public getApplicationOutputs_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.application.io.OutputDataObjectType> success) {
       this.success = success;
       return this;
     }
@@ -107974,11 +121584,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getApplicationOutputs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getApplicationOutputs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -107998,7 +121609,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -108019,6 +121631,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -108032,6 +121646,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -108048,8 +121663,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getApplicationOutputs_result)
         return this.equals((getApplicationOutputs_result)that);
       return false;
@@ -108105,7 +121718,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108115,7 +121728,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108128,10 +121741,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -108186,6 +121802,7 @@
     }
 
     private static class getApplicationOutputs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_resultStandardScheme getScheme() {
         return new getApplicationOutputs_resultStandardScheme();
       }
@@ -108193,6 +121810,7 @@
 
     private static class getApplicationOutputs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getApplicationOutputs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getApplicationOutputs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -108206,14 +121824,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list320 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list320.size);
-                  org.apache.airavata.model.application.io.OutputDataObjectType _elem321;
-                  for (int _i322 = 0; _i322 < _list320.size; ++_i322)
+                  org.apache.thrift.protocol.TList _list346 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list346.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem347;
+                  for (int _i348 = 0; _i348 < _list346.size; ++_i348)
                   {
-                    _elem321 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-                    _elem321.read(iprot);
-                    struct.success.add(_elem321);
+                    _elem347 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+                    _elem347.read(iprot);
+                    struct.success.add(_elem347);
                   }
                   iprot.readListEnd();
                 }
@@ -108242,6 +121860,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getApplicationOutputs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -108250,9 +121869,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter323 : struct.success)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter349 : struct.success)
             {
-              _iter323.write(oprot);
+              _iter349.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -108270,6 +121889,7 @@
     }
 
     private static class getApplicationOutputs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getApplicationOutputs_resultTupleScheme getScheme() {
         return new getApplicationOutputs_resultTupleScheme();
       }
@@ -108291,9 +121911,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter324 : struct.success)
+            for (org.apache.airavata.model.application.io.OutputDataObjectType _iter350 : struct.success)
             {
-              _iter324.write(oprot);
+              _iter350.write(oprot);
             }
           }
         }
@@ -108308,14 +121928,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list325 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list325.size);
-            org.apache.airavata.model.application.io.OutputDataObjectType _elem326;
-            for (int _i327 = 0; _i327 < _list325.size; ++_i327)
+            org.apache.thrift.protocol.TList _list351 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.application.io.OutputDataObjectType>(_list351.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.application.io.OutputDataObjectType _elem352;
+            for (int _i353 = 0; _i353 < _list351.size; ++_i353)
             {
-              _elem326 = new org.apache.airavata.model.application.io.OutputDataObjectType();
-              _elem326.read(iprot);
-              struct.success.add(_elem326);
+              _elem352 = new org.apache.airavata.model.application.io.OutputDataObjectType();
+              _elem352.read(iprot);
+              struct.success.add(_elem352);
             }
           }
           struct.setSuccessIsSet(true);
@@ -108333,6 +121953,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAvailableAppInterfaceComputeResources_args implements org.apache.thrift.TBase<getAvailableAppInterfaceComputeResources_args, getAvailableAppInterfaceComputeResources_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAvailableAppInterfaceComputeResources_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableAppInterfaceComputeResources_args");
 
@@ -108341,7 +121962,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_argsTupleSchemeFactory();
 
-    public java.lang.String appInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId; // 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 {
@@ -108358,6 +121979,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // APP_INTERFACE_ID
@@ -108380,6 +122002,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -108392,10 +122015,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -108430,6 +122055,7 @@
       }
     }
 
+    @Override
     public getAvailableAppInterfaceComputeResources_args deepCopy() {
       return new getAvailableAppInterfaceComputeResources_args(this);
     }
@@ -108439,11 +122065,12 @@
       this.appInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAppInterfaceId() {
       return this.appInterfaceId;
     }
 
-    public getAvailableAppInterfaceComputeResources_args setAppInterfaceId(java.lang.String appInterfaceId) {
+    public getAvailableAppInterfaceComputeResources_args setAppInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String appInterfaceId) {
       this.appInterfaceId = appInterfaceId;
       return this;
     }
@@ -108463,7 +122090,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case APP_INTERFACE_ID:
         if (value == null) {
@@ -108476,6 +122104,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case APP_INTERFACE_ID:
@@ -108486,6 +122116,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -108500,8 +122131,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAvailableAppInterfaceComputeResources_args)
         return this.equals((getAvailableAppInterfaceComputeResources_args)that);
       return false;
@@ -108544,7 +122173,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetAppInterfaceId()).compareTo(other.isSetAppInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetAppInterfaceId(), other.isSetAppInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108557,14 +122186,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -108610,6 +122243,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_argsStandardScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_argsStandardScheme();
       }
@@ -108617,6 +122251,7 @@
 
     private static class getAvailableAppInterfaceComputeResources_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAvailableAppInterfaceComputeResources_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAvailableAppInterfaceComputeResources_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -108646,6 +122281,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAvailableAppInterfaceComputeResources_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -108662,6 +122298,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_argsTupleScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_argsTupleScheme();
       }
@@ -108688,6 +122325,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAvailableAppInterfaceComputeResources_result implements org.apache.thrift.TBase<getAvailableAppInterfaceComputeResources_result, getAvailableAppInterfaceComputeResources_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAvailableAppInterfaceComputeResources_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAvailableAppInterfaceComputeResources_result");
 
@@ -108697,8 +122335,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAvailableAppInterfaceComputeResources_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -108716,6 +122354,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -108740,6 +122379,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -108752,10 +122392,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -108800,6 +122442,7 @@
       }
     }
 
+    @Override
     public getAvailableAppInterfaceComputeResources_result deepCopy() {
       return new getAvailableAppInterfaceComputeResources_result(this);
     }
@@ -108821,11 +122464,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAvailableAppInterfaceComputeResources_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -108845,11 +122489,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAvailableAppInterfaceComputeResources_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAvailableAppInterfaceComputeResources_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -108869,7 +122514,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -108890,6 +122536,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -108903,6 +122551,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -108919,8 +122568,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAvailableAppInterfaceComputeResources_result)
         return this.equals((getAvailableAppInterfaceComputeResources_result)that);
       return false;
@@ -108976,7 +122623,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108986,7 +122633,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -108999,10 +122646,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -109057,6 +122707,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_resultStandardScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_resultStandardScheme();
       }
@@ -109064,6 +122715,7 @@
 
     private static class getAvailableAppInterfaceComputeResources_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAvailableAppInterfaceComputeResources_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAvailableAppInterfaceComputeResources_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -109077,15 +122729,15 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map328 = iprot.readMapBegin();
-                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map328.size);
-                  java.lang.String _key329;
-                  java.lang.String _val330;
-                  for (int _i331 = 0; _i331 < _map328.size; ++_i331)
+                  org.apache.thrift.protocol.TMap _map354 = iprot.readMapBegin();
+                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map354.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key355;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val356;
+                  for (int _i357 = 0; _i357 < _map354.size; ++_i357)
                   {
-                    _key329 = iprot.readString();
-                    _val330 = iprot.readString();
-                    struct.success.put(_key329, _val330);
+                    _key355 = iprot.readString();
+                    _val356 = iprot.readString();
+                    struct.success.put(_key355, _val356);
                   }
                   iprot.readMapEnd();
                 }
@@ -109114,6 +122766,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAvailableAppInterfaceComputeResources_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -109122,10 +122775,10 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter332 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter358 : struct.success.entrySet())
             {
-              oprot.writeString(_iter332.getKey());
-              oprot.writeString(_iter332.getValue());
+              oprot.writeString(_iter358.getKey());
+              oprot.writeString(_iter358.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -109143,6 +122796,7 @@
     }
 
     private static class getAvailableAppInterfaceComputeResources_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAvailableAppInterfaceComputeResources_resultTupleScheme getScheme() {
         return new getAvailableAppInterfaceComputeResources_resultTupleScheme();
       }
@@ -109164,10 +122818,10 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter333 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter359 : struct.success.entrySet())
             {
-              oprot.writeString(_iter333.getKey());
-              oprot.writeString(_iter333.getValue());
+              oprot.writeString(_iter359.getKey());
+              oprot.writeString(_iter359.getValue());
             }
           }
         }
@@ -109182,15 +122836,15 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map334 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map334.size);
-            java.lang.String _key335;
-            java.lang.String _val336;
-            for (int _i337 = 0; _i337 < _map334.size; ++_i337)
+            org.apache.thrift.protocol.TMap _map360 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
+            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map360.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _key361;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val362;
+            for (int _i363 = 0; _i363 < _map360.size; ++_i363)
             {
-              _key335 = iprot.readString();
-              _val336 = iprot.readString();
-              struct.success.put(_key335, _val336);
+              _key361 = iprot.readString();
+              _val362 = iprot.readString();
+              struct.success.put(_key361, _val362);
             }
           }
           struct.setSuccessIsSet(true);
@@ -109208,6 +122862,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerComputeResource_args implements org.apache.thrift.TBase<registerComputeResource_args, registerComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerComputeResource_args");
 
@@ -109216,7 +122871,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerComputeResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // 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 {
@@ -109233,6 +122888,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_DESCRIPTION
@@ -109255,6 +122911,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -109267,10 +122924,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -109305,6 +122964,7 @@
       }
     }
 
+    @Override
     public registerComputeResource_args deepCopy() {
       return new registerComputeResource_args(this);
     }
@@ -109314,11 +122974,12 @@
       this.computeResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResourceDescription() {
       return this.computeResourceDescription;
     }
 
-    public registerComputeResource_args setComputeResourceDescription(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
+    public registerComputeResource_args setComputeResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
       this.computeResourceDescription = computeResourceDescription;
       return this;
     }
@@ -109338,7 +122999,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_DESCRIPTION:
         if (value == null) {
@@ -109351,6 +123013,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_DESCRIPTION:
@@ -109361,6 +123025,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -109375,8 +123040,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerComputeResource_args)
         return this.equals((registerComputeResource_args)that);
       return false;
@@ -109419,7 +123082,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceDescription()).compareTo(other.isSetComputeResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceDescription(), other.isSetComputeResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109432,14 +123095,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -109488,6 +123155,7 @@
     }
 
     private static class registerComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_argsStandardScheme getScheme() {
         return new registerComputeResource_argsStandardScheme();
       }
@@ -109495,6 +123163,7 @@
 
     private static class registerComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -109525,6 +123194,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -109541,6 +123211,7 @@
     }
 
     private static class registerComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_argsTupleScheme getScheme() {
         return new registerComputeResource_argsTupleScheme();
       }
@@ -109568,6 +123239,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerComputeResource_result implements org.apache.thrift.TBase<registerComputeResource_result, registerComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerComputeResource_result");
 
@@ -109577,8 +123249,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerComputeResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerComputeResource_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -109596,6 +123268,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -109620,6 +123293,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -109632,10 +123306,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -109677,6 +123353,7 @@
       }
     }
 
+    @Override
     public registerComputeResource_result deepCopy() {
       return new registerComputeResource_result(this);
     }
@@ -109687,11 +123364,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerComputeResource_result setSuccess(java.lang.String success) {
+    public registerComputeResource_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -109711,11 +123389,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerComputeResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerComputeResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -109735,7 +123414,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -109756,6 +123436,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -109769,6 +123451,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -109785,8 +123468,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerComputeResource_result)
         return this.equals((registerComputeResource_result)that);
       return false;
@@ -109842,7 +123523,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109852,7 +123533,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -109865,10 +123546,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -109923,6 +123607,7 @@
     }
 
     private static class registerComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_resultStandardScheme getScheme() {
         return new registerComputeResource_resultStandardScheme();
       }
@@ -109930,6 +123615,7 @@
 
     private static class registerComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -109968,6 +123654,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -109989,6 +123676,7 @@
     }
 
     private static class registerComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerComputeResource_resultTupleScheme getScheme() {
         return new registerComputeResource_resultTupleScheme();
       }
@@ -110036,6 +123724,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getComputeResource_args implements org.apache.thrift.TBase<getComputeResource_args, getComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<getComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getComputeResource_args");
 
@@ -110044,7 +123733,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComputeResource_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -110061,6 +123750,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -110083,6 +123773,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110095,10 +123786,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -110133,6 +123826,7 @@
       }
     }
 
+    @Override
     public getComputeResource_args deepCopy() {
       return new getComputeResource_args(this);
     }
@@ -110142,11 +123836,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getComputeResource_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getComputeResource_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -110166,7 +123861,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -110179,6 +123875,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -110189,6 +123887,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -110203,8 +123902,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getComputeResource_args)
         return this.equals((getComputeResource_args)that);
       return false;
@@ -110247,7 +123944,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110260,14 +123957,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -110313,6 +124014,7 @@
     }
 
     private static class getComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_argsStandardScheme getScheme() {
         return new getComputeResource_argsStandardScheme();
       }
@@ -110320,6 +124022,7 @@
 
     private static class getComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -110349,6 +124052,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -110365,6 +124069,7 @@
     }
 
     private static class getComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_argsTupleScheme getScheme() {
         return new getComputeResource_argsTupleScheme();
       }
@@ -110391,6 +124096,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getComputeResource_result implements org.apache.thrift.TBase<getComputeResource_result, getComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<getComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getComputeResource_result");
 
@@ -110400,8 +124106,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getComputeResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getComputeResource_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -110419,6 +124125,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -110443,6 +124150,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110455,10 +124163,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -110500,6 +124210,7 @@
       }
     }
 
+    @Override
     public getComputeResource_result deepCopy() {
       return new getComputeResource_result(this);
     }
@@ -110510,11 +124221,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getSuccess() {
       return this.success;
     }
 
-    public getComputeResource_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success) {
+    public getComputeResource_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription success) {
       this.success = success;
       return this;
     }
@@ -110534,11 +124246,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getComputeResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getComputeResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -110558,7 +124271,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -110579,6 +124293,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -110592,6 +124308,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -110608,8 +124325,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getComputeResource_result)
         return this.equals((getComputeResource_result)that);
       return false;
@@ -110665,7 +124380,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110675,7 +124390,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -110688,10 +124403,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -110749,6 +124467,7 @@
     }
 
     private static class getComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_resultStandardScheme getScheme() {
         return new getComputeResource_resultStandardScheme();
       }
@@ -110756,6 +124475,7 @@
 
     private static class getComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -110795,6 +124515,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -110816,6 +124537,7 @@
     }
 
     private static class getComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getComputeResource_resultTupleScheme getScheme() {
         return new getComputeResource_resultTupleScheme();
       }
@@ -110864,6 +124586,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllComputeResourceNames_args implements org.apache.thrift.TBase<getAllComputeResourceNames_args, getAllComputeResourceNames_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllComputeResourceNames_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllComputeResourceNames_args");
 
@@ -110887,6 +124610,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -110907,6 +124631,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -110919,10 +124644,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -110943,6 +124670,7 @@
     public getAllComputeResourceNames_args(getAllComputeResourceNames_args other) {
     }
 
+    @Override
     public getAllComputeResourceNames_args deepCopy() {
       return new getAllComputeResourceNames_args(this);
     }
@@ -110951,11 +124679,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -110963,6 +124694,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -110975,8 +124707,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllComputeResourceNames_args)
         return this.equals((getAllComputeResourceNames_args)that);
       return false;
@@ -111009,14 +124739,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -111052,6 +124786,7 @@
     }
 
     private static class getAllComputeResourceNames_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_argsStandardScheme getScheme() {
         return new getAllComputeResourceNames_argsStandardScheme();
       }
@@ -111059,6 +124794,7 @@
 
     private static class getAllComputeResourceNames_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllComputeResourceNames_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllComputeResourceNames_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -111080,6 +124816,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllComputeResourceNames_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -111091,6 +124828,7 @@
     }
 
     private static class getAllComputeResourceNames_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_argsTupleScheme getScheme() {
         return new getAllComputeResourceNames_argsTupleScheme();
       }
@@ -111114,6 +124852,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllComputeResourceNames_result implements org.apache.thrift.TBase<getAllComputeResourceNames_result, getAllComputeResourceNames_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllComputeResourceNames_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllComputeResourceNames_result");
 
@@ -111123,8 +124862,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllComputeResourceNames_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllComputeResourceNames_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -111142,6 +124881,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -111166,6 +124906,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -111178,10 +124919,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -111226,6 +124969,7 @@
       }
     }
 
+    @Override
     public getAllComputeResourceNames_result deepCopy() {
       return new getAllComputeResourceNames_result(this);
     }
@@ -111247,11 +124991,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllComputeResourceNames_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllComputeResourceNames_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -111271,11 +125016,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllComputeResourceNames_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllComputeResourceNames_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -111295,7 +125041,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -111316,6 +125063,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -111329,6 +125078,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -111345,8 +125095,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllComputeResourceNames_result)
         return this.equals((getAllComputeResourceNames_result)that);
       return false;
@@ -111402,7 +125150,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -111412,7 +125160,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -111425,10 +125173,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -111483,6 +125234,7 @@
     }
 
     private static class getAllComputeResourceNames_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_resultStandardScheme getScheme() {
         return new getAllComputeResourceNames_resultStandardScheme();
       }
@@ -111490,6 +125242,7 @@
 
     private static class getAllComputeResourceNames_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllComputeResourceNames_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllComputeResourceNames_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -111503,15 +125256,15 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map338 = iprot.readMapBegin();
-                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map338.size);
-                  java.lang.String _key339;
-                  java.lang.String _val340;
-                  for (int _i341 = 0; _i341 < _map338.size; ++_i341)
+                  org.apache.thrift.protocol.TMap _map364 = iprot.readMapBegin();
+                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map364.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key365;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val366;
+                  for (int _i367 = 0; _i367 < _map364.size; ++_i367)
                   {
-                    _key339 = iprot.readString();
-                    _val340 = iprot.readString();
-                    struct.success.put(_key339, _val340);
+                    _key365 = iprot.readString();
+                    _val366 = iprot.readString();
+                    struct.success.put(_key365, _val366);
                   }
                   iprot.readMapEnd();
                 }
@@ -111540,6 +125293,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllComputeResourceNames_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -111548,10 +125302,10 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter342 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter368 : struct.success.entrySet())
             {
-              oprot.writeString(_iter342.getKey());
-              oprot.writeString(_iter342.getValue());
+              oprot.writeString(_iter368.getKey());
+              oprot.writeString(_iter368.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -111569,6 +125323,7 @@
     }
 
     private static class getAllComputeResourceNames_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllComputeResourceNames_resultTupleScheme getScheme() {
         return new getAllComputeResourceNames_resultTupleScheme();
       }
@@ -111590,10 +125345,10 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter343 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter369 : struct.success.entrySet())
             {
-              oprot.writeString(_iter343.getKey());
-              oprot.writeString(_iter343.getValue());
+              oprot.writeString(_iter369.getKey());
+              oprot.writeString(_iter369.getValue());
             }
           }
         }
@@ -111608,15 +125363,15 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map344 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map344.size);
-            java.lang.String _key345;
-            java.lang.String _val346;
-            for (int _i347 = 0; _i347 < _map344.size; ++_i347)
+            org.apache.thrift.protocol.TMap _map370 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
+            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map370.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _key371;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val372;
+            for (int _i373 = 0; _i373 < _map370.size; ++_i373)
             {
-              _key345 = iprot.readString();
-              _val346 = iprot.readString();
-              struct.success.put(_key345, _val346);
+              _key371 = iprot.readString();
+              _val372 = iprot.readString();
+              struct.success.put(_key371, _val372);
             }
           }
           struct.setSuccessIsSet(true);
@@ -111634,6 +125389,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateComputeResource_args implements org.apache.thrift.TBase<updateComputeResource_args, updateComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateComputeResource_args");
 
@@ -111643,8 +125399,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateComputeResource_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription; // 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 {
@@ -111662,6 +125418,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -111686,6 +125443,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -111698,10 +125456,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -111743,6 +125503,7 @@
       }
     }
 
+    @Override
     public updateComputeResource_args deepCopy() {
       return new updateComputeResource_args(this);
     }
@@ -111753,11 +125514,12 @@
       this.computeResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public updateComputeResource_args setComputeResourceId(java.lang.String computeResourceId) {
+    public updateComputeResource_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -111777,11 +125539,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription getComputeResourceDescription() {
       return this.computeResourceDescription;
     }
 
-    public updateComputeResource_args setComputeResourceDescription(org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
+    public updateComputeResource_args setComputeResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription computeResourceDescription) {
       this.computeResourceDescription = computeResourceDescription;
       return this;
     }
@@ -111801,7 +125564,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -111822,6 +125586,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -111835,6 +125601,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -111851,8 +125618,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateComputeResource_args)
         return this.equals((updateComputeResource_args)that);
       return false;
@@ -111908,7 +125673,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -111918,7 +125683,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceDescription()).compareTo(other.isSetComputeResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceDescription(), other.isSetComputeResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -111931,14 +125696,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -111998,6 +125767,7 @@
     }
 
     private static class updateComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_argsStandardScheme getScheme() {
         return new updateComputeResource_argsStandardScheme();
       }
@@ -112005,6 +125775,7 @@
 
     private static class updateComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -112043,6 +125814,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -112064,6 +125836,7 @@
     }
 
     private static class updateComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_argsTupleScheme getScheme() {
         return new updateComputeResource_argsTupleScheme();
       }
@@ -112094,6 +125867,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateComputeResource_result implements org.apache.thrift.TBase<updateComputeResource_result, updateComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateComputeResource_result");
 
@@ -112104,7 +125878,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateComputeResource_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -112122,6 +125896,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -112146,6 +125921,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -112158,10 +125934,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -112205,6 +125983,7 @@
       }
     }
 
+    @Override
     public updateComputeResource_result deepCopy() {
       return new updateComputeResource_result(this);
     }
@@ -112239,11 +126018,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateComputeResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateComputeResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -112263,7 +126043,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -112284,6 +126065,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -112297,6 +126080,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -112313,8 +126097,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateComputeResource_result)
         return this.equals((updateComputeResource_result)that);
       return false;
@@ -112368,7 +126150,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112378,7 +126160,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112391,10 +126173,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -112447,6 +126232,7 @@
     }
 
     private static class updateComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_resultStandardScheme getScheme() {
         return new updateComputeResource_resultStandardScheme();
       }
@@ -112454,6 +126240,7 @@
 
     private static class updateComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -112492,6 +126279,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -112513,6 +126301,7 @@
     }
 
     private static class updateComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateComputeResource_resultTupleScheme getScheme() {
         return new updateComputeResource_resultTupleScheme();
       }
@@ -112560,6 +126349,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteComputeResource_args implements org.apache.thrift.TBase<deleteComputeResource_args, deleteComputeResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteComputeResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteComputeResource_args");
 
@@ -112568,7 +126358,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteComputeResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteComputeResource_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -112585,6 +126375,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -112607,6 +126398,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -112619,10 +126411,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -112657,6 +126451,7 @@
       }
     }
 
+    @Override
     public deleteComputeResource_args deepCopy() {
       return new deleteComputeResource_args(this);
     }
@@ -112666,11 +126461,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteComputeResource_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteComputeResource_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -112690,7 +126486,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -112703,6 +126500,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -112713,6 +126512,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -112727,8 +126527,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteComputeResource_args)
         return this.equals((deleteComputeResource_args)that);
       return false;
@@ -112771,7 +126569,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -112784,14 +126582,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -112837,6 +126639,7 @@
     }
 
     private static class deleteComputeResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_argsStandardScheme getScheme() {
         return new deleteComputeResource_argsStandardScheme();
       }
@@ -112844,6 +126647,7 @@
 
     private static class deleteComputeResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteComputeResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteComputeResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -112873,6 +126677,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteComputeResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -112889,6 +126694,7 @@
     }
 
     private static class deleteComputeResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_argsTupleScheme getScheme() {
         return new deleteComputeResource_argsTupleScheme();
       }
@@ -112915,6 +126721,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteComputeResource_result implements org.apache.thrift.TBase<deleteComputeResource_result, deleteComputeResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteComputeResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteComputeResource_result");
 
@@ -112925,7 +126732,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteComputeResource_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -112943,6 +126750,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -112967,6 +126775,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -112979,10 +126788,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -113026,6 +126837,7 @@
       }
     }
 
+    @Override
     public deleteComputeResource_result deepCopy() {
       return new deleteComputeResource_result(this);
     }
@@ -113060,11 +126872,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteComputeResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteComputeResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -113084,7 +126897,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -113105,6 +126919,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -113118,6 +126934,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -113134,8 +126951,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteComputeResource_result)
         return this.equals((deleteComputeResource_result)that);
       return false;
@@ -113189,7 +127004,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113199,7 +127014,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113212,10 +127027,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -113268,6 +127086,7 @@
     }
 
     private static class deleteComputeResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_resultStandardScheme getScheme() {
         return new deleteComputeResource_resultStandardScheme();
       }
@@ -113275,6 +127094,7 @@
 
     private static class deleteComputeResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteComputeResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteComputeResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -113313,6 +127133,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteComputeResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -113334,6 +127155,7 @@
     }
 
     private static class deleteComputeResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteComputeResource_resultTupleScheme getScheme() {
         return new deleteComputeResource_resultTupleScheme();
       }
@@ -113381,6 +127203,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerStorageResource_args implements org.apache.thrift.TBase<registerStorageResource_args, registerStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerStorageResource_args");
 
@@ -113389,7 +127212,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerStorageResource_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // 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 {
@@ -113406,6 +127229,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // STORAGE_RESOURCE_DESCRIPTION
@@ -113428,6 +127252,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -113440,10 +127265,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -113478,6 +127305,7 @@
       }
     }
 
+    @Override
     public registerStorageResource_args deepCopy() {
       return new registerStorageResource_args(this);
     }
@@ -113487,11 +127315,12 @@
       this.storageResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResourceDescription() {
       return this.storageResourceDescription;
     }
 
-    public registerStorageResource_args setStorageResourceDescription(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
+    public registerStorageResource_args setStorageResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
       this.storageResourceDescription = storageResourceDescription;
       return this;
     }
@@ -113511,7 +127340,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case STORAGE_RESOURCE_DESCRIPTION:
         if (value == null) {
@@ -113524,6 +127354,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case STORAGE_RESOURCE_DESCRIPTION:
@@ -113534,6 +127366,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -113548,8 +127381,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerStorageResource_args)
         return this.equals((registerStorageResource_args)that);
       return false;
@@ -113592,7 +127423,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceDescription()).compareTo(other.isSetStorageResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceDescription(), other.isSetStorageResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -113605,14 +127436,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -113661,6 +127496,7 @@
     }
 
     private static class registerStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_argsStandardScheme getScheme() {
         return new registerStorageResource_argsStandardScheme();
       }
@@ -113668,6 +127504,7 @@
 
     private static class registerStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -113698,6 +127535,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -113714,6 +127552,7 @@
     }
 
     private static class registerStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_argsTupleScheme getScheme() {
         return new registerStorageResource_argsTupleScheme();
       }
@@ -113741,6 +127580,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerStorageResource_result implements org.apache.thrift.TBase<registerStorageResource_result, registerStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerStorageResource_result");
 
@@ -113750,8 +127590,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerStorageResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerStorageResource_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -113769,6 +127609,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -113793,6 +127634,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -113805,10 +127647,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -113850,6 +127694,7 @@
       }
     }
 
+    @Override
     public registerStorageResource_result deepCopy() {
       return new registerStorageResource_result(this);
     }
@@ -113860,11 +127705,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerStorageResource_result setSuccess(java.lang.String success) {
+    public registerStorageResource_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -113884,11 +127730,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerStorageResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerStorageResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -113908,7 +127755,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -113929,6 +127777,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -113942,6 +127792,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -113958,8 +127809,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerStorageResource_result)
         return this.equals((registerStorageResource_result)that);
       return false;
@@ -114015,7 +127864,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114025,7 +127874,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114038,10 +127887,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -114096,6 +127948,7 @@
     }
 
     private static class registerStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_resultStandardScheme getScheme() {
         return new registerStorageResource_resultStandardScheme();
       }
@@ -114103,6 +127956,7 @@
 
     private static class registerStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -114141,6 +127995,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -114162,6 +128017,7 @@
     }
 
     private static class registerStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerStorageResource_resultTupleScheme getScheme() {
         return new registerStorageResource_resultTupleScheme();
       }
@@ -114209,6 +128065,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getStorageResource_args implements org.apache.thrift.TBase<getStorageResource_args, getStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<getStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStorageResource_args");
 
@@ -114217,7 +128074,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getStorageResource_argsTupleSchemeFactory();
 
-    public java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // 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 {
@@ -114234,6 +128091,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // STORAGE_RESOURCE_ID
@@ -114256,6 +128114,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -114268,10 +128127,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -114306,6 +128167,7 @@
       }
     }
 
+    @Override
     public getStorageResource_args deepCopy() {
       return new getStorageResource_args(this);
     }
@@ -114315,11 +128177,12 @@
       this.storageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public getStorageResource_args setStorageResourceId(java.lang.String storageResourceId) {
+    public getStorageResource_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -114339,7 +128202,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case STORAGE_RESOURCE_ID:
         if (value == null) {
@@ -114352,6 +128216,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case STORAGE_RESOURCE_ID:
@@ -114362,6 +128228,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -114376,8 +128243,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getStorageResource_args)
         return this.equals((getStorageResource_args)that);
       return false;
@@ -114420,7 +128285,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114433,14 +128298,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -114486,6 +128355,7 @@
     }
 
     private static class getStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_argsStandardScheme getScheme() {
         return new getStorageResource_argsStandardScheme();
       }
@@ -114493,6 +128363,7 @@
 
     private static class getStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -114522,6 +128393,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -114538,6 +128410,7 @@
     }
 
     private static class getStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_argsTupleScheme getScheme() {
         return new getStorageResource_argsTupleScheme();
       }
@@ -114564,6 +128437,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getStorageResource_result implements org.apache.thrift.TBase<getStorageResource_result, getStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<getStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getStorageResource_result");
 
@@ -114573,8 +128447,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getStorageResource_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getStorageResource_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -114592,6 +128466,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -114616,6 +128491,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -114628,10 +128504,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -114673,6 +128551,7 @@
       }
     }
 
+    @Override
     public getStorageResource_result deepCopy() {
       return new getStorageResource_result(this);
     }
@@ -114683,11 +128562,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getSuccess() {
       return this.success;
     }
 
-    public getStorageResource_result setSuccess(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success) {
+    public getStorageResource_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription success) {
       this.success = success;
       return this;
     }
@@ -114707,11 +128587,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getStorageResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getStorageResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -114731,7 +128612,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -114752,6 +128634,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -114765,6 +128649,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -114781,8 +128666,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getStorageResource_result)
         return this.equals((getStorageResource_result)that);
       return false;
@@ -114838,7 +128721,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114848,7 +128731,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -114861,10 +128744,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -114922,6 +128808,7 @@
     }
 
     private static class getStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_resultStandardScheme getScheme() {
         return new getStorageResource_resultStandardScheme();
       }
@@ -114929,6 +128816,7 @@
 
     private static class getStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -114968,6 +128856,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -114989,6 +128878,7 @@
     }
 
     private static class getStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getStorageResource_resultTupleScheme getScheme() {
         return new getStorageResource_resultTupleScheme();
       }
@@ -115037,6 +128927,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllStorageResourceNames_args implements org.apache.thrift.TBase<getAllStorageResourceNames_args, getAllStorageResourceNames_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllStorageResourceNames_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllStorageResourceNames_args");
 
@@ -115060,6 +128951,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -115080,6 +128972,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115092,10 +128985,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -115116,6 +129011,7 @@
     public getAllStorageResourceNames_args(getAllStorageResourceNames_args other) {
     }
 
+    @Override
     public getAllStorageResourceNames_args deepCopy() {
       return new getAllStorageResourceNames_args(this);
     }
@@ -115124,11 +129020,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -115136,6 +129035,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -115148,8 +129048,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllStorageResourceNames_args)
         return this.equals((getAllStorageResourceNames_args)that);
       return false;
@@ -115182,14 +129080,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -115225,6 +129127,7 @@
     }
 
     private static class getAllStorageResourceNames_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_argsStandardScheme getScheme() {
         return new getAllStorageResourceNames_argsStandardScheme();
       }
@@ -115232,6 +129135,7 @@
 
     private static class getAllStorageResourceNames_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllStorageResourceNames_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllStorageResourceNames_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -115253,6 +129157,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllStorageResourceNames_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -115264,6 +129169,7 @@
     }
 
     private static class getAllStorageResourceNames_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_argsTupleScheme getScheme() {
         return new getAllStorageResourceNames_argsTupleScheme();
       }
@@ -115287,6 +129193,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllStorageResourceNames_result implements org.apache.thrift.TBase<getAllStorageResourceNames_result, getAllStorageResourceNames_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllStorageResourceNames_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllStorageResourceNames_result");
 
@@ -115296,8 +129203,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllStorageResourceNames_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllStorageResourceNames_resultTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.String> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -115315,6 +129222,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -115339,6 +129247,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115351,10 +129260,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -115399,6 +129310,7 @@
       }
     }
 
+    @Override
     public getAllStorageResourceNames_result deepCopy() {
       return new getAllStorageResourceNames_result(this);
     }
@@ -115420,11 +129332,12 @@
       this.success.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.String> getSuccess() {
       return this.success;
     }
 
-    public getAllStorageResourceNames_result setSuccess(java.util.Map<java.lang.String,java.lang.String> success) {
+    public getAllStorageResourceNames_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.String> success) {
       this.success = success;
       return this;
     }
@@ -115444,11 +129357,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllStorageResourceNames_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllStorageResourceNames_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -115468,7 +129382,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -115489,6 +129404,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -115502,6 +129419,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -115518,8 +129436,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllStorageResourceNames_result)
         return this.equals((getAllStorageResourceNames_result)that);
       return false;
@@ -115575,7 +129491,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -115585,7 +129501,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -115598,10 +129514,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -115656,6 +129575,7 @@
     }
 
     private static class getAllStorageResourceNames_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_resultStandardScheme getScheme() {
         return new getAllStorageResourceNames_resultStandardScheme();
       }
@@ -115663,6 +129583,7 @@
 
     private static class getAllStorageResourceNames_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllStorageResourceNames_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllStorageResourceNames_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -115676,15 +129597,15 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map348 = iprot.readMapBegin();
-                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map348.size);
-                  java.lang.String _key349;
-                  java.lang.String _val350;
-                  for (int _i351 = 0; _i351 < _map348.size; ++_i351)
+                  org.apache.thrift.protocol.TMap _map374 = iprot.readMapBegin();
+                  struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map374.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key375;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _val376;
+                  for (int _i377 = 0; _i377 < _map374.size; ++_i377)
                   {
-                    _key349 = iprot.readString();
-                    _val350 = iprot.readString();
-                    struct.success.put(_key349, _val350);
+                    _key375 = iprot.readString();
+                    _val376 = iprot.readString();
+                    struct.success.put(_key375, _val376);
                   }
                   iprot.readMapEnd();
                 }
@@ -115713,6 +129634,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllStorageResourceNames_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -115721,10 +129643,10 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, struct.success.size()));
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter352 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter378 : struct.success.entrySet())
             {
-              oprot.writeString(_iter352.getKey());
-              oprot.writeString(_iter352.getValue());
+              oprot.writeString(_iter378.getKey());
+              oprot.writeString(_iter378.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -115742,6 +129664,7 @@
     }
 
     private static class getAllStorageResourceNames_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllStorageResourceNames_resultTupleScheme getScheme() {
         return new getAllStorageResourceNames_resultTupleScheme();
       }
@@ -115763,10 +129686,10 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter353 : struct.success.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.String> _iter379 : struct.success.entrySet())
             {
-              oprot.writeString(_iter353.getKey());
-              oprot.writeString(_iter353.getValue());
+              oprot.writeString(_iter379.getKey());
+              oprot.writeString(_iter379.getValue());
             }
           }
         }
@@ -115781,15 +129704,15 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TMap _map354 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map354.size);
-            java.lang.String _key355;
-            java.lang.String _val356;
-            for (int _i357 = 0; _i357 < _map354.size; ++_i357)
+            org.apache.thrift.protocol.TMap _map380 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.STRING); 
+            struct.success = new java.util.HashMap<java.lang.String,java.lang.String>(2*_map380.size);
+            @org.apache.thrift.annotation.Nullable java.lang.String _key381;
+            @org.apache.thrift.annotation.Nullable java.lang.String _val382;
+            for (int _i383 = 0; _i383 < _map380.size; ++_i383)
             {
-              _key355 = iprot.readString();
-              _val356 = iprot.readString();
-              struct.success.put(_key355, _val356);
+              _key381 = iprot.readString();
+              _val382 = iprot.readString();
+              struct.success.put(_key381, _val382);
             }
           }
           struct.setSuccessIsSet(true);
@@ -115807,6 +129730,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateStorageResource_args implements org.apache.thrift.TBase<updateStorageResource_args, updateStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateStorageResource_args");
 
@@ -115816,8 +129740,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateStorageResource_argsTupleSchemeFactory();
 
-    public java.lang.String storageResourceId; // required
-    public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription; // 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 {
@@ -115835,6 +129759,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // STORAGE_RESOURCE_ID
@@ -115859,6 +129784,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -115871,10 +129797,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -115916,6 +129844,7 @@
       }
     }
 
+    @Override
     public updateStorageResource_args deepCopy() {
       return new updateStorageResource_args(this);
     }
@@ -115926,11 +129855,12 @@
       this.storageResourceDescription = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public updateStorageResource_args setStorageResourceId(java.lang.String storageResourceId) {
+    public updateStorageResource_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -115950,11 +129880,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription getStorageResourceDescription() {
       return this.storageResourceDescription;
     }
 
-    public updateStorageResource_args setStorageResourceDescription(org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
+    public updateStorageResource_args setStorageResourceDescription(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.storageresource.StorageResourceDescription storageResourceDescription) {
       this.storageResourceDescription = storageResourceDescription;
       return this;
     }
@@ -115974,7 +129905,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case STORAGE_RESOURCE_ID:
         if (value == null) {
@@ -115995,6 +129927,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case STORAGE_RESOURCE_ID:
@@ -116008,6 +129942,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -116024,8 +129959,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateStorageResource_args)
         return this.equals((updateStorageResource_args)that);
       return false;
@@ -116081,7 +130014,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116091,7 +130024,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceDescription()).compareTo(other.isSetStorageResourceDescription());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceDescription(), other.isSetStorageResourceDescription());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116104,14 +130037,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -116171,6 +130108,7 @@
     }
 
     private static class updateStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_argsStandardScheme getScheme() {
         return new updateStorageResource_argsStandardScheme();
       }
@@ -116178,6 +130116,7 @@
 
     private static class updateStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -116216,6 +130155,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -116237,6 +130177,7 @@
     }
 
     private static class updateStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_argsTupleScheme getScheme() {
         return new updateStorageResource_argsTupleScheme();
       }
@@ -116267,6 +130208,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateStorageResource_result implements org.apache.thrift.TBase<updateStorageResource_result, updateStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateStorageResource_result");
 
@@ -116277,7 +130219,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateStorageResource_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -116295,6 +130237,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -116319,6 +130262,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -116331,10 +130275,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -116378,6 +130324,7 @@
       }
     }
 
+    @Override
     public updateStorageResource_result deepCopy() {
       return new updateStorageResource_result(this);
     }
@@ -116412,11 +130359,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateStorageResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateStorageResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -116436,7 +130384,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -116457,6 +130406,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -116470,6 +130421,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -116486,8 +130438,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateStorageResource_result)
         return this.equals((updateStorageResource_result)that);
       return false;
@@ -116541,7 +130491,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116551,7 +130501,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116564,10 +130514,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -116620,6 +130573,7 @@
     }
 
     private static class updateStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_resultStandardScheme getScheme() {
         return new updateStorageResource_resultStandardScheme();
       }
@@ -116627,6 +130581,7 @@
 
     private static class updateStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -116665,6 +130620,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -116686,6 +130642,7 @@
     }
 
     private static class updateStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateStorageResource_resultTupleScheme getScheme() {
         return new updateStorageResource_resultTupleScheme();
       }
@@ -116733,6 +130690,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteStorageResource_args implements org.apache.thrift.TBase<deleteStorageResource_args, deleteStorageResource_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteStorageResource_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteStorageResource_args");
 
@@ -116741,7 +130699,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteStorageResource_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteStorageResource_argsTupleSchemeFactory();
 
-    public java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // 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 {
@@ -116758,6 +130716,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // STORAGE_RESOURCE_ID
@@ -116780,6 +130739,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -116792,10 +130752,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -116830,6 +130792,7 @@
       }
     }
 
+    @Override
     public deleteStorageResource_args deepCopy() {
       return new deleteStorageResource_args(this);
     }
@@ -116839,11 +130802,12 @@
       this.storageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public deleteStorageResource_args setStorageResourceId(java.lang.String storageResourceId) {
+    public deleteStorageResource_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -116863,7 +130827,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case STORAGE_RESOURCE_ID:
         if (value == null) {
@@ -116876,6 +130841,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case STORAGE_RESOURCE_ID:
@@ -116886,6 +130853,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -116900,8 +130868,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteStorageResource_args)
         return this.equals((deleteStorageResource_args)that);
       return false;
@@ -116944,7 +130910,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -116957,14 +130923,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -117010,6 +130980,7 @@
     }
 
     private static class deleteStorageResource_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_argsStandardScheme getScheme() {
         return new deleteStorageResource_argsStandardScheme();
       }
@@ -117017,6 +130988,7 @@
 
     private static class deleteStorageResource_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteStorageResource_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteStorageResource_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -117046,6 +131018,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteStorageResource_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -117062,6 +131035,7 @@
     }
 
     private static class deleteStorageResource_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_argsTupleScheme getScheme() {
         return new deleteStorageResource_argsTupleScheme();
       }
@@ -117088,6 +131062,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteStorageResource_result implements org.apache.thrift.TBase<deleteStorageResource_result, deleteStorageResource_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteStorageResource_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteStorageResource_result");
 
@@ -117098,7 +131073,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteStorageResource_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -117116,6 +131091,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -117140,6 +131116,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -117152,10 +131129,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -117199,6 +131178,7 @@
       }
     }
 
+    @Override
     public deleteStorageResource_result deepCopy() {
       return new deleteStorageResource_result(this);
     }
@@ -117233,11 +131213,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteStorageResource_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteStorageResource_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -117257,7 +131238,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -117278,6 +131260,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -117291,6 +131275,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -117307,8 +131292,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteStorageResource_result)
         return this.equals((deleteStorageResource_result)that);
       return false;
@@ -117362,7 +131345,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117372,7 +131355,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117385,10 +131368,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -117441,6 +131427,7 @@
     }
 
     private static class deleteStorageResource_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_resultStandardScheme getScheme() {
         return new deleteStorageResource_resultStandardScheme();
       }
@@ -117448,6 +131435,7 @@
 
     private static class deleteStorageResource_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteStorageResource_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteStorageResource_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -117486,6 +131474,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteStorageResource_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -117507,6 +131496,7 @@
     }
 
     private static class deleteStorageResource_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteStorageResource_resultTupleScheme getScheme() {
         return new deleteStorageResource_resultTupleScheme();
       }
@@ -117554,6 +131544,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalSubmissionDetails_args implements org.apache.thrift.TBase<addLocalSubmissionDetails_args, addLocalSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalSubmissionDetails_args");
 
@@ -117564,9 +131555,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // 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 {
@@ -117585,6 +131576,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -117611,6 +131603,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -117623,10 +131616,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -117677,6 +131672,7 @@
       }
     }
 
+    @Override
     public addLocalSubmissionDetails_args deepCopy() {
       return new addLocalSubmissionDetails_args(this);
     }
@@ -117689,11 +131685,12 @@
       this.localSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addLocalSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addLocalSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -117736,11 +131733,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalSubmission() {
       return this.localSubmission;
     }
 
-    public addLocalSubmissionDetails_args setLocalSubmission(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
+    public addLocalSubmissionDetails_args setLocalSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
       this.localSubmission = localSubmission;
       return this;
     }
@@ -117760,7 +131758,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -117789,6 +131788,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -117805,6 +131806,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -117823,8 +131825,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalSubmissionDetails_args)
         return this.equals((addLocalSubmissionDetails_args)that);
       return false;
@@ -117891,7 +131891,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117901,7 +131901,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117911,7 +131911,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalSubmission()).compareTo(other.isSetLocalSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetLocalSubmission(), other.isSetLocalSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -117924,14 +131924,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -117998,6 +132002,7 @@
     }
 
     private static class addLocalSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_argsStandardScheme getScheme() {
         return new addLocalSubmissionDetails_argsStandardScheme();
       }
@@ -118005,6 +132010,7 @@
 
     private static class addLocalSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -118054,6 +132060,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -118078,6 +132085,7 @@
     }
 
     private static class addLocalSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_argsTupleScheme getScheme() {
         return new addLocalSubmissionDetails_argsTupleScheme();
       }
@@ -118111,6 +132119,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalSubmissionDetails_result implements org.apache.thrift.TBase<addLocalSubmissionDetails_result, addLocalSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalSubmissionDetails_result");
 
@@ -118120,8 +132129,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -118139,6 +132148,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -118163,6 +132173,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -118175,10 +132186,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -118220,6 +132233,7 @@
       }
     }
 
+    @Override
     public addLocalSubmissionDetails_result deepCopy() {
       return new addLocalSubmissionDetails_result(this);
     }
@@ -118230,11 +132244,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addLocalSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addLocalSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -118254,11 +132269,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addLocalSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addLocalSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -118278,7 +132294,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -118299,6 +132316,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -118312,6 +132331,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -118328,8 +132348,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalSubmissionDetails_result)
         return this.equals((addLocalSubmissionDetails_result)that);
       return false;
@@ -118385,7 +132403,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118395,7 +132413,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118408,10 +132426,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -118466,6 +132487,7 @@
     }
 
     private static class addLocalSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_resultStandardScheme getScheme() {
         return new addLocalSubmissionDetails_resultStandardScheme();
       }
@@ -118473,6 +132495,7 @@
 
     private static class addLocalSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -118511,6 +132534,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -118532,6 +132556,7 @@
     }
 
     private static class addLocalSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalSubmissionDetails_resultTupleScheme getScheme() {
         return new addLocalSubmissionDetails_resultTupleScheme();
       }
@@ -118579,6 +132604,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalSubmissionDetails_args implements org.apache.thrift.TBase<updateLocalSubmissionDetails_args, updateLocalSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalSubmissionDetails_args");
 
@@ -118588,8 +132614,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateLocalSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission; // 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 {
@@ -118607,6 +132633,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -118631,6 +132658,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -118643,10 +132671,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -118688,6 +132718,7 @@
       }
     }
 
+    @Override
     public updateLocalSubmissionDetails_args deepCopy() {
       return new updateLocalSubmissionDetails_args(this);
     }
@@ -118698,11 +132729,12 @@
       this.localSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateLocalSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateLocalSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -118722,11 +132754,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getLocalSubmission() {
       return this.localSubmission;
     }
 
-    public updateLocalSubmissionDetails_args setLocalSubmission(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
+    public updateLocalSubmissionDetails_args setLocalSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission localSubmission) {
       this.localSubmission = localSubmission;
       return this;
     }
@@ -118746,7 +132779,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
         if (value == null) {
@@ -118767,6 +132801,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
@@ -118780,6 +132816,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -118796,8 +132833,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalSubmissionDetails_args)
         return this.equals((updateLocalSubmissionDetails_args)that);
       return false;
@@ -118853,7 +132888,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118863,7 +132898,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalSubmission()).compareTo(other.isSetLocalSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetLocalSubmission(), other.isSetLocalSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -118876,14 +132911,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -118943,6 +132982,7 @@
     }
 
     private static class updateLocalSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_argsStandardScheme getScheme() {
         return new updateLocalSubmissionDetails_argsStandardScheme();
       }
@@ -118950,6 +132990,7 @@
 
     private static class updateLocalSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -118988,6 +133029,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -119009,6 +133051,7 @@
     }
 
     private static class updateLocalSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_argsTupleScheme getScheme() {
         return new updateLocalSubmissionDetails_argsTupleScheme();
       }
@@ -119039,6 +133082,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalSubmissionDetails_result implements org.apache.thrift.TBase<updateLocalSubmissionDetails_result, updateLocalSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalSubmissionDetails_result");
 
@@ -119049,7 +133093,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -119067,6 +133111,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -119091,6 +133136,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -119103,10 +133149,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -119150,6 +133198,7 @@
       }
     }
 
+    @Override
     public updateLocalSubmissionDetails_result deepCopy() {
       return new updateLocalSubmissionDetails_result(this);
     }
@@ -119184,11 +133233,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateLocalSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateLocalSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -119208,7 +133258,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -119229,6 +133280,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -119242,6 +133295,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -119258,8 +133312,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalSubmissionDetails_result)
         return this.equals((updateLocalSubmissionDetails_result)that);
       return false;
@@ -119313,7 +133365,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119323,7 +133375,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119336,10 +133388,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -119392,6 +133447,7 @@
     }
 
     private static class updateLocalSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_resultStandardScheme getScheme() {
         return new updateLocalSubmissionDetails_resultStandardScheme();
       }
@@ -119399,6 +133455,7 @@
 
     private static class updateLocalSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -119437,6 +133494,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -119458,6 +133516,7 @@
     }
 
     private static class updateLocalSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalSubmissionDetails_resultTupleScheme getScheme() {
         return new updateLocalSubmissionDetails_resultTupleScheme();
       }
@@ -119505,6 +133564,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalJobSubmission_args implements org.apache.thrift.TBase<getLocalJobSubmission_args, getLocalJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalJobSubmission_args");
 
@@ -119513,7 +133573,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalJobSubmission_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -119530,6 +133590,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_ID
@@ -119552,6 +133613,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -119564,10 +133626,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -119602,6 +133666,7 @@
       }
     }
 
+    @Override
     public getLocalJobSubmission_args deepCopy() {
       return new getLocalJobSubmission_args(this);
     }
@@ -119611,11 +133676,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getLocalJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getLocalJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -119635,7 +133701,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_ID:
         if (value == null) {
@@ -119648,6 +133715,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_ID:
@@ -119658,6 +133727,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -119672,8 +133742,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalJobSubmission_args)
         return this.equals((getLocalJobSubmission_args)that);
       return false;
@@ -119716,7 +133784,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -119729,14 +133797,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -119782,6 +133854,7 @@
     }
 
     private static class getLocalJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_argsStandardScheme getScheme() {
         return new getLocalJobSubmission_argsStandardScheme();
       }
@@ -119789,6 +133862,7 @@
 
     private static class getLocalJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -119818,6 +133892,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -119834,6 +133909,7 @@
     }
 
     private static class getLocalJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_argsTupleScheme getScheme() {
         return new getLocalJobSubmission_argsTupleScheme();
       }
@@ -119860,6 +133936,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalJobSubmission_result implements org.apache.thrift.TBase<getLocalJobSubmission_result, getLocalJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalJobSubmission_result");
 
@@ -119869,8 +133946,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -119888,6 +133965,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -119912,6 +133990,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -119924,10 +134003,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -119969,6 +134050,7 @@
       }
     }
 
+    @Override
     public getLocalJobSubmission_result deepCopy() {
       return new getLocalJobSubmission_result(this);
     }
@@ -119979,11 +134061,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission getSuccess() {
       return this.success;
     }
 
-    public getLocalJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success) {
+    public getLocalJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.LOCALSubmission success) {
       this.success = success;
       return this;
     }
@@ -120003,11 +134086,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getLocalJobSubmission_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getLocalJobSubmission_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -120027,7 +134111,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -120048,6 +134133,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -120061,6 +134148,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -120077,8 +134165,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalJobSubmission_result)
         return this.equals((getLocalJobSubmission_result)that);
       return false;
@@ -120134,7 +134220,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120144,7 +134230,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120157,10 +134243,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -120218,6 +134307,7 @@
     }
 
     private static class getLocalJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_resultStandardScheme getScheme() {
         return new getLocalJobSubmission_resultStandardScheme();
       }
@@ -120225,6 +134315,7 @@
 
     private static class getLocalJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -120264,6 +134355,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -120285,6 +134377,7 @@
     }
 
     private static class getLocalJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalJobSubmission_resultTupleScheme getScheme() {
         return new getLocalJobSubmission_resultTupleScheme();
       }
@@ -120333,6 +134426,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHJobSubmissionDetails_args implements org.apache.thrift.TBase<addSSHJobSubmissionDetails_args, addSSHJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHJobSubmissionDetails_args");
 
@@ -120343,9 +134437,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // 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 {
@@ -120364,6 +134458,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -120390,6 +134485,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -120402,10 +134498,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -120456,6 +134554,7 @@
       }
     }
 
+    @Override
     public addSSHJobSubmissionDetails_args deepCopy() {
       return new addSSHJobSubmissionDetails_args(this);
     }
@@ -120468,11 +134567,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addSSHJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addSSHJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -120515,11 +134615,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public addSSHJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
+    public addSSHJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -120539,7 +134640,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -120568,6 +134670,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -120584,6 +134688,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -120602,8 +134707,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHJobSubmissionDetails_args)
         return this.equals((addSSHJobSubmissionDetails_args)that);
       return false;
@@ -120670,7 +134773,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120680,7 +134783,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120690,7 +134793,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -120703,14 +134806,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -120777,6 +134884,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addSSHJobSubmissionDetails_argsStandardScheme();
       }
@@ -120784,6 +134892,7 @@
 
     private static class addSSHJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -120833,6 +134942,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -120857,6 +134967,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addSSHJobSubmissionDetails_argsTupleScheme();
       }
@@ -120890,6 +135001,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHJobSubmissionDetails_result implements org.apache.thrift.TBase<addSSHJobSubmissionDetails_result, addSSHJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHJobSubmissionDetails_result");
 
@@ -120899,8 +135011,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -120918,6 +135030,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -120942,6 +135055,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -120954,10 +135068,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -120999,6 +135115,7 @@
       }
     }
 
+    @Override
     public addSSHJobSubmissionDetails_result deepCopy() {
       return new addSSHJobSubmissionDetails_result(this);
     }
@@ -121009,11 +135126,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSSHJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addSSHJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -121033,11 +135151,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addSSHJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addSSHJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -121057,7 +135176,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -121078,6 +135198,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -121091,6 +135213,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -121107,8 +135230,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHJobSubmissionDetails_result)
         return this.equals((addSSHJobSubmissionDetails_result)that);
       return false;
@@ -121164,7 +135285,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121174,7 +135295,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121187,10 +135308,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -121245,6 +135369,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addSSHJobSubmissionDetails_resultStandardScheme();
       }
@@ -121252,6 +135377,7 @@
 
     private static class addSSHJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -121290,6 +135416,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -121311,6 +135438,7 @@
     }
 
     private static class addSSHJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addSSHJobSubmissionDetails_resultTupleScheme();
       }
@@ -121358,6 +135486,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHForkJobSubmissionDetails_args implements org.apache.thrift.TBase<addSSHForkJobSubmissionDetails_args, addSSHForkJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHForkJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHForkJobSubmissionDetails_args");
 
@@ -121368,9 +135497,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // 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 {
@@ -121389,6 +135518,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -121415,6 +135545,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -121427,10 +135558,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -121481,6 +135614,7 @@
       }
     }
 
+    @Override
     public addSSHForkJobSubmissionDetails_args deepCopy() {
       return new addSSHForkJobSubmissionDetails_args(this);
     }
@@ -121493,11 +135627,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addSSHForkJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addSSHForkJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -121540,11 +135675,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public addSSHForkJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
+    public addSSHForkJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -121564,7 +135700,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -121593,6 +135730,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -121609,6 +135748,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -121627,8 +135767,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHForkJobSubmissionDetails_args)
         return this.equals((addSSHForkJobSubmissionDetails_args)that);
       return false;
@@ -121695,7 +135833,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121705,7 +135843,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121715,7 +135853,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -121728,14 +135866,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -121802,6 +135944,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_argsStandardScheme();
       }
@@ -121809,6 +135952,7 @@
 
     private static class addSSHForkJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHForkJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHForkJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -121858,6 +136002,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHForkJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -121882,6 +136027,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_argsTupleScheme();
       }
@@ -121915,6 +136061,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSSHForkJobSubmissionDetails_result implements org.apache.thrift.TBase<addSSHForkJobSubmissionDetails_result, addSSHForkJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSSHForkJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSSHForkJobSubmissionDetails_result");
 
@@ -121924,8 +136071,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSSHForkJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -121943,6 +136090,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -121967,6 +136115,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -121979,10 +136128,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -122024,6 +136175,7 @@
       }
     }
 
+    @Override
     public addSSHForkJobSubmissionDetails_result deepCopy() {
       return new addSSHForkJobSubmissionDetails_result(this);
     }
@@ -122034,11 +136186,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSSHForkJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addSSHForkJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -122058,11 +136211,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addSSHForkJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addSSHForkJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -122082,7 +136236,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -122103,6 +136258,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -122116,6 +136273,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -122132,8 +136290,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSSHForkJobSubmissionDetails_result)
         return this.equals((addSSHForkJobSubmissionDetails_result)that);
       return false;
@@ -122189,7 +136345,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122199,7 +136355,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122212,10 +136368,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -122270,6 +136429,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_resultStandardScheme();
       }
@@ -122277,6 +136437,7 @@
 
     private static class addSSHForkJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSSHForkJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSSHForkJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -122315,6 +136476,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSSHForkJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -122336,6 +136498,7 @@
     }
 
     private static class addSSHForkJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSSHForkJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addSSHForkJobSubmissionDetails_resultTupleScheme();
       }
@@ -122383,6 +136546,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHJobSubmission_args implements org.apache.thrift.TBase<getSSHJobSubmission_args, getSSHJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHJobSubmission_args");
 
@@ -122391,7 +136555,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHJobSubmission_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -122408,6 +136572,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_ID
@@ -122430,6 +136595,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -122442,10 +136608,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -122480,6 +136648,7 @@
       }
     }
 
+    @Override
     public getSSHJobSubmission_args deepCopy() {
       return new getSSHJobSubmission_args(this);
     }
@@ -122489,11 +136658,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getSSHJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getSSHJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -122513,7 +136683,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_ID:
         if (value == null) {
@@ -122526,6 +136697,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_ID:
@@ -122536,6 +136709,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -122550,8 +136724,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHJobSubmission_args)
         return this.equals((getSSHJobSubmission_args)that);
       return false;
@@ -122594,7 +136766,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -122607,14 +136779,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -122660,6 +136836,7 @@
     }
 
     private static class getSSHJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_argsStandardScheme getScheme() {
         return new getSSHJobSubmission_argsStandardScheme();
       }
@@ -122667,6 +136844,7 @@
 
     private static class getSSHJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -122696,6 +136874,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -122712,6 +136891,7 @@
     }
 
     private static class getSSHJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_argsTupleScheme getScheme() {
         return new getSSHJobSubmission_argsTupleScheme();
       }
@@ -122738,6 +136918,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSSHJobSubmission_result implements org.apache.thrift.TBase<getSSHJobSubmission_result, getSSHJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSSHJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSSHJobSubmission_result");
 
@@ -122747,8 +136928,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSSHJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSSHJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -122766,6 +136947,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -122790,6 +136972,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -122802,10 +136985,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -122847,6 +137032,7 @@
       }
     }
 
+    @Override
     public getSSHJobSubmission_result deepCopy() {
       return new getSSHJobSubmission_result(this);
     }
@@ -122857,11 +137043,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSuccess() {
       return this.success;
     }
 
-    public getSSHJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success) {
+    public getSSHJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission success) {
       this.success = success;
       return this;
     }
@@ -122881,11 +137068,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getSSHJobSubmission_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getSSHJobSubmission_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -122905,7 +137093,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -122926,6 +137115,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -122939,6 +137130,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -122955,8 +137147,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSSHJobSubmission_result)
         return this.equals((getSSHJobSubmission_result)that);
       return false;
@@ -123012,7 +137202,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123022,7 +137212,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123035,10 +137225,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -123096,6 +137289,7 @@
     }
 
     private static class getSSHJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_resultStandardScheme getScheme() {
         return new getSSHJobSubmission_resultStandardScheme();
       }
@@ -123103,6 +137297,7 @@
 
     private static class getSSHJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSSHJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSSHJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -123142,6 +137337,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSSHJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -123163,6 +137359,7 @@
     }
 
     private static class getSSHJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSSHJobSubmission_resultTupleScheme getScheme() {
         return new getSSHJobSubmission_resultTupleScheme();
       }
@@ -123211,6 +137408,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUNICOREJobSubmissionDetails_args implements org.apache.thrift.TBase<addUNICOREJobSubmissionDetails_args, addUNICOREJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUNICOREJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUNICOREJobSubmissionDetails_args");
 
@@ -123221,9 +137419,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // 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 {
@@ -123242,6 +137440,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -123268,6 +137467,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -123280,10 +137480,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -123334,6 +137536,7 @@
       }
     }
 
+    @Override
     public addUNICOREJobSubmissionDetails_args deepCopy() {
       return new addUNICOREJobSubmissionDetails_args(this);
     }
@@ -123346,11 +137549,12 @@
       this.unicoreJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addUNICOREJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addUNICOREJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -123393,11 +137597,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission() {
       return this.unicoreJobSubmission;
     }
 
-    public addUNICOREJobSubmissionDetails_args setUnicoreJobSubmission(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
+    public addUNICOREJobSubmissionDetails_args setUnicoreJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
       this.unicoreJobSubmission = unicoreJobSubmission;
       return this;
     }
@@ -123417,7 +137622,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -123446,6 +137652,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -123462,6 +137670,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -123480,8 +137689,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUNICOREJobSubmissionDetails_args)
         return this.equals((addUNICOREJobSubmissionDetails_args)that);
       return false;
@@ -123548,7 +137755,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123558,7 +137765,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123568,7 +137775,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreJobSubmission()).compareTo(other.isSetUnicoreJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreJobSubmission(), other.isSetUnicoreJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -123581,14 +137788,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -123655,6 +137866,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_argsStandardScheme();
       }
@@ -123662,6 +137874,7 @@
 
     private static class addUNICOREJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUNICOREJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUNICOREJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -123711,6 +137924,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUNICOREJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -123735,6 +137949,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_argsTupleScheme();
       }
@@ -123768,6 +137983,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUNICOREJobSubmissionDetails_result implements org.apache.thrift.TBase<addUNICOREJobSubmissionDetails_result, addUNICOREJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUNICOREJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUNICOREJobSubmissionDetails_result");
 
@@ -123777,8 +137993,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUNICOREJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -123796,6 +138012,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -123820,6 +138037,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -123832,10 +138050,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -123877,6 +138097,7 @@
       }
     }
 
+    @Override
     public addUNICOREJobSubmissionDetails_result deepCopy() {
       return new addUNICOREJobSubmissionDetails_result(this);
     }
@@ -123887,11 +138108,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addUNICOREJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addUNICOREJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -123911,11 +138133,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addUNICOREJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addUNICOREJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -123935,7 +138158,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -123956,6 +138180,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -123969,6 +138195,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -123985,8 +138212,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUNICOREJobSubmissionDetails_result)
         return this.equals((addUNICOREJobSubmissionDetails_result)that);
       return false;
@@ -124042,7 +138267,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124052,7 +138277,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124065,10 +138290,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -124123,6 +138351,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_resultStandardScheme();
       }
@@ -124130,6 +138359,7 @@
 
     private static class addUNICOREJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUNICOREJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUNICOREJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -124168,6 +138398,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUNICOREJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -124189,6 +138420,7 @@
     }
 
     private static class addUNICOREJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUNICOREJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addUNICOREJobSubmissionDetails_resultTupleScheme();
       }
@@ -124236,6 +138468,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreJobSubmission_args implements org.apache.thrift.TBase<getUnicoreJobSubmission_args, getUnicoreJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreJobSubmission_args");
 
@@ -124244,7 +138477,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreJobSubmission_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -124261,6 +138494,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_ID
@@ -124283,6 +138517,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -124295,10 +138530,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -124333,6 +138570,7 @@
       }
     }
 
+    @Override
     public getUnicoreJobSubmission_args deepCopy() {
       return new getUnicoreJobSubmission_args(this);
     }
@@ -124342,11 +138580,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getUnicoreJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getUnicoreJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -124366,7 +138605,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_ID:
         if (value == null) {
@@ -124379,6 +138619,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_ID:
@@ -124389,6 +138631,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -124403,8 +138646,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreJobSubmission_args)
         return this.equals((getUnicoreJobSubmission_args)that);
       return false;
@@ -124447,7 +138688,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124460,14 +138701,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -124513,6 +138758,7 @@
     }
 
     private static class getUnicoreJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_argsStandardScheme getScheme() {
         return new getUnicoreJobSubmission_argsStandardScheme();
       }
@@ -124520,6 +138766,7 @@
 
     private static class getUnicoreJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -124549,6 +138796,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -124565,6 +138813,7 @@
     }
 
     private static class getUnicoreJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_argsTupleScheme getScheme() {
         return new getUnicoreJobSubmission_argsTupleScheme();
       }
@@ -124591,6 +138840,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreJobSubmission_result implements org.apache.thrift.TBase<getUnicoreJobSubmission_result, getUnicoreJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreJobSubmission_result");
 
@@ -124600,8 +138850,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -124619,6 +138869,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -124643,6 +138894,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -124655,10 +138907,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -124700,6 +138954,7 @@
       }
     }
 
+    @Override
     public getUnicoreJobSubmission_result deepCopy() {
       return new getUnicoreJobSubmission_result(this);
     }
@@ -124710,11 +138965,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getSuccess() {
       return this.success;
     }
 
-    public getUnicoreJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success) {
+    public getUnicoreJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission success) {
       this.success = success;
       return this;
     }
@@ -124734,11 +138990,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUnicoreJobSubmission_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUnicoreJobSubmission_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -124758,7 +139015,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -124779,6 +139037,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -124792,6 +139052,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -124808,8 +139069,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreJobSubmission_result)
         return this.equals((getUnicoreJobSubmission_result)that);
       return false;
@@ -124865,7 +139124,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124875,7 +139134,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -124888,10 +139147,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -124949,6 +139211,7 @@
     }
 
     private static class getUnicoreJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_resultStandardScheme getScheme() {
         return new getUnicoreJobSubmission_resultStandardScheme();
       }
@@ -124956,6 +139219,7 @@
 
     private static class getUnicoreJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -124995,6 +139259,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -125016,6 +139281,7 @@
     }
 
     private static class getUnicoreJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreJobSubmission_resultTupleScheme getScheme() {
         return new getUnicoreJobSubmission_resultTupleScheme();
       }
@@ -125064,6 +139330,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addCloudJobSubmissionDetails_args implements org.apache.thrift.TBase<addCloudJobSubmissionDetails_args, addCloudJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addCloudJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addCloudJobSubmissionDetails_args");
 
@@ -125074,9 +139341,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addCloudJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addCloudJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission; // 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 {
@@ -125095,6 +139362,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -125121,6 +139389,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -125133,10 +139402,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -125187,6 +139458,7 @@
       }
     }
 
+    @Override
     public addCloudJobSubmissionDetails_args deepCopy() {
       return new addCloudJobSubmissionDetails_args(this);
     }
@@ -125199,11 +139471,12 @@
       this.cloudSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addCloudJobSubmissionDetails_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addCloudJobSubmissionDetails_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -125246,11 +139519,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getCloudSubmission() {
       return this.cloudSubmission;
     }
 
-    public addCloudJobSubmissionDetails_args setCloudSubmission(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) {
+    public addCloudJobSubmissionDetails_args setCloudSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission cloudSubmission) {
       this.cloudSubmission = cloudSubmission;
       return this;
     }
@@ -125270,7 +139544,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -125299,6 +139574,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -125315,6 +139592,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -125333,8 +139611,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addCloudJobSubmissionDetails_args)
         return this.equals((addCloudJobSubmissionDetails_args)that);
       return false;
@@ -125401,7 +139677,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125411,7 +139687,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125421,7 +139697,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCloudSubmission()).compareTo(other.isSetCloudSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetCloudSubmission(), other.isSetCloudSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125434,14 +139710,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -125508,6 +139788,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_argsStandardScheme getScheme() {
         return new addCloudJobSubmissionDetails_argsStandardScheme();
       }
@@ -125515,6 +139796,7 @@
 
     private static class addCloudJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addCloudJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -125564,6 +139846,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -125588,6 +139871,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_argsTupleScheme getScheme() {
         return new addCloudJobSubmissionDetails_argsTupleScheme();
       }
@@ -125621,6 +139905,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addCloudJobSubmissionDetails_result implements org.apache.thrift.TBase<addCloudJobSubmissionDetails_result, addCloudJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addCloudJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addCloudJobSubmissionDetails_result");
 
@@ -125630,8 +139915,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addCloudJobSubmissionDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addCloudJobSubmissionDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -125649,6 +139934,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -125673,6 +139959,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -125685,10 +139972,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -125730,6 +140019,7 @@
       }
     }
 
+    @Override
     public addCloudJobSubmissionDetails_result deepCopy() {
       return new addCloudJobSubmissionDetails_result(this);
     }
@@ -125740,11 +140030,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addCloudJobSubmissionDetails_result setSuccess(java.lang.String success) {
+    public addCloudJobSubmissionDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -125764,11 +140055,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addCloudJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addCloudJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -125788,7 +140080,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -125809,6 +140102,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -125822,6 +140117,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -125838,8 +140134,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addCloudJobSubmissionDetails_result)
         return this.equals((addCloudJobSubmissionDetails_result)that);
       return false;
@@ -125895,7 +140189,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125905,7 +140199,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -125918,10 +140212,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -125976,6 +140273,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_resultStandardScheme getScheme() {
         return new addCloudJobSubmissionDetails_resultStandardScheme();
       }
@@ -125983,6 +140281,7 @@
 
     private static class addCloudJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addCloudJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -126021,6 +140320,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -126042,6 +140342,7 @@
     }
 
     private static class addCloudJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addCloudJobSubmissionDetails_resultTupleScheme getScheme() {
         return new addCloudJobSubmissionDetails_resultTupleScheme();
       }
@@ -126089,6 +140390,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCloudJobSubmission_args implements org.apache.thrift.TBase<getCloudJobSubmission_args, getCloudJobSubmission_args._Fields>, java.io.Serializable, Cloneable, Comparable<getCloudJobSubmission_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCloudJobSubmission_args");
 
@@ -126097,7 +140399,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCloudJobSubmission_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCloudJobSubmission_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId; // 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 {
@@ -126114,6 +140416,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_ID
@@ -126136,6 +140439,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -126148,10 +140452,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -126186,6 +140492,7 @@
       }
     }
 
+    @Override
     public getCloudJobSubmission_args deepCopy() {
       return new getCloudJobSubmission_args(this);
     }
@@ -126195,11 +140502,12 @@
       this.jobSubmissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionId() {
       return this.jobSubmissionId;
     }
 
-    public getCloudJobSubmission_args setJobSubmissionId(java.lang.String jobSubmissionId) {
+    public getCloudJobSubmission_args setJobSubmissionId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionId) {
       this.jobSubmissionId = jobSubmissionId;
       return this;
     }
@@ -126219,7 +140527,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_ID:
         if (value == null) {
@@ -126232,6 +140541,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_ID:
@@ -126242,6 +140553,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -126256,8 +140568,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCloudJobSubmission_args)
         return this.equals((getCloudJobSubmission_args)that);
       return false;
@@ -126300,7 +140610,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionId()).compareTo(other.isSetJobSubmissionId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionId(), other.isSetJobSubmissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126313,14 +140623,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -126366,6 +140680,7 @@
     }
 
     private static class getCloudJobSubmission_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_argsStandardScheme getScheme() {
         return new getCloudJobSubmission_argsStandardScheme();
       }
@@ -126373,6 +140688,7 @@
 
     private static class getCloudJobSubmission_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCloudJobSubmission_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCloudJobSubmission_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -126402,6 +140718,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCloudJobSubmission_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -126418,6 +140735,7 @@
     }
 
     private static class getCloudJobSubmission_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_argsTupleScheme getScheme() {
         return new getCloudJobSubmission_argsTupleScheme();
       }
@@ -126444,6 +140762,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getCloudJobSubmission_result implements org.apache.thrift.TBase<getCloudJobSubmission_result, getCloudJobSubmission_result._Fields>, java.io.Serializable, Cloneable, Comparable<getCloudJobSubmission_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getCloudJobSubmission_result");
 
@@ -126453,8 +140772,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getCloudJobSubmission_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getCloudJobSubmission_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -126472,6 +140791,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -126496,6 +140816,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -126508,10 +140829,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -126553,6 +140876,7 @@
       }
     }
 
+    @Override
     public getCloudJobSubmission_result deepCopy() {
       return new getCloudJobSubmission_result(this);
     }
@@ -126563,11 +140887,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getSuccess() {
       return this.success;
     }
 
-    public getCloudJobSubmission_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success) {
+    public getCloudJobSubmission_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission success) {
       this.success = success;
       return this;
     }
@@ -126587,11 +140912,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getCloudJobSubmission_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getCloudJobSubmission_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -126611,7 +140937,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -126632,6 +140959,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -126645,6 +140974,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -126661,8 +140991,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getCloudJobSubmission_result)
         return this.equals((getCloudJobSubmission_result)that);
       return false;
@@ -126718,7 +141046,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126728,7 +141056,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -126741,10 +141069,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -126802,6 +141133,7 @@
     }
 
     private static class getCloudJobSubmission_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_resultStandardScheme getScheme() {
         return new getCloudJobSubmission_resultStandardScheme();
       }
@@ -126809,6 +141141,7 @@
 
     private static class getCloudJobSubmission_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getCloudJobSubmission_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getCloudJobSubmission_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -126848,6 +141181,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getCloudJobSubmission_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -126869,6 +141203,7 @@
     }
 
     private static class getCloudJobSubmission_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getCloudJobSubmission_resultTupleScheme getScheme() {
         return new getCloudJobSubmission_resultTupleScheme();
       }
@@ -126917,6 +141252,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSSHJobSubmissionDetails_args implements org.apache.thrift.TBase<updateSSHJobSubmissionDetails_args, updateSSHJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateSSHJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSSHJobSubmissionDetails_args");
 
@@ -126926,8 +141262,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateSSHJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSSHJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission; // 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 {
@@ -126945,6 +141281,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -126969,6 +141306,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -126981,10 +141319,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -127026,6 +141366,7 @@
       }
     }
 
+    @Override
     public updateSSHJobSubmissionDetails_args deepCopy() {
       return new updateSSHJobSubmissionDetails_args(this);
     }
@@ -127036,11 +141377,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateSSHJobSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateSSHJobSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -127060,11 +141402,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public updateSSHJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
+    public updateSSHJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -127084,7 +141427,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
         if (value == null) {
@@ -127105,6 +141449,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
@@ -127118,6 +141464,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -127134,8 +141481,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSSHJobSubmissionDetails_args)
         return this.equals((updateSSHJobSubmissionDetails_args)that);
       return false;
@@ -127191,7 +141536,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -127201,7 +141546,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -127214,14 +141559,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -127281,6 +141630,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_argsStandardScheme getScheme() {
         return new updateSSHJobSubmissionDetails_argsStandardScheme();
       }
@@ -127288,6 +141638,7 @@
 
     private static class updateSSHJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSSHJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -127326,6 +141677,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSSHJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -127347,6 +141699,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_argsTupleScheme getScheme() {
         return new updateSSHJobSubmissionDetails_argsTupleScheme();
       }
@@ -127377,6 +141730,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSSHJobSubmissionDetails_result implements org.apache.thrift.TBase<updateSSHJobSubmissionDetails_result, updateSSHJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateSSHJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSSHJobSubmissionDetails_result");
 
@@ -127387,7 +141741,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSSHJobSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -127405,6 +141759,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -127429,6 +141784,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -127441,10 +141797,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -127488,6 +141846,7 @@
       }
     }
 
+    @Override
     public updateSSHJobSubmissionDetails_result deepCopy() {
       return new updateSSHJobSubmissionDetails_result(this);
     }
@@ -127522,11 +141881,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateSSHJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateSSHJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -127546,7 +141906,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -127567,6 +141928,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -127580,6 +141943,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -127596,8 +141960,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSSHJobSubmissionDetails_result)
         return this.equals((updateSSHJobSubmissionDetails_result)that);
       return false;
@@ -127651,7 +142013,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -127661,7 +142023,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -127674,10 +142036,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -127730,6 +142095,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_resultStandardScheme getScheme() {
         return new updateSSHJobSubmissionDetails_resultStandardScheme();
       }
@@ -127737,6 +142103,7 @@
 
     private static class updateSSHJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSSHJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -127775,6 +142142,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSSHJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -127796,6 +142164,7 @@
     }
 
     private static class updateSSHJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSSHJobSubmissionDetails_resultTupleScheme getScheme() {
         return new updateSSHJobSubmissionDetails_resultTupleScheme();
       }
@@ -127843,6 +142212,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateCloudJobSubmissionDetails_args implements org.apache.thrift.TBase<updateCloudJobSubmissionDetails_args, updateCloudJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateCloudJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCloudJobSubmissionDetails_args");
 
@@ -127852,8 +142222,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateCloudJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateCloudJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission; // 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 {
@@ -127871,6 +142241,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -127895,6 +142266,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -127907,10 +142279,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -127952,6 +142326,7 @@
       }
     }
 
+    @Override
     public updateCloudJobSubmissionDetails_args deepCopy() {
       return new updateCloudJobSubmissionDetails_args(this);
     }
@@ -127962,11 +142337,12 @@
       this.sshJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateCloudJobSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateCloudJobSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -127986,11 +142362,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission getSshJobSubmission() {
       return this.sshJobSubmission;
     }
 
-    public updateCloudJobSubmissionDetails_args setSshJobSubmission(org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) {
+    public updateCloudJobSubmissionDetails_args setSshJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission sshJobSubmission) {
       this.sshJobSubmission = sshJobSubmission;
       return this;
     }
@@ -128010,7 +142387,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
         if (value == null) {
@@ -128031,6 +142409,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
@@ -128044,6 +142424,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -128060,8 +142441,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateCloudJobSubmissionDetails_args)
         return this.equals((updateCloudJobSubmissionDetails_args)that);
       return false;
@@ -128117,7 +142496,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128127,7 +142506,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSshJobSubmission()).compareTo(other.isSetSshJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetSshJobSubmission(), other.isSetSshJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128140,14 +142519,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -128207,6 +142590,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_argsStandardScheme getScheme() {
         return new updateCloudJobSubmissionDetails_argsStandardScheme();
       }
@@ -128214,6 +142598,7 @@
 
     private static class updateCloudJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateCloudJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -128252,6 +142637,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateCloudJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -128273,6 +142659,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_argsTupleScheme getScheme() {
         return new updateCloudJobSubmissionDetails_argsTupleScheme();
       }
@@ -128303,6 +142690,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateCloudJobSubmissionDetails_result implements org.apache.thrift.TBase<updateCloudJobSubmissionDetails_result, updateCloudJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateCloudJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateCloudJobSubmissionDetails_result");
 
@@ -128313,7 +142701,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateCloudJobSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -128331,6 +142719,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -128355,6 +142744,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -128367,10 +142757,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -128414,6 +142806,7 @@
       }
     }
 
+    @Override
     public updateCloudJobSubmissionDetails_result deepCopy() {
       return new updateCloudJobSubmissionDetails_result(this);
     }
@@ -128448,11 +142841,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateCloudJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateCloudJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -128472,7 +142866,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -128493,6 +142888,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -128506,6 +142903,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -128522,8 +142920,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateCloudJobSubmissionDetails_result)
         return this.equals((updateCloudJobSubmissionDetails_result)that);
       return false;
@@ -128577,7 +142973,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128587,7 +142983,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -128600,10 +142996,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -128656,6 +143055,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_resultStandardScheme getScheme() {
         return new updateCloudJobSubmissionDetails_resultStandardScheme();
       }
@@ -128663,6 +143063,7 @@
 
     private static class updateCloudJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateCloudJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -128701,6 +143102,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateCloudJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -128722,6 +143124,7 @@
     }
 
     private static class updateCloudJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateCloudJobSubmissionDetails_resultTupleScheme getScheme() {
         return new updateCloudJobSubmissionDetails_resultTupleScheme();
       }
@@ -128769,6 +143172,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreJobSubmissionDetails_args implements org.apache.thrift.TBase<updateUnicoreJobSubmissionDetails_args, updateUnicoreJobSubmissionDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreJobSubmissionDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreJobSubmissionDetails_args");
 
@@ -128778,8 +143182,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUnicoreJobSubmissionDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreJobSubmissionDetails_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionInterfaceId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission; // 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 {
@@ -128797,6 +143201,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -128821,6 +143226,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -128833,10 +143239,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -128878,6 +143286,7 @@
       }
     }
 
+    @Override
     public updateUnicoreJobSubmissionDetails_args deepCopy() {
       return new updateUnicoreJobSubmissionDetails_args(this);
     }
@@ -128888,11 +143297,12 @@
       this.unicoreJobSubmission = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public updateUnicoreJobSubmissionDetails_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public updateUnicoreJobSubmissionDetails_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -128912,11 +143322,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission getUnicoreJobSubmission() {
       return this.unicoreJobSubmission;
     }
 
-    public updateUnicoreJobSubmissionDetails_args setUnicoreJobSubmission(org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
+    public updateUnicoreJobSubmissionDetails_args setUnicoreJobSubmission(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.UnicoreJobSubmission unicoreJobSubmission) {
       this.unicoreJobSubmission = unicoreJobSubmission;
       return this;
     }
@@ -128936,7 +143347,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
         if (value == null) {
@@ -128957,6 +143369,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
@@ -128970,6 +143384,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -128986,8 +143401,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreJobSubmissionDetails_args)
         return this.equals((updateUnicoreJobSubmissionDetails_args)that);
       return false;
@@ -129043,7 +143456,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129053,7 +143466,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreJobSubmission()).compareTo(other.isSetUnicoreJobSubmission());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreJobSubmission(), other.isSetUnicoreJobSubmission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129066,14 +143479,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -129133,6 +143550,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_argsStandardScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_argsStandardScheme();
       }
@@ -129140,6 +143558,7 @@
 
     private static class updateUnicoreJobSubmissionDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreJobSubmissionDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -129178,6 +143597,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreJobSubmissionDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -129199,6 +143619,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_argsTupleScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_argsTupleScheme();
       }
@@ -129229,6 +143650,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreJobSubmissionDetails_result implements org.apache.thrift.TBase<updateUnicoreJobSubmissionDetails_result, updateUnicoreJobSubmissionDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreJobSubmissionDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreJobSubmissionDetails_result");
 
@@ -129239,7 +143661,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreJobSubmissionDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -129257,6 +143679,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -129281,6 +143704,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -129293,10 +143717,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -129340,6 +143766,7 @@
       }
     }
 
+    @Override
     public updateUnicoreJobSubmissionDetails_result deepCopy() {
       return new updateUnicoreJobSubmissionDetails_result(this);
     }
@@ -129374,11 +143801,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateUnicoreJobSubmissionDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateUnicoreJobSubmissionDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -129398,7 +143826,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -129419,6 +143848,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -129432,6 +143863,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -129448,8 +143880,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreJobSubmissionDetails_result)
         return this.equals((updateUnicoreJobSubmissionDetails_result)that);
       return false;
@@ -129503,7 +143933,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129513,7 +143943,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -129526,10 +143956,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -129582,6 +144015,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_resultStandardScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_resultStandardScheme();
       }
@@ -129589,6 +144023,7 @@
 
     private static class updateUnicoreJobSubmissionDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreJobSubmissionDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -129627,6 +144062,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreJobSubmissionDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -129648,6 +144084,7 @@
     }
 
     private static class updateUnicoreJobSubmissionDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreJobSubmissionDetails_resultTupleScheme getScheme() {
         return new updateUnicoreJobSubmissionDetails_resultTupleScheme();
       }
@@ -129695,6 +144132,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalDataMovementDetails_args implements org.apache.thrift.TBase<addLocalDataMovementDetails_args, addLocalDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalDataMovementDetails_args");
 
@@ -129706,14 +144144,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // 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 {
@@ -129737,6 +144175,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -129765,6 +144204,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -129777,10 +144217,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -129838,6 +144280,7 @@
       }
     }
 
+    @Override
     public addLocalDataMovementDetails_args deepCopy() {
       return new addLocalDataMovementDetails_args(this);
     }
@@ -129851,11 +144294,12 @@
       this.localDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addLocalDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addLocalDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -129879,6 +144323,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -129887,7 +144332,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addLocalDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addLocalDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -129930,11 +144375,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement() {
       return this.localDataMovement;
     }
 
-    public addLocalDataMovementDetails_args setLocalDataMovement(org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
+    public addLocalDataMovementDetails_args setLocalDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
       this.localDataMovement = localDataMovement;
       return this;
     }
@@ -129954,7 +144400,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -129991,6 +144438,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -130010,6 +144459,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -130030,8 +144480,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalDataMovementDetails_args)
         return this.equals((addLocalDataMovementDetails_args)that);
       return false;
@@ -130111,7 +144559,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130121,7 +144569,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130131,7 +144579,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130141,7 +144589,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalDataMovement()).compareTo(other.isSetLocalDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetLocalDataMovement(), other.isSetLocalDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130154,14 +144602,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -130239,6 +144691,7 @@
     }
 
     private static class addLocalDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_argsStandardScheme getScheme() {
         return new addLocalDataMovementDetails_argsStandardScheme();
       }
@@ -130246,6 +144699,7 @@
 
     private static class addLocalDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -130303,6 +144757,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -130332,6 +144787,7 @@
     }
 
     private static class addLocalDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_argsTupleScheme getScheme() {
         return new addLocalDataMovementDetails_argsTupleScheme();
       }
@@ -130368,6 +144824,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addLocalDataMovementDetails_result implements org.apache.thrift.TBase<addLocalDataMovementDetails_result, addLocalDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addLocalDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addLocalDataMovementDetails_result");
 
@@ -130377,8 +144834,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addLocalDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addLocalDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -130396,6 +144853,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -130420,6 +144878,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -130432,10 +144891,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -130477,6 +144938,7 @@
       }
     }
 
+    @Override
     public addLocalDataMovementDetails_result deepCopy() {
       return new addLocalDataMovementDetails_result(this);
     }
@@ -130487,11 +144949,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addLocalDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addLocalDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -130511,11 +144974,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addLocalDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addLocalDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -130535,7 +144999,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -130556,6 +145021,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -130569,6 +145036,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -130585,8 +145053,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addLocalDataMovementDetails_result)
         return this.equals((addLocalDataMovementDetails_result)that);
       return false;
@@ -130642,7 +145108,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130652,7 +145118,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -130665,10 +145131,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -130723,6 +145192,7 @@
     }
 
     private static class addLocalDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_resultStandardScheme getScheme() {
         return new addLocalDataMovementDetails_resultStandardScheme();
       }
@@ -130730,6 +145200,7 @@
 
     private static class addLocalDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addLocalDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -130768,6 +145239,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -130789,6 +145261,7 @@
     }
 
     private static class addLocalDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addLocalDataMovementDetails_resultTupleScheme getScheme() {
         return new addLocalDataMovementDetails_resultTupleScheme();
       }
@@ -130836,6 +145309,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalDataMovementDetails_args implements org.apache.thrift.TBase<updateLocalDataMovementDetails_args, updateLocalDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalDataMovementDetails_args");
 
@@ -130845,8 +145319,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateLocalDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement; // 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 {
@@ -130864,6 +145338,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -130888,6 +145363,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -130900,10 +145376,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -130945,6 +145423,7 @@
       }
     }
 
+    @Override
     public updateLocalDataMovementDetails_args deepCopy() {
       return new updateLocalDataMovementDetails_args(this);
     }
@@ -130955,11 +145434,12 @@
       this.localDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateLocalDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateLocalDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -130979,11 +145459,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.LOCALDataMovement getLocalDataMovement() {
       return this.localDataMovement;
     }
 
-    public updateLocalDataMovementDetails_args setLocalDataMovement(org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
+    public updateLocalDataMovementDetails_args setLocalDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement localDataMovement) {
       this.localDataMovement = localDataMovement;
       return this;
     }
@@ -131003,7 +145484,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
         if (value == null) {
@@ -131024,6 +145506,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
@@ -131037,6 +145521,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -131053,8 +145538,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalDataMovementDetails_args)
         return this.equals((updateLocalDataMovementDetails_args)that);
       return false;
@@ -131110,7 +145593,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131120,7 +145603,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLocalDataMovement()).compareTo(other.isSetLocalDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetLocalDataMovement(), other.isSetLocalDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131133,14 +145616,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -131200,6 +145687,7 @@
     }
 
     private static class updateLocalDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_argsStandardScheme getScheme() {
         return new updateLocalDataMovementDetails_argsStandardScheme();
       }
@@ -131207,6 +145695,7 @@
 
     private static class updateLocalDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -131245,6 +145734,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -131266,6 +145756,7 @@
     }
 
     private static class updateLocalDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_argsTupleScheme getScheme() {
         return new updateLocalDataMovementDetails_argsTupleScheme();
       }
@@ -131296,6 +145787,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateLocalDataMovementDetails_result implements org.apache.thrift.TBase<updateLocalDataMovementDetails_result, updateLocalDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateLocalDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateLocalDataMovementDetails_result");
 
@@ -131306,7 +145798,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateLocalDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -131324,6 +145816,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -131348,6 +145841,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -131360,10 +145854,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -131407,6 +145903,7 @@
       }
     }
 
+    @Override
     public updateLocalDataMovementDetails_result deepCopy() {
       return new updateLocalDataMovementDetails_result(this);
     }
@@ -131441,11 +145938,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateLocalDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateLocalDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -131465,7 +145963,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -131486,6 +145985,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -131499,6 +146000,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -131515,8 +146017,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateLocalDataMovementDetails_result)
         return this.equals((updateLocalDataMovementDetails_result)that);
       return false;
@@ -131570,7 +146070,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131580,7 +146080,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131593,10 +146093,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -131649,6 +146152,7 @@
     }
 
     private static class updateLocalDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_resultStandardScheme getScheme() {
         return new updateLocalDataMovementDetails_resultStandardScheme();
       }
@@ -131656,6 +146160,7 @@
 
     private static class updateLocalDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateLocalDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -131694,6 +146199,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateLocalDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -131715,6 +146221,7 @@
     }
 
     private static class updateLocalDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateLocalDataMovementDetails_resultTupleScheme getScheme() {
         return new updateLocalDataMovementDetails_resultTupleScheme();
       }
@@ -131762,6 +146269,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalDataMovement_args implements org.apache.thrift.TBase<getLocalDataMovement_args, getLocalDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalDataMovement_args");
 
@@ -131770,7 +146278,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalDataMovement_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -131787,6 +146295,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_ID
@@ -131809,6 +146318,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -131821,10 +146331,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -131859,6 +146371,7 @@
       }
     }
 
+    @Override
     public getLocalDataMovement_args deepCopy() {
       return new getLocalDataMovement_args(this);
     }
@@ -131868,11 +146381,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getLocalDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getLocalDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -131892,7 +146406,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_ID:
         if (value == null) {
@@ -131905,6 +146420,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_ID:
@@ -131915,6 +146432,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -131929,8 +146447,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalDataMovement_args)
         return this.equals((getLocalDataMovement_args)that);
       return false;
@@ -131973,7 +146489,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -131986,14 +146502,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -132039,6 +146559,7 @@
     }
 
     private static class getLocalDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_argsStandardScheme getScheme() {
         return new getLocalDataMovement_argsStandardScheme();
       }
@@ -132046,6 +146567,7 @@
 
     private static class getLocalDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -132075,6 +146597,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -132091,6 +146614,7 @@
     }
 
     private static class getLocalDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_argsTupleScheme getScheme() {
         return new getLocalDataMovement_argsTupleScheme();
       }
@@ -132117,6 +146641,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLocalDataMovement_result implements org.apache.thrift.TBase<getLocalDataMovement_result, getLocalDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLocalDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLocalDataMovement_result");
 
@@ -132126,8 +146651,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLocalDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLocalDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.LOCALDataMovement success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -132145,6 +146670,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -132169,6 +146695,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -132181,10 +146708,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -132226,6 +146755,7 @@
       }
     }
 
+    @Override
     public getLocalDataMovement_result deepCopy() {
       return new getLocalDataMovement_result(this);
     }
@@ -132236,11 +146766,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.LOCALDataMovement getSuccess() {
       return this.success;
     }
 
-    public getLocalDataMovement_result setSuccess(org.apache.airavata.model.data.movement.LOCALDataMovement success) {
+    public getLocalDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.LOCALDataMovement success) {
       this.success = success;
       return this;
     }
@@ -132260,11 +146791,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getLocalDataMovement_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getLocalDataMovement_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -132284,7 +146816,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -132305,6 +146838,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -132318,6 +146853,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -132334,8 +146870,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLocalDataMovement_result)
         return this.equals((getLocalDataMovement_result)that);
       return false;
@@ -132391,7 +146925,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132401,7 +146935,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -132414,10 +146948,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -132475,6 +147012,7 @@
     }
 
     private static class getLocalDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_resultStandardScheme getScheme() {
         return new getLocalDataMovement_resultStandardScheme();
       }
@@ -132482,6 +147020,7 @@
 
     private static class getLocalDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLocalDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLocalDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -132521,6 +147060,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLocalDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -132542,6 +147082,7 @@
     }
 
     private static class getLocalDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLocalDataMovement_resultTupleScheme getScheme() {
         return new getLocalDataMovement_resultTupleScheme();
       }
@@ -132590,6 +147131,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSCPDataMovementDetails_args implements org.apache.thrift.TBase<addSCPDataMovementDetails_args, addSCPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addSCPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSCPDataMovementDetails_args");
 
@@ -132601,14 +147143,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSCPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSCPDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // 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 {
@@ -132632,6 +147174,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -132660,6 +147203,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -132672,10 +147216,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -132733,6 +147279,7 @@
       }
     }
 
+    @Override
     public addSCPDataMovementDetails_args deepCopy() {
       return new addSCPDataMovementDetails_args(this);
     }
@@ -132746,11 +147293,12 @@
       this.scpDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addSCPDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addSCPDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -132774,6 +147322,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -132782,7 +147331,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addSCPDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addSCPDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -132825,11 +147374,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.SCPDataMovement getScpDataMovement() {
       return this.scpDataMovement;
     }
 
-    public addSCPDataMovementDetails_args setScpDataMovement(org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
+    public addSCPDataMovementDetails_args setScpDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
       this.scpDataMovement = scpDataMovement;
       return this;
     }
@@ -132849,7 +147399,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -132886,6 +147437,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -132905,6 +147458,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -132925,8 +147479,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSCPDataMovementDetails_args)
         return this.equals((addSCPDataMovementDetails_args)that);
       return false;
@@ -133006,7 +147558,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133016,7 +147568,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133026,7 +147578,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133036,7 +147588,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetScpDataMovement()).compareTo(other.isSetScpDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetScpDataMovement(), other.isSetScpDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133049,14 +147601,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -133134,6 +147690,7 @@
     }
 
     private static class addSCPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_argsStandardScheme getScheme() {
         return new addSCPDataMovementDetails_argsStandardScheme();
       }
@@ -133141,6 +147698,7 @@
 
     private static class addSCPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSCPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -133198,6 +147756,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -133227,6 +147786,7 @@
     }
 
     private static class addSCPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_argsTupleScheme getScheme() {
         return new addSCPDataMovementDetails_argsTupleScheme();
       }
@@ -133263,6 +147823,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addSCPDataMovementDetails_result implements org.apache.thrift.TBase<addSCPDataMovementDetails_result, addSCPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addSCPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addSCPDataMovementDetails_result");
 
@@ -133272,8 +147833,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addSCPDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addSCPDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -133291,6 +147852,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -133315,6 +147877,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -133327,10 +147890,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -133372,6 +147937,7 @@
       }
     }
 
+    @Override
     public addSCPDataMovementDetails_result deepCopy() {
       return new addSCPDataMovementDetails_result(this);
     }
@@ -133382,11 +147948,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addSCPDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addSCPDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -133406,11 +147973,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addSCPDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addSCPDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -133430,7 +147998,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -133451,6 +148020,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -133464,6 +148035,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -133480,8 +148052,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addSCPDataMovementDetails_result)
         return this.equals((addSCPDataMovementDetails_result)that);
       return false;
@@ -133537,7 +148107,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133547,7 +148117,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -133560,10 +148130,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -133618,6 +148191,7 @@
     }
 
     private static class addSCPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_resultStandardScheme getScheme() {
         return new addSCPDataMovementDetails_resultStandardScheme();
       }
@@ -133625,6 +148199,7 @@
 
     private static class addSCPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addSCPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -133663,6 +148238,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -133684,6 +148260,7 @@
     }
 
     private static class addSCPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addSCPDataMovementDetails_resultTupleScheme getScheme() {
         return new addSCPDataMovementDetails_resultTupleScheme();
       }
@@ -133731,6 +148308,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSCPDataMovementDetails_args implements org.apache.thrift.TBase<updateSCPDataMovementDetails_args, updateSCPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateSCPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSCPDataMovementDetails_args");
 
@@ -133740,8 +148318,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateSCPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSCPDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement; // 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 {
@@ -133759,6 +148337,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -133783,6 +148362,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -133795,10 +148375,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -133840,6 +148422,7 @@
       }
     }
 
+    @Override
     public updateSCPDataMovementDetails_args deepCopy() {
       return new updateSCPDataMovementDetails_args(this);
     }
@@ -133850,11 +148433,12 @@
       this.scpDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateSCPDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateSCPDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -133874,11 +148458,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.SCPDataMovement getScpDataMovement() {
       return this.scpDataMovement;
     }
 
-    public updateSCPDataMovementDetails_args setScpDataMovement(org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
+    public updateSCPDataMovementDetails_args setScpDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement scpDataMovement) {
       this.scpDataMovement = scpDataMovement;
       return this;
     }
@@ -133898,7 +148483,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
         if (value == null) {
@@ -133919,6 +148505,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
@@ -133932,6 +148520,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -133948,8 +148537,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSCPDataMovementDetails_args)
         return this.equals((updateSCPDataMovementDetails_args)that);
       return false;
@@ -134005,7 +148592,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134015,7 +148602,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetScpDataMovement()).compareTo(other.isSetScpDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetScpDataMovement(), other.isSetScpDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134028,14 +148615,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -134095,6 +148686,7 @@
     }
 
     private static class updateSCPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_argsStandardScheme getScheme() {
         return new updateSCPDataMovementDetails_argsStandardScheme();
       }
@@ -134102,6 +148694,7 @@
 
     private static class updateSCPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSCPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -134140,6 +148733,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSCPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -134161,6 +148755,7 @@
     }
 
     private static class updateSCPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_argsTupleScheme getScheme() {
         return new updateSCPDataMovementDetails_argsTupleScheme();
       }
@@ -134191,6 +148786,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateSCPDataMovementDetails_result implements org.apache.thrift.TBase<updateSCPDataMovementDetails_result, updateSCPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateSCPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateSCPDataMovementDetails_result");
 
@@ -134201,7 +148797,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateSCPDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -134219,6 +148815,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -134243,6 +148840,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -134255,10 +148853,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -134302,6 +148902,7 @@
       }
     }
 
+    @Override
     public updateSCPDataMovementDetails_result deepCopy() {
       return new updateSCPDataMovementDetails_result(this);
     }
@@ -134336,11 +148937,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateSCPDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateSCPDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -134360,7 +148962,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -134381,6 +148984,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -134394,6 +148999,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -134410,8 +149016,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateSCPDataMovementDetails_result)
         return this.equals((updateSCPDataMovementDetails_result)that);
       return false;
@@ -134465,7 +149069,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134475,7 +149079,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134488,10 +149092,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -134544,6 +149151,7 @@
     }
 
     private static class updateSCPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_resultStandardScheme getScheme() {
         return new updateSCPDataMovementDetails_resultStandardScheme();
       }
@@ -134551,6 +149159,7 @@
 
     private static class updateSCPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateSCPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -134589,6 +149198,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateSCPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -134610,6 +149220,7 @@
     }
 
     private static class updateSCPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateSCPDataMovementDetails_resultTupleScheme getScheme() {
         return new updateSCPDataMovementDetails_resultTupleScheme();
       }
@@ -134657,6 +149268,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSCPDataMovement_args implements org.apache.thrift.TBase<getSCPDataMovement_args, getSCPDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getSCPDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSCPDataMovement_args");
 
@@ -134665,7 +149277,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSCPDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSCPDataMovement_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -134682,6 +149294,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_ID
@@ -134704,6 +149317,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -134716,10 +149330,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -134754,6 +149370,7 @@
       }
     }
 
+    @Override
     public getSCPDataMovement_args deepCopy() {
       return new getSCPDataMovement_args(this);
     }
@@ -134763,11 +149380,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getSCPDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getSCPDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -134787,7 +149405,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_ID:
         if (value == null) {
@@ -134800,6 +149419,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_ID:
@@ -134810,6 +149431,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -134824,8 +149446,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSCPDataMovement_args)
         return this.equals((getSCPDataMovement_args)that);
       return false;
@@ -134868,7 +149488,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -134881,14 +149501,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -134934,6 +149558,7 @@
     }
 
     private static class getSCPDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_argsStandardScheme getScheme() {
         return new getSCPDataMovement_argsStandardScheme();
       }
@@ -134941,6 +149566,7 @@
 
     private static class getSCPDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSCPDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSCPDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -134970,6 +149596,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSCPDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -134986,6 +149613,7 @@
     }
 
     private static class getSCPDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_argsTupleScheme getScheme() {
         return new getSCPDataMovement_argsTupleScheme();
       }
@@ -135012,6 +149640,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getSCPDataMovement_result implements org.apache.thrift.TBase<getSCPDataMovement_result, getSCPDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getSCPDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getSCPDataMovement_result");
 
@@ -135021,8 +149650,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getSCPDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getSCPDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.SCPDataMovement success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -135040,6 +149669,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -135064,6 +149694,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -135076,10 +149707,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -135121,6 +149754,7 @@
       }
     }
 
+    @Override
     public getSCPDataMovement_result deepCopy() {
       return new getSCPDataMovement_result(this);
     }
@@ -135131,11 +149765,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.SCPDataMovement getSuccess() {
       return this.success;
     }
 
-    public getSCPDataMovement_result setSuccess(org.apache.airavata.model.data.movement.SCPDataMovement success) {
+    public getSCPDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.SCPDataMovement success) {
       this.success = success;
       return this;
     }
@@ -135155,11 +149790,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getSCPDataMovement_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getSCPDataMovement_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -135179,7 +149815,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -135200,6 +149837,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -135213,6 +149852,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -135229,8 +149869,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getSCPDataMovement_result)
         return this.equals((getSCPDataMovement_result)that);
       return false;
@@ -135286,7 +149924,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135296,7 +149934,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135309,10 +149947,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -135370,6 +150011,7 @@
     }
 
     private static class getSCPDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_resultStandardScheme getScheme() {
         return new getSCPDataMovement_resultStandardScheme();
       }
@@ -135377,6 +150019,7 @@
 
     private static class getSCPDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getSCPDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getSCPDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -135416,6 +150059,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getSCPDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -135437,6 +150081,7 @@
     }
 
     private static class getSCPDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getSCPDataMovement_resultTupleScheme getScheme() {
         return new getSCPDataMovement_resultTupleScheme();
       }
@@ -135485,6 +150130,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUnicoreDataMovementDetails_args implements org.apache.thrift.TBase<addUnicoreDataMovementDetails_args, addUnicoreDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUnicoreDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUnicoreDataMovementDetails_args");
 
@@ -135496,14 +150142,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUnicoreDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUnicoreDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // 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 {
@@ -135527,6 +150173,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -135555,6 +150202,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -135567,10 +150215,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -135628,6 +150278,7 @@
       }
     }
 
+    @Override
     public addUnicoreDataMovementDetails_args deepCopy() {
       return new addUnicoreDataMovementDetails_args(this);
     }
@@ -135641,11 +150292,12 @@
       this.unicoreDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addUnicoreDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addUnicoreDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -135669,6 +150321,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -135677,7 +150330,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addUnicoreDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addUnicoreDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -135720,11 +150373,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement() {
       return this.unicoreDataMovement;
     }
 
-    public addUnicoreDataMovementDetails_args setUnicoreDataMovement(org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
+    public addUnicoreDataMovementDetails_args setUnicoreDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
       this.unicoreDataMovement = unicoreDataMovement;
       return this;
     }
@@ -135744,7 +150398,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -135781,6 +150436,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -135800,6 +150457,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -135820,8 +150478,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUnicoreDataMovementDetails_args)
         return this.equals((addUnicoreDataMovementDetails_args)that);
       return false;
@@ -135901,7 +150557,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135911,7 +150567,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135921,7 +150577,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135931,7 +150587,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreDataMovement()).compareTo(other.isSetUnicoreDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreDataMovement(), other.isSetUnicoreDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -135944,14 +150600,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -136029,6 +150689,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_argsStandardScheme getScheme() {
         return new addUnicoreDataMovementDetails_argsStandardScheme();
       }
@@ -136036,6 +150697,7 @@
 
     private static class addUnicoreDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUnicoreDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -136093,6 +150755,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -136122,6 +150785,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_argsTupleScheme getScheme() {
         return new addUnicoreDataMovementDetails_argsTupleScheme();
       }
@@ -136158,6 +150822,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUnicoreDataMovementDetails_result implements org.apache.thrift.TBase<addUnicoreDataMovementDetails_result, addUnicoreDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUnicoreDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUnicoreDataMovementDetails_result");
 
@@ -136167,8 +150832,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUnicoreDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUnicoreDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -136186,6 +150851,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -136210,6 +150876,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -136222,10 +150889,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -136267,6 +150936,7 @@
       }
     }
 
+    @Override
     public addUnicoreDataMovementDetails_result deepCopy() {
       return new addUnicoreDataMovementDetails_result(this);
     }
@@ -136277,11 +150947,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addUnicoreDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addUnicoreDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -136301,11 +150972,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addUnicoreDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addUnicoreDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -136325,7 +150997,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -136346,6 +151019,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -136359,6 +151034,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -136375,8 +151051,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUnicoreDataMovementDetails_result)
         return this.equals((addUnicoreDataMovementDetails_result)that);
       return false;
@@ -136432,7 +151106,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -136442,7 +151116,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -136455,10 +151129,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -136513,6 +151190,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_resultStandardScheme getScheme() {
         return new addUnicoreDataMovementDetails_resultStandardScheme();
       }
@@ -136520,6 +151198,7 @@
 
     private static class addUnicoreDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUnicoreDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -136558,6 +151237,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -136579,6 +151259,7 @@
     }
 
     private static class addUnicoreDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUnicoreDataMovementDetails_resultTupleScheme getScheme() {
         return new addUnicoreDataMovementDetails_resultTupleScheme();
       }
@@ -136626,6 +151307,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreDataMovementDetails_args implements org.apache.thrift.TBase<updateUnicoreDataMovementDetails_args, updateUnicoreDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreDataMovementDetails_args");
 
@@ -136635,8 +151317,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUnicoreDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement; // 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 {
@@ -136654,6 +151336,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -136678,6 +151361,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -136690,10 +151374,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -136735,6 +151421,7 @@
       }
     }
 
+    @Override
     public updateUnicoreDataMovementDetails_args deepCopy() {
       return new updateUnicoreDataMovementDetails_args(this);
     }
@@ -136745,11 +151432,12 @@
       this.unicoreDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateUnicoreDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateUnicoreDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -136769,11 +151457,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getUnicoreDataMovement() {
       return this.unicoreDataMovement;
     }
 
-    public updateUnicoreDataMovementDetails_args setUnicoreDataMovement(org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
+    public updateUnicoreDataMovementDetails_args setUnicoreDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement unicoreDataMovement) {
       this.unicoreDataMovement = unicoreDataMovement;
       return this;
     }
@@ -136793,7 +151482,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
         if (value == null) {
@@ -136814,6 +151504,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
@@ -136827,6 +151519,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -136843,8 +151536,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreDataMovementDetails_args)
         return this.equals((updateUnicoreDataMovementDetails_args)that);
       return false;
@@ -136900,7 +151591,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -136910,7 +151601,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUnicoreDataMovement()).compareTo(other.isSetUnicoreDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetUnicoreDataMovement(), other.isSetUnicoreDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -136923,14 +151614,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -136990,6 +151685,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_argsStandardScheme getScheme() {
         return new updateUnicoreDataMovementDetails_argsStandardScheme();
       }
@@ -136997,6 +151693,7 @@
 
     private static class updateUnicoreDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -137035,6 +151732,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -137056,6 +151754,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_argsTupleScheme getScheme() {
         return new updateUnicoreDataMovementDetails_argsTupleScheme();
       }
@@ -137086,6 +151785,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUnicoreDataMovementDetails_result implements org.apache.thrift.TBase<updateUnicoreDataMovementDetails_result, updateUnicoreDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUnicoreDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUnicoreDataMovementDetails_result");
 
@@ -137096,7 +151796,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUnicoreDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -137114,6 +151814,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -137138,6 +151839,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -137150,10 +151852,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -137197,6 +151901,7 @@
       }
     }
 
+    @Override
     public updateUnicoreDataMovementDetails_result deepCopy() {
       return new updateUnicoreDataMovementDetails_result(this);
     }
@@ -137231,11 +151936,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateUnicoreDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateUnicoreDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -137255,7 +151961,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -137276,6 +151983,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -137289,6 +151998,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -137305,8 +152015,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUnicoreDataMovementDetails_result)
         return this.equals((updateUnicoreDataMovementDetails_result)that);
       return false;
@@ -137360,7 +152068,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137370,7 +152078,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137383,10 +152091,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -137439,6 +152150,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_resultStandardScheme getScheme() {
         return new updateUnicoreDataMovementDetails_resultStandardScheme();
       }
@@ -137446,6 +152158,7 @@
 
     private static class updateUnicoreDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUnicoreDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -137484,6 +152197,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUnicoreDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -137505,6 +152219,7 @@
     }
 
     private static class updateUnicoreDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUnicoreDataMovementDetails_resultTupleScheme getScheme() {
         return new updateUnicoreDataMovementDetails_resultTupleScheme();
       }
@@ -137552,6 +152267,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreDataMovement_args implements org.apache.thrift.TBase<getUnicoreDataMovement_args, getUnicoreDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreDataMovement_args");
 
@@ -137560,7 +152276,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreDataMovement_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -137577,6 +152293,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_ID
@@ -137599,6 +152316,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -137611,10 +152329,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -137649,6 +152369,7 @@
       }
     }
 
+    @Override
     public getUnicoreDataMovement_args deepCopy() {
       return new getUnicoreDataMovement_args(this);
     }
@@ -137658,11 +152379,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getUnicoreDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getUnicoreDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -137682,7 +152404,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_ID:
         if (value == null) {
@@ -137695,6 +152418,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_ID:
@@ -137705,6 +152430,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -137719,8 +152445,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreDataMovement_args)
         return this.equals((getUnicoreDataMovement_args)that);
       return false;
@@ -137763,7 +152487,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -137776,14 +152500,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -137829,6 +152557,7 @@
     }
 
     private static class getUnicoreDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_argsStandardScheme getScheme() {
         return new getUnicoreDataMovement_argsStandardScheme();
       }
@@ -137836,6 +152565,7 @@
 
     private static class getUnicoreDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -137865,6 +152595,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -137881,6 +152612,7 @@
     }
 
     private static class getUnicoreDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_argsTupleScheme getScheme() {
         return new getUnicoreDataMovement_argsTupleScheme();
       }
@@ -137907,6 +152639,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUnicoreDataMovement_result implements org.apache.thrift.TBase<getUnicoreDataMovement_result, getUnicoreDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUnicoreDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUnicoreDataMovement_result");
 
@@ -137916,8 +152649,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUnicoreDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUnicoreDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.UnicoreDataMovement success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -137935,6 +152668,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -137959,6 +152693,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -137971,10 +152706,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -138016,6 +152753,7 @@
       }
     }
 
+    @Override
     public getUnicoreDataMovement_result deepCopy() {
       return new getUnicoreDataMovement_result(this);
     }
@@ -138026,11 +152764,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.UnicoreDataMovement getSuccess() {
       return this.success;
     }
 
-    public getUnicoreDataMovement_result setSuccess(org.apache.airavata.model.data.movement.UnicoreDataMovement success) {
+    public getUnicoreDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.UnicoreDataMovement success) {
       this.success = success;
       return this;
     }
@@ -138050,11 +152789,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUnicoreDataMovement_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUnicoreDataMovement_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -138074,7 +152814,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -138095,6 +152836,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -138108,6 +152851,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -138124,8 +152868,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUnicoreDataMovement_result)
         return this.equals((getUnicoreDataMovement_result)that);
       return false;
@@ -138181,7 +152923,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138191,7 +152933,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138204,10 +152946,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -138265,6 +153010,7 @@
     }
 
     private static class getUnicoreDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_resultStandardScheme getScheme() {
         return new getUnicoreDataMovement_resultStandardScheme();
       }
@@ -138272,6 +153018,7 @@
 
     private static class getUnicoreDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUnicoreDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUnicoreDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -138311,6 +153058,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUnicoreDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -138332,6 +153080,7 @@
     }
 
     private static class getUnicoreDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUnicoreDataMovement_resultTupleScheme getScheme() {
         return new getUnicoreDataMovement_resultTupleScheme();
       }
@@ -138380,6 +153129,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGridFTPDataMovementDetails_args implements org.apache.thrift.TBase<addGridFTPDataMovementDetails_args, addGridFTPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGridFTPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGridFTPDataMovementDetails_args");
 
@@ -138391,14 +153141,14 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGridFTPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGridFTPDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // required
     public int priorityOrder; // required
-    public org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // 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 {
@@ -138422,6 +153172,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -138450,6 +153201,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -138462,10 +153214,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -138523,6 +153277,7 @@
       }
     }
 
+    @Override
     public addGridFTPDataMovementDetails_args deepCopy() {
       return new addGridFTPDataMovementDetails_args(this);
     }
@@ -138536,11 +153291,12 @@
       this.gridFTPDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public addGridFTPDataMovementDetails_args setProductUri(java.lang.String productUri) {
+    public addGridFTPDataMovementDetails_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -138564,6 +153320,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -138572,7 +153329,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public addGridFTPDataMovementDetails_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public addGridFTPDataMovementDetails_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -138615,11 +153372,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __PRIORITYORDER_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement() {
       return this.gridFTPDataMovement;
     }
 
-    public addGridFTPDataMovementDetails_args setGridFTPDataMovement(org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
+    public addGridFTPDataMovementDetails_args setGridFTPDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
       this.gridFTPDataMovement = gridFTPDataMovement;
       return this;
     }
@@ -138639,7 +153397,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -138676,6 +153435,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -138695,6 +153456,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -138715,8 +153477,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGridFTPDataMovementDetails_args)
         return this.equals((addGridFTPDataMovementDetails_args)that);
       return false;
@@ -138796,7 +153556,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138806,7 +153566,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138816,7 +153576,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPriorityOrder()).compareTo(other.isSetPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetPriorityOrder(), other.isSetPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138826,7 +153586,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGridFTPDataMovement()).compareTo(other.isSetGridFTPDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetGridFTPDataMovement(), other.isSetGridFTPDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -138839,14 +153599,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -138924,6 +153688,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_argsStandardScheme getScheme() {
         return new addGridFTPDataMovementDetails_argsStandardScheme();
       }
@@ -138931,6 +153696,7 @@
 
     private static class addGridFTPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGridFTPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -138988,6 +153754,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -139017,6 +153784,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_argsTupleScheme getScheme() {
         return new addGridFTPDataMovementDetails_argsTupleScheme();
       }
@@ -139053,6 +153821,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGridFTPDataMovementDetails_result implements org.apache.thrift.TBase<addGridFTPDataMovementDetails_result, addGridFTPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGridFTPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGridFTPDataMovementDetails_result");
 
@@ -139062,8 +153831,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGridFTPDataMovementDetails_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGridFTPDataMovementDetails_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -139081,6 +153850,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -139105,6 +153875,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -139117,10 +153888,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -139162,6 +153935,7 @@
       }
     }
 
+    @Override
     public addGridFTPDataMovementDetails_result deepCopy() {
       return new addGridFTPDataMovementDetails_result(this);
     }
@@ -139172,11 +153946,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addGridFTPDataMovementDetails_result setSuccess(java.lang.String success) {
+    public addGridFTPDataMovementDetails_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -139196,11 +153971,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addGridFTPDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addGridFTPDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -139220,7 +153996,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -139241,6 +154018,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -139254,6 +154033,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -139270,8 +154050,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGridFTPDataMovementDetails_result)
         return this.equals((addGridFTPDataMovementDetails_result)that);
       return false;
@@ -139327,7 +154105,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139337,7 +154115,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139350,10 +154128,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -139408,6 +154189,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_resultStandardScheme getScheme() {
         return new addGridFTPDataMovementDetails_resultStandardScheme();
       }
@@ -139415,6 +154197,7 @@
 
     private static class addGridFTPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGridFTPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -139453,6 +154236,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -139474,6 +154258,7 @@
     }
 
     private static class addGridFTPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGridFTPDataMovementDetails_resultTupleScheme getScheme() {
         return new addGridFTPDataMovementDetails_resultTupleScheme();
       }
@@ -139521,6 +154306,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGridFTPDataMovementDetails_args implements org.apache.thrift.TBase<updateGridFTPDataMovementDetails_args, updateGridFTPDataMovementDetails_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGridFTPDataMovementDetails_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGridFTPDataMovementDetails_args");
 
@@ -139530,8 +154316,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGridFTPDataMovementDetails_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGridFTPDataMovementDetails_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementInterfaceId; // required
-    public org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement; // 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 {
@@ -139549,6 +154335,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -139573,6 +154360,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -139585,10 +154373,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -139630,6 +154420,7 @@
       }
     }
 
+    @Override
     public updateGridFTPDataMovementDetails_args deepCopy() {
       return new updateGridFTPDataMovementDetails_args(this);
     }
@@ -139640,11 +154431,12 @@
       this.gridFTPDataMovement = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public updateGridFTPDataMovementDetails_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public updateGridFTPDataMovementDetails_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -139664,11 +154456,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getGridFTPDataMovement() {
       return this.gridFTPDataMovement;
     }
 
-    public updateGridFTPDataMovementDetails_args setGridFTPDataMovement(org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
+    public updateGridFTPDataMovementDetails_args setGridFTPDataMovement(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement gridFTPDataMovement) {
       this.gridFTPDataMovement = gridFTPDataMovement;
       return this;
     }
@@ -139688,7 +154481,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
         if (value == null) {
@@ -139709,6 +154503,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
@@ -139722,6 +154518,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -139738,8 +154535,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGridFTPDataMovementDetails_args)
         return this.equals((updateGridFTPDataMovementDetails_args)that);
       return false;
@@ -139795,7 +154590,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139805,7 +154600,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGridFTPDataMovement()).compareTo(other.isSetGridFTPDataMovement());
+      lastComparison = java.lang.Boolean.compare(isSetGridFTPDataMovement(), other.isSetGridFTPDataMovement());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -139818,14 +154613,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -139885,6 +154684,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_argsStandardScheme getScheme() {
         return new updateGridFTPDataMovementDetails_argsStandardScheme();
       }
@@ -139892,6 +154692,7 @@
 
     private static class updateGridFTPDataMovementDetails_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGridFTPDataMovementDetails_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -139930,6 +154731,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGridFTPDataMovementDetails_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -139951,6 +154753,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_argsTupleScheme getScheme() {
         return new updateGridFTPDataMovementDetails_argsTupleScheme();
       }
@@ -139981,6 +154784,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGridFTPDataMovementDetails_result implements org.apache.thrift.TBase<updateGridFTPDataMovementDetails_result, updateGridFTPDataMovementDetails_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGridFTPDataMovementDetails_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGridFTPDataMovementDetails_result");
 
@@ -139991,7 +154795,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGridFTPDataMovementDetails_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -140009,6 +154813,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -140033,6 +154838,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -140045,10 +154851,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -140092,6 +154900,7 @@
       }
     }
 
+    @Override
     public updateGridFTPDataMovementDetails_result deepCopy() {
       return new updateGridFTPDataMovementDetails_result(this);
     }
@@ -140126,11 +154935,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGridFTPDataMovementDetails_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGridFTPDataMovementDetails_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -140150,7 +154960,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -140171,6 +154982,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -140184,6 +154997,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -140200,8 +155014,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGridFTPDataMovementDetails_result)
         return this.equals((updateGridFTPDataMovementDetails_result)that);
       return false;
@@ -140255,7 +155067,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140265,7 +155077,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140278,10 +155090,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -140334,6 +155149,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_resultStandardScheme getScheme() {
         return new updateGridFTPDataMovementDetails_resultStandardScheme();
       }
@@ -140341,6 +155157,7 @@
 
     private static class updateGridFTPDataMovementDetails_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGridFTPDataMovementDetails_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -140379,6 +155196,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGridFTPDataMovementDetails_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -140400,6 +155218,7 @@
     }
 
     private static class updateGridFTPDataMovementDetails_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGridFTPDataMovementDetails_resultTupleScheme getScheme() {
         return new updateGridFTPDataMovementDetails_resultTupleScheme();
       }
@@ -140447,6 +155266,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGridFTPDataMovement_args implements org.apache.thrift.TBase<getGridFTPDataMovement_args, getGridFTPDataMovement_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGridFTPDataMovement_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGridFTPDataMovement_args");
 
@@ -140455,7 +155275,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGridFTPDataMovement_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGridFTPDataMovement_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementId; // 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 {
@@ -140472,6 +155292,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_ID
@@ -140494,6 +155315,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -140506,10 +155328,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -140544,6 +155368,7 @@
       }
     }
 
+    @Override
     public getGridFTPDataMovement_args deepCopy() {
       return new getGridFTPDataMovement_args(this);
     }
@@ -140553,11 +155378,12 @@
       this.dataMovementId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementId() {
       return this.dataMovementId;
     }
 
-    public getGridFTPDataMovement_args setDataMovementId(java.lang.String dataMovementId) {
+    public getGridFTPDataMovement_args setDataMovementId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementId) {
       this.dataMovementId = dataMovementId;
       return this;
     }
@@ -140577,7 +155403,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_ID:
         if (value == null) {
@@ -140590,6 +155417,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_ID:
@@ -140600,6 +155429,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -140614,8 +155444,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGridFTPDataMovement_args)
         return this.equals((getGridFTPDataMovement_args)that);
       return false;
@@ -140658,7 +155486,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementId()).compareTo(other.isSetDataMovementId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementId(), other.isSetDataMovementId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -140671,14 +155499,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -140724,6 +155556,7 @@
     }
 
     private static class getGridFTPDataMovement_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_argsStandardScheme getScheme() {
         return new getGridFTPDataMovement_argsStandardScheme();
       }
@@ -140731,6 +155564,7 @@
 
     private static class getGridFTPDataMovement_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGridFTPDataMovement_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGridFTPDataMovement_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -140760,6 +155594,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGridFTPDataMovement_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -140776,6 +155611,7 @@
     }
 
     private static class getGridFTPDataMovement_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_argsTupleScheme getScheme() {
         return new getGridFTPDataMovement_argsTupleScheme();
       }
@@ -140802,6 +155638,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGridFTPDataMovement_result implements org.apache.thrift.TBase<getGridFTPDataMovement_result, getGridFTPDataMovement_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGridFTPDataMovement_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGridFTPDataMovement_result");
 
@@ -140811,8 +155648,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGridFTPDataMovement_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGridFTPDataMovement_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.movement.GridFTPDataMovement success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -140830,6 +155667,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -140854,6 +155692,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -140866,10 +155705,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -140911,6 +155752,7 @@
       }
     }
 
+    @Override
     public getGridFTPDataMovement_result deepCopy() {
       return new getGridFTPDataMovement_result(this);
     }
@@ -140921,11 +155763,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.GridFTPDataMovement getSuccess() {
       return this.success;
     }
 
-    public getGridFTPDataMovement_result setSuccess(org.apache.airavata.model.data.movement.GridFTPDataMovement success) {
+    public getGridFTPDataMovement_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.GridFTPDataMovement success) {
       this.success = success;
       return this;
     }
@@ -140945,11 +155788,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGridFTPDataMovement_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGridFTPDataMovement_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -140969,7 +155813,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -140990,6 +155835,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -141003,6 +155850,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -141019,8 +155867,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGridFTPDataMovement_result)
         return this.equals((getGridFTPDataMovement_result)that);
       return false;
@@ -141076,7 +155922,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141086,7 +155932,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141099,10 +155945,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -141160,6 +156009,7 @@
     }
 
     private static class getGridFTPDataMovement_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_resultStandardScheme getScheme() {
         return new getGridFTPDataMovement_resultStandardScheme();
       }
@@ -141167,6 +156017,7 @@
 
     private static class getGridFTPDataMovement_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGridFTPDataMovement_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGridFTPDataMovement_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -141206,6 +156057,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGridFTPDataMovement_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -141227,6 +156079,7 @@
     }
 
     private static class getGridFTPDataMovement_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGridFTPDataMovement_resultTupleScheme getScheme() {
         return new getGridFTPDataMovement_resultTupleScheme();
       }
@@ -141275,6 +156128,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriority_args implements org.apache.thrift.TBase<changeJobSubmissionPriority_args, changeJobSubmissionPriority_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriority_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriority_args");
 
@@ -141284,7 +156138,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeJobSubmissionPriority_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriority_argsTupleSchemeFactory();
 
-    public java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // required
     public int newPriorityOrder; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -141303,6 +156157,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_INTERFACE_ID
@@ -141327,6 +156182,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -141339,10 +156195,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -141386,6 +156244,7 @@
       this.newPriorityOrder = other.newPriorityOrder;
     }
 
+    @Override
     public changeJobSubmissionPriority_args deepCopy() {
       return new changeJobSubmissionPriority_args(this);
     }
@@ -141397,11 +156256,12 @@
       this.newPriorityOrder = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public changeJobSubmissionPriority_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public changeJobSubmissionPriority_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -141444,7 +156304,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __NEWPRIORITYORDER_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
         if (value == null) {
@@ -141465,6 +156326,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_INTERFACE_ID:
@@ -141478,6 +156341,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -141494,8 +156358,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriority_args)
         return this.equals((changeJobSubmissionPriority_args)that);
       return false;
@@ -141549,7 +156411,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141559,7 +156421,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewPriorityOrder()).compareTo(other.isSetNewPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetNewPriorityOrder(), other.isSetNewPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -141572,14 +156434,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -141632,6 +156498,7 @@
     }
 
     private static class changeJobSubmissionPriority_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_argsStandardScheme getScheme() {
         return new changeJobSubmissionPriority_argsStandardScheme();
       }
@@ -141639,6 +156506,7 @@
 
     private static class changeJobSubmissionPriority_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriority_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriority_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -141679,6 +156547,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriority_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -141698,6 +156567,7 @@
     }
 
     private static class changeJobSubmissionPriority_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_argsTupleScheme getScheme() {
         return new changeJobSubmissionPriority_argsTupleScheme();
       }
@@ -141727,6 +156597,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriority_result implements org.apache.thrift.TBase<changeJobSubmissionPriority_result, changeJobSubmissionPriority_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriority_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriority_result");
 
@@ -141737,7 +156608,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriority_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -141755,6 +156626,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -141779,6 +156651,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -141791,10 +156664,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -141838,6 +156713,7 @@
       }
     }
 
+    @Override
     public changeJobSubmissionPriority_result deepCopy() {
       return new changeJobSubmissionPriority_result(this);
     }
@@ -141872,11 +156748,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public changeJobSubmissionPriority_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public changeJobSubmissionPriority_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -141896,7 +156773,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -141917,6 +156795,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -141930,6 +156810,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -141946,8 +156827,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriority_result)
         return this.equals((changeJobSubmissionPriority_result)that);
       return false;
@@ -142001,7 +156880,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142011,7 +156890,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142024,10 +156903,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -142080,6 +156962,7 @@
     }
 
     private static class changeJobSubmissionPriority_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_resultStandardScheme getScheme() {
         return new changeJobSubmissionPriority_resultStandardScheme();
       }
@@ -142087,6 +156970,7 @@
 
     private static class changeJobSubmissionPriority_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriority_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriority_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -142125,6 +157009,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriority_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -142146,6 +157031,7 @@
     }
 
     private static class changeJobSubmissionPriority_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriority_resultTupleScheme getScheme() {
         return new changeJobSubmissionPriority_resultTupleScheme();
       }
@@ -142193,6 +157079,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriority_args implements org.apache.thrift.TBase<changeDataMovementPriority_args, changeDataMovementPriority_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriority_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriority_args");
 
@@ -142202,7 +157089,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeDataMovementPriority_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriority_argsTupleSchemeFactory();
 
-    public java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
     public int newPriorityOrder; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -142221,6 +157108,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_INTERFACE_ID
@@ -142245,6 +157133,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -142257,10 +157146,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -142304,6 +157195,7 @@
       this.newPriorityOrder = other.newPriorityOrder;
     }
 
+    @Override
     public changeDataMovementPriority_args deepCopy() {
       return new changeDataMovementPriority_args(this);
     }
@@ -142315,11 +157207,12 @@
       this.newPriorityOrder = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public changeDataMovementPriority_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public changeDataMovementPriority_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -142362,7 +157255,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __NEWPRIORITYORDER_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
         if (value == null) {
@@ -142383,6 +157277,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_INTERFACE_ID:
@@ -142396,6 +157292,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -142412,8 +157309,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriority_args)
         return this.equals((changeDataMovementPriority_args)that);
       return false;
@@ -142467,7 +157362,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142477,7 +157372,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewPriorityOrder()).compareTo(other.isSetNewPriorityOrder());
+      lastComparison = java.lang.Boolean.compare(isSetNewPriorityOrder(), other.isSetNewPriorityOrder());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142490,14 +157385,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -142550,6 +157449,7 @@
     }
 
     private static class changeDataMovementPriority_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_argsStandardScheme getScheme() {
         return new changeDataMovementPriority_argsStandardScheme();
       }
@@ -142557,6 +157457,7 @@
 
     private static class changeDataMovementPriority_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriority_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriority_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -142597,6 +157498,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriority_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -142616,6 +157518,7 @@
     }
 
     private static class changeDataMovementPriority_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_argsTupleScheme getScheme() {
         return new changeDataMovementPriority_argsTupleScheme();
       }
@@ -142645,6 +157548,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriority_result implements org.apache.thrift.TBase<changeDataMovementPriority_result, changeDataMovementPriority_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriority_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriority_result");
 
@@ -142655,7 +157559,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriority_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -142673,6 +157577,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -142697,6 +157602,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -142709,10 +157615,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -142756,6 +157664,7 @@
       }
     }
 
+    @Override
     public changeDataMovementPriority_result deepCopy() {
       return new changeDataMovementPriority_result(this);
     }
@@ -142790,11 +157699,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public changeDataMovementPriority_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public changeDataMovementPriority_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -142814,7 +157724,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -142835,6 +157746,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -142848,6 +157761,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -142864,8 +157778,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriority_result)
         return this.equals((changeDataMovementPriority_result)that);
       return false;
@@ -142919,7 +157831,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142929,7 +157841,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -142942,10 +157854,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -142998,6 +157913,7 @@
     }
 
     private static class changeDataMovementPriority_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_resultStandardScheme getScheme() {
         return new changeDataMovementPriority_resultStandardScheme();
       }
@@ -143005,6 +157921,7 @@
 
     private static class changeDataMovementPriority_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriority_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriority_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -143043,6 +157960,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriority_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -143064,6 +157982,7 @@
     }
 
     private static class changeDataMovementPriority_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriority_resultTupleScheme getScheme() {
         return new changeDataMovementPriority_resultTupleScheme();
       }
@@ -143111,6 +158030,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriorities_args implements org.apache.thrift.TBase<changeJobSubmissionPriorities_args, changeJobSubmissionPriorities_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriorities_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriorities_args");
 
@@ -143119,7 +158039,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeJobSubmissionPriorities_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriorities_argsTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap; // 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 {
@@ -143136,6 +158056,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // JOB_SUBMISSION_PRIORITY_MAP
@@ -143158,6 +158079,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -143170,10 +158092,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -143211,6 +158135,7 @@
       }
     }
 
+    @Override
     public changeJobSubmissionPriorities_args deepCopy() {
       return new changeJobSubmissionPriorities_args(this);
     }
@@ -143231,11 +158156,12 @@
       this.jobSubmissionPriorityMap.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.Integer> getJobSubmissionPriorityMap() {
       return this.jobSubmissionPriorityMap;
     }
 
-    public changeJobSubmissionPriorities_args setJobSubmissionPriorityMap(java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap) {
+    public changeJobSubmissionPriorities_args setJobSubmissionPriorityMap(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> jobSubmissionPriorityMap) {
       this.jobSubmissionPriorityMap = jobSubmissionPriorityMap;
       return this;
     }
@@ -143255,7 +158181,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case JOB_SUBMISSION_PRIORITY_MAP:
         if (value == null) {
@@ -143268,6 +158195,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case JOB_SUBMISSION_PRIORITY_MAP:
@@ -143278,6 +158207,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -143292,8 +158222,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriorities_args)
         return this.equals((changeJobSubmissionPriorities_args)that);
       return false;
@@ -143336,7 +158264,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionPriorityMap()).compareTo(other.isSetJobSubmissionPriorityMap());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionPriorityMap(), other.isSetJobSubmissionPriorityMap());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143349,14 +158277,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -143402,6 +158334,7 @@
     }
 
     private static class changeJobSubmissionPriorities_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_argsStandardScheme getScheme() {
         return new changeJobSubmissionPriorities_argsStandardScheme();
       }
@@ -143409,6 +158342,7 @@
 
     private static class changeJobSubmissionPriorities_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriorities_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriorities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -143422,15 +158356,15 @@
             case 1: // JOB_SUBMISSION_PRIORITY_MAP
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map358 = iprot.readMapBegin();
-                  struct.jobSubmissionPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map358.size);
-                  java.lang.String _key359;
-                  int _val360;
-                  for (int _i361 = 0; _i361 < _map358.size; ++_i361)
+                  org.apache.thrift.protocol.TMap _map384 = iprot.readMapBegin();
+                  struct.jobSubmissionPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map384.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key385;
+                  int _val386;
+                  for (int _i387 = 0; _i387 < _map384.size; ++_i387)
                   {
-                    _key359 = iprot.readString();
-                    _val360 = iprot.readI32();
-                    struct.jobSubmissionPriorityMap.put(_key359, _val360);
+                    _key385 = iprot.readString();
+                    _val386 = iprot.readI32();
+                    struct.jobSubmissionPriorityMap.put(_key385, _val386);
                   }
                   iprot.readMapEnd();
                 }
@@ -143450,6 +158384,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriorities_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -143458,10 +158393,10 @@
           oprot.writeFieldBegin(JOB_SUBMISSION_PRIORITY_MAP_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.jobSubmissionPriorityMap.size()));
-            for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter362 : struct.jobSubmissionPriorityMap.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter388 : struct.jobSubmissionPriorityMap.entrySet())
             {
-              oprot.writeString(_iter362.getKey());
-              oprot.writeI32(_iter362.getValue());
+              oprot.writeString(_iter388.getKey());
+              oprot.writeI32(_iter388.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -143474,6 +158409,7 @@
     }
 
     private static class changeJobSubmissionPriorities_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_argsTupleScheme getScheme() {
         return new changeJobSubmissionPriorities_argsTupleScheme();
       }
@@ -143486,10 +158422,10 @@
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         {
           oprot.writeI32(struct.jobSubmissionPriorityMap.size());
-          for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter363 : struct.jobSubmissionPriorityMap.entrySet())
+          for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter389 : struct.jobSubmissionPriorityMap.entrySet())
           {
-            oprot.writeString(_iter363.getKey());
-            oprot.writeI32(_iter363.getValue());
+            oprot.writeString(_iter389.getKey());
+            oprot.writeI32(_iter389.getValue());
           }
         }
       }
@@ -143498,15 +158434,15 @@
       public void read(org.apache.thrift.protocol.TProtocol prot, changeJobSubmissionPriorities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         {
-          org.apache.thrift.protocol.TMap _map364 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.jobSubmissionPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map364.size);
-          java.lang.String _key365;
-          int _val366;
-          for (int _i367 = 0; _i367 < _map364.size; ++_i367)
+          org.apache.thrift.protocol.TMap _map390 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
+          struct.jobSubmissionPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map390.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _key391;
+          int _val392;
+          for (int _i393 = 0; _i393 < _map390.size; ++_i393)
           {
-            _key365 = iprot.readString();
-            _val366 = iprot.readI32();
-            struct.jobSubmissionPriorityMap.put(_key365, _val366);
+            _key391 = iprot.readString();
+            _val392 = iprot.readI32();
+            struct.jobSubmissionPriorityMap.put(_key391, _val392);
           }
         }
         struct.setJobSubmissionPriorityMapIsSet(true);
@@ -143518,6 +158454,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeJobSubmissionPriorities_result implements org.apache.thrift.TBase<changeJobSubmissionPriorities_result, changeJobSubmissionPriorities_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeJobSubmissionPriorities_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeJobSubmissionPriorities_result");
 
@@ -143528,7 +158465,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeJobSubmissionPriorities_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -143546,6 +158483,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -143570,6 +158508,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -143582,10 +158521,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -143629,6 +158570,7 @@
       }
     }
 
+    @Override
     public changeJobSubmissionPriorities_result deepCopy() {
       return new changeJobSubmissionPriorities_result(this);
     }
@@ -143663,11 +158605,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public changeJobSubmissionPriorities_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public changeJobSubmissionPriorities_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -143687,7 +158630,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -143708,6 +158652,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -143721,6 +158667,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -143737,8 +158684,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeJobSubmissionPriorities_result)
         return this.equals((changeJobSubmissionPriorities_result)that);
       return false;
@@ -143792,7 +158737,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143802,7 +158747,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -143815,10 +158760,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -143871,6 +158819,7 @@
     }
 
     private static class changeJobSubmissionPriorities_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_resultStandardScheme getScheme() {
         return new changeJobSubmissionPriorities_resultStandardScheme();
       }
@@ -143878,6 +158827,7 @@
 
     private static class changeJobSubmissionPriorities_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeJobSubmissionPriorities_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeJobSubmissionPriorities_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -143916,6 +158866,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeJobSubmissionPriorities_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -143937,6 +158888,7 @@
     }
 
     private static class changeJobSubmissionPriorities_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeJobSubmissionPriorities_resultTupleScheme getScheme() {
         return new changeJobSubmissionPriorities_resultTupleScheme();
       }
@@ -143984,6 +158936,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriorities_args implements org.apache.thrift.TBase<changeDataMovementPriorities_args, changeDataMovementPriorities_args._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriorities_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriorities_args");
 
@@ -143992,7 +158945,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new changeDataMovementPriorities_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriorities_argsTupleSchemeFactory();
 
-    public java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap; // required
+    public @org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap; // 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 {
@@ -144009,6 +158962,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_MOVEMENT_PRIORITY_MAP
@@ -144031,6 +158985,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -144043,10 +158998,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -144084,6 +159041,7 @@
       }
     }
 
+    @Override
     public changeDataMovementPriorities_args deepCopy() {
       return new changeDataMovementPriorities_args(this);
     }
@@ -144104,11 +159062,12 @@
       this.dataMovementPriorityMap.put(key, val);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Map<java.lang.String,java.lang.Integer> getDataMovementPriorityMap() {
       return this.dataMovementPriorityMap;
     }
 
-    public changeDataMovementPriorities_args setDataMovementPriorityMap(java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap) {
+    public changeDataMovementPriorities_args setDataMovementPriorityMap(@org.apache.thrift.annotation.Nullable java.util.Map<java.lang.String,java.lang.Integer> dataMovementPriorityMap) {
       this.dataMovementPriorityMap = dataMovementPriorityMap;
       return this;
     }
@@ -144128,7 +159087,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_MOVEMENT_PRIORITY_MAP:
         if (value == null) {
@@ -144141,6 +159101,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_MOVEMENT_PRIORITY_MAP:
@@ -144151,6 +159113,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -144165,8 +159128,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriorities_args)
         return this.equals((changeDataMovementPriorities_args)that);
       return false;
@@ -144209,7 +159170,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementPriorityMap()).compareTo(other.isSetDataMovementPriorityMap());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementPriorityMap(), other.isSetDataMovementPriorityMap());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144222,14 +159183,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -144275,6 +159240,7 @@
     }
 
     private static class changeDataMovementPriorities_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_argsStandardScheme getScheme() {
         return new changeDataMovementPriorities_argsStandardScheme();
       }
@@ -144282,6 +159248,7 @@
 
     private static class changeDataMovementPriorities_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriorities_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriorities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -144295,15 +159262,15 @@
             case 1: // DATA_MOVEMENT_PRIORITY_MAP
               if (schemeField.type == org.apache.thrift.protocol.TType.MAP) {
                 {
-                  org.apache.thrift.protocol.TMap _map368 = iprot.readMapBegin();
-                  struct.dataMovementPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map368.size);
-                  java.lang.String _key369;
-                  int _val370;
-                  for (int _i371 = 0; _i371 < _map368.size; ++_i371)
+                  org.apache.thrift.protocol.TMap _map394 = iprot.readMapBegin();
+                  struct.dataMovementPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map394.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _key395;
+                  int _val396;
+                  for (int _i397 = 0; _i397 < _map394.size; ++_i397)
                   {
-                    _key369 = iprot.readString();
-                    _val370 = iprot.readI32();
-                    struct.dataMovementPriorityMap.put(_key369, _val370);
+                    _key395 = iprot.readString();
+                    _val396 = iprot.readI32();
+                    struct.dataMovementPriorityMap.put(_key395, _val396);
                   }
                   iprot.readMapEnd();
                 }
@@ -144323,6 +159290,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriorities_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -144331,10 +159299,10 @@
           oprot.writeFieldBegin(DATA_MOVEMENT_PRIORITY_MAP_FIELD_DESC);
           {
             oprot.writeMapBegin(new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, struct.dataMovementPriorityMap.size()));
-            for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter372 : struct.dataMovementPriorityMap.entrySet())
+            for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter398 : struct.dataMovementPriorityMap.entrySet())
             {
-              oprot.writeString(_iter372.getKey());
-              oprot.writeI32(_iter372.getValue());
+              oprot.writeString(_iter398.getKey());
+              oprot.writeI32(_iter398.getValue());
             }
             oprot.writeMapEnd();
           }
@@ -144347,6 +159315,7 @@
     }
 
     private static class changeDataMovementPriorities_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_argsTupleScheme getScheme() {
         return new changeDataMovementPriorities_argsTupleScheme();
       }
@@ -144359,10 +159328,10 @@
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         {
           oprot.writeI32(struct.dataMovementPriorityMap.size());
-          for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter373 : struct.dataMovementPriorityMap.entrySet())
+          for (java.util.Map.Entry<java.lang.String, java.lang.Integer> _iter399 : struct.dataMovementPriorityMap.entrySet())
           {
-            oprot.writeString(_iter373.getKey());
-            oprot.writeI32(_iter373.getValue());
+            oprot.writeString(_iter399.getKey());
+            oprot.writeI32(_iter399.getValue());
           }
         }
       }
@@ -144371,15 +159340,15 @@
       public void read(org.apache.thrift.protocol.TProtocol prot, changeDataMovementPriorities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         {
-          org.apache.thrift.protocol.TMap _map374 = new org.apache.thrift.protocol.TMap(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32, iprot.readI32());
-          struct.dataMovementPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map374.size);
-          java.lang.String _key375;
-          int _val376;
-          for (int _i377 = 0; _i377 < _map374.size; ++_i377)
+          org.apache.thrift.protocol.TMap _map400 = iprot.readMapBegin(org.apache.thrift.protocol.TType.STRING, org.apache.thrift.protocol.TType.I32); 
+          struct.dataMovementPriorityMap = new java.util.HashMap<java.lang.String,java.lang.Integer>(2*_map400.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _key401;
+          int _val402;
+          for (int _i403 = 0; _i403 < _map400.size; ++_i403)
           {
-            _key375 = iprot.readString();
-            _val376 = iprot.readI32();
-            struct.dataMovementPriorityMap.put(_key375, _val376);
+            _key401 = iprot.readString();
+            _val402 = iprot.readI32();
+            struct.dataMovementPriorityMap.put(_key401, _val402);
           }
         }
         struct.setDataMovementPriorityMapIsSet(true);
@@ -144391,6 +159360,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class changeDataMovementPriorities_result implements org.apache.thrift.TBase<changeDataMovementPriorities_result, changeDataMovementPriorities_result._Fields>, java.io.Serializable, Cloneable, Comparable<changeDataMovementPriorities_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("changeDataMovementPriorities_result");
 
@@ -144401,7 +159371,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new changeDataMovementPriorities_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -144419,6 +159389,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -144443,6 +159414,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -144455,10 +159427,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -144502,6 +159476,7 @@
       }
     }
 
+    @Override
     public changeDataMovementPriorities_result deepCopy() {
       return new changeDataMovementPriorities_result(this);
     }
@@ -144536,11 +159511,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public changeDataMovementPriorities_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public changeDataMovementPriorities_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -144560,7 +159536,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -144581,6 +159558,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -144594,6 +159573,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -144610,8 +159590,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof changeDataMovementPriorities_result)
         return this.equals((changeDataMovementPriorities_result)that);
       return false;
@@ -144665,7 +159643,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144675,7 +159653,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -144688,10 +159666,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -144744,6 +159725,7 @@
     }
 
     private static class changeDataMovementPriorities_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_resultStandardScheme getScheme() {
         return new changeDataMovementPriorities_resultStandardScheme();
       }
@@ -144751,6 +159733,7 @@
 
     private static class changeDataMovementPriorities_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<changeDataMovementPriorities_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, changeDataMovementPriorities_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -144789,6 +159772,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, changeDataMovementPriorities_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -144810,6 +159794,7 @@
     }
 
     private static class changeDataMovementPriorities_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public changeDataMovementPriorities_resultTupleScheme getScheme() {
         return new changeDataMovementPriorities_resultTupleScheme();
       }
@@ -144857,6 +159842,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteJobSubmissionInterface_args implements org.apache.thrift.TBase<deleteJobSubmissionInterface_args, deleteJobSubmissionInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteJobSubmissionInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteJobSubmissionInterface_args");
 
@@ -144866,8 +159852,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteJobSubmissionInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteJobSubmissionInterface_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
-    public java.lang.String jobSubmissionInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId; // 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 {
@@ -144885,6 +159871,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -144909,6 +159896,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -144921,10 +159909,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -144966,6 +159956,7 @@
       }
     }
 
+    @Override
     public deleteJobSubmissionInterface_args deepCopy() {
       return new deleteJobSubmissionInterface_args(this);
     }
@@ -144976,11 +159967,12 @@
       this.jobSubmissionInterfaceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteJobSubmissionInterface_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteJobSubmissionInterface_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -145000,11 +159992,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getJobSubmissionInterfaceId() {
       return this.jobSubmissionInterfaceId;
     }
 
-    public deleteJobSubmissionInterface_args setJobSubmissionInterfaceId(java.lang.String jobSubmissionInterfaceId) {
+    public deleteJobSubmissionInterface_args setJobSubmissionInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String jobSubmissionInterfaceId) {
       this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
       return this;
     }
@@ -145024,7 +160017,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -145045,6 +160039,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -145058,6 +160054,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -145074,8 +160071,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteJobSubmissionInterface_args)
         return this.equals((deleteJobSubmissionInterface_args)that);
       return false;
@@ -145131,7 +160126,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -145141,7 +160136,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetJobSubmissionInterfaceId()).compareTo(other.isSetJobSubmissionInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetJobSubmissionInterfaceId(), other.isSetJobSubmissionInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -145154,14 +160149,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -145218,6 +160217,7 @@
     }
 
     private static class deleteJobSubmissionInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_argsStandardScheme getScheme() {
         return new deleteJobSubmissionInterface_argsStandardScheme();
       }
@@ -145225,6 +160225,7 @@
 
     private static class deleteJobSubmissionInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteJobSubmissionInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteJobSubmissionInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -145262,6 +160263,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteJobSubmissionInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -145283,6 +160285,7 @@
     }
 
     private static class deleteJobSubmissionInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_argsTupleScheme getScheme() {
         return new deleteJobSubmissionInterface_argsTupleScheme();
       }
@@ -145312,6 +160315,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteJobSubmissionInterface_result implements org.apache.thrift.TBase<deleteJobSubmissionInterface_result, deleteJobSubmissionInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteJobSubmissionInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteJobSubmissionInterface_result");
 
@@ -145322,7 +160326,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteJobSubmissionInterface_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -145340,6 +160344,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -145364,6 +160369,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -145376,10 +160382,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -145423,6 +160431,7 @@
       }
     }
 
+    @Override
     public deleteJobSubmissionInterface_result deepCopy() {
       return new deleteJobSubmissionInterface_result(this);
     }
@@ -145457,11 +160466,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteJobSubmissionInterface_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteJobSubmissionInterface_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -145481,7 +160491,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -145502,6 +160513,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -145515,6 +160528,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -145531,8 +160545,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteJobSubmissionInterface_result)
         return this.equals((deleteJobSubmissionInterface_result)that);
       return false;
@@ -145586,7 +160598,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -145596,7 +160608,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -145609,10 +160621,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -145665,6 +160680,7 @@
     }
 
     private static class deleteJobSubmissionInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_resultStandardScheme getScheme() {
         return new deleteJobSubmissionInterface_resultStandardScheme();
       }
@@ -145672,6 +160688,7 @@
 
     private static class deleteJobSubmissionInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteJobSubmissionInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteJobSubmissionInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -145710,6 +160727,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteJobSubmissionInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -145731,6 +160749,7 @@
     }
 
     private static class deleteJobSubmissionInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteJobSubmissionInterface_resultTupleScheme getScheme() {
         return new deleteJobSubmissionInterface_resultTupleScheme();
       }
@@ -145778,6 +160797,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteDataMovementInterface_args implements org.apache.thrift.TBase<deleteDataMovementInterface_args, deleteDataMovementInterface_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteDataMovementInterface_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDataMovementInterface_args");
 
@@ -145788,13 +160808,13 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteDataMovementInterface_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteDataMovementInterface_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
-    public java.lang.String dataMovementInterfaceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId; // required
     /**
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public org.apache.airavata.model.data.movement.DMType dataMoveType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType; // 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 {
@@ -145817,6 +160837,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -145843,6 +160864,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -145855,10 +160877,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -145907,6 +160931,7 @@
       }
     }
 
+    @Override
     public deleteDataMovementInterface_args deepCopy() {
       return new deleteDataMovementInterface_args(this);
     }
@@ -145918,11 +160943,12 @@
       this.dataMoveType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public deleteDataMovementInterface_args setProductUri(java.lang.String productUri) {
+    public deleteDataMovementInterface_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -145942,11 +160968,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataMovementInterfaceId() {
       return this.dataMovementInterfaceId;
     }
 
-    public deleteDataMovementInterface_args setDataMovementInterfaceId(java.lang.String dataMovementInterfaceId) {
+    public deleteDataMovementInterface_args setDataMovementInterfaceId(@org.apache.thrift.annotation.Nullable java.lang.String dataMovementInterfaceId) {
       this.dataMovementInterfaceId = dataMovementInterfaceId;
       return this;
     }
@@ -145970,6 +160997,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.movement.DMType getDataMoveType() {
       return this.dataMoveType;
     }
@@ -145978,7 +161006,7 @@
      * 
      * @see org.apache.airavata.model.data.movement.DMType
      */
-    public deleteDataMovementInterface_args setDataMoveType(org.apache.airavata.model.data.movement.DMType dataMoveType) {
+    public deleteDataMovementInterface_args setDataMoveType(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.movement.DMType dataMoveType) {
       this.dataMoveType = dataMoveType;
       return this;
     }
@@ -145998,7 +161026,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -146027,6 +161056,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -146043,6 +161074,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -146061,8 +161093,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteDataMovementInterface_args)
         return this.equals((deleteDataMovementInterface_args)that);
       return false;
@@ -146131,7 +161161,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146141,7 +161171,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMovementInterfaceId()).compareTo(other.isSetDataMovementInterfaceId());
+      lastComparison = java.lang.Boolean.compare(isSetDataMovementInterfaceId(), other.isSetDataMovementInterfaceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146151,7 +161181,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDataMoveType()).compareTo(other.isSetDataMoveType());
+      lastComparison = java.lang.Boolean.compare(isSetDataMoveType(), other.isSetDataMoveType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146164,14 +161194,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -146239,6 +161273,7 @@
     }
 
     private static class deleteDataMovementInterface_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_argsStandardScheme getScheme() {
         return new deleteDataMovementInterface_argsStandardScheme();
       }
@@ -146246,6 +161281,7 @@
 
     private static class deleteDataMovementInterface_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteDataMovementInterface_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteDataMovementInterface_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -146291,6 +161327,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteDataMovementInterface_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -146317,6 +161354,7 @@
     }
 
     private static class deleteDataMovementInterface_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_argsTupleScheme getScheme() {
         return new deleteDataMovementInterface_argsTupleScheme();
       }
@@ -146349,6 +161387,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteDataMovementInterface_result implements org.apache.thrift.TBase<deleteDataMovementInterface_result, deleteDataMovementInterface_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteDataMovementInterface_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDataMovementInterface_result");
 
@@ -146359,7 +161398,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteDataMovementInterface_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -146377,6 +161416,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -146401,6 +161441,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -146413,10 +161454,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -146460,6 +161503,7 @@
       }
     }
 
+    @Override
     public deleteDataMovementInterface_result deepCopy() {
       return new deleteDataMovementInterface_result(this);
     }
@@ -146494,11 +161538,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteDataMovementInterface_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteDataMovementInterface_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -146518,7 +161563,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -146539,6 +161585,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -146552,6 +161600,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -146568,8 +161617,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteDataMovementInterface_result)
         return this.equals((deleteDataMovementInterface_result)that);
       return false;
@@ -146623,7 +161670,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146633,7 +161680,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -146646,10 +161693,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -146702,6 +161752,7 @@
     }
 
     private static class deleteDataMovementInterface_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_resultStandardScheme getScheme() {
         return new deleteDataMovementInterface_resultStandardScheme();
       }
@@ -146709,6 +161760,7 @@
 
     private static class deleteDataMovementInterface_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteDataMovementInterface_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteDataMovementInterface_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -146747,6 +161799,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteDataMovementInterface_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -146768,6 +161821,7 @@
     }
 
     private static class deleteDataMovementInterface_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDataMovementInterface_resultTupleScheme getScheme() {
         return new deleteDataMovementInterface_resultTupleScheme();
       }
@@ -146815,6 +161869,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerResourceJobManager_args implements org.apache.thrift.TBase<registerResourceJobManager_args, registerResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerResourceJobManager_args");
 
@@ -146823,7 +161878,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerResourceJobManager_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager; // 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 {
@@ -146840,6 +161895,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_JOB_MANAGER
@@ -146862,6 +161918,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -146874,10 +161931,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -146912,6 +161971,7 @@
       }
     }
 
+    @Override
     public registerResourceJobManager_args deepCopy() {
       return new registerResourceJobManager_args(this);
     }
@@ -146921,11 +161981,12 @@
       this.resourceJobManager = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getResourceJobManager() {
       return this.resourceJobManager;
     }
 
-    public registerResourceJobManager_args setResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) {
+    public registerResourceJobManager_args setResourceJobManager(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager resourceJobManager) {
       this.resourceJobManager = resourceJobManager;
       return this;
     }
@@ -146945,7 +162006,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_JOB_MANAGER:
         if (value == null) {
@@ -146958,6 +162020,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_JOB_MANAGER:
@@ -146968,6 +162032,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -146982,8 +162047,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerResourceJobManager_args)
         return this.equals((registerResourceJobManager_args)that);
       return false;
@@ -147026,7 +162089,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManager()).compareTo(other.isSetResourceJobManager());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManager(), other.isSetResourceJobManager());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147039,14 +162102,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -147095,6 +162162,7 @@
     }
 
     private static class registerResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_argsStandardScheme getScheme() {
         return new registerResourceJobManager_argsStandardScheme();
       }
@@ -147102,6 +162170,7 @@
 
     private static class registerResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -147132,6 +162201,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -147148,6 +162218,7 @@
     }
 
     private static class registerResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_argsTupleScheme getScheme() {
         return new registerResourceJobManager_argsTupleScheme();
       }
@@ -147175,6 +162246,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerResourceJobManager_result implements org.apache.thrift.TBase<registerResourceJobManager_result, registerResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerResourceJobManager_result");
 
@@ -147184,8 +162256,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerResourceJobManager_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerResourceJobManager_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -147203,6 +162275,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -147227,6 +162300,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -147239,10 +162313,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -147284,6 +162360,7 @@
       }
     }
 
+    @Override
     public registerResourceJobManager_result deepCopy() {
       return new registerResourceJobManager_result(this);
     }
@@ -147294,11 +162371,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerResourceJobManager_result setSuccess(java.lang.String success) {
+    public registerResourceJobManager_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -147318,11 +162396,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerResourceJobManager_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerResourceJobManager_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -147342,7 +162421,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -147363,6 +162443,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -147376,6 +162458,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -147392,8 +162475,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerResourceJobManager_result)
         return this.equals((registerResourceJobManager_result)that);
       return false;
@@ -147449,7 +162530,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147459,7 +162540,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147472,10 +162553,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -147530,6 +162614,7 @@
     }
 
     private static class registerResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_resultStandardScheme getScheme() {
         return new registerResourceJobManager_resultStandardScheme();
       }
@@ -147537,6 +162622,7 @@
 
     private static class registerResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -147575,6 +162661,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -147596,6 +162683,7 @@
     }
 
     private static class registerResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerResourceJobManager_resultTupleScheme getScheme() {
         return new registerResourceJobManager_resultTupleScheme();
       }
@@ -147643,6 +162731,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceJobManager_args implements org.apache.thrift.TBase<updateResourceJobManager_args, updateResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceJobManager_args");
 
@@ -147652,8 +162741,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceJobManager_argsTupleSchemeFactory();
 
-    public java.lang.String resourceJobManagerId; // required
-    public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager; // 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 {
@@ -147671,6 +162760,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_JOB_MANAGER_ID
@@ -147695,6 +162785,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -147707,10 +162798,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -147752,6 +162845,7 @@
       }
     }
 
+    @Override
     public updateResourceJobManager_args deepCopy() {
       return new updateResourceJobManager_args(this);
     }
@@ -147762,11 +162856,12 @@
       this.updatedResourceJobManager = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceJobManagerId() {
       return this.resourceJobManagerId;
     }
 
-    public updateResourceJobManager_args setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+    public updateResourceJobManager_args setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
       this.resourceJobManagerId = resourceJobManagerId;
       return this;
     }
@@ -147786,11 +162881,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getUpdatedResourceJobManager() {
       return this.updatedResourceJobManager;
     }
 
-    public updateResourceJobManager_args setUpdatedResourceJobManager(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) {
+    public updateResourceJobManager_args setUpdatedResourceJobManager(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager updatedResourceJobManager) {
       this.updatedResourceJobManager = updatedResourceJobManager;
       return this;
     }
@@ -147810,7 +162906,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_JOB_MANAGER_ID:
         if (value == null) {
@@ -147831,6 +162928,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_JOB_MANAGER_ID:
@@ -147844,6 +162943,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -147860,8 +162960,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceJobManager_args)
         return this.equals((updateResourceJobManager_args)that);
       return false;
@@ -147917,7 +163015,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147927,7 +163025,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUpdatedResourceJobManager()).compareTo(other.isSetUpdatedResourceJobManager());
+      lastComparison = java.lang.Boolean.compare(isSetUpdatedResourceJobManager(), other.isSetUpdatedResourceJobManager());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -147940,14 +163038,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -148007,6 +163109,7 @@
     }
 
     private static class updateResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_argsStandardScheme getScheme() {
         return new updateResourceJobManager_argsStandardScheme();
       }
@@ -148014,6 +163117,7 @@
 
     private static class updateResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -148052,6 +163156,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -148073,6 +163178,7 @@
     }
 
     private static class updateResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_argsTupleScheme getScheme() {
         return new updateResourceJobManager_argsTupleScheme();
       }
@@ -148103,6 +163209,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateResourceJobManager_result implements org.apache.thrift.TBase<updateResourceJobManager_result, updateResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateResourceJobManager_result");
 
@@ -148113,7 +163220,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateResourceJobManager_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -148131,6 +163238,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -148155,6 +163263,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -148167,10 +163276,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -148214,6 +163325,7 @@
       }
     }
 
+    @Override
     public updateResourceJobManager_result deepCopy() {
       return new updateResourceJobManager_result(this);
     }
@@ -148248,11 +163360,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateResourceJobManager_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateResourceJobManager_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -148272,7 +163385,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -148293,6 +163407,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -148306,6 +163422,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -148322,8 +163439,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateResourceJobManager_result)
         return this.equals((updateResourceJobManager_result)that);
       return false;
@@ -148377,7 +163492,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148387,7 +163502,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148400,10 +163515,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -148456,6 +163574,7 @@
     }
 
     private static class updateResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_resultStandardScheme getScheme() {
         return new updateResourceJobManager_resultStandardScheme();
       }
@@ -148463,6 +163582,7 @@
 
     private static class updateResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -148501,6 +163621,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -148522,6 +163643,7 @@
     }
 
     private static class updateResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateResourceJobManager_resultTupleScheme getScheme() {
         return new updateResourceJobManager_resultTupleScheme();
       }
@@ -148569,6 +163691,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getResourceJobManager_args implements org.apache.thrift.TBase<getResourceJobManager_args, getResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<getResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getResourceJobManager_args");
 
@@ -148577,7 +163700,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getResourceJobManager_argsTupleSchemeFactory();
 
-    public java.lang.String resourceJobManagerId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // 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 {
@@ -148594,6 +163717,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_JOB_MANAGER_ID
@@ -148616,6 +163740,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -148628,10 +163753,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -148666,6 +163793,7 @@
       }
     }
 
+    @Override
     public getResourceJobManager_args deepCopy() {
       return new getResourceJobManager_args(this);
     }
@@ -148675,11 +163803,12 @@
       this.resourceJobManagerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceJobManagerId() {
       return this.resourceJobManagerId;
     }
 
-    public getResourceJobManager_args setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+    public getResourceJobManager_args setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
       this.resourceJobManagerId = resourceJobManagerId;
       return this;
     }
@@ -148699,7 +163828,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_JOB_MANAGER_ID:
         if (value == null) {
@@ -148712,6 +163842,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_JOB_MANAGER_ID:
@@ -148722,6 +163854,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -148736,8 +163869,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getResourceJobManager_args)
         return this.equals((getResourceJobManager_args)that);
       return false;
@@ -148780,7 +163911,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -148793,14 +163924,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -148846,6 +163981,7 @@
     }
 
     private static class getResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_argsStandardScheme getScheme() {
         return new getResourceJobManager_argsStandardScheme();
       }
@@ -148853,6 +163989,7 @@
 
     private static class getResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -148882,6 +164019,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -148898,6 +164036,7 @@
     }
 
     private static class getResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_argsTupleScheme getScheme() {
         return new getResourceJobManager_argsTupleScheme();
       }
@@ -148924,6 +164063,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getResourceJobManager_result implements org.apache.thrift.TBase<getResourceJobManager_result, getResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<getResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getResourceJobManager_result");
 
@@ -148933,8 +164073,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getResourceJobManager_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getResourceJobManager_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -148952,6 +164092,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -148976,6 +164117,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -148988,10 +164130,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -149033,6 +164177,7 @@
       }
     }
 
+    @Override
     public getResourceJobManager_result deepCopy() {
       return new getResourceJobManager_result(this);
     }
@@ -149043,11 +164188,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager getSuccess() {
       return this.success;
     }
 
-    public getResourceJobManager_result setSuccess(org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success) {
+    public getResourceJobManager_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager success) {
       this.success = success;
       return this;
     }
@@ -149067,11 +164213,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getResourceJobManager_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getResourceJobManager_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -149091,7 +164238,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -149112,6 +164260,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -149125,6 +164275,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -149141,8 +164292,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getResourceJobManager_result)
         return this.equals((getResourceJobManager_result)that);
       return false;
@@ -149198,7 +164347,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149208,7 +164357,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149221,10 +164370,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -149282,6 +164434,7 @@
     }
 
     private static class getResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_resultStandardScheme getScheme() {
         return new getResourceJobManager_resultStandardScheme();
       }
@@ -149289,6 +164442,7 @@
 
     private static class getResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -149328,6 +164482,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -149349,6 +164504,7 @@
     }
 
     private static class getResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getResourceJobManager_resultTupleScheme getScheme() {
         return new getResourceJobManager_resultTupleScheme();
       }
@@ -149397,6 +164553,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteResourceJobManager_args implements org.apache.thrift.TBase<deleteResourceJobManager_args, deleteResourceJobManager_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteResourceJobManager_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteResourceJobManager_args");
 
@@ -149405,7 +164562,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteResourceJobManager_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteResourceJobManager_argsTupleSchemeFactory();
 
-    public java.lang.String resourceJobManagerId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId; // 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 {
@@ -149422,6 +164579,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_JOB_MANAGER_ID
@@ -149444,6 +164602,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -149456,10 +164615,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -149494,6 +164655,7 @@
       }
     }
 
+    @Override
     public deleteResourceJobManager_args deepCopy() {
       return new deleteResourceJobManager_args(this);
     }
@@ -149503,11 +164665,12 @@
       this.resourceJobManagerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourceJobManagerId() {
       return this.resourceJobManagerId;
     }
 
-    public deleteResourceJobManager_args setResourceJobManagerId(java.lang.String resourceJobManagerId) {
+    public deleteResourceJobManager_args setResourceJobManagerId(@org.apache.thrift.annotation.Nullable java.lang.String resourceJobManagerId) {
       this.resourceJobManagerId = resourceJobManagerId;
       return this;
     }
@@ -149527,7 +164690,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_JOB_MANAGER_ID:
         if (value == null) {
@@ -149540,6 +164704,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_JOB_MANAGER_ID:
@@ -149550,6 +164716,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -149564,8 +164731,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteResourceJobManager_args)
         return this.equals((deleteResourceJobManager_args)that);
       return false;
@@ -149608,7 +164773,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourceJobManagerId()).compareTo(other.isSetResourceJobManagerId());
+      lastComparison = java.lang.Boolean.compare(isSetResourceJobManagerId(), other.isSetResourceJobManagerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -149621,14 +164786,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -149674,6 +164843,7 @@
     }
 
     private static class deleteResourceJobManager_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_argsStandardScheme getScheme() {
         return new deleteResourceJobManager_argsStandardScheme();
       }
@@ -149681,6 +164851,7 @@
 
     private static class deleteResourceJobManager_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteResourceJobManager_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteResourceJobManager_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -149710,6 +164881,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteResourceJobManager_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -149726,6 +164898,7 @@
     }
 
     private static class deleteResourceJobManager_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_argsTupleScheme getScheme() {
         return new deleteResourceJobManager_argsTupleScheme();
       }
@@ -149752,6 +164925,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteResourceJobManager_result implements org.apache.thrift.TBase<deleteResourceJobManager_result, deleteResourceJobManager_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteResourceJobManager_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteResourceJobManager_result");
 
@@ -149762,7 +164936,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteResourceJobManager_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -149780,6 +164954,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -149804,6 +164979,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -149816,10 +164992,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -149863,6 +165041,7 @@
       }
     }
 
+    @Override
     public deleteResourceJobManager_result deepCopy() {
       return new deleteResourceJobManager_result(this);
     }
@@ -149897,11 +165076,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteResourceJobManager_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteResourceJobManager_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -149921,7 +165101,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -149942,6 +165123,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -149955,6 +165138,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -149971,8 +165155,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteResourceJobManager_result)
         return this.equals((deleteResourceJobManager_result)that);
       return false;
@@ -150026,7 +165208,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150036,7 +165218,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150049,10 +165231,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -150105,6 +165290,7 @@
     }
 
     private static class deleteResourceJobManager_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_resultStandardScheme getScheme() {
         return new deleteResourceJobManager_resultStandardScheme();
       }
@@ -150112,6 +165298,7 @@
 
     private static class deleteResourceJobManager_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteResourceJobManager_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteResourceJobManager_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -150150,6 +165337,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteResourceJobManager_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -150171,6 +165359,7 @@
     }
 
     private static class deleteResourceJobManager_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteResourceJobManager_resultTupleScheme getScheme() {
         return new deleteResourceJobManager_resultTupleScheme();
       }
@@ -150218,6 +165407,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteBatchQueue_args implements org.apache.thrift.TBase<deleteBatchQueue_args, deleteBatchQueue_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBatchQueue_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteBatchQueue_args");
 
@@ -150227,8 +165417,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteBatchQueue_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteBatchQueue_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
-    public java.lang.String queueName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String queueName; // 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 {
@@ -150246,6 +165436,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -150270,6 +165461,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -150282,10 +165474,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -150327,6 +165521,7 @@
       }
     }
 
+    @Override
     public deleteBatchQueue_args deepCopy() {
       return new deleteBatchQueue_args(this);
     }
@@ -150337,11 +165532,12 @@
       this.queueName = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteBatchQueue_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteBatchQueue_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -150361,11 +165557,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getQueueName() {
       return this.queueName;
     }
 
-    public deleteBatchQueue_args setQueueName(java.lang.String queueName) {
+    public deleteBatchQueue_args setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
       this.queueName = queueName;
       return this;
     }
@@ -150385,7 +165582,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -150406,6 +165604,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -150419,6 +165619,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -150435,8 +165636,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteBatchQueue_args)
         return this.equals((deleteBatchQueue_args)that);
       return false;
@@ -150492,7 +165691,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150502,7 +165701,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetQueueName()).compareTo(other.isSetQueueName());
+      lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150515,14 +165714,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -150579,6 +165782,7 @@
     }
 
     private static class deleteBatchQueue_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_argsStandardScheme getScheme() {
         return new deleteBatchQueue_argsStandardScheme();
       }
@@ -150586,6 +165790,7 @@
 
     private static class deleteBatchQueue_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteBatchQueue_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteBatchQueue_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -150623,6 +165828,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteBatchQueue_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -150644,6 +165850,7 @@
     }
 
     private static class deleteBatchQueue_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_argsTupleScheme getScheme() {
         return new deleteBatchQueue_argsTupleScheme();
       }
@@ -150673,6 +165880,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteBatchQueue_result implements org.apache.thrift.TBase<deleteBatchQueue_result, deleteBatchQueue_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteBatchQueue_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteBatchQueue_result");
 
@@ -150683,7 +165891,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteBatchQueue_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -150701,6 +165909,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -150725,6 +165934,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -150737,10 +165947,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -150784,6 +165996,7 @@
       }
     }
 
+    @Override
     public deleteBatchQueue_result deepCopy() {
       return new deleteBatchQueue_result(this);
     }
@@ -150818,11 +166031,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteBatchQueue_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteBatchQueue_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -150842,7 +166056,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -150863,6 +166078,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -150876,6 +166093,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -150892,8 +166110,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteBatchQueue_result)
         return this.equals((deleteBatchQueue_result)that);
       return false;
@@ -150947,7 +166163,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150957,7 +166173,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -150970,10 +166186,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -151026,6 +166245,7 @@
     }
 
     private static class deleteBatchQueue_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_resultStandardScheme getScheme() {
         return new deleteBatchQueue_resultStandardScheme();
       }
@@ -151033,6 +166253,7 @@
 
     private static class deleteBatchQueue_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteBatchQueue_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteBatchQueue_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -151071,6 +166292,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteBatchQueue_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -151092,6 +166314,7 @@
     }
 
     private static class deleteBatchQueue_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteBatchQueue_resultTupleScheme getScheme() {
         return new deleteBatchQueue_resultTupleScheme();
       }
@@ -151139,6 +166362,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerGatewayResourceProfile_args implements org.apache.thrift.TBase<registerGatewayResourceProfile_args, registerGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerGatewayResourceProfile_args");
 
@@ -151147,7 +166371,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // 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 {
@@ -151164,6 +166388,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_RESOURCE_PROFILE
@@ -151186,6 +166411,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -151198,10 +166424,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -151236,6 +166464,7 @@
       }
     }
 
+    @Override
     public registerGatewayResourceProfile_args deepCopy() {
       return new registerGatewayResourceProfile_args(this);
     }
@@ -151245,11 +166474,12 @@
       this.gatewayResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile() {
       return this.gatewayResourceProfile;
     }
 
-    public registerGatewayResourceProfile_args setGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
+    public registerGatewayResourceProfile_args setGatewayResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
       this.gatewayResourceProfile = gatewayResourceProfile;
       return this;
     }
@@ -151269,7 +166499,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_RESOURCE_PROFILE:
         if (value == null) {
@@ -151282,6 +166513,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_RESOURCE_PROFILE:
@@ -151292,6 +166525,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -151306,8 +166540,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerGatewayResourceProfile_args)
         return this.equals((registerGatewayResourceProfile_args)that);
       return false;
@@ -151350,7 +166582,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayResourceProfile()).compareTo(other.isSetGatewayResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayResourceProfile(), other.isSetGatewayResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151363,14 +166595,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -151419,6 +166655,7 @@
     }
 
     private static class registerGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_argsStandardScheme getScheme() {
         return new registerGatewayResourceProfile_argsStandardScheme();
       }
@@ -151426,6 +166663,7 @@
 
     private static class registerGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -151456,6 +166694,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -151472,6 +166711,7 @@
     }
 
     private static class registerGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_argsTupleScheme getScheme() {
         return new registerGatewayResourceProfile_argsTupleScheme();
       }
@@ -151499,6 +166739,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerGatewayResourceProfile_result implements org.apache.thrift.TBase<registerGatewayResourceProfile_result, registerGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerGatewayResourceProfile_result");
 
@@ -151508,8 +166749,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerGatewayResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerGatewayResourceProfile_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -151527,6 +166768,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -151551,6 +166793,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -151563,10 +166806,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -151608,6 +166853,7 @@
       }
     }
 
+    @Override
     public registerGatewayResourceProfile_result deepCopy() {
       return new registerGatewayResourceProfile_result(this);
     }
@@ -151618,11 +166864,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerGatewayResourceProfile_result setSuccess(java.lang.String success) {
+    public registerGatewayResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -151642,11 +166889,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerGatewayResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerGatewayResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -151666,7 +166914,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -151687,6 +166936,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -151700,6 +166951,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -151716,8 +166968,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerGatewayResourceProfile_result)
         return this.equals((registerGatewayResourceProfile_result)that);
       return false;
@@ -151773,7 +167023,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151783,7 +167033,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -151796,10 +167046,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -151854,6 +167107,7 @@
     }
 
     private static class registerGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_resultStandardScheme getScheme() {
         return new registerGatewayResourceProfile_resultStandardScheme();
       }
@@ -151861,6 +167115,7 @@
 
     private static class registerGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -151899,6 +167154,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -151920,6 +167176,7 @@
     }
 
     private static class registerGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerGatewayResourceProfile_resultTupleScheme getScheme() {
         return new registerGatewayResourceProfile_resultTupleScheme();
       }
@@ -151967,6 +167224,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayResourceProfile_args implements org.apache.thrift.TBase<getGatewayResourceProfile_args, getGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayResourceProfile_args");
 
@@ -151975,7 +167233,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -151992,6 +167250,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -152014,6 +167273,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -152026,10 +167286,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -152064,6 +167326,7 @@
       }
     }
 
+    @Override
     public getGatewayResourceProfile_args deepCopy() {
       return new getGatewayResourceProfile_args(this);
     }
@@ -152073,11 +167336,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getGatewayResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public getGatewayResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -152097,7 +167361,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -152110,6 +167375,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -152120,6 +167387,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -152134,8 +167402,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayResourceProfile_args)
         return this.equals((getGatewayResourceProfile_args)that);
       return false;
@@ -152178,7 +167444,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152191,14 +167457,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -152244,6 +167514,7 @@
     }
 
     private static class getGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_argsStandardScheme getScheme() {
         return new getGatewayResourceProfile_argsStandardScheme();
       }
@@ -152251,6 +167522,7 @@
 
     private static class getGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -152280,6 +167552,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -152296,6 +167569,7 @@
     }
 
     private static class getGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_argsTupleScheme getScheme() {
         return new getGatewayResourceProfile_argsTupleScheme();
       }
@@ -152322,6 +167596,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayResourceProfile_result implements org.apache.thrift.TBase<getGatewayResourceProfile_result, getGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayResourceProfile_result");
 
@@ -152331,8 +167606,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -152350,6 +167625,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -152374,6 +167650,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -152386,10 +167663,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -152431,6 +167710,7 @@
       }
     }
 
+    @Override
     public getGatewayResourceProfile_result deepCopy() {
       return new getGatewayResourceProfile_result(this);
     }
@@ -152441,11 +167721,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getSuccess() {
       return this.success;
     }
 
-    public getGatewayResourceProfile_result setSuccess(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success) {
+    public getGatewayResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile success) {
       this.success = success;
       return this;
     }
@@ -152465,11 +167746,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGatewayResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGatewayResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -152489,7 +167771,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -152510,6 +167793,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -152523,6 +167808,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -152539,8 +167825,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayResourceProfile_result)
         return this.equals((getGatewayResourceProfile_result)that);
       return false;
@@ -152596,7 +167880,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152606,7 +167890,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -152619,10 +167903,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -152680,6 +167967,7 @@
     }
 
     private static class getGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_resultStandardScheme getScheme() {
         return new getGatewayResourceProfile_resultStandardScheme();
       }
@@ -152687,6 +167975,7 @@
 
     private static class getGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -152726,6 +168015,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -152747,6 +168037,7 @@
     }
 
     private static class getGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayResourceProfile_resultTupleScheme getScheme() {
         return new getGatewayResourceProfile_resultTupleScheme();
       }
@@ -152795,6 +168086,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayResourceProfile_args implements org.apache.thrift.TBase<updateGatewayResourceProfile_args, updateGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayResourceProfile_args");
 
@@ -152804,8 +168096,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile; // 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 {
@@ -152823,6 +168115,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -152847,6 +168140,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -152859,10 +168153,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -152904,6 +168200,7 @@
       }
     }
 
+    @Override
     public updateGatewayResourceProfile_args deepCopy() {
       return new updateGatewayResourceProfile_args(this);
     }
@@ -152914,11 +168211,12 @@
       this.gatewayResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateGatewayResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public updateGatewayResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -152938,11 +168236,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile getGatewayResourceProfile() {
       return this.gatewayResourceProfile;
     }
 
-    public updateGatewayResourceProfile_args setGatewayResourceProfile(org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
+    public updateGatewayResourceProfile_args setGatewayResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile gatewayResourceProfile) {
       this.gatewayResourceProfile = gatewayResourceProfile;
       return this;
     }
@@ -152962,7 +168261,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -152983,6 +168283,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -152996,6 +168298,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -153012,8 +168315,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayResourceProfile_args)
         return this.equals((updateGatewayResourceProfile_args)that);
       return false;
@@ -153069,7 +168370,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153079,7 +168380,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayResourceProfile()).compareTo(other.isSetGatewayResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayResourceProfile(), other.isSetGatewayResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153092,14 +168393,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -153159,6 +168464,7 @@
     }
 
     private static class updateGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_argsStandardScheme getScheme() {
         return new updateGatewayResourceProfile_argsStandardScheme();
       }
@@ -153166,6 +168472,7 @@
 
     private static class updateGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -153204,6 +168511,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -153225,6 +168533,7 @@
     }
 
     private static class updateGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_argsTupleScheme getScheme() {
         return new updateGatewayResourceProfile_argsTupleScheme();
       }
@@ -153255,6 +168564,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayResourceProfile_result implements org.apache.thrift.TBase<updateGatewayResourceProfile_result, updateGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayResourceProfile_result");
 
@@ -153265,7 +168575,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayResourceProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -153283,6 +168593,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -153307,6 +168618,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -153319,10 +168631,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -153366,6 +168680,7 @@
       }
     }
 
+    @Override
     public updateGatewayResourceProfile_result deepCopy() {
       return new updateGatewayResourceProfile_result(this);
     }
@@ -153400,11 +168715,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGatewayResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGatewayResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -153424,7 +168740,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -153445,6 +168762,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -153458,6 +168777,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -153474,8 +168794,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayResourceProfile_result)
         return this.equals((updateGatewayResourceProfile_result)that);
       return false;
@@ -153529,7 +168847,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153539,7 +168857,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153552,10 +168870,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -153608,6 +168929,7 @@
     }
 
     private static class updateGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_resultStandardScheme getScheme() {
         return new updateGatewayResourceProfile_resultStandardScheme();
       }
@@ -153615,6 +168937,7 @@
 
     private static class updateGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -153653,6 +168976,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -153674,6 +168998,7 @@
     }
 
     private static class updateGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayResourceProfile_resultTupleScheme getScheme() {
         return new updateGatewayResourceProfile_resultTupleScheme();
       }
@@ -153721,6 +169046,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayResourceProfile_args implements org.apache.thrift.TBase<deleteGatewayResourceProfile_args, deleteGatewayResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayResourceProfile_args");
 
@@ -153729,7 +169055,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGatewayResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -153746,6 +169072,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -153768,6 +169095,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -153780,10 +169108,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -153818,6 +169148,7 @@
       }
     }
 
+    @Override
     public deleteGatewayResourceProfile_args deepCopy() {
       return new deleteGatewayResourceProfile_args(this);
     }
@@ -153827,11 +169158,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteGatewayResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public deleteGatewayResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -153851,7 +169183,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -153864,6 +169197,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -153874,6 +169209,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -153888,8 +169224,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayResourceProfile_args)
         return this.equals((deleteGatewayResourceProfile_args)that);
       return false;
@@ -153932,7 +169266,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -153945,14 +169279,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -153998,6 +169336,7 @@
     }
 
     private static class deleteGatewayResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_argsStandardScheme getScheme() {
         return new deleteGatewayResourceProfile_argsStandardScheme();
       }
@@ -154005,6 +169344,7 @@
 
     private static class deleteGatewayResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -154034,6 +169374,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -154050,6 +169391,7 @@
     }
 
     private static class deleteGatewayResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_argsTupleScheme getScheme() {
         return new deleteGatewayResourceProfile_argsTupleScheme();
       }
@@ -154076,6 +169418,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayResourceProfile_result implements org.apache.thrift.TBase<deleteGatewayResourceProfile_result, deleteGatewayResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayResourceProfile_result");
 
@@ -154086,7 +169429,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayResourceProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -154104,6 +169447,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -154128,6 +169472,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -154140,10 +169485,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -154187,6 +169534,7 @@
       }
     }
 
+    @Override
     public deleteGatewayResourceProfile_result deepCopy() {
       return new deleteGatewayResourceProfile_result(this);
     }
@@ -154221,11 +169569,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteGatewayResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteGatewayResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -154245,7 +169594,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -154266,6 +169616,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -154279,6 +169631,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -154295,8 +169648,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayResourceProfile_result)
         return this.equals((deleteGatewayResourceProfile_result)that);
       return false;
@@ -154350,7 +169701,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154360,7 +169711,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154373,10 +169724,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -154429,6 +169783,7 @@
     }
 
     private static class deleteGatewayResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_resultStandardScheme getScheme() {
         return new deleteGatewayResourceProfile_resultStandardScheme();
       }
@@ -154436,6 +169791,7 @@
 
     private static class deleteGatewayResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -154474,6 +169830,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -154495,6 +169852,7 @@
     }
 
     private static class deleteGatewayResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayResourceProfile_resultTupleScheme getScheme() {
         return new deleteGatewayResourceProfile_resultTupleScheme();
       }
@@ -154542,6 +169900,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<addGatewayComputeResourcePreference_args, addGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayComputeResourcePreference_args");
 
@@ -154552,9 +169911,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // 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 {
@@ -154573,6 +169932,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -154599,6 +169959,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -154611,10 +169972,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -154663,6 +170026,7 @@
       }
     }
 
+    @Override
     public addGatewayComputeResourcePreference_args deepCopy() {
       return new addGatewayComputeResourcePreference_args(this);
     }
@@ -154674,11 +170038,12 @@
       this.computeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -154698,11 +170063,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -154722,11 +170088,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getComputeResourcePreference() {
       return this.computeResourcePreference;
     }
 
-    public addGatewayComputeResourcePreference_args setComputeResourcePreference(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
+    public addGatewayComputeResourcePreference_args setComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
       this.computeResourcePreference = computeResourcePreference;
       return this;
     }
@@ -154746,7 +170113,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -154775,6 +170143,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -154791,6 +170161,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -154809,8 +170180,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayComputeResourcePreference_args)
         return this.equals((addGatewayComputeResourcePreference_args)that);
       return false;
@@ -154879,7 +170248,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154889,7 +170258,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154899,7 +170268,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourcePreference()).compareTo(other.isSetComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourcePreference(), other.isSetComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -154912,14 +170281,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -154990,6 +170363,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new addGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -154997,6 +170371,7 @@
 
     private static class addGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -155043,6 +170418,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -155069,6 +170445,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new addGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -155102,6 +170479,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<addGatewayComputeResourcePreference_result, addGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayComputeResourcePreference_result");
 
@@ -155112,7 +170490,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -155130,6 +170508,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -155154,6 +170533,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -155166,10 +170546,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -155213,6 +170595,7 @@
       }
     }
 
+    @Override
     public addGatewayComputeResourcePreference_result deepCopy() {
       return new addGatewayComputeResourcePreference_result(this);
     }
@@ -155247,11 +170630,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addGatewayComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addGatewayComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -155271,7 +170655,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -155292,6 +170677,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -155305,6 +170692,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -155321,8 +170709,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayComputeResourcePreference_result)
         return this.equals((addGatewayComputeResourcePreference_result)that);
       return false;
@@ -155376,7 +170762,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155386,7 +170772,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155399,10 +170785,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -155455,6 +170844,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new addGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -155462,6 +170852,7 @@
 
     private static class addGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -155500,6 +170891,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -155521,6 +170913,7 @@
     }
 
     private static class addGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new addGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -155568,6 +170961,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayStoragePreference_args implements org.apache.thrift.TBase<addGatewayStoragePreference_args, addGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayStoragePreference_args");
 
@@ -155578,9 +170972,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageResourceId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // 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 {
@@ -155599,6 +170993,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -155625,6 +171020,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -155637,10 +171033,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -155689,6 +171087,7 @@
       }
     }
 
+    @Override
     public addGatewayStoragePreference_args deepCopy() {
       return new addGatewayStoragePreference_args(this);
     }
@@ -155700,11 +171099,12 @@
       this.storagePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -155724,11 +171124,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public addGatewayStoragePreference_args setStorageResourceId(java.lang.String storageResourceId) {
+    public addGatewayStoragePreference_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -155748,11 +171149,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getStoragePreference() {
       return this.storagePreference;
     }
 
-    public addGatewayStoragePreference_args setStoragePreference(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
+    public addGatewayStoragePreference_args setStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
       this.storagePreference = storagePreference;
       return this;
     }
@@ -155772,7 +171174,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -155801,6 +171204,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -155817,6 +171222,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -155835,8 +171241,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayStoragePreference_args)
         return this.equals((addGatewayStoragePreference_args)that);
       return false;
@@ -155905,7 +171309,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155915,7 +171319,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155925,7 +171329,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStoragePreference()).compareTo(other.isSetStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetStoragePreference(), other.isSetStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -155938,14 +171342,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -156016,6 +171424,7 @@
     }
 
     private static class addGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_argsStandardScheme getScheme() {
         return new addGatewayStoragePreference_argsStandardScheme();
       }
@@ -156023,6 +171432,7 @@
 
     private static class addGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -156069,6 +171479,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -156095,6 +171506,7 @@
     }
 
     private static class addGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_argsTupleScheme getScheme() {
         return new addGatewayStoragePreference_argsTupleScheme();
       }
@@ -156128,6 +171540,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayStoragePreference_result implements org.apache.thrift.TBase<addGatewayStoragePreference_result, addGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayStoragePreference_result");
 
@@ -156138,7 +171551,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayStoragePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -156156,6 +171569,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -156180,6 +171594,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -156192,10 +171607,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -156239,6 +171656,7 @@
       }
     }
 
+    @Override
     public addGatewayStoragePreference_result deepCopy() {
       return new addGatewayStoragePreference_result(this);
     }
@@ -156273,11 +171691,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addGatewayStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addGatewayStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -156297,7 +171716,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -156318,6 +171738,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -156331,6 +171753,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -156347,8 +171770,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayStoragePreference_result)
         return this.equals((addGatewayStoragePreference_result)that);
       return false;
@@ -156402,7 +171823,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156412,7 +171833,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156425,10 +171846,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -156481,6 +171905,7 @@
     }
 
     private static class addGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_resultStandardScheme getScheme() {
         return new addGatewayStoragePreference_resultStandardScheme();
       }
@@ -156488,6 +171913,7 @@
 
     private static class addGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -156526,6 +171952,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -156547,6 +171974,7 @@
     }
 
     private static class addGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayStoragePreference_resultTupleScheme getScheme() {
         return new addGatewayStoragePreference_resultTupleScheme();
       }
@@ -156594,6 +172022,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<getGatewayComputeResourcePreference_args, getGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayComputeResourcePreference_args");
 
@@ -156603,8 +172032,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -156622,6 +172051,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -156646,6 +172076,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -156658,10 +172089,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -156703,6 +172136,7 @@
       }
     }
 
+    @Override
     public getGatewayComputeResourcePreference_args deepCopy() {
       return new getGatewayComputeResourcePreference_args(this);
     }
@@ -156713,11 +172147,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -156737,11 +172172,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -156761,7 +172197,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -156782,6 +172219,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -156795,6 +172234,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -156811,8 +172251,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayComputeResourcePreference_args)
         return this.equals((getGatewayComputeResourcePreference_args)that);
       return false;
@@ -156868,7 +172306,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156878,7 +172316,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -156891,14 +172329,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -156955,6 +172397,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new getGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -156962,6 +172405,7 @@
 
     private static class getGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -156999,6 +172443,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -157020,6 +172465,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new getGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -157049,6 +172495,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<getGatewayComputeResourcePreference_result, getGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayComputeResourcePreference_result");
 
@@ -157058,8 +172505,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayComputeResourcePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -157077,6 +172524,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -157101,6 +172549,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -157113,10 +172562,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -157158,6 +172609,7 @@
       }
     }
 
+    @Override
     public getGatewayComputeResourcePreference_result deepCopy() {
       return new getGatewayComputeResourcePreference_result(this);
     }
@@ -157168,11 +172620,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public getGatewayComputeResourcePreference_result setSuccess(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success) {
+    public getGatewayComputeResourcePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -157192,11 +172645,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGatewayComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGatewayComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -157216,7 +172670,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -157237,6 +172692,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -157250,6 +172707,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -157266,8 +172724,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayComputeResourcePreference_result)
         return this.equals((getGatewayComputeResourcePreference_result)that);
       return false;
@@ -157323,7 +172779,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -157333,7 +172789,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -157346,10 +172802,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -157407,6 +172866,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new getGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -157414,6 +172874,7 @@
 
     private static class getGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -157453,6 +172914,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -157474,6 +172936,7 @@
     }
 
     private static class getGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new getGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -157522,6 +172985,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayStoragePreference_args implements org.apache.thrift.TBase<getGatewayStoragePreference_args, getGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayStoragePreference_args");
 
@@ -157531,8 +172995,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageResourceId; // 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 {
@@ -157550,6 +173014,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -157574,6 +173039,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -157586,10 +173052,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -157631,6 +173099,7 @@
       }
     }
 
+    @Override
     public getGatewayStoragePreference_args deepCopy() {
       return new getGatewayStoragePreference_args(this);
     }
@@ -157641,11 +173110,12 @@
       this.storageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -157665,11 +173135,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageResourceId() {
       return this.storageResourceId;
     }
 
-    public getGatewayStoragePreference_args setStorageResourceId(java.lang.String storageResourceId) {
+    public getGatewayStoragePreference_args setStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String storageResourceId) {
       this.storageResourceId = storageResourceId;
       return this;
     }
@@ -157689,7 +173160,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -157710,6 +173182,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -157723,6 +173197,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -157739,8 +173214,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayStoragePreference_args)
         return this.equals((getGatewayStoragePreference_args)that);
       return false;
@@ -157796,7 +173269,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -157806,7 +173279,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageResourceId(), other.isSetStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -157819,14 +173292,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -157883,6 +173360,7 @@
     }
 
     private static class getGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_argsStandardScheme getScheme() {
         return new getGatewayStoragePreference_argsStandardScheme();
       }
@@ -157890,6 +173368,7 @@
 
     private static class getGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -157927,6 +173406,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -157948,6 +173428,7 @@
     }
 
     private static class getGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_argsTupleScheme getScheme() {
         return new getGatewayStoragePreference_argsTupleScheme();
       }
@@ -157977,6 +173458,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayStoragePreference_result implements org.apache.thrift.TBase<getGatewayStoragePreference_result, getGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayStoragePreference_result");
 
@@ -157986,8 +173468,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayStoragePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayStoragePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -158005,6 +173487,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -158029,6 +173512,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -158041,10 +173525,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -158086,6 +173572,7 @@
       }
     }
 
+    @Override
     public getGatewayStoragePreference_result deepCopy() {
       return new getGatewayStoragePreference_result(this);
     }
@@ -158096,11 +173583,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getSuccess() {
       return this.success;
     }
 
-    public getGatewayStoragePreference_result setSuccess(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success) {
+    public getGatewayStoragePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference success) {
       this.success = success;
       return this;
     }
@@ -158120,11 +173608,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGatewayStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGatewayStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -158144,7 +173633,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -158165,6 +173655,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -158178,6 +173670,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -158194,8 +173687,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayStoragePreference_result)
         return this.equals((getGatewayStoragePreference_result)that);
       return false;
@@ -158251,7 +173742,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158261,7 +173752,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158274,10 +173765,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -158335,6 +173829,7 @@
     }
 
     private static class getGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_resultStandardScheme getScheme() {
         return new getGatewayStoragePreference_resultStandardScheme();
       }
@@ -158342,6 +173837,7 @@
 
     private static class getGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -158381,6 +173877,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -158402,6 +173899,7 @@
     }
 
     private static class getGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayStoragePreference_resultTupleScheme getScheme() {
         return new getGatewayStoragePreference_resultTupleScheme();
       }
@@ -158450,6 +173948,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayComputeResourcePreferences_args implements org.apache.thrift.TBase<getAllGatewayComputeResourcePreferences_args, getAllGatewayComputeResourcePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayComputeResourcePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayComputeResourcePreferences_args");
 
@@ -158458,7 +173957,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -158475,6 +173974,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -158497,6 +173997,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -158509,10 +174010,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -158547,6 +174050,7 @@
       }
     }
 
+    @Override
     public getAllGatewayComputeResourcePreferences_args deepCopy() {
       return new getAllGatewayComputeResourcePreferences_args(this);
     }
@@ -158556,11 +174060,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllGatewayComputeResourcePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllGatewayComputeResourcePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -158580,7 +174085,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -158593,6 +174099,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -158603,6 +174111,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -158617,8 +174126,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayComputeResourcePreferences_args)
         return this.equals((getAllGatewayComputeResourcePreferences_args)that);
       return false;
@@ -158661,7 +174168,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -158674,14 +174181,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -158727,6 +174238,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_argsStandardScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_argsStandardScheme();
       }
@@ -158734,6 +174246,7 @@
 
     private static class getAllGatewayComputeResourcePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayComputeResourcePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -158763,6 +174276,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -158779,6 +174293,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_argsTupleScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_argsTupleScheme();
       }
@@ -158805,6 +174320,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayComputeResourcePreferences_result implements org.apache.thrift.TBase<getAllGatewayComputeResourcePreferences_result, getAllGatewayComputeResourcePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayComputeResourcePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayComputeResourcePreferences_result");
 
@@ -158814,8 +174330,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayComputeResourcePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -158833,6 +174349,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -158857,6 +174374,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -158869,10 +174387,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -158919,6 +174439,7 @@
       }
     }
 
+    @Override
     public getAllGatewayComputeResourcePreferences_result deepCopy() {
       return new getAllGatewayComputeResourcePreferences_result(this);
     }
@@ -158933,6 +174454,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -158944,11 +174466,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success) {
+    public getAllGatewayComputeResourcePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference> success) {
       this.success = success;
       return this;
     }
@@ -158968,11 +174491,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllGatewayComputeResourcePreferences_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllGatewayComputeResourcePreferences_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -158992,7 +174516,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -159013,6 +174538,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -159026,6 +174553,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -159042,8 +174570,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayComputeResourcePreferences_result)
         return this.equals((getAllGatewayComputeResourcePreferences_result)that);
       return false;
@@ -159099,7 +174625,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159109,7 +174635,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159122,10 +174648,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -159180,6 +174709,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_resultStandardScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_resultStandardScheme();
       }
@@ -159187,6 +174717,7 @@
 
     private static class getAllGatewayComputeResourcePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayComputeResourcePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -159200,14 +174731,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list378 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list378.size);
-                  org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem379;
-                  for (int _i380 = 0; _i380 < _list378.size; ++_i380)
+                  org.apache.thrift.protocol.TList _list404 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list404.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem405;
+                  for (int _i406 = 0; _i406 < _list404.size; ++_i406)
                   {
-                    _elem379 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
-                    _elem379.read(iprot);
-                    struct.success.add(_elem379);
+                    _elem405 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
+                    _elem405.read(iprot);
+                    struct.success.add(_elem405);
                   }
                   iprot.readListEnd();
                 }
@@ -159236,6 +174767,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -159244,9 +174776,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter381 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter407 : struct.success)
             {
-              _iter381.write(oprot);
+              _iter407.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -159264,6 +174796,7 @@
     }
 
     private static class getAllGatewayComputeResourcePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayComputeResourcePreferences_resultTupleScheme getScheme() {
         return new getAllGatewayComputeResourcePreferences_resultTupleScheme();
       }
@@ -159285,9 +174818,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter382 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _iter408 : struct.success)
             {
-              _iter382.write(oprot);
+              _iter408.write(oprot);
             }
           }
         }
@@ -159302,14 +174835,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list383 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list383.size);
-            org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem384;
-            for (int _i385 = 0; _i385 < _list383.size; ++_i385)
+            org.apache.thrift.protocol.TList _list409 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference>(_list409.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference _elem410;
+            for (int _i411 = 0; _i411 < _list409.size; ++_i411)
             {
-              _elem384 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
-              _elem384.read(iprot);
-              struct.success.add(_elem384);
+              _elem410 = new org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference();
+              _elem410.read(iprot);
+              struct.success.add(_elem410);
             }
           }
           struct.setSuccessIsSet(true);
@@ -159327,6 +174860,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayStoragePreferences_args implements org.apache.thrift.TBase<getAllGatewayStoragePreferences_args, getAllGatewayStoragePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayStoragePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayStoragePreferences_args");
 
@@ -159335,7 +174869,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayStoragePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayStoragePreferences_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -159352,6 +174886,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -159374,6 +174909,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -159386,10 +174922,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -159424,6 +174962,7 @@
       }
     }
 
+    @Override
     public getAllGatewayStoragePreferences_args deepCopy() {
       return new getAllGatewayStoragePreferences_args(this);
     }
@@ -159433,11 +174972,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllGatewayStoragePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllGatewayStoragePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -159457,7 +174997,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -159470,6 +175011,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -159480,6 +175023,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -159494,8 +175038,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayStoragePreferences_args)
         return this.equals((getAllGatewayStoragePreferences_args)that);
       return false;
@@ -159538,7 +175080,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159551,14 +175093,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -159604,6 +175150,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_argsStandardScheme getScheme() {
         return new getAllGatewayStoragePreferences_argsStandardScheme();
       }
@@ -159611,6 +175158,7 @@
 
     private static class getAllGatewayStoragePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayStoragePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayStoragePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -159640,6 +175188,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayStoragePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -159656,6 +175205,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_argsTupleScheme getScheme() {
         return new getAllGatewayStoragePreferences_argsTupleScheme();
       }
@@ -159682,6 +175232,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayStoragePreferences_result implements org.apache.thrift.TBase<getAllGatewayStoragePreferences_result, getAllGatewayStoragePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayStoragePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayStoragePreferences_result");
 
@@ -159691,8 +175242,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayStoragePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayStoragePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -159710,6 +175261,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -159734,6 +175286,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -159746,10 +175299,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -159796,6 +175351,7 @@
       }
     }
 
+    @Override
     public getAllGatewayStoragePreferences_result deepCopy() {
       return new getAllGatewayStoragePreferences_result(this);
     }
@@ -159810,6 +175366,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -159821,11 +175378,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewayStoragePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success) {
+    public getAllGatewayStoragePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference> success) {
       this.success = success;
       return this;
     }
@@ -159845,11 +175403,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllGatewayStoragePreferences_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllGatewayStoragePreferences_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -159869,7 +175428,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -159890,6 +175450,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -159903,6 +175465,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -159919,8 +175482,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayStoragePreferences_result)
         return this.equals((getAllGatewayStoragePreferences_result)that);
       return false;
@@ -159976,7 +175537,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159986,7 +175547,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -159999,10 +175560,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -160057,6 +175621,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_resultStandardScheme getScheme() {
         return new getAllGatewayStoragePreferences_resultStandardScheme();
       }
@@ -160064,6 +175629,7 @@
 
     private static class getAllGatewayStoragePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayStoragePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayStoragePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -160077,14 +175643,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list386 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>(_list386.size);
-                  org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem387;
-                  for (int _i388 = 0; _i388 < _list386.size; ++_i388)
+                  org.apache.thrift.protocol.TList _list412 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>(_list412.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem413;
+                  for (int _i414 = 0; _i414 < _list412.size; ++_i414)
                   {
-                    _elem387 = new org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference();
-                    _elem387.read(iprot);
-                    struct.success.add(_elem387);
+                    _elem413 = new org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference();
+                    _elem413.read(iprot);
+                    struct.success.add(_elem413);
                   }
                   iprot.readListEnd();
                 }
@@ -160113,6 +175679,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayStoragePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -160121,9 +175688,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _iter389 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _iter415 : struct.success)
             {
-              _iter389.write(oprot);
+              _iter415.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -160141,6 +175708,7 @@
     }
 
     private static class getAllGatewayStoragePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayStoragePreferences_resultTupleScheme getScheme() {
         return new getAllGatewayStoragePreferences_resultTupleScheme();
       }
@@ -160162,9 +175730,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _iter390 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _iter416 : struct.success)
             {
-              _iter390.write(oprot);
+              _iter416.write(oprot);
             }
           }
         }
@@ -160179,14 +175747,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list391 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>(_list391.size);
-            org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem392;
-            for (int _i393 = 0; _i393 < _list391.size; ++_i393)
+            org.apache.thrift.protocol.TList _list417 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference>(_list417.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference _elem418;
+            for (int _i419 = 0; _i419 < _list417.size; ++_i419)
             {
-              _elem392 = new org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference();
-              _elem392.read(iprot);
-              struct.success.add(_elem392);
+              _elem418 = new org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference();
+              _elem418.read(iprot);
+              struct.success.add(_elem418);
             }
           }
           struct.setSuccessIsSet(true);
@@ -160204,6 +175772,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayResourceProfiles_args implements org.apache.thrift.TBase<getAllGatewayResourceProfiles_args, getAllGatewayResourceProfiles_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayResourceProfiles_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayResourceProfiles_args");
 
@@ -160227,6 +175796,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -160247,6 +175817,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -160259,10 +175830,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -160283,6 +175856,7 @@
     public getAllGatewayResourceProfiles_args(getAllGatewayResourceProfiles_args other) {
     }
 
+    @Override
     public getAllGatewayResourceProfiles_args deepCopy() {
       return new getAllGatewayResourceProfiles_args(this);
     }
@@ -160291,11 +175865,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -160303,6 +175880,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -160315,8 +175893,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayResourceProfiles_args)
         return this.equals((getAllGatewayResourceProfiles_args)that);
       return false;
@@ -160349,14 +175925,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -160392,6 +175972,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_argsStandardScheme getScheme() {
         return new getAllGatewayResourceProfiles_argsStandardScheme();
       }
@@ -160399,6 +175980,7 @@
 
     private static class getAllGatewayResourceProfiles_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayResourceProfiles_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayResourceProfiles_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -160420,6 +176002,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayResourceProfiles_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -160431,6 +176014,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_argsTupleScheme getScheme() {
         return new getAllGatewayResourceProfiles_argsTupleScheme();
       }
@@ -160454,6 +176038,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllGatewayResourceProfiles_result implements org.apache.thrift.TBase<getAllGatewayResourceProfiles_result, getAllGatewayResourceProfiles_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllGatewayResourceProfiles_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllGatewayResourceProfiles_result");
 
@@ -160463,8 +176048,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllGatewayResourceProfiles_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllGatewayResourceProfiles_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -160482,6 +176067,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -160506,6 +176092,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -160518,10 +176105,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -160568,6 +176157,7 @@
       }
     }
 
+    @Override
     public getAllGatewayResourceProfiles_result deepCopy() {
       return new getAllGatewayResourceProfiles_result(this);
     }
@@ -160582,6 +176172,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -160593,11 +176184,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> getSuccess() {
       return this.success;
     }
 
-    public getAllGatewayResourceProfiles_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success) {
+    public getAllGatewayResourceProfiles_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile> success) {
       this.success = success;
       return this;
     }
@@ -160617,11 +176209,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllGatewayResourceProfiles_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllGatewayResourceProfiles_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -160641,7 +176234,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -160662,6 +176256,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -160675,6 +176271,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -160691,8 +176288,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllGatewayResourceProfiles_result)
         return this.equals((getAllGatewayResourceProfiles_result)that);
       return false;
@@ -160748,7 +176343,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160758,7 +176353,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -160771,10 +176366,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -160829,6 +176427,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_resultStandardScheme getScheme() {
         return new getAllGatewayResourceProfiles_resultStandardScheme();
       }
@@ -160836,6 +176435,7 @@
 
     private static class getAllGatewayResourceProfiles_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllGatewayResourceProfiles_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllGatewayResourceProfiles_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -160849,14 +176449,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list394 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>(_list394.size);
-                  org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem395;
-                  for (int _i396 = 0; _i396 < _list394.size; ++_i396)
+                  org.apache.thrift.protocol.TList _list420 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>(_list420.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem421;
+                  for (int _i422 = 0; _i422 < _list420.size; ++_i422)
                   {
-                    _elem395 = new org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile();
-                    _elem395.read(iprot);
-                    struct.success.add(_elem395);
+                    _elem421 = new org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile();
+                    _elem421.read(iprot);
+                    struct.success.add(_elem421);
                   }
                   iprot.readListEnd();
                 }
@@ -160885,6 +176485,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllGatewayResourceProfiles_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -160893,9 +176494,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _iter397 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _iter423 : struct.success)
             {
-              _iter397.write(oprot);
+              _iter423.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -160913,6 +176514,7 @@
     }
 
     private static class getAllGatewayResourceProfiles_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllGatewayResourceProfiles_resultTupleScheme getScheme() {
         return new getAllGatewayResourceProfiles_resultTupleScheme();
       }
@@ -160934,9 +176536,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _iter398 : struct.success)
+            for (org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _iter424 : struct.success)
             {
-              _iter398.write(oprot);
+              _iter424.write(oprot);
             }
           }
         }
@@ -160951,14 +176553,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list399 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>(_list399.size);
-            org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem400;
-            for (int _i401 = 0; _i401 < _list399.size; ++_i401)
+            org.apache.thrift.protocol.TList _list425 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile>(_list425.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile _elem426;
+            for (int _i427 = 0; _i427 < _list425.size; ++_i427)
             {
-              _elem400 = new org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile();
-              _elem400.read(iprot);
-              struct.success.add(_elem400);
+              _elem426 = new org.apache.airavata.model.appcatalog.gatewayprofile.GatewayResourceProfile();
+              _elem426.read(iprot);
+              struct.success.add(_elem426);
             }
           }
           struct.setSuccessIsSet(true);
@@ -160976,6 +176578,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<updateGatewayComputeResourcePreference_args, updateGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayComputeResourcePreference_args");
 
@@ -160986,9 +176589,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference; // 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 {
@@ -161007,6 +176610,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -161033,6 +176637,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -161045,10 +176650,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -161097,6 +176704,7 @@
       }
     }
 
+    @Override
     public updateGatewayComputeResourcePreference_args deepCopy() {
       return new updateGatewayComputeResourcePreference_args(this);
     }
@@ -161108,11 +176716,12 @@
       this.computeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -161132,11 +176741,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public updateGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public updateGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -161156,11 +176766,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference getComputeResourcePreference() {
       return this.computeResourcePreference;
     }
 
-    public updateGatewayComputeResourcePreference_args setComputeResourcePreference(org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
+    public updateGatewayComputeResourcePreference_args setComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference computeResourcePreference) {
       this.computeResourcePreference = computeResourcePreference;
       return this;
     }
@@ -161180,7 +176791,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -161209,6 +176821,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -161225,6 +176839,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -161243,8 +176858,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayComputeResourcePreference_args)
         return this.equals((updateGatewayComputeResourcePreference_args)that);
       return false;
@@ -161313,7 +176926,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161323,7 +176936,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161333,7 +176946,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourcePreference()).compareTo(other.isSetComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourcePreference(), other.isSetComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161346,14 +176959,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -161424,6 +177041,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new updateGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -161431,6 +177049,7 @@
 
     private static class updateGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -161477,6 +177096,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -161503,6 +177123,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new updateGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -161536,6 +177157,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<updateGatewayComputeResourcePreference_result, updateGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayComputeResourcePreference_result");
 
@@ -161546,7 +177168,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -161564,6 +177186,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -161588,6 +177211,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -161600,10 +177224,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -161647,6 +177273,7 @@
       }
     }
 
+    @Override
     public updateGatewayComputeResourcePreference_result deepCopy() {
       return new updateGatewayComputeResourcePreference_result(this);
     }
@@ -161681,11 +177308,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGatewayComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGatewayComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -161705,7 +177333,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -161726,6 +177355,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -161739,6 +177370,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -161755,8 +177387,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayComputeResourcePreference_result)
         return this.equals((updateGatewayComputeResourcePreference_result)that);
       return false;
@@ -161810,7 +177440,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161820,7 +177450,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -161833,10 +177463,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -161889,6 +177522,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new updateGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -161896,6 +177530,7 @@
 
     private static class updateGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -161934,6 +177569,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -161955,6 +177591,7 @@
     }
 
     private static class updateGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new updateGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -162002,6 +177639,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayStoragePreference_args implements org.apache.thrift.TBase<updateGatewayStoragePreference_args, updateGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayStoragePreference_args");
 
@@ -162012,9 +177650,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageId; // required
-    public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference; // 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 {
@@ -162033,6 +177671,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -162059,6 +177698,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -162071,10 +177711,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -162123,6 +177765,7 @@
       }
     }
 
+    @Override
     public updateGatewayStoragePreference_args deepCopy() {
       return new updateGatewayStoragePreference_args(this);
     }
@@ -162134,11 +177777,12 @@
       this.storagePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -162158,11 +177802,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageId() {
       return this.storageId;
     }
 
-    public updateGatewayStoragePreference_args setStorageId(java.lang.String storageId) {
+    public updateGatewayStoragePreference_args setStorageId(@org.apache.thrift.annotation.Nullable java.lang.String storageId) {
       this.storageId = storageId;
       return this;
     }
@@ -162182,11 +177827,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference getStoragePreference() {
       return this.storagePreference;
     }
 
-    public updateGatewayStoragePreference_args setStoragePreference(org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
+    public updateGatewayStoragePreference_args setStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewayprofile.StoragePreference storagePreference) {
       this.storagePreference = storagePreference;
       return this;
     }
@@ -162206,7 +177852,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -162235,6 +177882,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -162251,6 +177900,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -162269,8 +177919,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayStoragePreference_args)
         return this.equals((updateGatewayStoragePreference_args)that);
       return false;
@@ -162339,7 +177987,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162349,7 +177997,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageId()).compareTo(other.isSetStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageId(), other.isSetStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162359,7 +178007,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStoragePreference()).compareTo(other.isSetStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetStoragePreference(), other.isSetStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162372,14 +178020,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -162450,6 +178102,7 @@
     }
 
     private static class updateGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_argsStandardScheme getScheme() {
         return new updateGatewayStoragePreference_argsStandardScheme();
       }
@@ -162457,6 +178110,7 @@
 
     private static class updateGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -162503,6 +178157,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -162529,6 +178184,7 @@
     }
 
     private static class updateGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_argsTupleScheme getScheme() {
         return new updateGatewayStoragePreference_argsTupleScheme();
       }
@@ -162562,6 +178218,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayStoragePreference_result implements org.apache.thrift.TBase<updateGatewayStoragePreference_result, updateGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayStoragePreference_result");
 
@@ -162572,7 +178229,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayStoragePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -162590,6 +178247,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -162614,6 +178272,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -162626,10 +178285,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -162673,6 +178334,7 @@
       }
     }
 
+    @Override
     public updateGatewayStoragePreference_result deepCopy() {
       return new updateGatewayStoragePreference_result(this);
     }
@@ -162707,11 +178369,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGatewayStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGatewayStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -162731,7 +178394,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -162752,6 +178416,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -162765,6 +178431,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -162781,8 +178448,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayStoragePreference_result)
         return this.equals((updateGatewayStoragePreference_result)that);
       return false;
@@ -162836,7 +178501,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162846,7 +178511,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -162859,10 +178524,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -162915,6 +178583,7 @@
     }
 
     private static class updateGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_resultStandardScheme getScheme() {
         return new updateGatewayStoragePreference_resultStandardScheme();
       }
@@ -162922,6 +178591,7 @@
 
     private static class updateGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -162960,6 +178630,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -162981,6 +178652,7 @@
     }
 
     private static class updateGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayStoragePreference_resultTupleScheme getScheme() {
         return new updateGatewayStoragePreference_resultTupleScheme();
       }
@@ -163028,6 +178700,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayComputeResourcePreference_args implements org.apache.thrift.TBase<deleteGatewayComputeResourcePreference_args, deleteGatewayComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayComputeResourcePreference_args");
 
@@ -163037,8 +178710,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGatewayComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -163056,6 +178729,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -163080,6 +178754,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -163092,10 +178767,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -163137,6 +178814,7 @@
       }
     }
 
+    @Override
     public deleteGatewayComputeResourcePreference_args deepCopy() {
       return new deleteGatewayComputeResourcePreference_args(this);
     }
@@ -163147,11 +178825,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteGatewayComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteGatewayComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -163171,11 +178850,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public deleteGatewayComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public deleteGatewayComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -163195,7 +178875,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -163216,6 +178897,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -163229,6 +178912,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -163245,8 +178929,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayComputeResourcePreference_args)
         return this.equals((deleteGatewayComputeResourcePreference_args)that);
       return false;
@@ -163302,7 +178984,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163312,7 +178994,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163325,14 +179007,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -163389,6 +179075,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_argsStandardScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_argsStandardScheme();
       }
@@ -163396,6 +179083,7 @@
 
     private static class deleteGatewayComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -163433,6 +179121,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -163454,6 +179143,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_argsTupleScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_argsTupleScheme();
       }
@@ -163483,6 +179173,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayComputeResourcePreference_result implements org.apache.thrift.TBase<deleteGatewayComputeResourcePreference_result, deleteGatewayComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayComputeResourcePreference_result");
 
@@ -163493,7 +179184,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -163511,6 +179202,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -163535,6 +179227,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -163547,10 +179240,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -163594,6 +179289,7 @@
       }
     }
 
+    @Override
     public deleteGatewayComputeResourcePreference_result deepCopy() {
       return new deleteGatewayComputeResourcePreference_result(this);
     }
@@ -163628,11 +179324,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteGatewayComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteGatewayComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -163652,7 +179349,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -163673,6 +179371,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -163686,6 +179386,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -163702,8 +179403,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayComputeResourcePreference_result)
         return this.equals((deleteGatewayComputeResourcePreference_result)that);
       return false;
@@ -163757,7 +179456,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163767,7 +179466,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -163780,10 +179479,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -163836,6 +179538,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_resultStandardScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_resultStandardScheme();
       }
@@ -163843,6 +179546,7 @@
 
     private static class deleteGatewayComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -163881,6 +179585,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -163902,6 +179607,7 @@
     }
 
     private static class deleteGatewayComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayComputeResourcePreference_resultTupleScheme getScheme() {
         return new deleteGatewayComputeResourcePreference_resultTupleScheme();
       }
@@ -163949,6 +179655,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayStoragePreference_args implements org.apache.thrift.TBase<deleteGatewayStoragePreference_args, deleteGatewayStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayStoragePreference_args");
 
@@ -163958,8 +179665,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGatewayStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayID; // required
-    public java.lang.String storageId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String storageId; // 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 {
@@ -163977,6 +179684,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -164001,6 +179709,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -164013,10 +179722,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -164058,6 +179769,7 @@
       }
     }
 
+    @Override
     public deleteGatewayStoragePreference_args deepCopy() {
       return new deleteGatewayStoragePreference_args(this);
     }
@@ -164068,11 +179780,12 @@
       this.storageId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteGatewayStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteGatewayStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -164092,11 +179805,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getStorageId() {
       return this.storageId;
     }
 
-    public deleteGatewayStoragePreference_args setStorageId(java.lang.String storageId) {
+    public deleteGatewayStoragePreference_args setStorageId(@org.apache.thrift.annotation.Nullable java.lang.String storageId) {
       this.storageId = storageId;
       return this;
     }
@@ -164116,7 +179830,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -164137,6 +179852,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -164150,6 +179867,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -164166,8 +179884,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayStoragePreference_args)
         return this.equals((deleteGatewayStoragePreference_args)that);
       return false;
@@ -164223,7 +179939,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164233,7 +179949,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetStorageId()).compareTo(other.isSetStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetStorageId(), other.isSetStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164246,14 +179962,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -164310,6 +180030,7 @@
     }
 
     private static class deleteGatewayStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_argsStandardScheme getScheme() {
         return new deleteGatewayStoragePreference_argsStandardScheme();
       }
@@ -164317,6 +180038,7 @@
 
     private static class deleteGatewayStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -164354,6 +180076,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -164375,6 +180098,7 @@
     }
 
     private static class deleteGatewayStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_argsTupleScheme getScheme() {
         return new deleteGatewayStoragePreference_argsTupleScheme();
       }
@@ -164404,6 +180128,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGatewayStoragePreference_result implements org.apache.thrift.TBase<deleteGatewayStoragePreference_result, deleteGatewayStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGatewayStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGatewayStoragePreference_result");
 
@@ -164414,7 +180139,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGatewayStoragePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -164432,6 +180157,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -164456,6 +180182,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -164468,10 +180195,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -164515,6 +180244,7 @@
       }
     }
 
+    @Override
     public deleteGatewayStoragePreference_result deepCopy() {
       return new deleteGatewayStoragePreference_result(this);
     }
@@ -164549,11 +180279,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteGatewayStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteGatewayStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -164573,7 +180304,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -164594,6 +180326,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -164607,6 +180341,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -164623,8 +180358,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGatewayStoragePreference_result)
         return this.equals((deleteGatewayStoragePreference_result)that);
       return false;
@@ -164678,7 +180411,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164688,7 +180421,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -164701,10 +180434,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -164757,6 +180493,7 @@
     }
 
     private static class deleteGatewayStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_resultStandardScheme getScheme() {
         return new deleteGatewayStoragePreference_resultStandardScheme();
       }
@@ -164764,6 +180501,7 @@
 
     private static class deleteGatewayStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGatewayStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -164802,6 +180540,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGatewayStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -164823,6 +180562,7 @@
     }
 
     private static class deleteGatewayStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGatewayStoragePreference_resultTupleScheme getScheme() {
         return new deleteGatewayStoragePreference_resultTupleScheme();
       }
@@ -164870,6 +180610,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerUserResourceProfile_args implements org.apache.thrift.TBase<registerUserResourceProfile_args, registerUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerUserResourceProfile_args");
 
@@ -164878,7 +180619,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerUserResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // 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 {
@@ -164895,6 +180636,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_RESOURCE_PROFILE
@@ -164917,6 +180659,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -164929,10 +180672,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -164967,6 +180712,7 @@
       }
     }
 
+    @Override
     public registerUserResourceProfile_args deepCopy() {
       return new registerUserResourceProfile_args(this);
     }
@@ -164976,11 +180722,12 @@
       this.userResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile() {
       return this.userResourceProfile;
     }
 
-    public registerUserResourceProfile_args setUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
+    public registerUserResourceProfile_args setUserResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
       this.userResourceProfile = userResourceProfile;
       return this;
     }
@@ -165000,7 +180747,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_RESOURCE_PROFILE:
         if (value == null) {
@@ -165013,6 +180761,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_RESOURCE_PROFILE:
@@ -165023,6 +180773,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -165037,8 +180788,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerUserResourceProfile_args)
         return this.equals((registerUserResourceProfile_args)that);
       return false;
@@ -165081,7 +180830,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserResourceProfile()).compareTo(other.isSetUserResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserResourceProfile(), other.isSetUserResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165094,14 +180843,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -165150,6 +180903,7 @@
     }
 
     private static class registerUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_argsStandardScheme getScheme() {
         return new registerUserResourceProfile_argsStandardScheme();
       }
@@ -165157,6 +180911,7 @@
 
     private static class registerUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -165187,6 +180942,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -165203,6 +180959,7 @@
     }
 
     private static class registerUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_argsTupleScheme getScheme() {
         return new registerUserResourceProfile_argsTupleScheme();
       }
@@ -165230,6 +180987,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerUserResourceProfile_result implements org.apache.thrift.TBase<registerUserResourceProfile_result, registerUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerUserResourceProfile_result");
 
@@ -165239,8 +180997,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerUserResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerUserResourceProfile_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -165258,6 +181016,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -165282,6 +181041,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -165294,10 +181054,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -165339,6 +181101,7 @@
       }
     }
 
+    @Override
     public registerUserResourceProfile_result deepCopy() {
       return new registerUserResourceProfile_result(this);
     }
@@ -165349,11 +181112,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerUserResourceProfile_result setSuccess(java.lang.String success) {
+    public registerUserResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -165373,11 +181137,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerUserResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerUserResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -165397,7 +181162,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -165418,6 +181184,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -165431,6 +181199,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -165447,8 +181216,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerUserResourceProfile_result)
         return this.equals((registerUserResourceProfile_result)that);
       return false;
@@ -165504,7 +181271,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165514,7 +181281,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165527,10 +181294,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -165585,6 +181355,7 @@
     }
 
     private static class registerUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_resultStandardScheme getScheme() {
         return new registerUserResourceProfile_resultStandardScheme();
       }
@@ -165592,6 +181363,7 @@
 
     private static class registerUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -165630,6 +181402,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -165651,6 +181424,7 @@
     }
 
     private static class registerUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerUserResourceProfile_resultTupleScheme getScheme() {
         return new registerUserResourceProfile_resultTupleScheme();
       }
@@ -165698,6 +181472,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserResourceProfileExists_args implements org.apache.thrift.TBase<isUserResourceProfileExists_args, isUserResourceProfileExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserResourceProfileExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserResourceProfileExists_args");
 
@@ -165707,8 +181482,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserResourceProfileExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserResourceProfileExists_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -165726,6 +181501,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -165750,6 +181526,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -165762,10 +181539,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -165807,6 +181586,7 @@
       }
     }
 
+    @Override
     public isUserResourceProfileExists_args deepCopy() {
       return new isUserResourceProfileExists_args(this);
     }
@@ -165817,11 +181597,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public isUserResourceProfileExists_args setUserId(java.lang.String userId) {
+    public isUserResourceProfileExists_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -165841,11 +181622,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public isUserResourceProfileExists_args setGatewayID(java.lang.String gatewayID) {
+    public isUserResourceProfileExists_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -165865,7 +181647,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -165886,6 +181669,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -165899,6 +181684,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -165915,8 +181701,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserResourceProfileExists_args)
         return this.equals((isUserResourceProfileExists_args)that);
       return false;
@@ -165972,7 +181756,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165982,7 +181766,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -165995,14 +181779,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -166059,6 +181847,7 @@
     }
 
     private static class isUserResourceProfileExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_argsStandardScheme getScheme() {
         return new isUserResourceProfileExists_argsStandardScheme();
       }
@@ -166066,6 +181855,7 @@
 
     private static class isUserResourceProfileExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserResourceProfileExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserResourceProfileExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -166103,6 +181893,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserResourceProfileExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -166124,6 +181915,7 @@
     }
 
     private static class isUserResourceProfileExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_argsTupleScheme getScheme() {
         return new isUserResourceProfileExists_argsTupleScheme();
       }
@@ -166153,6 +181945,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserResourceProfileExists_result implements org.apache.thrift.TBase<isUserResourceProfileExists_result, isUserResourceProfileExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserResourceProfileExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserResourceProfileExists_result");
 
@@ -166163,7 +181956,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserResourceProfileExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -166181,6 +181974,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -166205,6 +181999,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -166217,10 +182012,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -166264,6 +182061,7 @@
       }
     }
 
+    @Override
     public isUserResourceProfileExists_result deepCopy() {
       return new isUserResourceProfileExists_result(this);
     }
@@ -166298,11 +182096,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public isUserResourceProfileExists_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isUserResourceProfileExists_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -166322,7 +182121,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -166343,6 +182143,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -166356,6 +182158,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -166372,8 +182175,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserResourceProfileExists_result)
         return this.equals((isUserResourceProfileExists_result)that);
       return false;
@@ -166427,7 +182228,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166437,7 +182238,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166450,10 +182251,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -166506,6 +182310,7 @@
     }
 
     private static class isUserResourceProfileExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_resultStandardScheme getScheme() {
         return new isUserResourceProfileExists_resultStandardScheme();
       }
@@ -166513,6 +182318,7 @@
 
     private static class isUserResourceProfileExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserResourceProfileExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserResourceProfileExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -166551,6 +182357,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserResourceProfileExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -166572,6 +182379,7 @@
     }
 
     private static class isUserResourceProfileExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserResourceProfileExists_resultTupleScheme getScheme() {
         return new isUserResourceProfileExists_resultTupleScheme();
       }
@@ -166619,6 +182427,2872 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class isUserComputeResourcePreferenceExists_args implements org.apache.thrift.TBase<isUserComputeResourcePreferenceExists_args, isUserComputeResourcePreferenceExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isUserComputeResourcePreferenceExists_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserComputeResourcePreferenceExists_args");
+
+    private static final org.apache.thrift.protocol.TField USER_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("userId", org.apache.thrift.protocol.TType.STRING, (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 COMPUTE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("computeResourceId", org.apache.thrift.protocol.TType.STRING, (short)3);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserComputeResourcePreferenceExists_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserComputeResourcePreferenceExists_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
+      USER_ID((short)1, "userId"),
+      GATEWAY_ID((short)2, "gatewayID"),
+      COMPUTE_RESOURCE_ID((short)3, "computeResourceId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // USER_ID
+            return USER_ID;
+          case 2: // GATEWAY_ID
+            return GATEWAY_ID;
+          case 3: // COMPUTE_RESOURCE_ID
+            return COMPUTE_RESOURCE_ID;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.USER_ID, new org.apache.thrift.meta_data.FieldMetaData("userId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      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.COMPUTE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("computeResourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isUserComputeResourcePreferenceExists_args.class, metaDataMap);
+    }
+
+    public isUserComputeResourcePreferenceExists_args() {
+    }
+
+    public isUserComputeResourcePreferenceExists_args(
+      java.lang.String userId,
+      java.lang.String gatewayID,
+      java.lang.String computeResourceId)
+    {
+      this();
+      this.userId = userId;
+      this.gatewayID = gatewayID;
+      this.computeResourceId = computeResourceId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public isUserComputeResourcePreferenceExists_args(isUserComputeResourcePreferenceExists_args other) {
+      if (other.isSetUserId()) {
+        this.userId = other.userId;
+      }
+      if (other.isSetGatewayID()) {
+        this.gatewayID = other.gatewayID;
+      }
+      if (other.isSetComputeResourceId()) {
+        this.computeResourceId = other.computeResourceId;
+      }
+    }
+
+    @Override
+    public isUserComputeResourcePreferenceExists_args deepCopy() {
+      return new isUserComputeResourcePreferenceExists_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.userId = null;
+      this.gatewayID = null;
+      this.computeResourceId = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getUserId() {
+      return this.userId;
+    }
+
+    public isUserComputeResourcePreferenceExists_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
+      this.userId = userId;
+      return this;
+    }
+
+    public void unsetUserId() {
+      this.userId = null;
+    }
+
+    /** Returns true if field userId is set (has been assigned a value) and false otherwise */
+    public boolean isSetUserId() {
+      return this.userId != null;
+    }
+
+    public void setUserIdIsSet(boolean value) {
+      if (!value) {
+        this.userId = null;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getGatewayID() {
+      return this.gatewayID;
+    }
+
+    public isUserComputeResourcePreferenceExists_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
+      this.gatewayID = gatewayID;
+      return this;
+    }
+
+    public void unsetGatewayID() {
+      this.gatewayID = null;
+    }
+
+    /** Returns true if field gatewayID is set (has been assigned a value) and false otherwise */
+    public boolean isSetGatewayID() {
+      return this.gatewayID != null;
+    }
+
+    public void setGatewayIDIsSet(boolean value) {
+      if (!value) {
+        this.gatewayID = null;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getComputeResourceId() {
+      return this.computeResourceId;
+    }
+
+    public isUserComputeResourcePreferenceExists_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
+      this.computeResourceId = computeResourceId;
+      return this;
+    }
+
+    public void unsetComputeResourceId() {
+      this.computeResourceId = null;
+    }
+
+    /** Returns true if field computeResourceId is set (has been assigned a value) and false otherwise */
+    public boolean isSetComputeResourceId() {
+      return this.computeResourceId != null;
+    }
+
+    public void setComputeResourceIdIsSet(boolean value) {
+      if (!value) {
+        this.computeResourceId = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case USER_ID:
+        if (value == null) {
+          unsetUserId();
+        } else {
+          setUserId((java.lang.String)value);
+        }
+        break;
+
+      case GATEWAY_ID:
+        if (value == null) {
+          unsetGatewayID();
+        } else {
+          setGatewayID((java.lang.String)value);
+        }
+        break;
+
+      case COMPUTE_RESOURCE_ID:
+        if (value == null) {
+          unsetComputeResourceId();
+        } else {
+          setComputeResourceId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case USER_ID:
+        return getUserId();
+
+      case GATEWAY_ID:
+        return getGatewayID();
+
+      case COMPUTE_RESOURCE_ID:
+        return getComputeResourceId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case USER_ID:
+        return isSetUserId();
+      case GATEWAY_ID:
+        return isSetGatewayID();
+      case COMPUTE_RESOURCE_ID:
+        return isSetComputeResourceId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof isUserComputeResourcePreferenceExists_args)
+        return this.equals((isUserComputeResourcePreferenceExists_args)that);
+      return false;
+    }
+
+    public boolean equals(isUserComputeResourcePreferenceExists_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_userId = true && this.isSetUserId();
+      boolean that_present_userId = true && that.isSetUserId();
+      if (this_present_userId || that_present_userId) {
+        if (!(this_present_userId && that_present_userId))
+          return false;
+        if (!this.userId.equals(that.userId))
+          return false;
+      }
+
+      boolean this_present_gatewayID = true && this.isSetGatewayID();
+      boolean that_present_gatewayID = true && that.isSetGatewayID();
+      if (this_present_gatewayID || that_present_gatewayID) {
+        if (!(this_present_gatewayID && that_present_gatewayID))
+          return false;
+        if (!this.gatewayID.equals(that.gatewayID))
+          return false;
+      }
+
+      boolean this_present_computeResourceId = true && this.isSetComputeResourceId();
+      boolean that_present_computeResourceId = true && that.isSetComputeResourceId();
+      if (this_present_computeResourceId || that_present_computeResourceId) {
+        if (!(this_present_computeResourceId && that_present_computeResourceId))
+          return false;
+        if (!this.computeResourceId.equals(that.computeResourceId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetUserId()) ? 131071 : 524287);
+      if (isSetUserId())
+        hashCode = hashCode * 8191 + userId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGatewayID()) ? 131071 : 524287);
+      if (isSetGatewayID())
+        hashCode = hashCode * 8191 + gatewayID.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetComputeResourceId()) ? 131071 : 524287);
+      if (isSetComputeResourceId())
+        hashCode = hashCode * 8191 + computeResourceId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(isUserComputeResourcePreferenceExists_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetUserId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.userId, other.userId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGatewayID()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.gatewayID, other.gatewayID);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetComputeResourceId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computeResourceId, other.computeResourceId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isUserComputeResourcePreferenceExists_args(");
+      boolean first = true;
+
+      sb.append("userId:");
+      if (this.userId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.userId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("gatewayID:");
+      if (this.gatewayID == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.gatewayID);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("computeResourceId:");
+      if (this.computeResourceId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.computeResourceId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (userId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'userId' was not present! Struct: " + toString());
+      }
+      if (gatewayID == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'gatewayID' was not present! Struct: " + toString());
+      }
+      if (computeResourceId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'computeResourceId' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 isUserComputeResourcePreferenceExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isUserComputeResourcePreferenceExists_argsStandardScheme getScheme() {
+        return new isUserComputeResourcePreferenceExists_argsStandardScheme();
+      }
+    }
+
+    private static class isUserComputeResourcePreferenceExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserComputeResourcePreferenceExists_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isUserComputeResourcePreferenceExists_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: // USER_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.userId = iprot.readString();
+                struct.setUserIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GATEWAY_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.gatewayID = iprot.readString();
+                struct.setGatewayIDIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 3: // COMPUTE_RESOURCE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.computeResourceId = iprot.readString();
+                struct.setComputeResourceIdIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isUserComputeResourcePreferenceExists_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.userId != null) {
+          oprot.writeFieldBegin(USER_ID_FIELD_DESC);
+          oprot.writeString(struct.userId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.gatewayID != null) {
+          oprot.writeFieldBegin(GATEWAY_ID_FIELD_DESC);
+          oprot.writeString(struct.gatewayID);
+          oprot.writeFieldEnd();
+        }
+        if (struct.computeResourceId != null) {
+          oprot.writeFieldBegin(COMPUTE_RESOURCE_ID_FIELD_DESC);
+          oprot.writeString(struct.computeResourceId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class isUserComputeResourcePreferenceExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isUserComputeResourcePreferenceExists_argsTupleScheme getScheme() {
+        return new isUserComputeResourcePreferenceExists_argsTupleScheme();
+      }
+    }
+
+    private static class isUserComputeResourcePreferenceExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isUserComputeResourcePreferenceExists_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, isUserComputeResourcePreferenceExists_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.userId);
+        oprot.writeString(struct.gatewayID);
+        oprot.writeString(struct.computeResourceId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, isUserComputeResourcePreferenceExists_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.userId = iprot.readString();
+        struct.setUserIdIsSet(true);
+        struct.gatewayID = iprot.readString();
+        struct.setGatewayIDIsSet(true);
+        struct.computeResourceId = iprot.readString();
+        struct.setComputeResourceIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class isUserComputeResourcePreferenceExists_result implements org.apache.thrift.TBase<isUserComputeResourcePreferenceExists_result, isUserComputeResourcePreferenceExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserComputeResourcePreferenceExists_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserComputeResourcePreferenceExists_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserComputeResourcePreferenceExists_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserComputeResourcePreferenceExists_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.BOOL)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isUserComputeResourcePreferenceExists_result.class, metaDataMap);
+    }
+
+    public isUserComputeResourcePreferenceExists_result() {
+    }
+
+    public isUserComputeResourcePreferenceExists_result(
+      boolean success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public isUserComputeResourcePreferenceExists_result(isUserComputeResourcePreferenceExists_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public isUserComputeResourcePreferenceExists_result deepCopy() {
+      return new isUserComputeResourcePreferenceExists_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.rse = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public isUserComputeResourcePreferenceExists_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public isUserComputeResourcePreferenceExists_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof isUserComputeResourcePreferenceExists_result)
+        return this.equals((isUserComputeResourcePreferenceExists_result)that);
+      return false;
+    }
+
+    public boolean equals(isUserComputeResourcePreferenceExists_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(isUserComputeResourcePreferenceExists_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isUserComputeResourcePreferenceExists_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        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 isUserComputeResourcePreferenceExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isUserComputeResourcePreferenceExists_resultStandardScheme getScheme() {
+        return new isUserComputeResourcePreferenceExists_resultStandardScheme();
+      }
+    }
+
+    private static class isUserComputeResourcePreferenceExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserComputeResourcePreferenceExists_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isUserComputeResourcePreferenceExists_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.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isUserComputeResourcePreferenceExists_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class isUserComputeResourcePreferenceExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isUserComputeResourcePreferenceExists_resultTupleScheme getScheme() {
+        return new isUserComputeResourcePreferenceExists_resultTupleScheme();
+      }
+    }
+
+    private static class isUserComputeResourcePreferenceExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isUserComputeResourcePreferenceExists_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, isUserComputeResourcePreferenceExists_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, isUserComputeResourcePreferenceExists_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class isGroupComputeResourcePreferenceExists_args implements org.apache.thrift.TBase<isGroupComputeResourcePreferenceExists_args, isGroupComputeResourcePreferenceExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGroupComputeResourcePreferenceExists_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGroupComputeResourcePreferenceExists_args");
+
+    private static final org.apache.thrift.protocol.TField COMPUTE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("computeResourceId", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGroupComputeResourcePreferenceExists_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGroupComputeResourcePreferenceExists_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
+      COMPUTE_RESOURCE_ID((short)1, "computeResourceId"),
+      GROUP_RESOURCE_PROFILE_ID((short)2, "groupResourceProfileId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // COMPUTE_RESOURCE_ID
+            return COMPUTE_RESOURCE_ID;
+          case 2: // GROUP_RESOURCE_PROFILE_ID
+            return GROUP_RESOURCE_PROFILE_ID;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.COMPUTE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("computeResourceId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGroupComputeResourcePreferenceExists_args.class, metaDataMap);
+    }
+
+    public isGroupComputeResourcePreferenceExists_args() {
+    }
+
+    public isGroupComputeResourcePreferenceExists_args(
+      java.lang.String computeResourceId,
+      java.lang.String groupResourceProfileId)
+    {
+      this();
+      this.computeResourceId = computeResourceId;
+      this.groupResourceProfileId = groupResourceProfileId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public isGroupComputeResourcePreferenceExists_args(isGroupComputeResourcePreferenceExists_args other) {
+      if (other.isSetComputeResourceId()) {
+        this.computeResourceId = other.computeResourceId;
+      }
+      if (other.isSetGroupResourceProfileId()) {
+        this.groupResourceProfileId = other.groupResourceProfileId;
+      }
+    }
+
+    @Override
+    public isGroupComputeResourcePreferenceExists_args deepCopy() {
+      return new isGroupComputeResourcePreferenceExists_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.computeResourceId = null;
+      this.groupResourceProfileId = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getComputeResourceId() {
+      return this.computeResourceId;
+    }
+
+    public isGroupComputeResourcePreferenceExists_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
+      this.computeResourceId = computeResourceId;
+      return this;
+    }
+
+    public void unsetComputeResourceId() {
+      this.computeResourceId = null;
+    }
+
+    /** Returns true if field computeResourceId is set (has been assigned a value) and false otherwise */
+    public boolean isSetComputeResourceId() {
+      return this.computeResourceId != null;
+    }
+
+    public void setComputeResourceIdIsSet(boolean value) {
+      if (!value) {
+        this.computeResourceId = null;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getGroupResourceProfileId() {
+      return this.groupResourceProfileId;
+    }
+
+    public isGroupComputeResourcePreferenceExists_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
+      this.groupResourceProfileId = groupResourceProfileId;
+      return this;
+    }
+
+    public void unsetGroupResourceProfileId() {
+      this.groupResourceProfileId = null;
+    }
+
+    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupResourceProfileId() {
+      return this.groupResourceProfileId != null;
+    }
+
+    public void setGroupResourceProfileIdIsSet(boolean value) {
+      if (!value) {
+        this.groupResourceProfileId = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case COMPUTE_RESOURCE_ID:
+        if (value == null) {
+          unsetComputeResourceId();
+        } else {
+          setComputeResourceId((java.lang.String)value);
+        }
+        break;
+
+      case GROUP_RESOURCE_PROFILE_ID:
+        if (value == null) {
+          unsetGroupResourceProfileId();
+        } else {
+          setGroupResourceProfileId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case COMPUTE_RESOURCE_ID:
+        return getComputeResourceId();
+
+      case GROUP_RESOURCE_PROFILE_ID:
+        return getGroupResourceProfileId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case COMPUTE_RESOURCE_ID:
+        return isSetComputeResourceId();
+      case GROUP_RESOURCE_PROFILE_ID:
+        return isSetGroupResourceProfileId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof isGroupComputeResourcePreferenceExists_args)
+        return this.equals((isGroupComputeResourcePreferenceExists_args)that);
+      return false;
+    }
+
+    public boolean equals(isGroupComputeResourcePreferenceExists_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_computeResourceId = true && this.isSetComputeResourceId();
+      boolean that_present_computeResourceId = true && that.isSetComputeResourceId();
+      if (this_present_computeResourceId || that_present_computeResourceId) {
+        if (!(this_present_computeResourceId && that_present_computeResourceId))
+          return false;
+        if (!this.computeResourceId.equals(that.computeResourceId))
+          return false;
+      }
+
+      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
+      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
+      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
+        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+          return false;
+        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetComputeResourceId()) ? 131071 : 524287);
+      if (isSetComputeResourceId())
+        hashCode = hashCode * 8191 + computeResourceId.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
+      if (isSetGroupResourceProfileId())
+        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(isGroupComputeResourcePreferenceExists_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetComputeResourceId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.computeResourceId, other.computeResourceId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupResourceProfileId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGroupComputeResourcePreferenceExists_args(");
+      boolean first = true;
+
+      sb.append("computeResourceId:");
+      if (this.computeResourceId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.computeResourceId);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("groupResourceProfileId:");
+      if (this.groupResourceProfileId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupResourceProfileId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (computeResourceId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'computeResourceId' was not present! Struct: " + toString());
+      }
+      if (groupResourceProfileId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 isGroupComputeResourcePreferenceExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupComputeResourcePreferenceExists_argsStandardScheme getScheme() {
+        return new isGroupComputeResourcePreferenceExists_argsStandardScheme();
+      }
+    }
+
+    private static class isGroupComputeResourcePreferenceExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGroupComputeResourcePreferenceExists_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isGroupComputeResourcePreferenceExists_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: // COMPUTE_RESOURCE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.computeResourceId = iprot.readString();
+                struct.setComputeResourceIdIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // GROUP_RESOURCE_PROFILE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupResourceProfileId = iprot.readString();
+                struct.setGroupResourceProfileIdIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isGroupComputeResourcePreferenceExists_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.computeResourceId != null) {
+          oprot.writeFieldBegin(COMPUTE_RESOURCE_ID_FIELD_DESC);
+          oprot.writeString(struct.computeResourceId);
+          oprot.writeFieldEnd();
+        }
+        if (struct.groupResourceProfileId != null) {
+          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
+          oprot.writeString(struct.groupResourceProfileId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class isGroupComputeResourcePreferenceExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupComputeResourcePreferenceExists_argsTupleScheme getScheme() {
+        return new isGroupComputeResourcePreferenceExists_argsTupleScheme();
+      }
+    }
+
+    private static class isGroupComputeResourcePreferenceExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGroupComputeResourcePreferenceExists_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, isGroupComputeResourcePreferenceExists_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.computeResourceId);
+        oprot.writeString(struct.groupResourceProfileId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, isGroupComputeResourcePreferenceExists_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.computeResourceId = iprot.readString();
+        struct.setComputeResourceIdIsSet(true);
+        struct.groupResourceProfileId = iprot.readString();
+        struct.setGroupResourceProfileIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class isGroupComputeResourcePreferenceExists_result implements org.apache.thrift.TBase<isGroupComputeResourcePreferenceExists_result, isGroupComputeResourcePreferenceExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGroupComputeResourcePreferenceExists_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGroupComputeResourcePreferenceExists_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGroupComputeResourcePreferenceExists_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGroupComputeResourcePreferenceExists_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.BOOL)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGroupComputeResourcePreferenceExists_result.class, metaDataMap);
+    }
+
+    public isGroupComputeResourcePreferenceExists_result() {
+    }
+
+    public isGroupComputeResourcePreferenceExists_result(
+      boolean success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public isGroupComputeResourcePreferenceExists_result(isGroupComputeResourcePreferenceExists_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public isGroupComputeResourcePreferenceExists_result deepCopy() {
+      return new isGroupComputeResourcePreferenceExists_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.rse = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public isGroupComputeResourcePreferenceExists_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public isGroupComputeResourcePreferenceExists_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof isGroupComputeResourcePreferenceExists_result)
+        return this.equals((isGroupComputeResourcePreferenceExists_result)that);
+      return false;
+    }
+
+    public boolean equals(isGroupComputeResourcePreferenceExists_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(isGroupComputeResourcePreferenceExists_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGroupComputeResourcePreferenceExists_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        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 isGroupComputeResourcePreferenceExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupComputeResourcePreferenceExists_resultStandardScheme getScheme() {
+        return new isGroupComputeResourcePreferenceExists_resultStandardScheme();
+      }
+    }
+
+    private static class isGroupComputeResourcePreferenceExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGroupComputeResourcePreferenceExists_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isGroupComputeResourcePreferenceExists_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.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isGroupComputeResourcePreferenceExists_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class isGroupComputeResourcePreferenceExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupComputeResourcePreferenceExists_resultTupleScheme getScheme() {
+        return new isGroupComputeResourcePreferenceExists_resultTupleScheme();
+      }
+    }
+
+    private static class isGroupComputeResourcePreferenceExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGroupComputeResourcePreferenceExists_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, isGroupComputeResourcePreferenceExists_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, isGroupComputeResourcePreferenceExists_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class isGroupResourceProfileExists_args implements org.apache.thrift.TBase<isGroupResourceProfileExists_args, isGroupResourceProfileExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGroupResourceProfileExists_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGroupResourceProfileExists_args");
+
+    private static final org.apache.thrift.protocol.TField GROUP_RESOURCE_PROFILE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("groupResourceProfileId", org.apache.thrift.protocol.TType.STRING, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGroupResourceProfileExists_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGroupResourceProfileExists_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
+      GROUP_RESOURCE_PROFILE_ID((short)1, "groupResourceProfileId");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // GROUP_RESOURCE_PROFILE_ID
+            return GROUP_RESOURCE_PROFILE_ID;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.GROUP_RESOURCE_PROFILE_ID, new org.apache.thrift.meta_data.FieldMetaData("groupResourceProfileId", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGroupResourceProfileExists_args.class, metaDataMap);
+    }
+
+    public isGroupResourceProfileExists_args() {
+    }
+
+    public isGroupResourceProfileExists_args(
+      java.lang.String groupResourceProfileId)
+    {
+      this();
+      this.groupResourceProfileId = groupResourceProfileId;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public isGroupResourceProfileExists_args(isGroupResourceProfileExists_args other) {
+      if (other.isSetGroupResourceProfileId()) {
+        this.groupResourceProfileId = other.groupResourceProfileId;
+      }
+    }
+
+    @Override
+    public isGroupResourceProfileExists_args deepCopy() {
+      return new isGroupResourceProfileExists_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.groupResourceProfileId = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getGroupResourceProfileId() {
+      return this.groupResourceProfileId;
+    }
+
+    public isGroupResourceProfileExists_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
+      this.groupResourceProfileId = groupResourceProfileId;
+      return this;
+    }
+
+    public void unsetGroupResourceProfileId() {
+      this.groupResourceProfileId = null;
+    }
+
+    /** Returns true if field groupResourceProfileId is set (has been assigned a value) and false otherwise */
+    public boolean isSetGroupResourceProfileId() {
+      return this.groupResourceProfileId != null;
+    }
+
+    public void setGroupResourceProfileIdIsSet(boolean value) {
+      if (!value) {
+        this.groupResourceProfileId = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        if (value == null) {
+          unsetGroupResourceProfileId();
+        } else {
+          setGroupResourceProfileId((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        return getGroupResourceProfileId();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case GROUP_RESOURCE_PROFILE_ID:
+        return isSetGroupResourceProfileId();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof isGroupResourceProfileExists_args)
+        return this.equals((isGroupResourceProfileExists_args)that);
+      return false;
+    }
+
+    public boolean equals(isGroupResourceProfileExists_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_groupResourceProfileId = true && this.isSetGroupResourceProfileId();
+      boolean that_present_groupResourceProfileId = true && that.isSetGroupResourceProfileId();
+      if (this_present_groupResourceProfileId || that_present_groupResourceProfileId) {
+        if (!(this_present_groupResourceProfileId && that_present_groupResourceProfileId))
+          return false;
+        if (!this.groupResourceProfileId.equals(that.groupResourceProfileId))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetGroupResourceProfileId()) ? 131071 : 524287);
+      if (isSetGroupResourceProfileId())
+        hashCode = hashCode * 8191 + groupResourceProfileId.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(isGroupResourceProfileExists_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetGroupResourceProfileId()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.groupResourceProfileId, other.groupResourceProfileId);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGroupResourceProfileExists_args(");
+      boolean first = true;
+
+      sb.append("groupResourceProfileId:");
+      if (this.groupResourceProfileId == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.groupResourceProfileId);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (groupResourceProfileId == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'groupResourceProfileId' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 isGroupResourceProfileExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupResourceProfileExists_argsStandardScheme getScheme() {
+        return new isGroupResourceProfileExists_argsStandardScheme();
+      }
+    }
+
+    private static class isGroupResourceProfileExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGroupResourceProfileExists_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isGroupResourceProfileExists_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: // GROUP_RESOURCE_PROFILE_ID
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.groupResourceProfileId = iprot.readString();
+                struct.setGroupResourceProfileIdIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isGroupResourceProfileExists_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.groupResourceProfileId != null) {
+          oprot.writeFieldBegin(GROUP_RESOURCE_PROFILE_ID_FIELD_DESC);
+          oprot.writeString(struct.groupResourceProfileId);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class isGroupResourceProfileExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupResourceProfileExists_argsTupleScheme getScheme() {
+        return new isGroupResourceProfileExists_argsTupleScheme();
+      }
+    }
+
+    private static class isGroupResourceProfileExists_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGroupResourceProfileExists_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, isGroupResourceProfileExists_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.groupResourceProfileId);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, isGroupResourceProfileExists_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.groupResourceProfileId = iprot.readString();
+        struct.setGroupResourceProfileIdIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class isGroupResourceProfileExists_result implements org.apache.thrift.TBase<isGroupResourceProfileExists_result, isGroupResourceProfileExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGroupResourceProfileExists_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGroupResourceProfileExists_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.BOOL, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGroupResourceProfileExists_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGroupResourceProfileExists_resultTupleSchemeFactory();
+
+    public boolean success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    private static final int __SUCCESS_ISSET_ID = 0;
+    private byte __isset_bitfield = 0;
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.BOOL)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isGroupResourceProfileExists_result.class, metaDataMap);
+    }
+
+    public isGroupResourceProfileExists_result() {
+    }
+
+    public isGroupResourceProfileExists_result(
+      boolean success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      setSuccessIsSet(true);
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public isGroupResourceProfileExists_result(isGroupResourceProfileExists_result other) {
+      __isset_bitfield = other.__isset_bitfield;
+      this.success = other.success;
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public isGroupResourceProfileExists_result deepCopy() {
+      return new isGroupResourceProfileExists_result(this);
+    }
+
+    @Override
+    public void clear() {
+      setSuccessIsSet(false);
+      this.success = false;
+      this.rse = null;
+    }
+
+    public boolean isSuccess() {
+      return this.success;
+    }
+
+    public isGroupResourceProfileExists_result setSuccess(boolean success) {
+      this.success = success;
+      setSuccessIsSet(true);
+      return this;
+    }
+
+    public void unsetSuccess() {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.clearBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    /** Returns true if field success is set (has been assigned a value) and false otherwise */
+    public boolean isSetSuccess() {
+      return org.apache.thrift.EncodingUtils.testBit(__isset_bitfield, __SUCCESS_ISSET_ID);
+    }
+
+    public void setSuccessIsSet(boolean value) {
+      __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public isGroupResourceProfileExists_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((java.lang.Boolean)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return isSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof isGroupResourceProfileExists_result)
+        return this.equals((isGroupResourceProfileExists_result)that);
+      return false;
+    }
+
+    public boolean equals(isGroupResourceProfileExists_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_success = true;
+      boolean that_present_success = true;
+      if (this_present_success || that_present_success) {
+        if (!(this_present_success && that_present_success))
+          return false;
+        if (this.success != that.success)
+          return false;
+      }
+
+      boolean this_present_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((success) ? 131071 : 524287);
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(isGroupResourceProfileExists_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("isGroupResourceProfileExists_result(");
+      boolean first = true;
+
+      sb.append("success:");
+      sb.append(this.success);
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      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, java.lang.ClassNotFoundException {
+      try {
+        // it doesn't seem like you should have to do this, but java serialization is wacky, and doesn't call the default constructor.
+        __isset_bitfield = 0;
+        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 isGroupResourceProfileExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupResourceProfileExists_resultStandardScheme getScheme() {
+        return new isGroupResourceProfileExists_resultStandardScheme();
+      }
+    }
+
+    private static class isGroupResourceProfileExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGroupResourceProfileExists_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, isGroupResourceProfileExists_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.BOOL) {
+                struct.success = iprot.readBool();
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, isGroupResourceProfileExists_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.isSetSuccess()) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          oprot.writeBool(struct.success);
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class isGroupResourceProfileExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public isGroupResourceProfileExists_resultTupleScheme getScheme() {
+        return new isGroupResourceProfileExists_resultTupleScheme();
+      }
+    }
+
+    private static class isGroupResourceProfileExists_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<isGroupResourceProfileExists_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, isGroupResourceProfileExists_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          oprot.writeBool(struct.success);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, isGroupResourceProfileExists_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.success = iprot.readBool();
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserResourceProfile_args implements org.apache.thrift.TBase<getUserResourceProfile_args, getUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserResourceProfile_args");
 
@@ -166628,8 +185302,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -166647,6 +185321,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -166671,6 +185346,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -166683,10 +185359,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -166728,6 +185406,7 @@
       }
     }
 
+    @Override
     public getUserResourceProfile_args deepCopy() {
       return new getUserResourceProfile_args(this);
     }
@@ -166738,11 +185417,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserResourceProfile_args setUserId(java.lang.String userId) {
+    public getUserResourceProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -166762,11 +185442,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getUserResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public getUserResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -166786,7 +185467,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -166807,6 +185489,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -166820,6 +185504,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -166836,8 +185521,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserResourceProfile_args)
         return this.equals((getUserResourceProfile_args)that);
       return false;
@@ -166893,7 +185576,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166903,7 +185586,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -166916,14 +185599,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -166980,6 +185667,7 @@
     }
 
     private static class getUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_argsStandardScheme getScheme() {
         return new getUserResourceProfile_argsStandardScheme();
       }
@@ -166987,6 +185675,7 @@
 
     private static class getUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -167024,6 +185713,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -167045,6 +185735,7 @@
     }
 
     private static class getUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_argsTupleScheme getScheme() {
         return new getUserResourceProfile_argsTupleScheme();
       }
@@ -167074,6 +185765,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserResourceProfile_result implements org.apache.thrift.TBase<getUserResourceProfile_result, getUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserResourceProfile_result");
 
@@ -167083,8 +185775,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -167102,6 +185794,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -167126,6 +185819,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -167138,10 +185832,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -167183,6 +185879,7 @@
       }
     }
 
+    @Override
     public getUserResourceProfile_result deepCopy() {
       return new getUserResourceProfile_result(this);
     }
@@ -167193,11 +185890,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getSuccess() {
       return this.success;
     }
 
-    public getUserResourceProfile_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success) {
+    public getUserResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile success) {
       this.success = success;
       return this;
     }
@@ -167217,11 +185915,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUserResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUserResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -167241,7 +185940,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -167262,6 +185962,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -167275,6 +185977,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -167291,8 +185994,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserResourceProfile_result)
         return this.equals((getUserResourceProfile_result)that);
       return false;
@@ -167348,7 +186049,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167358,7 +186059,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167371,10 +186072,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -167432,6 +186136,7 @@
     }
 
     private static class getUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_resultStandardScheme getScheme() {
         return new getUserResourceProfile_resultStandardScheme();
       }
@@ -167439,6 +186144,7 @@
 
     private static class getUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -167478,6 +186184,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -167499,6 +186206,7 @@
     }
 
     private static class getUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserResourceProfile_resultTupleScheme getScheme() {
         return new getUserResourceProfile_resultTupleScheme();
       }
@@ -167547,6 +186255,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserResourceProfile_args implements org.apache.thrift.TBase<updateUserResourceProfile_args, updateUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserResourceProfile_args");
 
@@ -167557,9 +186266,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile; // 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 {
@@ -167578,6 +186287,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -167604,6 +186314,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -167616,10 +186327,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -167668,6 +186381,7 @@
       }
     }
 
+    @Override
     public updateUserResourceProfile_args deepCopy() {
       return new updateUserResourceProfile_args(this);
     }
@@ -167679,11 +186393,12 @@
       this.userResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public updateUserResourceProfile_args setUserId(java.lang.String userId) {
+    public updateUserResourceProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -167703,11 +186418,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateUserResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public updateUserResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -167727,11 +186443,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile getUserResourceProfile() {
       return this.userResourceProfile;
     }
 
-    public updateUserResourceProfile_args setUserResourceProfile(org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
+    public updateUserResourceProfile_args setUserResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile userResourceProfile) {
       this.userResourceProfile = userResourceProfile;
       return this;
     }
@@ -167751,7 +186468,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -167780,6 +186498,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -167796,6 +186516,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -167814,8 +186535,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserResourceProfile_args)
         return this.equals((updateUserResourceProfile_args)that);
       return false;
@@ -167884,7 +186603,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167894,7 +186613,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167904,7 +186623,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserResourceProfile()).compareTo(other.isSetUserResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserResourceProfile(), other.isSetUserResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -167917,14 +186636,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -167995,6 +186718,7 @@
     }
 
     private static class updateUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_argsStandardScheme getScheme() {
         return new updateUserResourceProfile_argsStandardScheme();
       }
@@ -168002,6 +186726,7 @@
 
     private static class updateUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -168048,6 +186773,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -168074,6 +186800,7 @@
     }
 
     private static class updateUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_argsTupleScheme getScheme() {
         return new updateUserResourceProfile_argsTupleScheme();
       }
@@ -168107,6 +186834,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserResourceProfile_result implements org.apache.thrift.TBase<updateUserResourceProfile_result, updateUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserResourceProfile_result");
 
@@ -168117,7 +186845,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserResourceProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -168135,6 +186863,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -168159,6 +186888,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -168171,10 +186901,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -168218,6 +186950,7 @@
       }
     }
 
+    @Override
     public updateUserResourceProfile_result deepCopy() {
       return new updateUserResourceProfile_result(this);
     }
@@ -168252,11 +186985,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateUserResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateUserResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -168276,7 +187010,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -168297,6 +187032,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -168310,6 +187047,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -168326,8 +187064,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserResourceProfile_result)
         return this.equals((updateUserResourceProfile_result)that);
       return false;
@@ -168381,7 +187117,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168391,7 +187127,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168404,10 +187140,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -168460,6 +187199,7 @@
     }
 
     private static class updateUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_resultStandardScheme getScheme() {
         return new updateUserResourceProfile_resultStandardScheme();
       }
@@ -168467,6 +187207,7 @@
 
     private static class updateUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -168505,6 +187246,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -168526,6 +187268,7 @@
     }
 
     private static class updateUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserResourceProfile_resultTupleScheme getScheme() {
         return new updateUserResourceProfile_resultTupleScheme();
       }
@@ -168573,6 +187316,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserResourceProfile_args implements org.apache.thrift.TBase<deleteUserResourceProfile_args, deleteUserResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserResourceProfile_args");
 
@@ -168582,8 +187326,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -168601,6 +187345,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -168625,6 +187370,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -168637,10 +187383,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -168682,6 +187430,7 @@
       }
     }
 
+    @Override
     public deleteUserResourceProfile_args deepCopy() {
       return new deleteUserResourceProfile_args(this);
     }
@@ -168692,11 +187441,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserResourceProfile_args setUserId(java.lang.String userId) {
+    public deleteUserResourceProfile_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -168716,11 +187466,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteUserResourceProfile_args setGatewayID(java.lang.String gatewayID) {
+    public deleteUserResourceProfile_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -168740,7 +187491,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -168761,6 +187513,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -168774,6 +187528,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -168790,8 +187545,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserResourceProfile_args)
         return this.equals((deleteUserResourceProfile_args)that);
       return false;
@@ -168847,7 +187600,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168857,7 +187610,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -168870,14 +187623,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -168934,6 +187691,7 @@
     }
 
     private static class deleteUserResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_argsStandardScheme getScheme() {
         return new deleteUserResourceProfile_argsStandardScheme();
       }
@@ -168941,6 +187699,7 @@
 
     private static class deleteUserResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -168978,6 +187737,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -168999,6 +187759,7 @@
     }
 
     private static class deleteUserResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_argsTupleScheme getScheme() {
         return new deleteUserResourceProfile_argsTupleScheme();
       }
@@ -169028,6 +187789,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserResourceProfile_result implements org.apache.thrift.TBase<deleteUserResourceProfile_result, deleteUserResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserResourceProfile_result");
 
@@ -169038,7 +187800,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserResourceProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -169056,6 +187818,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -169080,6 +187843,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -169092,10 +187856,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -169139,6 +187905,7 @@
       }
     }
 
+    @Override
     public deleteUserResourceProfile_result deepCopy() {
       return new deleteUserResourceProfile_result(this);
     }
@@ -169173,11 +187940,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteUserResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteUserResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -169197,7 +187965,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -169218,6 +187987,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -169231,6 +188002,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -169247,8 +188019,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserResourceProfile_result)
         return this.equals((deleteUserResourceProfile_result)that);
       return false;
@@ -169302,7 +188072,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169312,7 +188082,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169325,10 +188095,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -169381,6 +188154,7 @@
     }
 
     private static class deleteUserResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_resultStandardScheme getScheme() {
         return new deleteUserResourceProfile_resultStandardScheme();
       }
@@ -169388,6 +188162,7 @@
 
     private static class deleteUserResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -169426,6 +188201,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -169447,6 +188223,7 @@
     }
 
     private static class deleteUserResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserResourceProfile_resultTupleScheme getScheme() {
         return new deleteUserResourceProfile_resultTupleScheme();
       }
@@ -169494,6 +188271,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUser_args implements org.apache.thrift.TBase<addUser_args, addUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUser_args");
 
@@ -169502,7 +188280,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.user.UserProfile userProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userProfile; // 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 {
@@ -169519,6 +188297,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_PROFILE
@@ -169541,6 +188320,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -169553,10 +188333,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -169591,6 +188373,7 @@
       }
     }
 
+    @Override
     public addUser_args deepCopy() {
       return new addUser_args(this);
     }
@@ -169600,11 +188383,12 @@
       this.userProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.user.UserProfile getUserProfile() {
       return this.userProfile;
     }
 
-    public addUser_args setUserProfile(org.apache.airavata.model.user.UserProfile userProfile) {
+    public addUser_args setUserProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.user.UserProfile userProfile) {
       this.userProfile = userProfile;
       return this;
     }
@@ -169624,7 +188408,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_PROFILE:
         if (value == null) {
@@ -169637,6 +188422,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_PROFILE:
@@ -169647,6 +188434,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -169661,8 +188449,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUser_args)
         return this.equals((addUser_args)that);
       return false;
@@ -169705,7 +188491,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserProfile()).compareTo(other.isSetUserProfile());
+      lastComparison = java.lang.Boolean.compare(isSetUserProfile(), other.isSetUserProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -169718,14 +188504,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -169774,6 +188564,7 @@
     }
 
     private static class addUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUser_argsStandardScheme getScheme() {
         return new addUser_argsStandardScheme();
       }
@@ -169781,6 +188572,7 @@
 
     private static class addUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -169811,6 +188603,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -169827,6 +188620,7 @@
     }
 
     private static class addUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUser_argsTupleScheme getScheme() {
         return new addUser_argsTupleScheme();
       }
@@ -169854,6 +188648,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUser_result implements org.apache.thrift.TBase<addUser_result, addUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUser_result");
 
@@ -169864,9 +188659,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUser_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.DuplicateEntryException dee; // 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 {
@@ -169885,6 +188680,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -169911,6 +188707,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -169923,10 +188720,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -169975,6 +188774,7 @@
       }
     }
 
+    @Override
     public addUser_result deepCopy() {
       return new addUser_result(this);
     }
@@ -169986,11 +188786,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public addUser_result setSuccess(java.lang.String success) {
+    public addUser_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -170010,11 +188811,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addUser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addUser_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -170034,11 +188836,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public addUser_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public addUser_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -170058,7 +188861,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -170087,6 +188891,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -170103,6 +188909,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -170121,8 +188928,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUser_result)
         return this.equals((addUser_result)that);
       return false;
@@ -170191,7 +188996,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170201,7 +189006,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170211,7 +189016,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170224,10 +189029,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -170290,6 +189098,7 @@
     }
 
     private static class addUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUser_resultStandardScheme getScheme() {
         return new addUser_resultStandardScheme();
       }
@@ -170297,6 +189106,7 @@
 
     private static class addUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -170344,6 +189154,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -170370,6 +189181,7 @@
     }
 
     private static class addUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUser_resultTupleScheme getScheme() {
         return new addUser_resultTupleScheme();
       }
@@ -170428,6 +189240,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserComputeResourcePreference_args implements org.apache.thrift.TBase<addUserComputeResourcePreference_args, addUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserComputeResourcePreference_args");
 
@@ -170439,10 +189252,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String computeResourceId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // 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 {
@@ -170462,6 +189275,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -170490,6 +189304,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -170502,10 +189317,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -170561,6 +189378,7 @@
       }
     }
 
+    @Override
     public addUserComputeResourcePreference_args deepCopy() {
       return new addUserComputeResourcePreference_args(this);
     }
@@ -170573,11 +189391,12 @@
       this.userComputeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public addUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public addUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -170597,11 +189416,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -170621,11 +189441,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public addUserComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public addUserComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -170645,11 +189466,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference() {
       return this.userComputeResourcePreference;
     }
 
-    public addUserComputeResourcePreference_args setUserComputeResourcePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
+    public addUserComputeResourcePreference_args setUserComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
       this.userComputeResourcePreference = userComputeResourcePreference;
       return this;
     }
@@ -170669,7 +189491,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -170706,6 +189529,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -170725,6 +189550,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -170745,8 +189571,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserComputeResourcePreference_args)
         return this.equals((addUserComputeResourcePreference_args)that);
       return false;
@@ -170828,7 +189652,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170838,7 +189662,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170848,7 +189672,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170858,7 +189682,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourcePreference()).compareTo(other.isSetUserComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourcePreference(), other.isSetUserComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -170871,14 +189695,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -170960,6 +189788,7 @@
     }
 
     private static class addUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new addUserComputeResourcePreference_argsStandardScheme();
       }
@@ -170967,6 +189796,7 @@
 
     private static class addUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -171021,6 +189851,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -171052,6 +189883,7 @@
     }
 
     private static class addUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new addUserComputeResourcePreference_argsTupleScheme();
       }
@@ -171088,6 +189920,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserComputeResourcePreference_result implements org.apache.thrift.TBase<addUserComputeResourcePreference_result, addUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserComputeResourcePreference_result");
 
@@ -171098,7 +189931,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -171116,6 +189949,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -171140,6 +189974,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -171152,10 +189987,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -171199,6 +190036,7 @@
       }
     }
 
+    @Override
     public addUserComputeResourcePreference_result deepCopy() {
       return new addUserComputeResourcePreference_result(this);
     }
@@ -171233,11 +190071,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addUserComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addUserComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -171257,7 +190096,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -171278,6 +190118,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -171291,6 +190133,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -171307,8 +190150,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserComputeResourcePreference_result)
         return this.equals((addUserComputeResourcePreference_result)that);
       return false;
@@ -171362,7 +190203,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171372,7 +190213,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171385,10 +190226,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -171441,6 +190285,7 @@
     }
 
     private static class addUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new addUserComputeResourcePreference_resultStandardScheme();
       }
@@ -171448,6 +190293,7 @@
 
     private static class addUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -171486,6 +190332,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -171507,6 +190354,7 @@
     }
 
     private static class addUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new addUserComputeResourcePreference_resultTupleScheme();
       }
@@ -171554,6 +190402,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserStoragePreference_args implements org.apache.thrift.TBase<addUserStoragePreference_args, addUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserStoragePreference_args");
 
@@ -171565,10 +190414,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageResourceId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // 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 {
@@ -171588,6 +190437,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -171616,6 +190466,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -171628,10 +190479,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -171687,6 +190540,7 @@
       }
     }
 
+    @Override
     public addUserStoragePreference_args deepCopy() {
       return new addUserStoragePreference_args(this);
     }
@@ -171699,11 +190553,12 @@
       this.userStoragePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public addUserStoragePreference_args setUserId(java.lang.String userId) {
+    public addUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -171723,11 +190578,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public addUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public addUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -171747,11 +190603,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageResourceId() {
       return this.userStorageResourceId;
     }
 
-    public addUserStoragePreference_args setUserStorageResourceId(java.lang.String userStorageResourceId) {
+    public addUserStoragePreference_args setUserStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId) {
       this.userStorageResourceId = userStorageResourceId;
       return this;
     }
@@ -171771,11 +190628,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference() {
       return this.userStoragePreference;
     }
 
-    public addUserStoragePreference_args setUserStoragePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
+    public addUserStoragePreference_args setUserStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
       this.userStoragePreference = userStoragePreference;
       return this;
     }
@@ -171795,7 +190653,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -171832,6 +190691,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -171851,6 +190712,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -171871,8 +190733,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserStoragePreference_args)
         return this.equals((addUserStoragePreference_args)that);
       return false;
@@ -171954,7 +190814,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171964,7 +190824,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171974,7 +190834,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageResourceId()).compareTo(other.isSetUserStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageResourceId(), other.isSetUserStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171984,7 +190844,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStoragePreference()).compareTo(other.isSetUserStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserStoragePreference(), other.isSetUserStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -171997,14 +190857,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -172086,6 +190950,7 @@
     }
 
     private static class addUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_argsStandardScheme getScheme() {
         return new addUserStoragePreference_argsStandardScheme();
       }
@@ -172093,6 +190958,7 @@
 
     private static class addUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -172147,6 +191013,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -172178,6 +191045,7 @@
     }
 
     private static class addUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_argsTupleScheme getScheme() {
         return new addUserStoragePreference_argsTupleScheme();
       }
@@ -172214,6 +191082,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUserStoragePreference_result implements org.apache.thrift.TBase<addUserStoragePreference_result, addUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUserStoragePreference_result");
 
@@ -172224,7 +191093,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUserStoragePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -172242,6 +191111,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -172266,6 +191136,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -172278,10 +191149,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -172325,6 +191198,7 @@
       }
     }
 
+    @Override
     public addUserStoragePreference_result deepCopy() {
       return new addUserStoragePreference_result(this);
     }
@@ -172359,11 +191233,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addUserStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addUserStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -172383,7 +191258,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -172404,6 +191280,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -172417,6 +191295,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -172433,8 +191312,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUserStoragePreference_result)
         return this.equals((addUserStoragePreference_result)that);
       return false;
@@ -172488,7 +191365,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172498,7 +191375,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -172511,10 +191388,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -172567,6 +191447,7 @@
     }
 
     private static class addUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_resultStandardScheme getScheme() {
         return new addUserStoragePreference_resultStandardScheme();
       }
@@ -172574,6 +191455,7 @@
 
     private static class addUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -172612,6 +191494,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -172633,6 +191516,7 @@
     }
 
     private static class addUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUserStoragePreference_resultTupleScheme getScheme() {
         return new addUserStoragePreference_resultTupleScheme();
       }
@@ -172680,6 +191564,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserComputeResourcePreference_args implements org.apache.thrift.TBase<getUserComputeResourcePreference_args, getUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserComputeResourcePreference_args");
 
@@ -172690,9 +191575,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // 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 {
@@ -172711,6 +191596,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -172737,6 +191623,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -172749,10 +191636,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -172801,6 +191690,7 @@
       }
     }
 
+    @Override
     public getUserComputeResourcePreference_args deepCopy() {
       return new getUserComputeResourcePreference_args(this);
     }
@@ -172812,11 +191702,12 @@
       this.userComputeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public getUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -172836,11 +191727,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -172860,11 +191752,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public getUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public getUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -172884,7 +191777,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -172913,6 +191807,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -172929,6 +191825,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -172947,8 +191844,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserComputeResourcePreference_args)
         return this.equals((getUserComputeResourcePreference_args)that);
       return false;
@@ -173017,7 +191912,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173027,7 +191922,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173037,7 +191932,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173050,14 +191945,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -173125,6 +192024,7 @@
     }
 
     private static class getUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new getUserComputeResourcePreference_argsStandardScheme();
       }
@@ -173132,6 +192032,7 @@
 
     private static class getUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -173177,6 +192078,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -173203,6 +192105,7 @@
     }
 
     private static class getUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new getUserComputeResourcePreference_argsTupleScheme();
       }
@@ -173235,6 +192138,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserComputeResourcePreference_result implements org.apache.thrift.TBase<getUserComputeResourcePreference_result, getUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserComputeResourcePreference_result");
 
@@ -173244,8 +192148,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserComputeResourcePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserComputeResourcePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -173263,6 +192167,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -173287,6 +192192,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -173299,10 +192205,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -173344,6 +192252,7 @@
       }
     }
 
+    @Override
     public getUserComputeResourcePreference_result deepCopy() {
       return new getUserComputeResourcePreference_result(this);
     }
@@ -173354,11 +192263,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public getUserComputeResourcePreference_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success) {
+    public getUserComputeResourcePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -173378,11 +192288,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUserComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUserComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -173402,7 +192313,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -173423,6 +192335,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -173436,6 +192350,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -173452,8 +192367,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserComputeResourcePreference_result)
         return this.equals((getUserComputeResourcePreference_result)that);
       return false;
@@ -173509,7 +192422,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173519,7 +192432,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -173532,10 +192445,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -173593,6 +192509,7 @@
     }
 
     private static class getUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new getUserComputeResourcePreference_resultStandardScheme();
       }
@@ -173600,6 +192517,7 @@
 
     private static class getUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -173639,6 +192557,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -173660,6 +192579,7 @@
     }
 
     private static class getUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new getUserComputeResourcePreference_resultTupleScheme();
       }
@@ -173708,6 +192628,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserStoragePreference_args implements org.apache.thrift.TBase<getUserStoragePreference_args, getUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserStoragePreference_args");
 
@@ -173718,9 +192639,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId; // 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 {
@@ -173739,6 +192660,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -173765,6 +192687,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -173777,10 +192700,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -173829,6 +192754,7 @@
       }
     }
 
+    @Override
     public getUserStoragePreference_args deepCopy() {
       return new getUserStoragePreference_args(this);
     }
@@ -173840,11 +192766,12 @@
       this.userStorageResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUserStoragePreference_args setUserId(java.lang.String userId) {
+    public getUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -173864,11 +192791,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public getUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -173888,11 +192816,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageResourceId() {
       return this.userStorageResourceId;
     }
 
-    public getUserStoragePreference_args setUserStorageResourceId(java.lang.String userStorageResourceId) {
+    public getUserStoragePreference_args setUserStorageResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageResourceId) {
       this.userStorageResourceId = userStorageResourceId;
       return this;
     }
@@ -173912,7 +192841,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -173941,6 +192871,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -173957,6 +192889,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -173975,8 +192908,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserStoragePreference_args)
         return this.equals((getUserStoragePreference_args)that);
       return false;
@@ -174045,7 +192976,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174055,7 +192986,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174065,7 +192996,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageResourceId()).compareTo(other.isSetUserStorageResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageResourceId(), other.isSetUserStorageResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174078,14 +193009,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -174153,6 +193088,7 @@
     }
 
     private static class getUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_argsStandardScheme getScheme() {
         return new getUserStoragePreference_argsStandardScheme();
       }
@@ -174160,6 +193096,7 @@
 
     private static class getUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -174205,6 +193142,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -174231,6 +193169,7 @@
     }
 
     private static class getUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_argsTupleScheme getScheme() {
         return new getUserStoragePreference_argsTupleScheme();
       }
@@ -174263,6 +193202,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUserStoragePreference_result implements org.apache.thrift.TBase<getUserStoragePreference_result, getUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUserStoragePreference_result");
 
@@ -174272,8 +193212,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUserStoragePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUserStoragePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -174291,6 +193231,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -174315,6 +193256,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -174327,10 +193269,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -174372,6 +193316,7 @@
       }
     }
 
+    @Override
     public getUserStoragePreference_result deepCopy() {
       return new getUserStoragePreference_result(this);
     }
@@ -174382,11 +193327,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getSuccess() {
       return this.success;
     }
 
-    public getUserStoragePreference_result setSuccess(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success) {
+    public getUserStoragePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference success) {
       this.success = success;
       return this;
     }
@@ -174406,11 +193352,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getUserStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getUserStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -174430,7 +193377,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -174451,6 +193399,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -174464,6 +193414,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -174480,8 +193431,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUserStoragePreference_result)
         return this.equals((getUserStoragePreference_result)that);
       return false;
@@ -174537,7 +193486,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174547,7 +193496,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -174560,10 +193509,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -174621,6 +193573,7 @@
     }
 
     private static class getUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_resultStandardScheme getScheme() {
         return new getUserStoragePreference_resultStandardScheme();
       }
@@ -174628,6 +193581,7 @@
 
     private static class getUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -174667,6 +193621,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -174688,6 +193643,7 @@
     }
 
     private static class getUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUserStoragePreference_resultTupleScheme getScheme() {
         return new getUserStoragePreference_resultTupleScheme();
       }
@@ -174736,6 +193692,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserComputeResourcePreferences_args implements org.apache.thrift.TBase<getAllUserComputeResourcePreferences_args, getAllUserComputeResourcePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserComputeResourcePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserComputeResourcePreferences_args");
 
@@ -174745,8 +193702,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -174764,6 +193721,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -174788,6 +193746,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -174800,10 +193759,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -174845,6 +193806,7 @@
       }
     }
 
+    @Override
     public getAllUserComputeResourcePreferences_args deepCopy() {
       return new getAllUserComputeResourcePreferences_args(this);
     }
@@ -174855,11 +193817,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getAllUserComputeResourcePreferences_args setUserId(java.lang.String userId) {
+    public getAllUserComputeResourcePreferences_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -174879,11 +193842,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllUserComputeResourcePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllUserComputeResourcePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -174903,7 +193867,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -174924,6 +193889,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -174937,6 +193904,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -174953,8 +193921,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserComputeResourcePreferences_args)
         return this.equals((getAllUserComputeResourcePreferences_args)that);
       return false;
@@ -175010,7 +193976,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175020,7 +193986,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175033,14 +193999,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -175097,6 +194067,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_argsStandardScheme getScheme() {
         return new getAllUserComputeResourcePreferences_argsStandardScheme();
       }
@@ -175104,6 +194075,7 @@
 
     private static class getAllUserComputeResourcePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserComputeResourcePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -175141,6 +194113,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserComputeResourcePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -175162,6 +194135,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_argsTupleScheme getScheme() {
         return new getAllUserComputeResourcePreferences_argsTupleScheme();
       }
@@ -175191,6 +194165,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserComputeResourcePreferences_result implements org.apache.thrift.TBase<getAllUserComputeResourcePreferences_result, getAllUserComputeResourcePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserComputeResourcePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserComputeResourcePreferences_result");
 
@@ -175200,8 +194175,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserComputeResourcePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -175219,6 +194194,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -175243,6 +194219,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -175255,10 +194232,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -175305,6 +194284,7 @@
       }
     }
 
+    @Override
     public getAllUserComputeResourcePreferences_result deepCopy() {
       return new getAllUserComputeResourcePreferences_result(this);
     }
@@ -175319,6 +194299,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -175330,11 +194311,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllUserComputeResourcePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success) {
+    public getAllUserComputeResourcePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference> success) {
       this.success = success;
       return this;
     }
@@ -175354,11 +194336,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllUserComputeResourcePreferences_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllUserComputeResourcePreferences_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -175378,7 +194361,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -175399,6 +194383,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -175412,6 +194398,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -175428,8 +194415,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserComputeResourcePreferences_result)
         return this.equals((getAllUserComputeResourcePreferences_result)that);
       return false;
@@ -175485,7 +194470,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175495,7 +194480,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175508,10 +194493,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -175566,6 +194554,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_resultStandardScheme getScheme() {
         return new getAllUserComputeResourcePreferences_resultStandardScheme();
       }
@@ -175573,6 +194562,7 @@
 
     private static class getAllUserComputeResourcePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserComputeResourcePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -175586,14 +194576,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list402 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>(_list402.size);
-                  org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem403;
-                  for (int _i404 = 0; _i404 < _list402.size; ++_i404)
+                  org.apache.thrift.protocol.TList _list428 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>(_list428.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem429;
+                  for (int _i430 = 0; _i430 < _list428.size; ++_i430)
                   {
-                    _elem403 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference();
-                    _elem403.read(iprot);
-                    struct.success.add(_elem403);
+                    _elem429 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference();
+                    _elem429.read(iprot);
+                    struct.success.add(_elem429);
                   }
                   iprot.readListEnd();
                 }
@@ -175622,6 +194612,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserComputeResourcePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -175630,9 +194621,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _iter405 : struct.success)
+            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _iter431 : struct.success)
             {
-              _iter405.write(oprot);
+              _iter431.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -175650,6 +194641,7 @@
     }
 
     private static class getAllUserComputeResourcePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserComputeResourcePreferences_resultTupleScheme getScheme() {
         return new getAllUserComputeResourcePreferences_resultTupleScheme();
       }
@@ -175671,9 +194663,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _iter406 : struct.success)
+            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _iter432 : struct.success)
             {
-              _iter406.write(oprot);
+              _iter432.write(oprot);
             }
           }
         }
@@ -175688,14 +194680,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list407 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>(_list407.size);
-            org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem408;
-            for (int _i409 = 0; _i409 < _list407.size; ++_i409)
+            org.apache.thrift.protocol.TList _list433 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference>(_list433.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference _elem434;
+            for (int _i435 = 0; _i435 < _list433.size; ++_i435)
             {
-              _elem408 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference();
-              _elem408.read(iprot);
-              struct.success.add(_elem408);
+              _elem434 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference();
+              _elem434.read(iprot);
+              struct.success.add(_elem434);
             }
           }
           struct.setSuccessIsSet(true);
@@ -175713,6 +194705,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserStoragePreferences_args implements org.apache.thrift.TBase<getAllUserStoragePreferences_args, getAllUserStoragePreferences_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserStoragePreferences_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserStoragePreferences_args");
 
@@ -175722,8 +194715,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserStoragePreferences_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserStoragePreferences_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // 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 {
@@ -175741,6 +194734,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -175765,6 +194759,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -175777,10 +194772,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -175822,6 +194819,7 @@
       }
     }
 
+    @Override
     public getAllUserStoragePreferences_args deepCopy() {
       return new getAllUserStoragePreferences_args(this);
     }
@@ -175832,11 +194830,12 @@
       this.gatewayID = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getAllUserStoragePreferences_args setUserId(java.lang.String userId) {
+    public getAllUserStoragePreferences_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -175856,11 +194855,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public getAllUserStoragePreferences_args setGatewayID(java.lang.String gatewayID) {
+    public getAllUserStoragePreferences_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -175880,7 +194880,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -175901,6 +194902,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -175914,6 +194917,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -175930,8 +194934,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserStoragePreferences_args)
         return this.equals((getAllUserStoragePreferences_args)that);
       return false;
@@ -175987,7 +194989,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -175997,7 +194999,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176010,14 +195012,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -176074,6 +195080,7 @@
     }
 
     private static class getAllUserStoragePreferences_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_argsStandardScheme getScheme() {
         return new getAllUserStoragePreferences_argsStandardScheme();
       }
@@ -176081,6 +195088,7 @@
 
     private static class getAllUserStoragePreferences_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserStoragePreferences_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserStoragePreferences_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -176118,6 +195126,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserStoragePreferences_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -176139,6 +195148,7 @@
     }
 
     private static class getAllUserStoragePreferences_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_argsTupleScheme getScheme() {
         return new getAllUserStoragePreferences_argsTupleScheme();
       }
@@ -176168,6 +195178,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserStoragePreferences_result implements org.apache.thrift.TBase<getAllUserStoragePreferences_result, getAllUserStoragePreferences_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserStoragePreferences_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserStoragePreferences_result");
 
@@ -176177,8 +195188,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserStoragePreferences_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserStoragePreferences_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -176196,6 +195207,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -176220,6 +195232,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -176232,10 +195245,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -176282,6 +195297,7 @@
       }
     }
 
+    @Override
     public getAllUserStoragePreferences_result deepCopy() {
       return new getAllUserStoragePreferences_result(this);
     }
@@ -176296,6 +195312,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -176307,11 +195324,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> getSuccess() {
       return this.success;
     }
 
-    public getAllUserStoragePreferences_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success) {
+    public getAllUserStoragePreferences_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference> success) {
       this.success = success;
       return this;
     }
@@ -176331,11 +195349,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllUserStoragePreferences_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllUserStoragePreferences_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -176355,7 +195374,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -176376,6 +195396,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -176389,6 +195411,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -176405,8 +195428,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserStoragePreferences_result)
         return this.equals((getAllUserStoragePreferences_result)that);
       return false;
@@ -176462,7 +195483,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176472,7 +195493,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -176485,10 +195506,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -176543,6 +195567,7 @@
     }
 
     private static class getAllUserStoragePreferences_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_resultStandardScheme getScheme() {
         return new getAllUserStoragePreferences_resultStandardScheme();
       }
@@ -176550,6 +195575,7 @@
 
     private static class getAllUserStoragePreferences_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserStoragePreferences_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserStoragePreferences_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -176563,14 +195589,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list410 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>(_list410.size);
-                  org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem411;
-                  for (int _i412 = 0; _i412 < _list410.size; ++_i412)
+                  org.apache.thrift.protocol.TList _list436 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>(_list436.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem437;
+                  for (int _i438 = 0; _i438 < _list436.size; ++_i438)
                   {
-                    _elem411 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference();
-                    _elem411.read(iprot);
-                    struct.success.add(_elem411);
+                    _elem437 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference();
+                    _elem437.read(iprot);
+                    struct.success.add(_elem437);
                   }
                   iprot.readListEnd();
                 }
@@ -176599,6 +195625,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserStoragePreferences_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -176607,9 +195634,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _iter413 : struct.success)
+            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _iter439 : struct.success)
             {
-              _iter413.write(oprot);
+              _iter439.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -176627,6 +195654,7 @@
     }
 
     private static class getAllUserStoragePreferences_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserStoragePreferences_resultTupleScheme getScheme() {
         return new getAllUserStoragePreferences_resultTupleScheme();
       }
@@ -176648,9 +195676,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _iter414 : struct.success)
+            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _iter440 : struct.success)
             {
-              _iter414.write(oprot);
+              _iter440.write(oprot);
             }
           }
         }
@@ -176665,14 +195693,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list415 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>(_list415.size);
-            org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem416;
-            for (int _i417 = 0; _i417 < _list415.size; ++_i417)
+            org.apache.thrift.protocol.TList _list441 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference>(_list441.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference _elem442;
+            for (int _i443 = 0; _i443 < _list441.size; ++_i443)
             {
-              _elem416 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference();
-              _elem416.read(iprot);
-              struct.success.add(_elem416);
+              _elem442 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference();
+              _elem442.read(iprot);
+              struct.success.add(_elem442);
             }
           }
           struct.setSuccessIsSet(true);
@@ -176690,6 +195718,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserResourceProfiles_args implements org.apache.thrift.TBase<getAllUserResourceProfiles_args, getAllUserResourceProfiles_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserResourceProfiles_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserResourceProfiles_args");
 
@@ -176713,6 +195742,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -176733,6 +195763,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -176745,10 +195776,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -176769,6 +195802,7 @@
     public getAllUserResourceProfiles_args(getAllUserResourceProfiles_args other) {
     }
 
+    @Override
     public getAllUserResourceProfiles_args deepCopy() {
       return new getAllUserResourceProfiles_args(this);
     }
@@ -176777,11 +195811,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -176789,6 +195826,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -176801,8 +195839,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserResourceProfiles_args)
         return this.equals((getAllUserResourceProfiles_args)that);
       return false;
@@ -176835,14 +195871,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -176878,6 +195918,7 @@
     }
 
     private static class getAllUserResourceProfiles_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_argsStandardScheme getScheme() {
         return new getAllUserResourceProfiles_argsStandardScheme();
       }
@@ -176885,6 +195926,7 @@
 
     private static class getAllUserResourceProfiles_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserResourceProfiles_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserResourceProfiles_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -176906,6 +195948,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserResourceProfiles_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -176917,6 +195960,7 @@
     }
 
     private static class getAllUserResourceProfiles_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_argsTupleScheme getScheme() {
         return new getAllUserResourceProfiles_argsTupleScheme();
       }
@@ -176940,6 +195984,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllUserResourceProfiles_result implements org.apache.thrift.TBase<getAllUserResourceProfiles_result, getAllUserResourceProfiles_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllUserResourceProfiles_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllUserResourceProfiles_result");
 
@@ -176949,8 +195994,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllUserResourceProfiles_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllUserResourceProfiles_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -176968,6 +196013,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -176992,6 +196038,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -177004,10 +196051,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -177054,6 +196103,7 @@
       }
     }
 
+    @Override
     public getAllUserResourceProfiles_result deepCopy() {
       return new getAllUserResourceProfiles_result(this);
     }
@@ -177068,6 +196118,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -177079,11 +196130,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> getSuccess() {
       return this.success;
     }
 
-    public getAllUserResourceProfiles_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success) {
+    public getAllUserResourceProfiles_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile> success) {
       this.success = success;
       return this;
     }
@@ -177103,11 +196155,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getAllUserResourceProfiles_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getAllUserResourceProfiles_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -177127,7 +196180,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -177148,6 +196202,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -177161,6 +196217,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -177177,8 +196234,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllUserResourceProfiles_result)
         return this.equals((getAllUserResourceProfiles_result)that);
       return false;
@@ -177234,7 +196289,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177244,7 +196299,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177257,10 +196312,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -177315,6 +196373,7 @@
     }
 
     private static class getAllUserResourceProfiles_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_resultStandardScheme getScheme() {
         return new getAllUserResourceProfiles_resultStandardScheme();
       }
@@ -177322,6 +196381,7 @@
 
     private static class getAllUserResourceProfiles_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllUserResourceProfiles_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllUserResourceProfiles_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -177335,14 +196395,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list418 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>(_list418.size);
-                  org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem419;
-                  for (int _i420 = 0; _i420 < _list418.size; ++_i420)
+                  org.apache.thrift.protocol.TList _list444 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>(_list444.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem445;
+                  for (int _i446 = 0; _i446 < _list444.size; ++_i446)
                   {
-                    _elem419 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile();
-                    _elem419.read(iprot);
-                    struct.success.add(_elem419);
+                    _elem445 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile();
+                    _elem445.read(iprot);
+                    struct.success.add(_elem445);
                   }
                   iprot.readListEnd();
                 }
@@ -177371,6 +196431,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllUserResourceProfiles_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -177379,9 +196440,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _iter421 : struct.success)
+            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _iter447 : struct.success)
             {
-              _iter421.write(oprot);
+              _iter447.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -177399,6 +196460,7 @@
     }
 
     private static class getAllUserResourceProfiles_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllUserResourceProfiles_resultTupleScheme getScheme() {
         return new getAllUserResourceProfiles_resultTupleScheme();
       }
@@ -177420,9 +196482,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _iter422 : struct.success)
+            for (org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _iter448 : struct.success)
             {
-              _iter422.write(oprot);
+              _iter448.write(oprot);
             }
           }
         }
@@ -177437,14 +196499,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list423 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>(_list423.size);
-            org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem424;
-            for (int _i425 = 0; _i425 < _list423.size; ++_i425)
+            org.apache.thrift.protocol.TList _list449 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile>(_list449.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile _elem450;
+            for (int _i451 = 0; _i451 < _list449.size; ++_i451)
             {
-              _elem424 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile();
-              _elem424.read(iprot);
-              struct.success.add(_elem424);
+              _elem450 = new org.apache.airavata.model.appcatalog.userresourceprofile.UserResourceProfile();
+              _elem450.read(iprot);
+              struct.success.add(_elem450);
             }
           }
           struct.setSuccessIsSet(true);
@@ -177462,6 +196524,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserComputeResourcePreference_args implements org.apache.thrift.TBase<updateUserComputeResourcePreference_args, updateUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserComputeResourcePreference_args");
 
@@ -177473,10 +196536,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference; // 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 {
@@ -177496,6 +196559,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -177524,6 +196588,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -177536,10 +196601,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -177595,6 +196662,7 @@
       }
     }
 
+    @Override
     public updateUserComputeResourcePreference_args deepCopy() {
       return new updateUserComputeResourcePreference_args(this);
     }
@@ -177607,11 +196675,12 @@
       this.userComputeResourcePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public updateUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public updateUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -177631,11 +196700,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -177655,11 +196725,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public updateUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public updateUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -177679,11 +196750,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference getUserComputeResourcePreference() {
       return this.userComputeResourcePreference;
     }
 
-    public updateUserComputeResourcePreference_args setUserComputeResourcePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
+    public updateUserComputeResourcePreference_args setUserComputeResourcePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserComputeResourcePreference userComputeResourcePreference) {
       this.userComputeResourcePreference = userComputeResourcePreference;
       return this;
     }
@@ -177703,7 +196775,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -177740,6 +196813,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -177759,6 +196834,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -177779,8 +196855,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserComputeResourcePreference_args)
         return this.equals((updateUserComputeResourcePreference_args)that);
       return false;
@@ -177862,7 +196936,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177872,7 +196946,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177882,7 +196956,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177892,7 +196966,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourcePreference()).compareTo(other.isSetUserComputeResourcePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourcePreference(), other.isSetUserComputeResourcePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -177905,14 +196979,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -177994,6 +197072,7 @@
     }
 
     private static class updateUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new updateUserComputeResourcePreference_argsStandardScheme();
       }
@@ -178001,6 +197080,7 @@
 
     private static class updateUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -178055,6 +197135,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -178086,6 +197167,7 @@
     }
 
     private static class updateUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new updateUserComputeResourcePreference_argsTupleScheme();
       }
@@ -178122,6 +197204,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserComputeResourcePreference_result implements org.apache.thrift.TBase<updateUserComputeResourcePreference_result, updateUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserComputeResourcePreference_result");
 
@@ -178132,7 +197215,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -178150,6 +197233,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -178174,6 +197258,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -178186,10 +197271,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -178233,6 +197320,7 @@
       }
     }
 
+    @Override
     public updateUserComputeResourcePreference_result deepCopy() {
       return new updateUserComputeResourcePreference_result(this);
     }
@@ -178267,11 +197355,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateUserComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateUserComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -178291,7 +197380,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -178312,6 +197402,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -178325,6 +197417,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -178341,8 +197434,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserComputeResourcePreference_result)
         return this.equals((updateUserComputeResourcePreference_result)that);
       return false;
@@ -178396,7 +197487,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178406,7 +197497,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178419,10 +197510,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -178475,6 +197569,7 @@
     }
 
     private static class updateUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new updateUserComputeResourcePreference_resultStandardScheme();
       }
@@ -178482,6 +197577,7 @@
 
     private static class updateUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -178520,6 +197616,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -178541,6 +197638,7 @@
     }
 
     private static class updateUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new updateUserComputeResourcePreference_resultTupleScheme();
       }
@@ -178588,6 +197686,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserStoragePreference_args implements org.apache.thrift.TBase<updateUserStoragePreference_args, updateUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserStoragePreference_args");
 
@@ -178599,10 +197698,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageId; // required
-    public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageId; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference; // 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 {
@@ -178622,6 +197721,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -178650,6 +197750,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -178662,10 +197763,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -178721,6 +197824,7 @@
       }
     }
 
+    @Override
     public updateUserStoragePreference_args deepCopy() {
       return new updateUserStoragePreference_args(this);
     }
@@ -178733,11 +197837,12 @@
       this.userStoragePreference = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public updateUserStoragePreference_args setUserId(java.lang.String userId) {
+    public updateUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -178757,11 +197862,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public updateUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public updateUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -178781,11 +197887,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageId() {
       return this.userStorageId;
     }
 
-    public updateUserStoragePreference_args setUserStorageId(java.lang.String userStorageId) {
+    public updateUserStoragePreference_args setUserStorageId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageId) {
       this.userStorageId = userStorageId;
       return this;
     }
@@ -178805,11 +197912,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference getUserStoragePreference() {
       return this.userStoragePreference;
     }
 
-    public updateUserStoragePreference_args setUserStoragePreference(org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
+    public updateUserStoragePreference_args setUserStoragePreference(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.userresourceprofile.UserStoragePreference userStoragePreference) {
       this.userStoragePreference = userStoragePreference;
       return this;
     }
@@ -178829,7 +197937,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -178866,6 +197975,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -178885,6 +197996,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -178905,8 +198017,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserStoragePreference_args)
         return this.equals((updateUserStoragePreference_args)that);
       return false;
@@ -178988,7 +198098,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -178998,7 +198108,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179008,7 +198118,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageId()).compareTo(other.isSetUserStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageId(), other.isSetUserStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179018,7 +198128,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStoragePreference()).compareTo(other.isSetUserStoragePreference());
+      lastComparison = java.lang.Boolean.compare(isSetUserStoragePreference(), other.isSetUserStoragePreference());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179031,14 +198141,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -179120,6 +198234,7 @@
     }
 
     private static class updateUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_argsStandardScheme getScheme() {
         return new updateUserStoragePreference_argsStandardScheme();
       }
@@ -179127,6 +198242,7 @@
 
     private static class updateUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -179181,6 +198297,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -179212,6 +198329,7 @@
     }
 
     private static class updateUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_argsTupleScheme getScheme() {
         return new updateUserStoragePreference_argsTupleScheme();
       }
@@ -179248,6 +198366,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateUserStoragePreference_result implements org.apache.thrift.TBase<updateUserStoragePreference_result, updateUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateUserStoragePreference_result");
 
@@ -179258,7 +198377,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateUserStoragePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -179276,6 +198395,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -179300,6 +198420,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -179312,10 +198433,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -179359,6 +198482,7 @@
       }
     }
 
+    @Override
     public updateUserStoragePreference_result deepCopy() {
       return new updateUserStoragePreference_result(this);
     }
@@ -179393,11 +198517,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateUserStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateUserStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -179417,7 +198542,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -179438,6 +198564,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -179451,6 +198579,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -179467,8 +198596,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateUserStoragePreference_result)
         return this.equals((updateUserStoragePreference_result)that);
       return false;
@@ -179522,7 +198649,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179532,7 +198659,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -179545,10 +198672,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -179601,6 +198731,7 @@
     }
 
     private static class updateUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_resultStandardScheme getScheme() {
         return new updateUserStoragePreference_resultStandardScheme();
       }
@@ -179608,6 +198739,7 @@
 
     private static class updateUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -179646,6 +198778,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -179667,6 +198800,7 @@
     }
 
     private static class updateUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateUserStoragePreference_resultTupleScheme getScheme() {
         return new updateUserStoragePreference_resultTupleScheme();
       }
@@ -179714,6 +198848,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserComputeResourcePreference_args implements org.apache.thrift.TBase<deleteUserComputeResourcePreference_args, deleteUserComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserComputeResourcePreference_args");
 
@@ -179724,9 +198859,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userComputeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId; // 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 {
@@ -179745,6 +198880,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -179771,6 +198907,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -179783,10 +198920,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -179835,6 +198974,7 @@
       }
     }
 
+    @Override
     public deleteUserComputeResourcePreference_args deepCopy() {
       return new deleteUserComputeResourcePreference_args(this);
     }
@@ -179846,11 +198986,12 @@
       this.userComputeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserComputeResourcePreference_args setUserId(java.lang.String userId) {
+    public deleteUserComputeResourcePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -179870,11 +199011,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteUserComputeResourcePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteUserComputeResourcePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -179894,11 +199036,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserComputeResourceId() {
       return this.userComputeResourceId;
     }
 
-    public deleteUserComputeResourcePreference_args setUserComputeResourceId(java.lang.String userComputeResourceId) {
+    public deleteUserComputeResourcePreference_args setUserComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String userComputeResourceId) {
       this.userComputeResourceId = userComputeResourceId;
       return this;
     }
@@ -179918,7 +199061,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -179947,6 +199091,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -179963,6 +199109,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -179981,8 +199128,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserComputeResourcePreference_args)
         return this.equals((deleteUserComputeResourcePreference_args)that);
       return false;
@@ -180051,7 +199196,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180061,7 +199206,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180071,7 +199216,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserComputeResourceId()).compareTo(other.isSetUserComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetUserComputeResourceId(), other.isSetUserComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180084,14 +199229,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -180159,6 +199308,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_argsStandardScheme getScheme() {
         return new deleteUserComputeResourcePreference_argsStandardScheme();
       }
@@ -180166,6 +199316,7 @@
 
     private static class deleteUserComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -180211,6 +199362,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -180237,6 +199389,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_argsTupleScheme getScheme() {
         return new deleteUserComputeResourcePreference_argsTupleScheme();
       }
@@ -180269,6 +199422,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserComputeResourcePreference_result implements org.apache.thrift.TBase<deleteUserComputeResourcePreference_result, deleteUserComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserComputeResourcePreference_result");
 
@@ -180279,7 +199433,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserComputeResourcePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -180297,6 +199451,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -180321,6 +199476,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -180333,10 +199489,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -180380,6 +199538,7 @@
       }
     }
 
+    @Override
     public deleteUserComputeResourcePreference_result deepCopy() {
       return new deleteUserComputeResourcePreference_result(this);
     }
@@ -180414,11 +199573,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteUserComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteUserComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -180438,7 +199598,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -180459,6 +199620,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -180472,6 +199635,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -180488,8 +199652,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserComputeResourcePreference_result)
         return this.equals((deleteUserComputeResourcePreference_result)that);
       return false;
@@ -180543,7 +199705,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180553,7 +199715,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -180566,10 +199728,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -180622,6 +199787,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_resultStandardScheme getScheme() {
         return new deleteUserComputeResourcePreference_resultStandardScheme();
       }
@@ -180629,6 +199795,7 @@
 
     private static class deleteUserComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -180667,6 +199834,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -180688,6 +199856,7 @@
     }
 
     private static class deleteUserComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserComputeResourcePreference_resultTupleScheme getScheme() {
         return new deleteUserComputeResourcePreference_resultTupleScheme();
       }
@@ -180735,6 +199904,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserStoragePreference_args implements org.apache.thrift.TBase<deleteUserStoragePreference_args, deleteUserStoragePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserStoragePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserStoragePreference_args");
 
@@ -180745,9 +199915,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUserStoragePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserStoragePreference_argsTupleSchemeFactory();
 
-    public java.lang.String userId; // required
-    public java.lang.String gatewayID; // required
-    public java.lang.String userStorageId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayID; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userStorageId; // 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 {
@@ -180766,6 +199936,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER_ID
@@ -180792,6 +199963,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -180804,10 +199976,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -180856,6 +200030,7 @@
       }
     }
 
+    @Override
     public deleteUserStoragePreference_args deepCopy() {
       return new deleteUserStoragePreference_args(this);
     }
@@ -180867,11 +200042,12 @@
       this.userStorageId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUserStoragePreference_args setUserId(java.lang.String userId) {
+    public deleteUserStoragePreference_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -180891,11 +200067,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayID() {
       return this.gatewayID;
     }
 
-    public deleteUserStoragePreference_args setGatewayID(java.lang.String gatewayID) {
+    public deleteUserStoragePreference_args setGatewayID(@org.apache.thrift.annotation.Nullable java.lang.String gatewayID) {
       this.gatewayID = gatewayID;
       return this;
     }
@@ -180915,11 +200092,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserStorageId() {
       return this.userStorageId;
     }
 
-    public deleteUserStoragePreference_args setUserStorageId(java.lang.String userStorageId) {
+    public deleteUserStoragePreference_args setUserStorageId(@org.apache.thrift.annotation.Nullable java.lang.String userStorageId) {
       this.userStorageId = userStorageId;
       return this;
     }
@@ -180939,7 +200117,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER_ID:
         if (value == null) {
@@ -180968,6 +200147,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER_ID:
@@ -180984,6 +200165,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -181002,8 +200184,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserStoragePreference_args)
         return this.equals((deleteUserStoragePreference_args)that);
       return false;
@@ -181072,7 +200252,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181082,7 +200262,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayID()).compareTo(other.isSetGatewayID());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayID(), other.isSetGatewayID());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181092,7 +200272,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserStorageId()).compareTo(other.isSetUserStorageId());
+      lastComparison = java.lang.Boolean.compare(isSetUserStorageId(), other.isSetUserStorageId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181105,14 +200285,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -181180,6 +200364,7 @@
     }
 
     private static class deleteUserStoragePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_argsStandardScheme getScheme() {
         return new deleteUserStoragePreference_argsStandardScheme();
       }
@@ -181187,6 +200372,7 @@
 
     private static class deleteUserStoragePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserStoragePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserStoragePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -181232,6 +200418,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserStoragePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -181258,6 +200445,7 @@
     }
 
     private static class deleteUserStoragePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_argsTupleScheme getScheme() {
         return new deleteUserStoragePreference_argsTupleScheme();
       }
@@ -181290,6 +200478,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUserStoragePreference_result implements org.apache.thrift.TBase<deleteUserStoragePreference_result, deleteUserStoragePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUserStoragePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUserStoragePreference_result");
 
@@ -181300,7 +200489,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUserStoragePreference_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -181318,6 +200507,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -181342,6 +200532,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -181354,10 +200545,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -181401,6 +200594,7 @@
       }
     }
 
+    @Override
     public deleteUserStoragePreference_result deepCopy() {
       return new deleteUserStoragePreference_result(this);
     }
@@ -181435,11 +200629,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public deleteUserStoragePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public deleteUserStoragePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -181459,7 +200654,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -181480,6 +200676,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -181493,6 +200691,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -181509,8 +200708,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUserStoragePreference_result)
         return this.equals((deleteUserStoragePreference_result)that);
       return false;
@@ -181564,7 +200761,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181574,7 +200771,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -181587,10 +200784,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -181643,6 +200843,7 @@
     }
 
     private static class deleteUserStoragePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_resultStandardScheme getScheme() {
         return new deleteUserStoragePreference_resultStandardScheme();
       }
@@ -181650,6 +200851,7 @@
 
     private static class deleteUserStoragePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUserStoragePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUserStoragePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -181688,6 +200890,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUserStoragePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -181709,6 +200912,7 @@
     }
 
     private static class deleteUserStoragePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUserStoragePreference_resultTupleScheme getScheme() {
         return new deleteUserStoragePreference_resultTupleScheme();
       }
@@ -181756,6 +200960,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLatestQueueStatuses_args implements org.apache.thrift.TBase<getLatestQueueStatuses_args, getLatestQueueStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<getLatestQueueStatuses_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLatestQueueStatuses_args");
 
@@ -181779,6 +200984,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           default:
@@ -181799,6 +201005,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -181811,10 +201018,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -181835,6 +201044,7 @@
     public getLatestQueueStatuses_args(getLatestQueueStatuses_args other) {
     }
 
+    @Override
     public getLatestQueueStatuses_args deepCopy() {
       return new getLatestQueueStatuses_args(this);
     }
@@ -181843,11 +201053,14 @@
     public void clear() {
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       }
@@ -181855,6 +201068,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -181867,8 +201081,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLatestQueueStatuses_args)
         return this.equals((getLatestQueueStatuses_args)that);
       return false;
@@ -181901,14 +201113,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -181944,6 +201160,7 @@
     }
 
     private static class getLatestQueueStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_argsStandardScheme getScheme() {
         return new getLatestQueueStatuses_argsStandardScheme();
       }
@@ -181951,6 +201168,7 @@
 
     private static class getLatestQueueStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLatestQueueStatuses_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLatestQueueStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -181972,6 +201190,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLatestQueueStatuses_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -181983,6 +201202,7 @@
     }
 
     private static class getLatestQueueStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_argsTupleScheme getScheme() {
         return new getLatestQueueStatuses_argsTupleScheme();
       }
@@ -182006,6 +201226,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getLatestQueueStatuses_result implements org.apache.thrift.TBase<getLatestQueueStatuses_result, getLatestQueueStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<getLatestQueueStatuses_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getLatestQueueStatuses_result");
 
@@ -182015,8 +201236,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getLatestQueueStatuses_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getLatestQueueStatuses_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.status.QueueStatusModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.QueueStatusModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -182034,6 +201255,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -182058,6 +201280,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -182070,10 +201293,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -182120,6 +201345,7 @@
       }
     }
 
+    @Override
     public getLatestQueueStatuses_result deepCopy() {
       return new getLatestQueueStatuses_result(this);
     }
@@ -182134,6 +201360,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.status.QueueStatusModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -182145,11 +201372,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.status.QueueStatusModel> getSuccess() {
       return this.success;
     }
 
-    public getLatestQueueStatuses_result setSuccess(java.util.List<org.apache.airavata.model.status.QueueStatusModel> success) {
+    public getLatestQueueStatuses_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.QueueStatusModel> success) {
       this.success = success;
       return this;
     }
@@ -182169,11 +201397,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getLatestQueueStatuses_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getLatestQueueStatuses_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -182193,7 +201422,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -182214,6 +201444,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -182227,6 +201459,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -182243,8 +201476,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getLatestQueueStatuses_result)
         return this.equals((getLatestQueueStatuses_result)that);
       return false;
@@ -182300,7 +201531,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182310,7 +201541,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182323,10 +201554,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -182381,6 +201615,7 @@
     }
 
     private static class getLatestQueueStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_resultStandardScheme getScheme() {
         return new getLatestQueueStatuses_resultStandardScheme();
       }
@@ -182388,6 +201623,7 @@
 
     private static class getLatestQueueStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getLatestQueueStatuses_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getLatestQueueStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -182401,14 +201637,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list426 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list426.size);
-                  org.apache.airavata.model.status.QueueStatusModel _elem427;
-                  for (int _i428 = 0; _i428 < _list426.size; ++_i428)
+                  org.apache.thrift.protocol.TList _list452 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list452.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel _elem453;
+                  for (int _i454 = 0; _i454 < _list452.size; ++_i454)
                   {
-                    _elem427 = new org.apache.airavata.model.status.QueueStatusModel();
-                    _elem427.read(iprot);
-                    struct.success.add(_elem427);
+                    _elem453 = new org.apache.airavata.model.status.QueueStatusModel();
+                    _elem453.read(iprot);
+                    struct.success.add(_elem453);
                   }
                   iprot.readListEnd();
                 }
@@ -182437,6 +201673,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getLatestQueueStatuses_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -182445,9 +201682,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.status.QueueStatusModel _iter429 : struct.success)
+            for (org.apache.airavata.model.status.QueueStatusModel _iter455 : struct.success)
             {
-              _iter429.write(oprot);
+              _iter455.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -182465,6 +201702,7 @@
     }
 
     private static class getLatestQueueStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getLatestQueueStatuses_resultTupleScheme getScheme() {
         return new getLatestQueueStatuses_resultTupleScheme();
       }
@@ -182486,9 +201724,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.status.QueueStatusModel _iter430 : struct.success)
+            for (org.apache.airavata.model.status.QueueStatusModel _iter456 : struct.success)
             {
-              _iter430.write(oprot);
+              _iter456.write(oprot);
             }
           }
         }
@@ -182503,14 +201741,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list431 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list431.size);
-            org.apache.airavata.model.status.QueueStatusModel _elem432;
-            for (int _i433 = 0; _i433 < _list431.size; ++_i433)
+            org.apache.thrift.protocol.TList _list457 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list457.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel _elem458;
+            for (int _i459 = 0; _i459 < _list457.size; ++_i459)
             {
-              _elem432 = new org.apache.airavata.model.status.QueueStatusModel();
-              _elem432.read(iprot);
-              struct.success.add(_elem432);
+              _elem458 = new org.apache.airavata.model.status.QueueStatusModel();
+              _elem458.read(iprot);
+              struct.success.add(_elem458);
             }
           }
           struct.setSuccessIsSet(true);
@@ -182528,6 +201766,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerQueueStatuses_args implements org.apache.thrift.TBase<registerQueueStatuses_args, registerQueueStatuses_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerQueueStatuses_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerQueueStatuses_args");
 
@@ -182536,7 +201775,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerQueueStatuses_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerQueueStatuses_argsTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses; // 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 {
@@ -182553,6 +201792,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // QUEUE_STATUSES
@@ -182575,6 +201815,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -182587,10 +201828,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -182630,6 +201873,7 @@
       }
     }
 
+    @Override
     public registerQueueStatuses_args deepCopy() {
       return new registerQueueStatuses_args(this);
     }
@@ -182643,6 +201887,7 @@
       return (this.queueStatuses == null) ? 0 : this.queueStatuses.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.status.QueueStatusModel> getQueueStatusesIterator() {
       return (this.queueStatuses == null) ? null : this.queueStatuses.iterator();
     }
@@ -182654,11 +201899,12 @@
       this.queueStatuses.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.status.QueueStatusModel> getQueueStatuses() {
       return this.queueStatuses;
     }
 
-    public registerQueueStatuses_args setQueueStatuses(java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses) {
+    public registerQueueStatuses_args setQueueStatuses(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.status.QueueStatusModel> queueStatuses) {
       this.queueStatuses = queueStatuses;
       return this;
     }
@@ -182678,7 +201924,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case QUEUE_STATUSES:
         if (value == null) {
@@ -182691,6 +201938,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case QUEUE_STATUSES:
@@ -182701,6 +201950,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -182715,8 +201965,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerQueueStatuses_args)
         return this.equals((registerQueueStatuses_args)that);
       return false;
@@ -182759,7 +202007,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetQueueStatuses()).compareTo(other.isSetQueueStatuses());
+      lastComparison = java.lang.Boolean.compare(isSetQueueStatuses(), other.isSetQueueStatuses());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -182772,14 +202020,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -182825,6 +202077,7 @@
     }
 
     private static class registerQueueStatuses_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerQueueStatuses_argsStandardScheme getScheme() {
         return new registerQueueStatuses_argsStandardScheme();
       }
@@ -182832,6 +202085,7 @@
 
     private static class registerQueueStatuses_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerQueueStatuses_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerQueueStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -182845,14 +202099,14 @@
             case 1: // QUEUE_STATUSES
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list434 = iprot.readListBegin();
-                  struct.queueStatuses = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list434.size);
-                  org.apache.airavata.model.status.QueueStatusModel _elem435;
-                  for (int _i436 = 0; _i436 < _list434.size; ++_i436)
+                  org.apache.thrift.protocol.TList _list460 = iprot.readListBegin();
+                  struct.queueStatuses = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list460.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel _elem461;
+                  for (int _i462 = 0; _i462 < _list460.size; ++_i462)
                   {
-                    _elem435 = new org.apache.airavata.model.status.QueueStatusModel();
-                    _elem435.read(iprot);
-                    struct.queueStatuses.add(_elem435);
+                    _elem461 = new org.apache.airavata.model.status.QueueStatusModel();
+                    _elem461.read(iprot);
+                    struct.queueStatuses.add(_elem461);
                   }
                   iprot.readListEnd();
                 }
@@ -182872,6 +202126,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerQueueStatuses_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -182880,9 +202135,9 @@
           oprot.writeFieldBegin(QUEUE_STATUSES_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.queueStatuses.size()));
-            for (org.apache.airavata.model.status.QueueStatusModel _iter437 : struct.queueStatuses)
+            for (org.apache.airavata.model.status.QueueStatusModel _iter463 : struct.queueStatuses)
             {
-              _iter437.write(oprot);
+              _iter463.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -182895,6 +202150,7 @@
     }
 
     private static class registerQueueStatuses_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerQueueStatuses_argsTupleScheme getScheme() {
         return new registerQueueStatuses_argsTupleScheme();
       }
@@ -182907,9 +202163,9 @@
         org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         {
           oprot.writeI32(struct.queueStatuses.size());
-          for (org.apache.airavata.model.status.QueueStatusModel _iter438 : struct.queueStatuses)
+          for (org.apache.airavata.model.status.QueueStatusModel _iter464 : struct.queueStatuses)
           {
-            _iter438.write(oprot);
+            _iter464.write(oprot);
           }
         }
       }
@@ -182918,14 +202174,14 @@
       public void read(org.apache.thrift.protocol.TProtocol prot, registerQueueStatuses_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
         {
-          org.apache.thrift.protocol.TList _list439 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-          struct.queueStatuses = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list439.size);
-          org.apache.airavata.model.status.QueueStatusModel _elem440;
-          for (int _i441 = 0; _i441 < _list439.size; ++_i441)
+          org.apache.thrift.protocol.TList _list465 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+          struct.queueStatuses = new java.util.ArrayList<org.apache.airavata.model.status.QueueStatusModel>(_list465.size);
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel _elem466;
+          for (int _i467 = 0; _i467 < _list465.size; ++_i467)
           {
-            _elem440 = new org.apache.airavata.model.status.QueueStatusModel();
-            _elem440.read(iprot);
-            struct.queueStatuses.add(_elem440);
+            _elem466 = new org.apache.airavata.model.status.QueueStatusModel();
+            _elem466.read(iprot);
+            struct.queueStatuses.add(_elem466);
           }
         }
         struct.setQueueStatusesIsSet(true);
@@ -182937,6 +202193,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerQueueStatuses_result implements org.apache.thrift.TBase<registerQueueStatuses_result, registerQueueStatuses_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerQueueStatuses_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerQueueStatuses_result");
 
@@ -182945,7 +202202,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerQueueStatuses_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerQueueStatuses_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -182962,6 +202219,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -182984,6 +202242,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -182996,10 +202255,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -183034,6 +202295,7 @@
       }
     }
 
+    @Override
     public registerQueueStatuses_result deepCopy() {
       return new registerQueueStatuses_result(this);
     }
@@ -183043,11 +202305,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerQueueStatuses_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerQueueStatuses_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -183067,7 +202330,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -183080,6 +202344,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -183090,6 +202356,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -183104,8 +202371,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerQueueStatuses_result)
         return this.equals((registerQueueStatuses_result)that);
       return false;
@@ -183148,7 +202413,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -183161,10 +202426,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -183211,6 +202479,7 @@
     }
 
     private static class registerQueueStatuses_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerQueueStatuses_resultStandardScheme getScheme() {
         return new registerQueueStatuses_resultStandardScheme();
       }
@@ -183218,6 +202487,7 @@
 
     private static class registerQueueStatuses_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerQueueStatuses_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerQueueStatuses_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -183248,6 +202518,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerQueueStatuses_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -183264,6 +202535,7 @@
     }
 
     private static class registerQueueStatuses_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerQueueStatuses_resultTupleScheme getScheme() {
         return new registerQueueStatuses_resultTupleScheme();
       }
@@ -183301,6 +202573,970 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getQueueStatus_args implements org.apache.thrift.TBase<getQueueStatus_args, getQueueStatus_args._Fields>, java.io.Serializable, Cloneable, Comparable<getQueueStatus_args>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getQueueStatus_args");
+
+    private static final org.apache.thrift.protocol.TField HOST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("hostName", org.apache.thrift.protocol.TType.STRING, (short)1);
+    private static final org.apache.thrift.protocol.TField QUEUE_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("queueName", org.apache.thrift.protocol.TType.STRING, (short)2);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getQueueStatus_argsStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getQueueStatus_argsTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable java.lang.String hostName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String queueName; // 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 {
+      HOST_NAME((short)1, "hostName"),
+      QUEUE_NAME((short)2, "queueName");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 1: // HOST_NAME
+            return HOST_NAME;
+          case 2: // QUEUE_NAME
+            return QUEUE_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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
+      tmpMap.put(_Fields.HOST_NAME, new org.apache.thrift.meta_data.FieldMetaData("hostName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      tmpMap.put(_Fields.QUEUE_NAME, new org.apache.thrift.meta_data.FieldMetaData("queueName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+          new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getQueueStatus_args.class, metaDataMap);
+    }
+
+    public getQueueStatus_args() {
+    }
+
+    public getQueueStatus_args(
+      java.lang.String hostName,
+      java.lang.String queueName)
+    {
+      this();
+      this.hostName = hostName;
+      this.queueName = queueName;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getQueueStatus_args(getQueueStatus_args other) {
+      if (other.isSetHostName()) {
+        this.hostName = other.hostName;
+      }
+      if (other.isSetQueueName()) {
+        this.queueName = other.queueName;
+      }
+    }
+
+    @Override
+    public getQueueStatus_args deepCopy() {
+      return new getQueueStatus_args(this);
+    }
+
+    @Override
+    public void clear() {
+      this.hostName = null;
+      this.queueName = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getHostName() {
+      return this.hostName;
+    }
+
+    public getQueueStatus_args setHostName(@org.apache.thrift.annotation.Nullable java.lang.String hostName) {
+      this.hostName = hostName;
+      return this;
+    }
+
+    public void unsetHostName() {
+      this.hostName = null;
+    }
+
+    /** Returns true if field hostName is set (has been assigned a value) and false otherwise */
+    public boolean isSetHostName() {
+      return this.hostName != null;
+    }
+
+    public void setHostNameIsSet(boolean value) {
+      if (!value) {
+        this.hostName = null;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public java.lang.String getQueueName() {
+      return this.queueName;
+    }
+
+    public getQueueStatus_args setQueueName(@org.apache.thrift.annotation.Nullable java.lang.String queueName) {
+      this.queueName = queueName;
+      return this;
+    }
+
+    public void unsetQueueName() {
+      this.queueName = null;
+    }
+
+    /** Returns true if field queueName is set (has been assigned a value) and false otherwise */
+    public boolean isSetQueueName() {
+      return this.queueName != null;
+    }
+
+    public void setQueueNameIsSet(boolean value) {
+      if (!value) {
+        this.queueName = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case HOST_NAME:
+        if (value == null) {
+          unsetHostName();
+        } else {
+          setHostName((java.lang.String)value);
+        }
+        break;
+
+      case QUEUE_NAME:
+        if (value == null) {
+          unsetQueueName();
+        } else {
+          setQueueName((java.lang.String)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case HOST_NAME:
+        return getHostName();
+
+      case QUEUE_NAME:
+        return getQueueName();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case HOST_NAME:
+        return isSetHostName();
+      case QUEUE_NAME:
+        return isSetQueueName();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getQueueStatus_args)
+        return this.equals((getQueueStatus_args)that);
+      return false;
+    }
+
+    public boolean equals(getQueueStatus_args that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      boolean this_present_hostName = true && this.isSetHostName();
+      boolean that_present_hostName = true && that.isSetHostName();
+      if (this_present_hostName || that_present_hostName) {
+        if (!(this_present_hostName && that_present_hostName))
+          return false;
+        if (!this.hostName.equals(that.hostName))
+          return false;
+      }
+
+      boolean this_present_queueName = true && this.isSetQueueName();
+      boolean that_present_queueName = true && that.isSetQueueName();
+      if (this_present_queueName || that_present_queueName) {
+        if (!(this_present_queueName && that_present_queueName))
+          return false;
+        if (!this.queueName.equals(that.queueName))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetHostName()) ? 131071 : 524287);
+      if (isSetHostName())
+        hashCode = hashCode * 8191 + hostName.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetQueueName()) ? 131071 : 524287);
+      if (isSetQueueName())
+        hashCode = hashCode * 8191 + queueName.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getQueueStatus_args other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetHostName(), other.isSetHostName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetHostName()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.hostName, other.hostName);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      lastComparison = java.lang.Boolean.compare(isSetQueueName(), other.isSetQueueName());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetQueueName()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.queueName, other.queueName);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    @Override
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+    }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getQueueStatus_args(");
+      boolean first = true;
+
+      sb.append("hostName:");
+      if (this.hostName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.hostName);
+      }
+      first = false;
+      if (!first) sb.append(", ");
+      sb.append("queueName:");
+      if (this.queueName == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.queueName);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      if (hostName == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'hostName' was not present! Struct: " + toString());
+      }
+      if (queueName == null) {
+        throw new org.apache.thrift.protocol.TProtocolException("Required field 'queueName' was not present! Struct: " + toString());
+      }
+      // 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, java.lang.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 getQueueStatus_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getQueueStatus_argsStandardScheme getScheme() {
+        return new getQueueStatus_argsStandardScheme();
+      }
+    }
+
+    private static class getQueueStatus_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getQueueStatus_args> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getQueueStatus_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: // HOST_NAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.hostName = iprot.readString();
+                struct.setHostNameIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 2: // QUEUE_NAME
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+                struct.queueName = iprot.readString();
+                struct.setQueueNameIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getQueueStatus_args struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.hostName != null) {
+          oprot.writeFieldBegin(HOST_NAME_FIELD_DESC);
+          oprot.writeString(struct.hostName);
+          oprot.writeFieldEnd();
+        }
+        if (struct.queueName != null) {
+          oprot.writeFieldBegin(QUEUE_NAME_FIELD_DESC);
+          oprot.writeString(struct.queueName);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getQueueStatus_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getQueueStatus_argsTupleScheme getScheme() {
+        return new getQueueStatus_argsTupleScheme();
+      }
+    }
+
+    private static class getQueueStatus_argsTupleScheme extends org.apache.thrift.scheme.TupleScheme<getQueueStatus_args> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getQueueStatus_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        oprot.writeString(struct.hostName);
+        oprot.writeString(struct.queueName);
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getQueueStatus_args struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        struct.hostName = iprot.readString();
+        struct.setHostNameIsSet(true);
+        struct.queueName = iprot.readString();
+        struct.setQueueNameIsSet(true);
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+  public static class getQueueStatus_result implements org.apache.thrift.TBase<getQueueStatus_result, getQueueStatus_result._Fields>, java.io.Serializable, Cloneable, Comparable<getQueueStatus_result>   {
+    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getQueueStatus_result");
+
+    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC = new org.apache.thrift.protocol.TField("success", org.apache.thrift.protocol.TType.STRUCT, (short)0);
+    private static final org.apache.thrift.protocol.TField RSE_FIELD_DESC = new org.apache.thrift.protocol.TField("rse", org.apache.thrift.protocol.TType.STRUCT, (short)1);
+
+    private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getQueueStatus_resultStandardSchemeFactory();
+    private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getQueueStatus_resultTupleSchemeFactory();
+
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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"),
+      RSE((short)1, "rse");
+
+      private static final java.util.Map<java.lang.String, _Fields> byName = new java.util.HashMap<java.lang.String, _Fields>();
+
+      static {
+        for (_Fields field : java.util.EnumSet.allOf(_Fields.class)) {
+          byName.put(field.getFieldName(), field);
+        }
+      }
+
+      /**
+       * Find the _Fields constant that matches fieldId, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByThriftId(int fieldId) {
+        switch(fieldId) {
+          case 0: // SUCCESS
+            return SUCCESS;
+          case 1: // RSE
+            return RSE;
+          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 java.lang.IllegalArgumentException("Field " + fieldId + " doesn't exist!");
+        return fields;
+      }
+
+      /**
+       * Find the _Fields constant that matches name, or null if its not found.
+       */
+      @org.apache.thrift.annotation.Nullable
+      public static _Fields findByName(java.lang.String name) {
+        return byName.get(name);
+      }
+
+      private final short _thriftId;
+      private final java.lang.String _fieldName;
+
+      _Fields(short thriftId, java.lang.String fieldName) {
+        _thriftId = thriftId;
+        _fieldName = fieldName;
+      }
+
+      @Override
+      public short getThriftFieldId() {
+        return _thriftId;
+      }
+
+      @Override
+      public java.lang.String getFieldName() {
+        return _fieldName;
+      }
+    }
+
+    // isset id assignments
+    public static final java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
+    static {
+      java.util.Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new java.util.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.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.model.status.QueueStatusModel.class)));
+      tmpMap.put(_Fields.RSE, new org.apache.thrift.meta_data.FieldMetaData("rse", org.apache.thrift.TFieldRequirementType.DEFAULT, 
+          new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, org.apache.airavata.registry.api.exception.RegistryServiceException.class)));
+      metaDataMap = java.util.Collections.unmodifiableMap(tmpMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getQueueStatus_result.class, metaDataMap);
+    }
+
+    public getQueueStatus_result() {
+    }
+
+    public getQueueStatus_result(
+      org.apache.airavata.model.status.QueueStatusModel success,
+      org.apache.airavata.registry.api.exception.RegistryServiceException rse)
+    {
+      this();
+      this.success = success;
+      this.rse = rse;
+    }
+
+    /**
+     * Performs a deep copy on <i>other</i>.
+     */
+    public getQueueStatus_result(getQueueStatus_result other) {
+      if (other.isSetSuccess()) {
+        this.success = new org.apache.airavata.model.status.QueueStatusModel(other.success);
+      }
+      if (other.isSetRse()) {
+        this.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException(other.rse);
+      }
+    }
+
+    @Override
+    public getQueueStatus_result deepCopy() {
+      return new getQueueStatus_result(this);
+    }
+
+    @Override
+    public void clear() {
+      this.success = null;
+      this.rse = null;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.model.status.QueueStatusModel getSuccess() {
+      return this.success;
+    }
+
+    public getQueueStatus_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.status.QueueStatusModel 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;
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
+      return this.rse;
+    }
+
+    public getQueueStatus_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+      this.rse = rse;
+      return this;
+    }
+
+    public void unsetRse() {
+      this.rse = null;
+    }
+
+    /** Returns true if field rse is set (has been assigned a value) and false otherwise */
+    public boolean isSetRse() {
+      return this.rse != null;
+    }
+
+    public void setRseIsSet(boolean value) {
+      if (!value) {
+        this.rse = null;
+      }
+    }
+
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
+      switch (field) {
+      case SUCCESS:
+        if (value == null) {
+          unsetSuccess();
+        } else {
+          setSuccess((org.apache.airavata.model.status.QueueStatusModel)value);
+        }
+        break;
+
+      case RSE:
+        if (value == null) {
+          unsetRse();
+        } else {
+          setRse((org.apache.airavata.registry.api.exception.RegistryServiceException)value);
+        }
+        break;
+
+      }
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public java.lang.Object getFieldValue(_Fields field) {
+      switch (field) {
+      case SUCCESS:
+        return getSuccess();
+
+      case RSE:
+        return getRse();
+
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
+    public boolean isSet(_Fields field) {
+      if (field == null) {
+        throw new java.lang.IllegalArgumentException();
+      }
+
+      switch (field) {
+      case SUCCESS:
+        return isSetSuccess();
+      case RSE:
+        return isSetRse();
+      }
+      throw new java.lang.IllegalStateException();
+    }
+
+    @Override
+    public boolean equals(java.lang.Object that) {
+      if (that instanceof getQueueStatus_result)
+        return this.equals((getQueueStatus_result)that);
+      return false;
+    }
+
+    public boolean equals(getQueueStatus_result that) {
+      if (that == null)
+        return false;
+      if (this == that)
+        return true;
+
+      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_rse = true && this.isSetRse();
+      boolean that_present_rse = true && that.isSetRse();
+      if (this_present_rse || that_present_rse) {
+        if (!(this_present_rse && that_present_rse))
+          return false;
+        if (!this.rse.equals(that.rse))
+          return false;
+      }
+
+      return true;
+    }
+
+    @Override
+    public int hashCode() {
+      int hashCode = 1;
+
+      hashCode = hashCode * 8191 + ((isSetSuccess()) ? 131071 : 524287);
+      if (isSetSuccess())
+        hashCode = hashCode * 8191 + success.hashCode();
+
+      hashCode = hashCode * 8191 + ((isSetRse()) ? 131071 : 524287);
+      if (isSetRse())
+        hashCode = hashCode * 8191 + rse.hashCode();
+
+      return hashCode;
+    }
+
+    @Override
+    public int compareTo(getQueueStatus_result other) {
+      if (!getClass().equals(other.getClass())) {
+        return getClass().getName().compareTo(other.getClass().getName());
+      }
+
+      int lastComparison = 0;
+
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), 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 = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+      if (isSetRse()) {
+        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.rse, other.rse);
+        if (lastComparison != 0) {
+          return lastComparison;
+        }
+      }
+      return 0;
+    }
+
+    @org.apache.thrift.annotation.Nullable
+    @Override
+    public _Fields fieldForId(int fieldId) {
+      return _Fields.findByThriftId(fieldId);
+    }
+
+    @Override
+    public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
+      scheme(iprot).read(iprot, this);
+    }
+
+    public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
+      scheme(oprot).write(oprot, this);
+      }
+
+    @Override
+    public java.lang.String toString() {
+      java.lang.StringBuilder sb = new java.lang.StringBuilder("getQueueStatus_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("rse:");
+      if (this.rse == null) {
+        sb.append("null");
+      } else {
+        sb.append(this.rse);
+      }
+      first = false;
+      sb.append(")");
+      return sb.toString();
+    }
+
+    public void validate() throws org.apache.thrift.TException {
+      // check for required fields
+      // check for sub-struct validity
+      if (success != null) {
+        success.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, java.lang.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 getQueueStatus_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getQueueStatus_resultStandardScheme getScheme() {
+        return new getQueueStatus_resultStandardScheme();
+      }
+    }
+
+    private static class getQueueStatus_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getQueueStatus_result> {
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol iprot, getQueueStatus_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.STRUCT) {
+                struct.success = new org.apache.airavata.model.status.QueueStatusModel();
+                struct.success.read(iprot);
+                struct.setSuccessIsSet(true);
+              } else { 
+                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+              }
+              break;
+            case 1: // RSE
+              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
+                struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+                struct.rse.read(iprot);
+                struct.setRseIsSet(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();
+      }
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol oprot, getQueueStatus_result struct) throws org.apache.thrift.TException {
+        struct.validate();
+
+        oprot.writeStructBegin(STRUCT_DESC);
+        if (struct.success != null) {
+          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
+          struct.success.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        if (struct.rse != null) {
+          oprot.writeFieldBegin(RSE_FIELD_DESC);
+          struct.rse.write(oprot);
+          oprot.writeFieldEnd();
+        }
+        oprot.writeFieldStop();
+        oprot.writeStructEnd();
+      }
+
+    }
+
+    private static class getQueueStatus_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
+      public getQueueStatus_resultTupleScheme getScheme() {
+        return new getQueueStatus_resultTupleScheme();
+      }
+    }
+
+    private static class getQueueStatus_resultTupleScheme extends org.apache.thrift.scheme.TupleScheme<getQueueStatus_result> {
+
+      @Override
+      public void write(org.apache.thrift.protocol.TProtocol prot, getQueueStatus_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol oprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet optionals = new java.util.BitSet();
+        if (struct.isSetSuccess()) {
+          optionals.set(0);
+        }
+        if (struct.isSetRse()) {
+          optionals.set(1);
+        }
+        oprot.writeBitSet(optionals, 2);
+        if (struct.isSetSuccess()) {
+          struct.success.write(oprot);
+        }
+        if (struct.isSetRse()) {
+          struct.rse.write(oprot);
+        }
+      }
+
+      @Override
+      public void read(org.apache.thrift.protocol.TProtocol prot, getQueueStatus_result struct) throws org.apache.thrift.TException {
+        org.apache.thrift.protocol.TTupleProtocol iprot = (org.apache.thrift.protocol.TTupleProtocol) prot;
+        java.util.BitSet incoming = iprot.readBitSet(2);
+        if (incoming.get(0)) {
+          struct.success = new org.apache.airavata.model.status.QueueStatusModel();
+          struct.success.read(iprot);
+          struct.setSuccessIsSet(true);
+        }
+        if (incoming.get(1)) {
+          struct.rse = new org.apache.airavata.registry.api.exception.RegistryServiceException();
+          struct.rse.read(iprot);
+          struct.setRseIsSet(true);
+        }
+      }
+    }
+
+    private static <S extends org.apache.thrift.scheme.IScheme> S scheme(org.apache.thrift.protocol.TProtocol proto) {
+      return (org.apache.thrift.scheme.StandardScheme.class.equals(proto.getScheme()) ? STANDARD_SCHEME_FACTORY : TUPLE_SCHEME_FACTORY).getScheme();
+    }
+  }
+
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerDataProduct_args implements org.apache.thrift.TBase<registerDataProduct_args, registerDataProduct_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerDataProduct_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerDataProduct_args");
 
@@ -183309,7 +203545,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerDataProduct_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerDataProduct_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.replica.DataProductModel dataProductModel; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel dataProductModel; // 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 {
@@ -183326,6 +203562,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_PRODUCT_MODEL
@@ -183348,6 +203585,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -183360,10 +203598,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -183398,6 +203638,7 @@
       }
     }
 
+    @Override
     public registerDataProduct_args deepCopy() {
       return new registerDataProduct_args(this);
     }
@@ -183407,11 +203648,12 @@
       this.dataProductModel = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataProductModel getDataProductModel() {
       return this.dataProductModel;
     }
 
-    public registerDataProduct_args setDataProductModel(org.apache.airavata.model.data.replica.DataProductModel dataProductModel) {
+    public registerDataProduct_args setDataProductModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel dataProductModel) {
       this.dataProductModel = dataProductModel;
       return this;
     }
@@ -183431,7 +203673,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_PRODUCT_MODEL:
         if (value == null) {
@@ -183444,6 +203687,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_PRODUCT_MODEL:
@@ -183454,6 +203699,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -183468,8 +203714,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerDataProduct_args)
         return this.equals((registerDataProduct_args)that);
       return false;
@@ -183512,7 +203756,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataProductModel()).compareTo(other.isSetDataProductModel());
+      lastComparison = java.lang.Boolean.compare(isSetDataProductModel(), other.isSetDataProductModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -183525,14 +203769,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -183581,6 +203829,7 @@
     }
 
     private static class registerDataProduct_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_argsStandardScheme getScheme() {
         return new registerDataProduct_argsStandardScheme();
       }
@@ -183588,6 +203837,7 @@
 
     private static class registerDataProduct_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerDataProduct_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerDataProduct_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -183618,6 +203868,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerDataProduct_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -183634,6 +203885,7 @@
     }
 
     private static class registerDataProduct_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_argsTupleScheme getScheme() {
         return new registerDataProduct_argsTupleScheme();
       }
@@ -183661,6 +203913,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerDataProduct_result implements org.apache.thrift.TBase<registerDataProduct_result, registerDataProduct_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerDataProduct_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerDataProduct_result");
 
@@ -183670,8 +203923,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerDataProduct_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerDataProduct_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -183689,6 +203942,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -183713,6 +203967,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -183725,10 +203980,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -183770,6 +204027,7 @@
       }
     }
 
+    @Override
     public registerDataProduct_result deepCopy() {
       return new registerDataProduct_result(this);
     }
@@ -183780,11 +204038,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerDataProduct_result setSuccess(java.lang.String success) {
+    public registerDataProduct_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -183804,11 +204063,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerDataProduct_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerDataProduct_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -183828,7 +204088,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -183849,6 +204110,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -183862,6 +204125,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -183878,8 +204142,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerDataProduct_result)
         return this.equals((registerDataProduct_result)that);
       return false;
@@ -183935,7 +204197,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -183945,7 +204207,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -183958,10 +204220,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -184016,6 +204281,7 @@
     }
 
     private static class registerDataProduct_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_resultStandardScheme getScheme() {
         return new registerDataProduct_resultStandardScheme();
       }
@@ -184023,6 +204289,7 @@
 
     private static class registerDataProduct_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerDataProduct_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerDataProduct_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -184061,6 +204328,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerDataProduct_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -184082,6 +204350,7 @@
     }
 
     private static class registerDataProduct_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerDataProduct_resultTupleScheme getScheme() {
         return new registerDataProduct_resultTupleScheme();
       }
@@ -184129,6 +204398,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDataProduct_args implements org.apache.thrift.TBase<getDataProduct_args, getDataProduct_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDataProduct_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDataProduct_args");
 
@@ -184137,7 +204407,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDataProduct_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDataProduct_argsTupleSchemeFactory();
 
-    public java.lang.String dataProductUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dataProductUri; // 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 {
@@ -184154,6 +204424,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DATA_PRODUCT_URI
@@ -184176,6 +204447,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -184188,10 +204460,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -184226,6 +204500,7 @@
       }
     }
 
+    @Override
     public getDataProduct_args deepCopy() {
       return new getDataProduct_args(this);
     }
@@ -184235,11 +204510,12 @@
       this.dataProductUri = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDataProductUri() {
       return this.dataProductUri;
     }
 
-    public getDataProduct_args setDataProductUri(java.lang.String dataProductUri) {
+    public getDataProduct_args setDataProductUri(@org.apache.thrift.annotation.Nullable java.lang.String dataProductUri) {
       this.dataProductUri = dataProductUri;
       return this;
     }
@@ -184259,7 +204535,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DATA_PRODUCT_URI:
         if (value == null) {
@@ -184272,6 +204549,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DATA_PRODUCT_URI:
@@ -184282,6 +204561,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -184296,8 +204576,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDataProduct_args)
         return this.equals((getDataProduct_args)that);
       return false;
@@ -184340,7 +204618,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDataProductUri()).compareTo(other.isSetDataProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetDataProductUri(), other.isSetDataProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184353,14 +204631,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -184406,6 +204688,7 @@
     }
 
     private static class getDataProduct_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_argsStandardScheme getScheme() {
         return new getDataProduct_argsStandardScheme();
       }
@@ -184413,6 +204696,7 @@
 
     private static class getDataProduct_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDataProduct_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDataProduct_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -184442,6 +204726,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDataProduct_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -184458,6 +204743,7 @@
     }
 
     private static class getDataProduct_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_argsTupleScheme getScheme() {
         return new getDataProduct_argsTupleScheme();
       }
@@ -184484,6 +204770,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDataProduct_result implements org.apache.thrift.TBase<getDataProduct_result, getDataProduct_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDataProduct_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDataProduct_result");
 
@@ -184493,8 +204780,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDataProduct_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDataProduct_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.replica.DataProductModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -184512,6 +204799,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -184536,6 +204824,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -184548,10 +204837,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -184593,6 +204884,7 @@
       }
     }
 
+    @Override
     public getDataProduct_result deepCopy() {
       return new getDataProduct_result(this);
     }
@@ -184603,11 +204895,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataProductModel getSuccess() {
       return this.success;
     }
 
-    public getDataProduct_result setSuccess(org.apache.airavata.model.data.replica.DataProductModel success) {
+    public getDataProduct_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success) {
       this.success = success;
       return this;
     }
@@ -184627,11 +204920,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getDataProduct_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getDataProduct_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -184651,7 +204945,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -184672,6 +204967,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -184685,6 +204982,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -184701,8 +204999,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDataProduct_result)
         return this.equals((getDataProduct_result)that);
       return false;
@@ -184758,7 +205054,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184768,7 +205064,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -184781,10 +205077,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -184842,6 +205141,7 @@
     }
 
     private static class getDataProduct_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_resultStandardScheme getScheme() {
         return new getDataProduct_resultStandardScheme();
       }
@@ -184849,6 +205149,7 @@
 
     private static class getDataProduct_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDataProduct_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDataProduct_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -184888,6 +205189,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDataProduct_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -184909,6 +205211,7 @@
     }
 
     private static class getDataProduct_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDataProduct_resultTupleScheme getScheme() {
         return new getDataProduct_resultTupleScheme();
       }
@@ -184957,6 +205260,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerReplicaLocation_args implements org.apache.thrift.TBase<registerReplicaLocation_args, registerReplicaLocation_args._Fields>, java.io.Serializable, Cloneable, Comparable<registerReplicaLocation_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerReplicaLocation_args");
 
@@ -184965,7 +205269,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerReplicaLocation_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerReplicaLocation_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel; // 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 {
@@ -184982,6 +205286,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // REPLICA_LOCATION_MODEL
@@ -185004,6 +205309,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -185016,10 +205322,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -185054,6 +205362,7 @@
       }
     }
 
+    @Override
     public registerReplicaLocation_args deepCopy() {
       return new registerReplicaLocation_args(this);
     }
@@ -185063,11 +205372,12 @@
       this.replicaLocationModel = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataReplicaLocationModel getReplicaLocationModel() {
       return this.replicaLocationModel;
     }
 
-    public registerReplicaLocation_args setReplicaLocationModel(org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) {
+    public registerReplicaLocation_args setReplicaLocationModel(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataReplicaLocationModel replicaLocationModel) {
       this.replicaLocationModel = replicaLocationModel;
       return this;
     }
@@ -185087,7 +205397,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case REPLICA_LOCATION_MODEL:
         if (value == null) {
@@ -185100,6 +205411,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case REPLICA_LOCATION_MODEL:
@@ -185110,6 +205423,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -185124,8 +205438,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerReplicaLocation_args)
         return this.equals((registerReplicaLocation_args)that);
       return false;
@@ -185168,7 +205480,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetReplicaLocationModel()).compareTo(other.isSetReplicaLocationModel());
+      lastComparison = java.lang.Boolean.compare(isSetReplicaLocationModel(), other.isSetReplicaLocationModel());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185181,14 +205493,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -185237,6 +205553,7 @@
     }
 
     private static class registerReplicaLocation_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_argsStandardScheme getScheme() {
         return new registerReplicaLocation_argsStandardScheme();
       }
@@ -185244,6 +205561,7 @@
 
     private static class registerReplicaLocation_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerReplicaLocation_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerReplicaLocation_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -185274,6 +205592,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerReplicaLocation_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -185290,6 +205609,7 @@
     }
 
     private static class registerReplicaLocation_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_argsTupleScheme getScheme() {
         return new registerReplicaLocation_argsTupleScheme();
       }
@@ -185317,6 +205637,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class registerReplicaLocation_result implements org.apache.thrift.TBase<registerReplicaLocation_result, registerReplicaLocation_result._Fields>, java.io.Serializable, Cloneable, Comparable<registerReplicaLocation_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("registerReplicaLocation_result");
 
@@ -185326,8 +205647,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new registerReplicaLocation_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new registerReplicaLocation_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -185345,6 +205666,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -185369,6 +205691,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -185381,10 +205704,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -185426,6 +205751,7 @@
       }
     }
 
+    @Override
     public registerReplicaLocation_result deepCopy() {
       return new registerReplicaLocation_result(this);
     }
@@ -185436,11 +205762,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public registerReplicaLocation_result setSuccess(java.lang.String success) {
+    public registerReplicaLocation_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -185460,11 +205787,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public registerReplicaLocation_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public registerReplicaLocation_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -185484,7 +205812,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -185505,6 +205834,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -185518,6 +205849,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -185534,8 +205866,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof registerReplicaLocation_result)
         return this.equals((registerReplicaLocation_result)that);
       return false;
@@ -185591,7 +205921,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185601,7 +205931,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -185614,10 +205944,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -185672,6 +206005,7 @@
     }
 
     private static class registerReplicaLocation_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_resultStandardScheme getScheme() {
         return new registerReplicaLocation_resultStandardScheme();
       }
@@ -185679,6 +206013,7 @@
 
     private static class registerReplicaLocation_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<registerReplicaLocation_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, registerReplicaLocation_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -185717,6 +206052,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, registerReplicaLocation_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -185738,6 +206074,7 @@
     }
 
     private static class registerReplicaLocation_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public registerReplicaLocation_resultTupleScheme getScheme() {
         return new registerReplicaLocation_resultTupleScheme();
       }
@@ -185785,6 +206122,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParentDataProduct_args implements org.apache.thrift.TBase<getParentDataProduct_args, getParentDataProduct_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParentDataProduct_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParentDataProduct_args");
 
@@ -185793,7 +206131,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParentDataProduct_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParentDataProduct_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // 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 {
@@ -185810,6 +206148,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -185832,6 +206171,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -185844,10 +206184,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -185882,6 +206224,7 @@
       }
     }
 
+    @Override
     public getParentDataProduct_args deepCopy() {
       return new getParentDataProduct_args(this);
     }
@@ -185891,11 +206234,12 @@
       this.productUri = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public getParentDataProduct_args setProductUri(java.lang.String productUri) {
+    public getParentDataProduct_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -185915,7 +206259,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -185928,6 +206273,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -185938,6 +206285,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -185952,8 +206300,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParentDataProduct_args)
         return this.equals((getParentDataProduct_args)that);
       return false;
@@ -185996,7 +206342,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186009,14 +206355,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -186062,6 +206412,7 @@
     }
 
     private static class getParentDataProduct_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_argsStandardScheme getScheme() {
         return new getParentDataProduct_argsStandardScheme();
       }
@@ -186069,6 +206420,7 @@
 
     private static class getParentDataProduct_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParentDataProduct_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParentDataProduct_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -186098,6 +206450,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParentDataProduct_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -186114,6 +206467,7 @@
     }
 
     private static class getParentDataProduct_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_argsTupleScheme getScheme() {
         return new getParentDataProduct_argsTupleScheme();
       }
@@ -186140,6 +206494,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParentDataProduct_result implements org.apache.thrift.TBase<getParentDataProduct_result, getParentDataProduct_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParentDataProduct_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParentDataProduct_result");
 
@@ -186149,8 +206504,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParentDataProduct_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParentDataProduct_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.data.replica.DataProductModel success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -186168,6 +206523,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -186192,6 +206548,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -186204,10 +206561,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -186249,6 +206608,7 @@
       }
     }
 
+    @Override
     public getParentDataProduct_result deepCopy() {
       return new getParentDataProduct_result(this);
     }
@@ -186259,11 +206619,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.data.replica.DataProductModel getSuccess() {
       return this.success;
     }
 
-    public getParentDataProduct_result setSuccess(org.apache.airavata.model.data.replica.DataProductModel success) {
+    public getParentDataProduct_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel success) {
       this.success = success;
       return this;
     }
@@ -186283,11 +206644,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getParentDataProduct_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParentDataProduct_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -186307,7 +206669,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -186328,6 +206691,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -186341,6 +206706,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -186357,8 +206723,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParentDataProduct_result)
         return this.equals((getParentDataProduct_result)that);
       return false;
@@ -186414,7 +206778,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186424,7 +206788,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186437,10 +206801,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -186498,6 +206865,7 @@
     }
 
     private static class getParentDataProduct_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_resultStandardScheme getScheme() {
         return new getParentDataProduct_resultStandardScheme();
       }
@@ -186505,6 +206873,7 @@
 
     private static class getParentDataProduct_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParentDataProduct_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParentDataProduct_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -186544,6 +206913,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParentDataProduct_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -186565,6 +206935,7 @@
     }
 
     private static class getParentDataProduct_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParentDataProduct_resultTupleScheme getScheme() {
         return new getParentDataProduct_resultTupleScheme();
       }
@@ -186613,6 +206984,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getChildDataProducts_args implements org.apache.thrift.TBase<getChildDataProducts_args, getChildDataProducts_args._Fields>, java.io.Serializable, Cloneable, Comparable<getChildDataProducts_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getChildDataProducts_args");
 
@@ -186621,7 +206993,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getChildDataProducts_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getChildDataProducts_argsTupleSchemeFactory();
 
-    public java.lang.String productUri; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productUri; // 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 {
@@ -186638,6 +207010,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PRODUCT_URI
@@ -186660,6 +207033,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -186672,10 +207046,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -186710,6 +207086,7 @@
       }
     }
 
+    @Override
     public getChildDataProducts_args deepCopy() {
       return new getChildDataProducts_args(this);
     }
@@ -186719,11 +207096,12 @@
       this.productUri = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductUri() {
       return this.productUri;
     }
 
-    public getChildDataProducts_args setProductUri(java.lang.String productUri) {
+    public getChildDataProducts_args setProductUri(@org.apache.thrift.annotation.Nullable java.lang.String productUri) {
       this.productUri = productUri;
       return this;
     }
@@ -186743,7 +207121,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PRODUCT_URI:
         if (value == null) {
@@ -186756,6 +207135,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PRODUCT_URI:
@@ -186766,6 +207147,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -186780,8 +207162,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getChildDataProducts_args)
         return this.equals((getChildDataProducts_args)that);
       return false;
@@ -186824,7 +207204,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetProductUri()).compareTo(other.isSetProductUri());
+      lastComparison = java.lang.Boolean.compare(isSetProductUri(), other.isSetProductUri());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -186837,14 +207217,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -186890,6 +207274,7 @@
     }
 
     private static class getChildDataProducts_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_argsStandardScheme getScheme() {
         return new getChildDataProducts_argsStandardScheme();
       }
@@ -186897,6 +207282,7 @@
 
     private static class getChildDataProducts_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getChildDataProducts_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getChildDataProducts_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -186926,6 +207312,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getChildDataProducts_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -186942,6 +207329,7 @@
     }
 
     private static class getChildDataProducts_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_argsTupleScheme getScheme() {
         return new getChildDataProducts_argsTupleScheme();
       }
@@ -186968,6 +207356,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getChildDataProducts_result implements org.apache.thrift.TBase<getChildDataProducts_result, getChildDataProducts_result._Fields>, java.io.Serializable, Cloneable, Comparable<getChildDataProducts_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getChildDataProducts_result");
 
@@ -186977,8 +207366,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getChildDataProducts_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getChildDataProducts_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -186996,6 +207385,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -187020,6 +207410,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -187032,10 +207423,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -187082,6 +207475,7 @@
       }
     }
 
+    @Override
     public getChildDataProducts_result deepCopy() {
       return new getChildDataProducts_result(this);
     }
@@ -187096,6 +207490,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.data.replica.DataProductModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -187107,11 +207502,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getSuccess() {
       return this.success;
     }
 
-    public getChildDataProducts_result setSuccess(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success) {
+    public getChildDataProducts_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success) {
       this.success = success;
       return this;
     }
@@ -187131,11 +207527,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getChildDataProducts_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getChildDataProducts_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -187155,7 +207552,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -187176,6 +207574,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -187189,6 +207589,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -187205,8 +207606,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getChildDataProducts_result)
         return this.equals((getChildDataProducts_result)that);
       return false;
@@ -187262,7 +207661,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187272,7 +207671,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187285,10 +207684,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -187343,6 +207745,7 @@
     }
 
     private static class getChildDataProducts_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_resultStandardScheme getScheme() {
         return new getChildDataProducts_resultStandardScheme();
       }
@@ -187350,6 +207753,7 @@
 
     private static class getChildDataProducts_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getChildDataProducts_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getChildDataProducts_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -187363,14 +207767,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list442 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list442.size);
-                  org.apache.airavata.model.data.replica.DataProductModel _elem443;
-                  for (int _i444 = 0; _i444 < _list442.size; ++_i444)
+                  org.apache.thrift.protocol.TList _list468 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list468.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel _elem469;
+                  for (int _i470 = 0; _i470 < _list468.size; ++_i470)
                   {
-                    _elem443 = new org.apache.airavata.model.data.replica.DataProductModel();
-                    _elem443.read(iprot);
-                    struct.success.add(_elem443);
+                    _elem469 = new org.apache.airavata.model.data.replica.DataProductModel();
+                    _elem469.read(iprot);
+                    struct.success.add(_elem469);
                   }
                   iprot.readListEnd();
                 }
@@ -187399,6 +207803,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getChildDataProducts_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -187407,9 +207812,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.data.replica.DataProductModel _iter445 : struct.success)
+            for (org.apache.airavata.model.data.replica.DataProductModel _iter471 : struct.success)
             {
-              _iter445.write(oprot);
+              _iter471.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -187427,6 +207832,7 @@
     }
 
     private static class getChildDataProducts_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getChildDataProducts_resultTupleScheme getScheme() {
         return new getChildDataProducts_resultTupleScheme();
       }
@@ -187448,9 +207854,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.data.replica.DataProductModel _iter446 : struct.success)
+            for (org.apache.airavata.model.data.replica.DataProductModel _iter472 : struct.success)
             {
-              _iter446.write(oprot);
+              _iter472.write(oprot);
             }
           }
         }
@@ -187465,14 +207871,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list447 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list447.size);
-            org.apache.airavata.model.data.replica.DataProductModel _elem448;
-            for (int _i449 = 0; _i449 < _list447.size; ++_i449)
+            org.apache.thrift.protocol.TList _list473 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list473.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel _elem474;
+            for (int _i475 = 0; _i475 < _list473.size; ++_i475)
             {
-              _elem448 = new org.apache.airavata.model.data.replica.DataProductModel();
-              _elem448.read(iprot);
-              struct.success.add(_elem448);
+              _elem474 = new org.apache.airavata.model.data.replica.DataProductModel();
+              _elem474.read(iprot);
+              struct.success.add(_elem474);
             }
           }
           struct.setSuccessIsSet(true);
@@ -187490,6 +207896,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchDataProductsByName_args implements org.apache.thrift.TBase<searchDataProductsByName_args, searchDataProductsByName_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchDataProductsByName_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchDataProductsByName_args");
 
@@ -187502,9 +207909,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchDataProductsByName_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchDataProductsByName_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String userId; // required
-    public java.lang.String productName; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String productName; // required
     public int limit; // required
     public int offset; // required
 
@@ -187527,6 +207934,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -187557,6 +207965,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -187569,10 +207978,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -187637,6 +208048,7 @@
       this.offset = other.offset;
     }
 
+    @Override
     public searchDataProductsByName_args deepCopy() {
       return new searchDataProductsByName_args(this);
     }
@@ -187652,11 +208064,12 @@
       this.offset = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public searchDataProductsByName_args setGatewayId(java.lang.String gatewayId) {
+    public searchDataProductsByName_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -187676,11 +208089,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public searchDataProductsByName_args setUserId(java.lang.String userId) {
+    public searchDataProductsByName_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -187700,11 +208114,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getProductName() {
       return this.productName;
     }
 
-    public searchDataProductsByName_args setProductName(java.lang.String productName) {
+    public searchDataProductsByName_args setProductName(@org.apache.thrift.annotation.Nullable java.lang.String productName) {
       this.productName = productName;
       return this;
     }
@@ -187770,7 +208185,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __OFFSET_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -187815,6 +208231,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -187837,6 +208255,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -187859,8 +208278,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchDataProductsByName_args)
         return this.equals((searchDataProductsByName_args)that);
       return false;
@@ -187951,7 +208368,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187961,7 +208378,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187971,7 +208388,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetProductName()).compareTo(other.isSetProductName());
+      lastComparison = java.lang.Boolean.compare(isSetProductName(), other.isSetProductName());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187981,7 +208398,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -187991,7 +208408,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188004,14 +208421,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -188091,6 +208512,7 @@
     }
 
     private static class searchDataProductsByName_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchDataProductsByName_argsStandardScheme getScheme() {
         return new searchDataProductsByName_argsStandardScheme();
       }
@@ -188098,6 +208520,7 @@
 
     private static class searchDataProductsByName_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchDataProductsByName_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchDataProductsByName_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -188165,6 +208588,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchDataProductsByName_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -188197,6 +208621,7 @@
     }
 
     private static class searchDataProductsByName_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchDataProductsByName_argsTupleScheme getScheme() {
         return new searchDataProductsByName_argsTupleScheme();
       }
@@ -188235,6 +208660,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchDataProductsByName_result implements org.apache.thrift.TBase<searchDataProductsByName_result, searchDataProductsByName_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchDataProductsByName_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchDataProductsByName_result");
 
@@ -188244,8 +208670,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchDataProductsByName_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchDataProductsByName_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -188263,6 +208689,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -188287,6 +208714,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -188299,10 +208727,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -188349,6 +208779,7 @@
       }
     }
 
+    @Override
     public searchDataProductsByName_result deepCopy() {
       return new searchDataProductsByName_result(this);
     }
@@ -188363,6 +208794,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.data.replica.DataProductModel> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -188374,11 +208806,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.data.replica.DataProductModel> getSuccess() {
       return this.success;
     }
 
-    public searchDataProductsByName_result setSuccess(java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success) {
+    public searchDataProductsByName_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.data.replica.DataProductModel> success) {
       this.success = success;
       return this;
     }
@@ -188398,11 +208831,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public searchDataProductsByName_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public searchDataProductsByName_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -188422,7 +208856,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -188443,6 +208878,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -188456,6 +208893,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -188472,8 +208910,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchDataProductsByName_result)
         return this.equals((searchDataProductsByName_result)that);
       return false;
@@ -188529,7 +208965,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188539,7 +208975,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188552,10 +208988,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -188610,6 +209049,7 @@
     }
 
     private static class searchDataProductsByName_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchDataProductsByName_resultStandardScheme getScheme() {
         return new searchDataProductsByName_resultStandardScheme();
       }
@@ -188617,6 +209057,7 @@
 
     private static class searchDataProductsByName_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchDataProductsByName_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchDataProductsByName_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -188630,14 +209071,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list450 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list450.size);
-                  org.apache.airavata.model.data.replica.DataProductModel _elem451;
-                  for (int _i452 = 0; _i452 < _list450.size; ++_i452)
+                  org.apache.thrift.protocol.TList _list476 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list476.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel _elem477;
+                  for (int _i478 = 0; _i478 < _list476.size; ++_i478)
                   {
-                    _elem451 = new org.apache.airavata.model.data.replica.DataProductModel();
-                    _elem451.read(iprot);
-                    struct.success.add(_elem451);
+                    _elem477 = new org.apache.airavata.model.data.replica.DataProductModel();
+                    _elem477.read(iprot);
+                    struct.success.add(_elem477);
                   }
                   iprot.readListEnd();
                 }
@@ -188666,6 +209107,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchDataProductsByName_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -188674,9 +209116,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.data.replica.DataProductModel _iter453 : struct.success)
+            for (org.apache.airavata.model.data.replica.DataProductModel _iter479 : struct.success)
             {
-              _iter453.write(oprot);
+              _iter479.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -188694,6 +209136,7 @@
     }
 
     private static class searchDataProductsByName_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchDataProductsByName_resultTupleScheme getScheme() {
         return new searchDataProductsByName_resultTupleScheme();
       }
@@ -188715,9 +209158,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.data.replica.DataProductModel _iter454 : struct.success)
+            for (org.apache.airavata.model.data.replica.DataProductModel _iter480 : struct.success)
             {
-              _iter454.write(oprot);
+              _iter480.write(oprot);
             }
           }
         }
@@ -188732,14 +209175,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list455 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list455.size);
-            org.apache.airavata.model.data.replica.DataProductModel _elem456;
-            for (int _i457 = 0; _i457 < _list455.size; ++_i457)
+            org.apache.thrift.protocol.TList _list481 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.data.replica.DataProductModel>(_list481.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.data.replica.DataProductModel _elem482;
+            for (int _i483 = 0; _i483 < _list481.size; ++_i483)
             {
-              _elem456 = new org.apache.airavata.model.data.replica.DataProductModel();
-              _elem456.read(iprot);
-              struct.success.add(_elem456);
+              _elem482 = new org.apache.airavata.model.data.replica.DataProductModel();
+              _elem482.read(iprot);
+              struct.success.add(_elem482);
             }
           }
           struct.setSuccessIsSet(true);
@@ -188757,6 +209200,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroupResourceProfile_args implements org.apache.thrift.TBase<createGroupResourceProfile_args, createGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroupResourceProfile_args");
 
@@ -188765,7 +209209,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // 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 {
@@ -188782,6 +209226,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE
@@ -188804,6 +209249,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -188816,10 +209262,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -188854,6 +209302,7 @@
       }
     }
 
+    @Override
     public createGroupResourceProfile_args deepCopy() {
       return new createGroupResourceProfile_args(this);
     }
@@ -188863,11 +209312,12 @@
       this.groupResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getGroupResourceProfile() {
       return this.groupResourceProfile;
     }
 
-    public createGroupResourceProfile_args setGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
+    public createGroupResourceProfile_args setGroupResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
       this.groupResourceProfile = groupResourceProfile;
       return this;
     }
@@ -188887,7 +209337,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE:
         if (value == null) {
@@ -188900,6 +209351,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE:
@@ -188910,6 +209363,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -188924,8 +209378,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroupResourceProfile_args)
         return this.equals((createGroupResourceProfile_args)that);
       return false;
@@ -188968,7 +209420,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfile()).compareTo(other.isSetGroupResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfile(), other.isSetGroupResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -188981,14 +209433,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -189037,6 +209493,7 @@
     }
 
     private static class createGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_argsStandardScheme getScheme() {
         return new createGroupResourceProfile_argsStandardScheme();
       }
@@ -189044,6 +209501,7 @@
 
     private static class createGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -189074,6 +209532,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -189090,6 +209549,7 @@
     }
 
     private static class createGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_argsTupleScheme getScheme() {
         return new createGroupResourceProfile_argsTupleScheme();
       }
@@ -189117,6 +209577,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroupResourceProfile_result implements org.apache.thrift.TBase<createGroupResourceProfile_result, createGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroupResourceProfile_result");
 
@@ -189126,8 +209587,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroupResourceProfile_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -189145,6 +209606,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -189169,6 +209631,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -189181,10 +209644,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -189226,6 +209691,7 @@
       }
     }
 
+    @Override
     public createGroupResourceProfile_result deepCopy() {
       return new createGroupResourceProfile_result(this);
     }
@@ -189236,11 +209702,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createGroupResourceProfile_result setSuccess(java.lang.String success) {
+    public createGroupResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -189260,11 +209727,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public createGroupResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public createGroupResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -189284,7 +209752,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -189305,6 +209774,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -189318,6 +209789,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -189334,8 +209806,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroupResourceProfile_result)
         return this.equals((createGroupResourceProfile_result)that);
       return false;
@@ -189391,7 +209861,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189401,7 +209871,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189414,10 +209884,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -189472,6 +209945,7 @@
     }
 
     private static class createGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_resultStandardScheme getScheme() {
         return new createGroupResourceProfile_resultStandardScheme();
       }
@@ -189479,6 +209953,7 @@
 
     private static class createGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -189517,6 +209992,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -189538,6 +210014,7 @@
     }
 
     private static class createGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroupResourceProfile_resultTupleScheme getScheme() {
         return new createGroupResourceProfile_resultTupleScheme();
       }
@@ -189585,6 +210062,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroupResourceProfile_args implements org.apache.thrift.TBase<updateGroupResourceProfile_args, updateGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroupResourceProfile_args");
 
@@ -189593,7 +210071,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroupResourceProfile_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile; // 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 {
@@ -189610,6 +210088,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE
@@ -189632,6 +210111,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -189644,10 +210124,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -189682,6 +210164,7 @@
       }
     }
 
+    @Override
     public updateGroupResourceProfile_args deepCopy() {
       return new updateGroupResourceProfile_args(this);
     }
@@ -189691,11 +210174,12 @@
       this.groupResourceProfile = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getGroupResourceProfile() {
       return this.groupResourceProfile;
     }
 
-    public updateGroupResourceProfile_args setGroupResourceProfile(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
+    public updateGroupResourceProfile_args setGroupResourceProfile(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile groupResourceProfile) {
       this.groupResourceProfile = groupResourceProfile;
       return this;
     }
@@ -189715,7 +210199,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE:
         if (value == null) {
@@ -189728,6 +210213,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE:
@@ -189738,6 +210225,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -189752,8 +210240,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroupResourceProfile_args)
         return this.equals((updateGroupResourceProfile_args)that);
       return false;
@@ -189796,7 +210282,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfile()).compareTo(other.isSetGroupResourceProfile());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfile(), other.isSetGroupResourceProfile());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -189809,14 +210295,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -189865,6 +210355,7 @@
     }
 
     private static class updateGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_argsStandardScheme getScheme() {
         return new updateGroupResourceProfile_argsStandardScheme();
       }
@@ -189872,6 +210363,7 @@
 
     private static class updateGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -189902,6 +210394,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -189918,6 +210411,7 @@
     }
 
     private static class updateGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_argsTupleScheme getScheme() {
         return new updateGroupResourceProfile_argsTupleScheme();
       }
@@ -189945,6 +210439,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroupResourceProfile_result implements org.apache.thrift.TBase<updateGroupResourceProfile_result, updateGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroupResourceProfile_result");
 
@@ -189953,7 +210448,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroupResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -189970,6 +210465,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -189992,6 +210488,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -190004,10 +210501,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -190042,6 +210541,7 @@
       }
     }
 
+    @Override
     public updateGroupResourceProfile_result deepCopy() {
       return new updateGroupResourceProfile_result(this);
     }
@@ -190051,11 +210551,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGroupResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGroupResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -190075,7 +210576,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -190088,6 +210590,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -190098,6 +210602,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -190112,8 +210617,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroupResourceProfile_result)
         return this.equals((updateGroupResourceProfile_result)that);
       return false;
@@ -190156,7 +210659,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190169,10 +210672,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -190219,6 +210725,7 @@
     }
 
     private static class updateGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_resultStandardScheme getScheme() {
         return new updateGroupResourceProfile_resultStandardScheme();
       }
@@ -190226,6 +210733,7 @@
 
     private static class updateGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -190256,6 +210764,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -190272,6 +210781,7 @@
     }
 
     private static class updateGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroupResourceProfile_resultTupleScheme getScheme() {
         return new updateGroupResourceProfile_resultTupleScheme();
       }
@@ -190309,6 +210819,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceProfile_args implements org.apache.thrift.TBase<getGroupResourceProfile_args, getGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceProfile_args");
 
@@ -190317,7 +210828,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -190334,6 +210845,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE_ID
@@ -190356,6 +210868,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -190368,10 +210881,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -190406,6 +210921,7 @@
       }
     }
 
+    @Override
     public getGroupResourceProfile_args deepCopy() {
       return new getGroupResourceProfile_args(this);
     }
@@ -190415,11 +210931,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupResourceProfile_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupResourceProfile_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -190439,7 +210956,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
         if (value == null) {
@@ -190452,6 +210970,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
@@ -190462,6 +210982,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -190476,8 +210997,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceProfile_args)
         return this.equals((getGroupResourceProfile_args)that);
       return false;
@@ -190520,7 +211039,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190533,14 +211052,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -190586,6 +211109,7 @@
     }
 
     private static class getGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_argsStandardScheme getScheme() {
         return new getGroupResourceProfile_argsStandardScheme();
       }
@@ -190593,6 +211117,7 @@
 
     private static class getGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -190622,6 +211147,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -190638,6 +211164,7 @@
     }
 
     private static class getGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_argsTupleScheme getScheme() {
         return new getGroupResourceProfile_argsTupleScheme();
       }
@@ -190664,6 +211191,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceProfile_result implements org.apache.thrift.TBase<getGroupResourceProfile_result, getGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceProfile_result");
 
@@ -190673,8 +211201,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceProfile_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceProfile_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -190692,6 +211220,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -190716,6 +211245,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -190728,10 +211258,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -190773,6 +211305,7 @@
       }
     }
 
+    @Override
     public getGroupResourceProfile_result deepCopy() {
       return new getGroupResourceProfile_result(this);
     }
@@ -190783,11 +211316,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile getSuccess() {
       return this.success;
     }
 
-    public getGroupResourceProfile_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success) {
+    public getGroupResourceProfile_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile success) {
       this.success = success;
       return this;
     }
@@ -190807,11 +211341,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -190831,7 +211366,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -190852,6 +211388,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -190865,6 +211403,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -190881,8 +211420,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceProfile_result)
         return this.equals((getGroupResourceProfile_result)that);
       return false;
@@ -190938,7 +211475,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190948,7 +211485,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -190961,10 +211498,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -191022,6 +211562,7 @@
     }
 
     private static class getGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_resultStandardScheme getScheme() {
         return new getGroupResourceProfile_resultStandardScheme();
       }
@@ -191029,6 +211570,7 @@
 
     private static class getGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -191068,6 +211610,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -191089,6 +211632,7 @@
     }
 
     private static class getGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceProfile_resultTupleScheme getScheme() {
         return new getGroupResourceProfile_resultTupleScheme();
       }
@@ -191137,6 +211681,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupResourceProfile_args implements org.apache.thrift.TBase<removeGroupResourceProfile_args, removeGroupResourceProfile_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupResourceProfile_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupResourceProfile_args");
 
@@ -191145,7 +211690,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupResourceProfile_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupResourceProfile_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -191162,6 +211707,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE_ID
@@ -191184,6 +211730,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -191196,10 +211743,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -191234,6 +211783,7 @@
       }
     }
 
+    @Override
     public removeGroupResourceProfile_args deepCopy() {
       return new removeGroupResourceProfile_args(this);
     }
@@ -191243,11 +211793,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public removeGroupResourceProfile_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public removeGroupResourceProfile_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -191267,7 +211818,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
         if (value == null) {
@@ -191280,6 +211832,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
@@ -191290,6 +211844,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -191304,8 +211859,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupResourceProfile_args)
         return this.equals((removeGroupResourceProfile_args)that);
       return false;
@@ -191348,7 +211901,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191361,14 +211914,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -191414,6 +211971,7 @@
     }
 
     private static class removeGroupResourceProfile_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_argsStandardScheme getScheme() {
         return new removeGroupResourceProfile_argsStandardScheme();
       }
@@ -191421,6 +211979,7 @@
 
     private static class removeGroupResourceProfile_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupResourceProfile_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -191450,6 +212009,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupResourceProfile_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -191466,6 +212026,7 @@
     }
 
     private static class removeGroupResourceProfile_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_argsTupleScheme getScheme() {
         return new removeGroupResourceProfile_argsTupleScheme();
       }
@@ -191492,6 +212053,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupResourceProfile_result implements org.apache.thrift.TBase<removeGroupResourceProfile_result, removeGroupResourceProfile_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupResourceProfile_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupResourceProfile_result");
 
@@ -191502,7 +212064,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupResourceProfile_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -191520,6 +212082,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -191544,6 +212107,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -191556,10 +212120,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -191603,6 +212169,7 @@
       }
     }
 
+    @Override
     public removeGroupResourceProfile_result deepCopy() {
       return new removeGroupResourceProfile_result(this);
     }
@@ -191637,11 +212204,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeGroupResourceProfile_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeGroupResourceProfile_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -191661,7 +212229,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -191682,6 +212251,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -191695,6 +212266,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -191711,8 +212283,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupResourceProfile_result)
         return this.equals((removeGroupResourceProfile_result)that);
       return false;
@@ -191766,7 +212336,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191776,7 +212346,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -191789,10 +212359,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -191845,6 +212418,7 @@
     }
 
     private static class removeGroupResourceProfile_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_resultStandardScheme getScheme() {
         return new removeGroupResourceProfile_resultStandardScheme();
       }
@@ -191852,6 +212426,7 @@
 
     private static class removeGroupResourceProfile_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupResourceProfile_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -191890,6 +212465,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupResourceProfile_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -191911,6 +212487,7 @@
     }
 
     private static class removeGroupResourceProfile_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupResourceProfile_resultTupleScheme getScheme() {
         return new removeGroupResourceProfile_resultTupleScheme();
       }
@@ -191958,6 +212535,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceList_args implements org.apache.thrift.TBase<getGroupResourceList_args, getGroupResourceList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceList_args");
 
@@ -191967,8 +212545,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceList_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.util.List<java.lang.String> accessibleGroupResProfileIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleGroupResProfileIds; // 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 {
@@ -191986,6 +212564,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -192010,6 +212589,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -192022,10 +212602,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -192069,6 +212651,7 @@
       }
     }
 
+    @Override
     public getGroupResourceList_args deepCopy() {
       return new getGroupResourceList_args(this);
     }
@@ -192079,11 +212662,12 @@
       this.accessibleGroupResProfileIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getGroupResourceList_args setGatewayId(java.lang.String gatewayId) {
+    public getGroupResourceList_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -192107,6 +212691,7 @@
       return (this.accessibleGroupResProfileIds == null) ? 0 : this.accessibleGroupResProfileIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAccessibleGroupResProfileIdsIterator() {
       return (this.accessibleGroupResProfileIds == null) ? null : this.accessibleGroupResProfileIds.iterator();
     }
@@ -192118,11 +212703,12 @@
       this.accessibleGroupResProfileIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAccessibleGroupResProfileIds() {
       return this.accessibleGroupResProfileIds;
     }
 
-    public getGroupResourceList_args setAccessibleGroupResProfileIds(java.util.List<java.lang.String> accessibleGroupResProfileIds) {
+    public getGroupResourceList_args setAccessibleGroupResProfileIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> accessibleGroupResProfileIds) {
       this.accessibleGroupResProfileIds = accessibleGroupResProfileIds;
       return this;
     }
@@ -192142,7 +212728,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -192163,6 +212750,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -192176,6 +212765,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -192192,8 +212782,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceList_args)
         return this.equals((getGroupResourceList_args)that);
       return false;
@@ -192249,7 +212837,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192259,7 +212847,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAccessibleGroupResProfileIds()).compareTo(other.isSetAccessibleGroupResProfileIds());
+      lastComparison = java.lang.Boolean.compare(isSetAccessibleGroupResProfileIds(), other.isSetAccessibleGroupResProfileIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192272,14 +212860,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -192336,6 +212928,7 @@
     }
 
     private static class getGroupResourceList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_argsStandardScheme getScheme() {
         return new getGroupResourceList_argsStandardScheme();
       }
@@ -192343,6 +212936,7 @@
 
     private static class getGroupResourceList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -192364,13 +212958,13 @@
             case 2: // ACCESSIBLE_GROUP_RES_PROFILE_IDS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list458 = iprot.readListBegin();
-                  struct.accessibleGroupResProfileIds = new java.util.ArrayList<java.lang.String>(_list458.size);
-                  java.lang.String _elem459;
-                  for (int _i460 = 0; _i460 < _list458.size; ++_i460)
+                  org.apache.thrift.protocol.TList _list484 = iprot.readListBegin();
+                  struct.accessibleGroupResProfileIds = new java.util.ArrayList<java.lang.String>(_list484.size);
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem485;
+                  for (int _i486 = 0; _i486 < _list484.size; ++_i486)
                   {
-                    _elem459 = iprot.readString();
-                    struct.accessibleGroupResProfileIds.add(_elem459);
+                    _elem485 = iprot.readString();
+                    struct.accessibleGroupResProfileIds.add(_elem485);
                   }
                   iprot.readListEnd();
                 }
@@ -192390,6 +212984,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -192403,9 +212998,9 @@
           oprot.writeFieldBegin(ACCESSIBLE_GROUP_RES_PROFILE_IDS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, struct.accessibleGroupResProfileIds.size()));
-            for (java.lang.String _iter461 : struct.accessibleGroupResProfileIds)
+            for (java.lang.String _iter487 : struct.accessibleGroupResProfileIds)
             {
-              oprot.writeString(_iter461);
+              oprot.writeString(_iter487);
             }
             oprot.writeListEnd();
           }
@@ -192418,6 +213013,7 @@
     }
 
     private static class getGroupResourceList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_argsTupleScheme getScheme() {
         return new getGroupResourceList_argsTupleScheme();
       }
@@ -192431,9 +213027,9 @@
         oprot.writeString(struct.gatewayId);
         {
           oprot.writeI32(struct.accessibleGroupResProfileIds.size());
-          for (java.lang.String _iter462 : struct.accessibleGroupResProfileIds)
+          for (java.lang.String _iter488 : struct.accessibleGroupResProfileIds)
           {
-            oprot.writeString(_iter462);
+            oprot.writeString(_iter488);
           }
         }
       }
@@ -192444,13 +213040,13 @@
         struct.gatewayId = iprot.readString();
         struct.setGatewayIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list463 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
-          struct.accessibleGroupResProfileIds = new java.util.ArrayList<java.lang.String>(_list463.size);
-          java.lang.String _elem464;
-          for (int _i465 = 0; _i465 < _list463.size; ++_i465)
+          org.apache.thrift.protocol.TList _list489 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
+          struct.accessibleGroupResProfileIds = new java.util.ArrayList<java.lang.String>(_list489.size);
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem490;
+          for (int _i491 = 0; _i491 < _list489.size; ++_i491)
           {
-            _elem464 = iprot.readString();
-            struct.accessibleGroupResProfileIds.add(_elem464);
+            _elem490 = iprot.readString();
+            struct.accessibleGroupResProfileIds.add(_elem490);
           }
         }
         struct.setAccessibleGroupResProfileIdsIsSet(true);
@@ -192462,6 +213058,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupResourceList_result implements org.apache.thrift.TBase<getGroupResourceList_result, getGroupResourceList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupResourceList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupResourceList_result");
 
@@ -192471,8 +213068,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupResourceList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupResourceList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -192490,6 +213087,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -192514,6 +213112,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -192526,10 +213125,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -192576,6 +213177,7 @@
       }
     }
 
+    @Override
     public getGroupResourceList_result deepCopy() {
       return new getGroupResourceList_result(this);
     }
@@ -192590,6 +213192,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -192601,11 +213204,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> getSuccess() {
       return this.success;
     }
 
-    public getGroupResourceList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success) {
+    public getGroupResourceList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile> success) {
       this.success = success;
       return this;
     }
@@ -192625,11 +213229,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupResourceList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupResourceList_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -192649,7 +213254,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -192670,6 +213276,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -192683,6 +213291,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -192699,8 +213308,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupResourceList_result)
         return this.equals((getGroupResourceList_result)that);
       return false;
@@ -192756,7 +213363,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192766,7 +213373,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -192779,10 +213386,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -192837,6 +213447,7 @@
     }
 
     private static class getGroupResourceList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_resultStandardScheme getScheme() {
         return new getGroupResourceList_resultStandardScheme();
       }
@@ -192844,6 +213455,7 @@
 
     private static class getGroupResourceList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupResourceList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupResourceList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -192857,14 +213469,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list466 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>(_list466.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem467;
-                  for (int _i468 = 0; _i468 < _list466.size; ++_i468)
+                  org.apache.thrift.protocol.TList _list492 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>(_list492.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem493;
+                  for (int _i494 = 0; _i494 < _list492.size; ++_i494)
                   {
-                    _elem467 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile();
-                    _elem467.read(iprot);
-                    struct.success.add(_elem467);
+                    _elem493 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile();
+                    _elem493.read(iprot);
+                    struct.success.add(_elem493);
                   }
                   iprot.readListEnd();
                 }
@@ -192893,6 +213505,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupResourceList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -192901,9 +213514,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _iter469 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _iter495 : struct.success)
             {
-              _iter469.write(oprot);
+              _iter495.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -192921,6 +213534,7 @@
     }
 
     private static class getGroupResourceList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupResourceList_resultTupleScheme getScheme() {
         return new getGroupResourceList_resultTupleScheme();
       }
@@ -192942,9 +213556,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _iter470 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _iter496 : struct.success)
             {
-              _iter470.write(oprot);
+              _iter496.write(oprot);
             }
           }
         }
@@ -192959,14 +213573,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list471 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>(_list471.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem472;
-            for (int _i473 = 0; _i473 < _list471.size; ++_i473)
+            org.apache.thrift.protocol.TList _list497 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile>(_list497.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile _elem498;
+            for (int _i499 = 0; _i499 < _list497.size; ++_i499)
             {
-              _elem472 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile();
-              _elem472.read(iprot);
-              struct.success.add(_elem472);
+              _elem498 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile();
+              _elem498.read(iprot);
+              struct.success.add(_elem498);
             }
           }
           struct.setSuccessIsSet(true);
@@ -192984,6 +213598,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputePrefs_args implements org.apache.thrift.TBase<removeGroupComputePrefs_args, removeGroupComputePrefs_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputePrefs_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputePrefs_args");
 
@@ -192993,8 +213608,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupComputePrefs_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputePrefs_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -193012,6 +213627,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -193036,6 +213652,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -193048,10 +213665,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -193093,6 +213712,7 @@
       }
     }
 
+    @Override
     public removeGroupComputePrefs_args deepCopy() {
       return new removeGroupComputePrefs_args(this);
     }
@@ -193103,11 +213723,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public removeGroupComputePrefs_args setComputeResourceId(java.lang.String computeResourceId) {
+    public removeGroupComputePrefs_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -193127,11 +213748,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public removeGroupComputePrefs_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public removeGroupComputePrefs_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -193151,7 +213773,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -193172,6 +213795,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -193185,6 +213810,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -193201,8 +213827,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputePrefs_args)
         return this.equals((removeGroupComputePrefs_args)that);
       return false;
@@ -193258,7 +213882,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193268,7 +213892,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193281,14 +213905,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -193345,6 +213973,7 @@
     }
 
     private static class removeGroupComputePrefs_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_argsStandardScheme getScheme() {
         return new removeGroupComputePrefs_argsStandardScheme();
       }
@@ -193352,6 +213981,7 @@
 
     private static class removeGroupComputePrefs_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputePrefs_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputePrefs_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -193389,6 +214019,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputePrefs_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -193410,6 +214041,7 @@
     }
 
     private static class removeGroupComputePrefs_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_argsTupleScheme getScheme() {
         return new removeGroupComputePrefs_argsTupleScheme();
       }
@@ -193439,6 +214071,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputePrefs_result implements org.apache.thrift.TBase<removeGroupComputePrefs_result, removeGroupComputePrefs_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputePrefs_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputePrefs_result");
 
@@ -193449,7 +214082,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputePrefs_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -193467,6 +214100,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -193491,6 +214125,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -193503,10 +214138,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -193550,6 +214187,7 @@
       }
     }
 
+    @Override
     public removeGroupComputePrefs_result deepCopy() {
       return new removeGroupComputePrefs_result(this);
     }
@@ -193584,11 +214222,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeGroupComputePrefs_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeGroupComputePrefs_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -193608,7 +214247,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -193629,6 +214269,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -193642,6 +214284,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -193658,8 +214301,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputePrefs_result)
         return this.equals((removeGroupComputePrefs_result)that);
       return false;
@@ -193713,7 +214354,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193723,7 +214364,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -193736,10 +214377,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -193792,6 +214436,7 @@
     }
 
     private static class removeGroupComputePrefs_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_resultStandardScheme getScheme() {
         return new removeGroupComputePrefs_resultStandardScheme();
       }
@@ -193799,6 +214444,7 @@
 
     private static class removeGroupComputePrefs_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputePrefs_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputePrefs_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -193837,6 +214483,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputePrefs_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -193858,6 +214505,7 @@
     }
 
     private static class removeGroupComputePrefs_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputePrefs_resultTupleScheme getScheme() {
         return new removeGroupComputePrefs_resultTupleScheme();
       }
@@ -193905,6 +214553,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputeResourcePolicy_args implements org.apache.thrift.TBase<removeGroupComputeResourcePolicy_args, removeGroupComputeResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputeResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputeResourcePolicy_args");
 
@@ -193913,7 +214562,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupComputeResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputeResourcePolicy_argsTupleSchemeFactory();
 
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -193930,6 +214579,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_POLICY_ID
@@ -193952,6 +214602,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -193964,10 +214615,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -194002,6 +214655,7 @@
       }
     }
 
+    @Override
     public removeGroupComputeResourcePolicy_args deepCopy() {
       return new removeGroupComputeResourcePolicy_args(this);
     }
@@ -194011,11 +214665,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public removeGroupComputeResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public removeGroupComputeResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -194035,7 +214690,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_POLICY_ID:
         if (value == null) {
@@ -194048,6 +214704,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_POLICY_ID:
@@ -194058,6 +214716,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -194072,8 +214731,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputeResourcePolicy_args)
         return this.equals((removeGroupComputeResourcePolicy_args)that);
       return false;
@@ -194116,7 +214773,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194129,14 +214786,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -194182,6 +214843,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_argsStandardScheme getScheme() {
         return new removeGroupComputeResourcePolicy_argsStandardScheme();
       }
@@ -194189,6 +214851,7 @@
 
     private static class removeGroupComputeResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputeResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -194218,6 +214881,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -194234,6 +214898,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_argsTupleScheme getScheme() {
         return new removeGroupComputeResourcePolicy_argsTupleScheme();
       }
@@ -194260,6 +214925,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupComputeResourcePolicy_result implements org.apache.thrift.TBase<removeGroupComputeResourcePolicy_result, removeGroupComputeResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupComputeResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupComputeResourcePolicy_result");
 
@@ -194270,7 +214936,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupComputeResourcePolicy_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -194288,6 +214954,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -194312,6 +214979,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -194324,10 +214992,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -194371,6 +215041,7 @@
       }
     }
 
+    @Override
     public removeGroupComputeResourcePolicy_result deepCopy() {
       return new removeGroupComputeResourcePolicy_result(this);
     }
@@ -194405,11 +215076,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeGroupComputeResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeGroupComputeResourcePolicy_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -194429,7 +215101,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -194450,6 +215123,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -194463,6 +215138,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -194479,8 +215155,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupComputeResourcePolicy_result)
         return this.equals((removeGroupComputeResourcePolicy_result)that);
       return false;
@@ -194534,7 +215208,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194544,7 +215218,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194557,10 +215231,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -194613,6 +215290,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_resultStandardScheme getScheme() {
         return new removeGroupComputeResourcePolicy_resultStandardScheme();
       }
@@ -194620,6 +215298,7 @@
 
     private static class removeGroupComputeResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupComputeResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -194658,6 +215337,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -194679,6 +215359,7 @@
     }
 
     private static class removeGroupComputeResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupComputeResourcePolicy_resultTupleScheme getScheme() {
         return new removeGroupComputeResourcePolicy_resultTupleScheme();
       }
@@ -194726,6 +215407,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupBatchQueueResourcePolicy_args implements org.apache.thrift.TBase<removeGroupBatchQueueResourcePolicy_args, removeGroupBatchQueueResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupBatchQueueResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupBatchQueueResourcePolicy_args");
 
@@ -194734,7 +215416,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupBatchQueueResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupBatchQueueResourcePolicy_argsTupleSchemeFactory();
 
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -194751,6 +215433,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_POLICY_ID
@@ -194773,6 +215456,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -194785,10 +215469,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -194823,6 +215509,7 @@
       }
     }
 
+    @Override
     public removeGroupBatchQueueResourcePolicy_args deepCopy() {
       return new removeGroupBatchQueueResourcePolicy_args(this);
     }
@@ -194832,11 +215519,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public removeGroupBatchQueueResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public removeGroupBatchQueueResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -194856,7 +215544,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_POLICY_ID:
         if (value == null) {
@@ -194869,6 +215558,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_POLICY_ID:
@@ -194879,6 +215570,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -194893,8 +215585,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupBatchQueueResourcePolicy_args)
         return this.equals((removeGroupBatchQueueResourcePolicy_args)that);
       return false;
@@ -194937,7 +215627,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -194950,14 +215640,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -195003,6 +215697,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_argsStandardScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_argsStandardScheme();
       }
@@ -195010,6 +215705,7 @@
 
     private static class removeGroupBatchQueueResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupBatchQueueResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -195039,6 +215735,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -195055,6 +215752,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_argsTupleScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_argsTupleScheme();
       }
@@ -195081,6 +215779,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupBatchQueueResourcePolicy_result implements org.apache.thrift.TBase<removeGroupBatchQueueResourcePolicy_result, removeGroupBatchQueueResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupBatchQueueResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupBatchQueueResourcePolicy_result");
 
@@ -195091,7 +215790,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupBatchQueueResourcePolicy_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -195109,6 +215808,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -195133,6 +215833,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -195145,10 +215846,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -195192,6 +215895,7 @@
       }
     }
 
+    @Override
     public removeGroupBatchQueueResourcePolicy_result deepCopy() {
       return new removeGroupBatchQueueResourcePolicy_result(this);
     }
@@ -195226,11 +215930,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeGroupBatchQueueResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeGroupBatchQueueResourcePolicy_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -195250,7 +215955,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -195271,6 +215977,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -195284,6 +215992,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -195300,8 +216009,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupBatchQueueResourcePolicy_result)
         return this.equals((removeGroupBatchQueueResourcePolicy_result)that);
       return false;
@@ -195355,7 +216062,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -195365,7 +216072,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -195378,10 +216085,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -195434,6 +216144,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_resultStandardScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_resultStandardScheme();
       }
@@ -195441,6 +216152,7 @@
 
     private static class removeGroupBatchQueueResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupBatchQueueResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -195479,6 +216191,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -195500,6 +216213,7 @@
     }
 
     private static class removeGroupBatchQueueResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupBatchQueueResourcePolicy_resultTupleScheme getScheme() {
         return new removeGroupBatchQueueResourcePolicy_resultTupleScheme();
       }
@@ -195547,6 +216261,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePreference_args implements org.apache.thrift.TBase<getGroupComputeResourcePreference_args, getGroupComputeResourcePreference_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePreference_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePreference_args");
 
@@ -195556,8 +216271,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePreference_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePreference_argsTupleSchemeFactory();
 
-    public java.lang.String computeResourceId; // required
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -195575,6 +216290,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMPUTE_RESOURCE_ID
@@ -195599,6 +216315,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -195611,10 +216328,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -195656,6 +216375,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePreference_args deepCopy() {
       return new getGroupComputeResourcePreference_args(this);
     }
@@ -195666,11 +216386,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getGroupComputeResourcePreference_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getGroupComputeResourcePreference_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -195690,11 +216411,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupComputeResourcePreference_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupComputeResourcePreference_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -195714,7 +216436,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
         if (value == null) {
@@ -195735,6 +216458,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMPUTE_RESOURCE_ID:
@@ -195748,6 +216473,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -195764,8 +216490,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePreference_args)
         return this.equals((getGroupComputeResourcePreference_args)that);
       return false;
@@ -195821,7 +216545,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -195831,7 +216555,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -195844,14 +216568,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -195908,6 +216636,7 @@
     }
 
     private static class getGroupComputeResourcePreference_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePreference_argsStandardScheme();
       }
@@ -195915,6 +216644,7 @@
 
     private static class getGroupComputeResourcePreference_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePreference_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -195952,6 +216682,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePreference_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -195973,6 +216704,7 @@
     }
 
     private static class getGroupComputeResourcePreference_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePreference_argsTupleScheme();
       }
@@ -196002,6 +216734,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePreference_result implements org.apache.thrift.TBase<getGroupComputeResourcePreference_result, getGroupComputeResourcePreference_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePreference_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePreference_result");
 
@@ -196011,8 +216744,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePreference_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePreference_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -196030,6 +216763,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -196054,6 +216788,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -196066,10 +216801,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -196111,6 +216848,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePreference_result deepCopy() {
       return new getGroupComputeResourcePreference_result(this);
     }
@@ -196121,11 +216859,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePreference_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success) {
+    public getGroupComputeResourcePreference_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference success) {
       this.success = success;
       return this;
     }
@@ -196145,11 +216884,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupComputeResourcePreference_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupComputeResourcePreference_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -196169,7 +216909,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -196190,6 +216931,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -196203,6 +216946,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -196219,8 +216963,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePreference_result)
         return this.equals((getGroupComputeResourcePreference_result)that);
       return false;
@@ -196276,7 +217018,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196286,7 +217028,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196299,10 +217041,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -196360,6 +217105,7 @@
     }
 
     private static class getGroupComputeResourcePreference_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePreference_resultStandardScheme();
       }
@@ -196367,6 +217113,7 @@
 
     private static class getGroupComputeResourcePreference_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePreference_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -196406,6 +217153,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePreference_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -196427,6 +217175,7 @@
     }
 
     private static class getGroupComputeResourcePreference_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePreference_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePreference_resultTupleScheme();
       }
@@ -196475,6 +217224,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicy_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_args, getGroupComputeResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_args");
 
@@ -196483,7 +217233,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_argsTupleSchemeFactory();
 
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -196500,6 +217250,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_POLICY_ID
@@ -196522,6 +217273,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -196534,10 +217286,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -196572,6 +217326,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicy_args deepCopy() {
       return new getGroupComputeResourcePolicy_args(this);
     }
@@ -196581,11 +217336,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public getGroupComputeResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public getGroupComputeResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -196605,7 +217361,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_POLICY_ID:
         if (value == null) {
@@ -196618,6 +217375,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_POLICY_ID:
@@ -196628,6 +217387,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -196642,8 +217402,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicy_args)
         return this.equals((getGroupComputeResourcePolicy_args)that);
       return false;
@@ -196686,7 +217444,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -196699,14 +217457,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -196752,6 +217514,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePolicy_argsStandardScheme();
       }
@@ -196759,6 +217522,7 @@
 
     private static class getGroupComputeResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -196788,6 +217552,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -196804,6 +217569,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePolicy_argsTupleScheme();
       }
@@ -196830,6 +217596,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicy_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicy_result, getGroupComputeResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicy_result");
 
@@ -196839,8 +217606,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicy_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -196858,6 +217625,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -196882,6 +217650,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -196894,10 +217663,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -196939,6 +217710,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicy_result deepCopy() {
       return new getGroupComputeResourcePolicy_result(this);
     }
@@ -196949,11 +217721,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success) {
+    public getGroupComputeResourcePolicy_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy success) {
       this.success = success;
       return this;
     }
@@ -196973,11 +217746,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupComputeResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupComputeResourcePolicy_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -196997,7 +217771,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -197018,6 +217793,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -197031,6 +217808,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -197047,8 +217825,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicy_result)
         return this.equals((getGroupComputeResourcePolicy_result)that);
       return false;
@@ -197104,7 +217880,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197114,7 +217890,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197127,10 +217903,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -197188,6 +217967,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePolicy_resultStandardScheme();
       }
@@ -197195,6 +217975,7 @@
 
     private static class getGroupComputeResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -197234,6 +218015,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -197255,6 +218037,7 @@
     }
 
     private static class getGroupComputeResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicy_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePolicy_resultTupleScheme();
       }
@@ -197303,6 +218086,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getBatchQueueResourcePolicy_args implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_args, getBatchQueueResourcePolicy_args._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_args");
 
@@ -197311,7 +218095,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_argsTupleSchemeFactory();
 
-    public java.lang.String resourcePolicyId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId; // 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 {
@@ -197328,6 +218112,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RESOURCE_POLICY_ID
@@ -197350,6 +218135,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -197362,10 +218148,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -197400,6 +218188,7 @@
       }
     }
 
+    @Override
     public getBatchQueueResourcePolicy_args deepCopy() {
       return new getBatchQueueResourcePolicy_args(this);
     }
@@ -197409,11 +218198,12 @@
       this.resourcePolicyId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getResourcePolicyId() {
       return this.resourcePolicyId;
     }
 
-    public getBatchQueueResourcePolicy_args setResourcePolicyId(java.lang.String resourcePolicyId) {
+    public getBatchQueueResourcePolicy_args setResourcePolicyId(@org.apache.thrift.annotation.Nullable java.lang.String resourcePolicyId) {
       this.resourcePolicyId = resourcePolicyId;
       return this;
     }
@@ -197433,7 +218223,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RESOURCE_POLICY_ID:
         if (value == null) {
@@ -197446,6 +218237,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RESOURCE_POLICY_ID:
@@ -197456,6 +218249,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -197470,8 +218264,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getBatchQueueResourcePolicy_args)
         return this.equals((getBatchQueueResourcePolicy_args)that);
       return false;
@@ -197514,7 +218306,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetResourcePolicyId()).compareTo(other.isSetResourcePolicyId());
+      lastComparison = java.lang.Boolean.compare(isSetResourcePolicyId(), other.isSetResourcePolicyId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197527,14 +218319,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -197580,6 +218376,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_argsStandardScheme getScheme() {
         return new getBatchQueueResourcePolicy_argsStandardScheme();
       }
@@ -197587,6 +218384,7 @@
 
     private static class getBatchQueueResourcePolicy_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -197616,6 +218414,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getBatchQueueResourcePolicy_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -197632,6 +218431,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_argsTupleScheme getScheme() {
         return new getBatchQueueResourcePolicy_argsTupleScheme();
       }
@@ -197658,6 +218458,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getBatchQueueResourcePolicy_result implements org.apache.thrift.TBase<getBatchQueueResourcePolicy_result, getBatchQueueResourcePolicy_result._Fields>, java.io.Serializable, Cloneable, Comparable<getBatchQueueResourcePolicy_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getBatchQueueResourcePolicy_result");
 
@@ -197667,8 +218468,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getBatchQueueResourcePolicy_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -197686,6 +218487,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -197710,6 +218512,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -197722,10 +218525,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -197767,6 +218572,7 @@
       }
     }
 
+    @Override
     public getBatchQueueResourcePolicy_result deepCopy() {
       return new getBatchQueueResourcePolicy_result(this);
     }
@@ -197777,11 +218583,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy getSuccess() {
       return this.success;
     }
 
-    public getBatchQueueResourcePolicy_result setSuccess(org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success) {
+    public getBatchQueueResourcePolicy_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy success) {
       this.success = success;
       return this;
     }
@@ -197801,11 +218608,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getBatchQueueResourcePolicy_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getBatchQueueResourcePolicy_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -197825,7 +218633,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -197846,6 +218655,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -197859,6 +218670,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -197875,8 +218687,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getBatchQueueResourcePolicy_result)
         return this.equals((getBatchQueueResourcePolicy_result)that);
       return false;
@@ -197932,7 +218742,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197942,7 +218752,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -197955,10 +218765,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -198016,6 +218829,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_resultStandardScheme getScheme() {
         return new getBatchQueueResourcePolicy_resultStandardScheme();
       }
@@ -198023,6 +218837,7 @@
 
     private static class getBatchQueueResourcePolicy_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getBatchQueueResourcePolicy_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -198062,6 +218877,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getBatchQueueResourcePolicy_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -198083,6 +218899,7 @@
     }
 
     private static class getBatchQueueResourcePolicy_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getBatchQueueResourcePolicy_resultTupleScheme getScheme() {
         return new getBatchQueueResourcePolicy_resultTupleScheme();
       }
@@ -198131,6 +218948,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePrefList_args implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_args, getGroupComputeResourcePrefList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_args");
 
@@ -198139,7 +218957,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -198156,6 +218974,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE_ID
@@ -198178,6 +218997,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -198190,10 +219010,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -198228,6 +219050,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePrefList_args deepCopy() {
       return new getGroupComputeResourcePrefList_args(this);
     }
@@ -198237,11 +219060,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupComputeResourcePrefList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupComputeResourcePrefList_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -198261,7 +219085,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
         if (value == null) {
@@ -198274,6 +219099,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
@@ -198284,6 +219111,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -198298,8 +219126,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePrefList_args)
         return this.equals((getGroupComputeResourcePrefList_args)that);
       return false;
@@ -198342,7 +219168,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198355,14 +219181,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -198408,6 +219238,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePrefList_argsStandardScheme();
       }
@@ -198415,6 +219246,7 @@
 
     private static class getGroupComputeResourcePrefList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -198444,6 +219276,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePrefList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -198460,6 +219293,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePrefList_argsTupleScheme();
       }
@@ -198486,6 +219320,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePrefList_result implements org.apache.thrift.TBase<getGroupComputeResourcePrefList_result, getGroupComputeResourcePrefList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePrefList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePrefList_result");
 
@@ -198495,8 +219330,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePrefList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -198514,6 +219349,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -198538,6 +219374,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -198550,10 +219387,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -198600,6 +219439,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePrefList_result deepCopy() {
       return new getGroupComputeResourcePrefList_result(this);
     }
@@ -198614,6 +219454,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -198625,11 +219466,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePrefList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success) {
+    public getGroupComputeResourcePrefList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference> success) {
       this.success = success;
       return this;
     }
@@ -198649,11 +219491,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupComputeResourcePrefList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupComputeResourcePrefList_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -198673,7 +219516,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -198694,6 +219538,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -198707,6 +219553,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -198723,8 +219570,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePrefList_result)
         return this.equals((getGroupComputeResourcePrefList_result)that);
       return false;
@@ -198780,7 +219625,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198790,7 +219635,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -198803,10 +219648,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -198861,6 +219709,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePrefList_resultStandardScheme();
       }
@@ -198868,6 +219717,7 @@
 
     private static class getGroupComputeResourcePrefList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePrefList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -198881,14 +219731,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list474 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list474.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem475;
-                  for (int _i476 = 0; _i476 < _list474.size; ++_i476)
+                  org.apache.thrift.protocol.TList _list500 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list500.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem501;
+                  for (int _i502 = 0; _i502 < _list500.size; ++_i502)
                   {
-                    _elem475 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
-                    _elem475.read(iprot);
-                    struct.success.add(_elem475);
+                    _elem501 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
+                    _elem501.read(iprot);
+                    struct.success.add(_elem501);
                   }
                   iprot.readListEnd();
                 }
@@ -198917,6 +219767,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePrefList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -198925,9 +219776,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _iter477 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _iter503 : struct.success)
             {
-              _iter477.write(oprot);
+              _iter503.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -198945,6 +219796,7 @@
     }
 
     private static class getGroupComputeResourcePrefList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePrefList_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePrefList_resultTupleScheme();
       }
@@ -198966,9 +219818,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _iter478 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _iter504 : struct.success)
             {
-              _iter478.write(oprot);
+              _iter504.write(oprot);
             }
           }
         }
@@ -198983,14 +219835,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list479 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list479.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem480;
-            for (int _i481 = 0; _i481 < _list479.size; ++_i481)
+            org.apache.thrift.protocol.TList _list505 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference>(_list505.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference _elem506;
+            for (int _i507 = 0; _i507 < _list505.size; ++_i507)
             {
-              _elem480 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
-              _elem480.read(iprot);
-              struct.success.add(_elem480);
+              _elem506 = new org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference();
+              _elem506.read(iprot);
+              struct.success.add(_elem506);
             }
           }
           struct.setSuccessIsSet(true);
@@ -199008,6 +219860,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupBatchQueueResourcePolicyList_args implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_args, getGroupBatchQueueResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_args");
 
@@ -199016,7 +219869,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -199033,6 +219886,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE_ID
@@ -199055,6 +219909,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -199067,10 +219922,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -199105,6 +219962,7 @@
       }
     }
 
+    @Override
     public getGroupBatchQueueResourcePolicyList_args deepCopy() {
       return new getGroupBatchQueueResourcePolicyList_args(this);
     }
@@ -199114,11 +219972,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupBatchQueueResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupBatchQueueResourcePolicyList_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -199138,7 +219997,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
         if (value == null) {
@@ -199151,6 +220011,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
@@ -199161,6 +220023,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -199175,8 +220038,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupBatchQueueResourcePolicyList_args)
         return this.equals((getGroupBatchQueueResourcePolicyList_args)that);
       return false;
@@ -199219,7 +220080,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199232,14 +220093,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -199285,6 +220150,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_argsStandardScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_argsStandardScheme();
       }
@@ -199292,6 +220158,7 @@
 
     private static class getGroupBatchQueueResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -199321,6 +220188,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupBatchQueueResourcePolicyList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -199337,6 +220205,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_argsTupleScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_argsTupleScheme();
       }
@@ -199363,6 +220232,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupBatchQueueResourcePolicyList_result implements org.apache.thrift.TBase<getGroupBatchQueueResourcePolicyList_result, getGroupBatchQueueResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupBatchQueueResourcePolicyList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupBatchQueueResourcePolicyList_result");
 
@@ -199372,8 +220242,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -199391,6 +220261,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -199415,6 +220286,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -199427,10 +220299,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -199477,6 +220351,7 @@
       }
     }
 
+    @Override
     public getGroupBatchQueueResourcePolicyList_result deepCopy() {
       return new getGroupBatchQueueResourcePolicyList_result(this);
     }
@@ -199491,6 +220366,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -199502,11 +220378,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> getSuccess() {
       return this.success;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success) {
+    public getGroupBatchQueueResourcePolicyList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy> success) {
       this.success = success;
       return this;
     }
@@ -199526,11 +220403,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupBatchQueueResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupBatchQueueResourcePolicyList_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -199550,7 +220428,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -199571,6 +220450,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -199584,6 +220465,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -199600,8 +220482,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupBatchQueueResourcePolicyList_result)
         return this.equals((getGroupBatchQueueResourcePolicyList_result)that);
       return false;
@@ -199657,7 +220537,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199667,7 +220547,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -199680,10 +220560,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -199738,6 +220621,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_resultStandardScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_resultStandardScheme();
       }
@@ -199745,6 +220629,7 @@
 
     private static class getGroupBatchQueueResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupBatchQueueResourcePolicyList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -199758,14 +220643,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list482 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list482.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem483;
-                  for (int _i484 = 0; _i484 < _list482.size; ++_i484)
+                  org.apache.thrift.protocol.TList _list508 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list508.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem509;
+                  for (int _i510 = 0; _i510 < _list508.size; ++_i510)
                   {
-                    _elem483 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
-                    _elem483.read(iprot);
-                    struct.success.add(_elem483);
+                    _elem509 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+                    _elem509.read(iprot);
+                    struct.success.add(_elem509);
                   }
                   iprot.readListEnd();
                 }
@@ -199794,6 +220679,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupBatchQueueResourcePolicyList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -199802,9 +220688,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _iter485 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _iter511 : struct.success)
             {
-              _iter485.write(oprot);
+              _iter511.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -199822,6 +220708,7 @@
     }
 
     private static class getGroupBatchQueueResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupBatchQueueResourcePolicyList_resultTupleScheme getScheme() {
         return new getGroupBatchQueueResourcePolicyList_resultTupleScheme();
       }
@@ -199843,9 +220730,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _iter486 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _iter512 : struct.success)
             {
-              _iter486.write(oprot);
+              _iter512.write(oprot);
             }
           }
         }
@@ -199860,14 +220747,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list487 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list487.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem488;
-            for (int _i489 = 0; _i489 < _list487.size; ++_i489)
+            org.apache.thrift.protocol.TList _list513 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy>(_list513.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy _elem514;
+            for (int _i515 = 0; _i515 < _list513.size; ++_i515)
             {
-              _elem488 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
-              _elem488.read(iprot);
-              struct.success.add(_elem488);
+              _elem514 = new org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy();
+              _elem514.read(iprot);
+              struct.success.add(_elem514);
             }
           }
           struct.setSuccessIsSet(true);
@@ -199885,6 +220772,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicyList_args implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_args, getGroupComputeResourcePolicyList_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_args");
 
@@ -199893,7 +220781,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_argsTupleSchemeFactory();
 
-    public java.lang.String groupResourceProfileId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId; // 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 {
@@ -199910,6 +220798,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP_RESOURCE_PROFILE_ID
@@ -199932,6 +220821,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -199944,10 +220834,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -199982,6 +220874,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicyList_args deepCopy() {
       return new getGroupComputeResourcePolicyList_args(this);
     }
@@ -199991,11 +220884,12 @@
       this.groupResourceProfileId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupResourceProfileId() {
       return this.groupResourceProfileId;
     }
 
-    public getGroupComputeResourcePolicyList_args setGroupResourceProfileId(java.lang.String groupResourceProfileId) {
+    public getGroupComputeResourcePolicyList_args setGroupResourceProfileId(@org.apache.thrift.annotation.Nullable java.lang.String groupResourceProfileId) {
       this.groupResourceProfileId = groupResourceProfileId;
       return this;
     }
@@ -200015,7 +220909,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
         if (value == null) {
@@ -200028,6 +220923,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP_RESOURCE_PROFILE_ID:
@@ -200038,6 +220935,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -200052,8 +220950,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicyList_args)
         return this.equals((getGroupComputeResourcePolicyList_args)that);
       return false;
@@ -200096,7 +220992,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupResourceProfileId()).compareTo(other.isSetGroupResourceProfileId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupResourceProfileId(), other.isSetGroupResourceProfileId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -200109,14 +221005,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -200162,6 +221062,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_argsStandardScheme getScheme() {
         return new getGroupComputeResourcePolicyList_argsStandardScheme();
       }
@@ -200169,6 +221070,7 @@
 
     private static class getGroupComputeResourcePolicyList_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -200198,6 +221100,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -200214,6 +221117,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_argsTupleScheme getScheme() {
         return new getGroupComputeResourcePolicyList_argsTupleScheme();
       }
@@ -200240,6 +221144,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupComputeResourcePolicyList_result implements org.apache.thrift.TBase<getGroupComputeResourcePolicyList_result, getGroupComputeResourcePolicyList_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupComputeResourcePolicyList_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupComputeResourcePolicyList_result");
 
@@ -200249,8 +221154,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupComputeResourcePolicyList_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -200268,6 +221173,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -200292,6 +221198,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -200304,10 +221211,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -200354,6 +221263,7 @@
       }
     }
 
+    @Override
     public getGroupComputeResourcePolicyList_result deepCopy() {
       return new getGroupComputeResourcePolicyList_result(this);
     }
@@ -200368,6 +221278,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -200379,11 +221290,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> getSuccess() {
       return this.success;
     }
 
-    public getGroupComputeResourcePolicyList_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success) {
+    public getGroupComputeResourcePolicyList_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy> success) {
       this.success = success;
       return this;
     }
@@ -200403,11 +221315,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGroupComputeResourcePolicyList_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGroupComputeResourcePolicyList_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -200427,7 +221340,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -200448,6 +221362,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -200461,6 +221377,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -200477,8 +221394,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupComputeResourcePolicyList_result)
         return this.equals((getGroupComputeResourcePolicyList_result)that);
       return false;
@@ -200534,7 +221449,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -200544,7 +221459,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -200557,10 +221472,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -200615,6 +221533,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_resultStandardScheme getScheme() {
         return new getGroupComputeResourcePolicyList_resultStandardScheme();
       }
@@ -200622,6 +221541,7 @@
 
     private static class getGroupComputeResourcePolicyList_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupComputeResourcePolicyList_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -200635,14 +221555,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list490 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list490.size);
-                  org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem491;
-                  for (int _i492 = 0; _i492 < _list490.size; ++_i492)
+                  org.apache.thrift.protocol.TList _list516 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list516.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem517;
+                  for (int _i518 = 0; _i518 < _list516.size; ++_i518)
                   {
-                    _elem491 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
-                    _elem491.read(iprot);
-                    struct.success.add(_elem491);
+                    _elem517 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
+                    _elem517.read(iprot);
+                    struct.success.add(_elem517);
                   }
                   iprot.readListEnd();
                 }
@@ -200671,6 +221591,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupComputeResourcePolicyList_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -200679,9 +221600,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter493 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter519 : struct.success)
             {
-              _iter493.write(oprot);
+              _iter519.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -200699,6 +221620,7 @@
     }
 
     private static class getGroupComputeResourcePolicyList_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupComputeResourcePolicyList_resultTupleScheme getScheme() {
         return new getGroupComputeResourcePolicyList_resultTupleScheme();
       }
@@ -200720,9 +221642,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter494 : struct.success)
+            for (org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _iter520 : struct.success)
             {
-              _iter494.write(oprot);
+              _iter520.write(oprot);
             }
           }
         }
@@ -200737,14 +221659,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list495 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list495.size);
-            org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem496;
-            for (int _i497 = 0; _i497 < _list495.size; ++_i497)
+            org.apache.thrift.protocol.TList _list521 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy>(_list521.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy _elem522;
+            for (int _i523 = 0; _i523 < _list521.size; ++_i523)
             {
-              _elem496 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
-              _elem496.read(iprot);
-              struct.success.add(_elem496);
+              _elem522 = new org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResourcePolicy();
+              _elem522.read(iprot);
+              struct.success.add(_elem522);
             }
           }
           struct.setSuccessIsSet(true);
@@ -200762,6 +221684,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGatewayGroups_args implements org.apache.thrift.TBase<createGatewayGroups_args, createGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_args");
 
@@ -200770,7 +221693,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // 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 {
@@ -200787,6 +221710,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_GROUPS
@@ -200809,6 +221733,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -200821,10 +221746,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -200859,6 +221786,7 @@
       }
     }
 
+    @Override
     public createGatewayGroups_args deepCopy() {
       return new createGatewayGroups_args(this);
     }
@@ -200868,11 +221796,12 @@
       this.gatewayGroups = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
       return this.gatewayGroups;
     }
 
-    public createGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
+    public createGatewayGroups_args setGatewayGroups(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
       this.gatewayGroups = gatewayGroups;
       return this;
     }
@@ -200892,7 +221821,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_GROUPS:
         if (value == null) {
@@ -200905,6 +221835,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_GROUPS:
@@ -200915,6 +221847,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -200929,8 +221862,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGatewayGroups_args)
         return this.equals((createGatewayGroups_args)that);
       return false;
@@ -200973,7 +221904,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayGroups(), other.isSetGatewayGroups());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -200986,14 +221917,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -201042,6 +221977,7 @@
     }
 
     private static class createGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGatewayGroups_argsStandardScheme getScheme() {
         return new createGatewayGroups_argsStandardScheme();
       }
@@ -201049,6 +221985,7 @@
 
     private static class createGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -201079,6 +222016,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGatewayGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -201095,6 +222033,7 @@
     }
 
     private static class createGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGatewayGroups_argsTupleScheme getScheme() {
         return new createGatewayGroups_argsTupleScheme();
       }
@@ -201122,6 +222061,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGatewayGroups_result implements org.apache.thrift.TBase<createGatewayGroups_result, createGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGatewayGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGatewayGroups_result");
 
@@ -201131,8 +222071,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGatewayGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGatewayGroups_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
-    public org.apache.airavata.model.error.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.DuplicateEntryException dee; // 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 {
@@ -201150,6 +222090,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -201174,6 +222115,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -201186,10 +222128,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -201231,6 +222175,7 @@
       }
     }
 
+    @Override
     public createGatewayGroups_result deepCopy() {
       return new createGatewayGroups_result(this);
     }
@@ -201241,11 +222186,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public createGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public createGatewayGroups_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -201265,11 +222211,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.error.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createGatewayGroups_result setDee(org.apache.airavata.model.error.DuplicateEntryException dee) {
+    public createGatewayGroups_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.error.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -201289,7 +222236,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -201310,6 +222258,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -201323,6 +222273,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -201339,8 +222290,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGatewayGroups_result)
         return this.equals((createGatewayGroups_result)that);
       return false;
@@ -201396,7 +222345,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201406,7 +222355,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201419,10 +222368,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -201477,6 +222429,7 @@
     }
 
     private static class createGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGatewayGroups_resultStandardScheme getScheme() {
         return new createGatewayGroups_resultStandardScheme();
       }
@@ -201484,6 +222437,7 @@
 
     private static class createGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGatewayGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -201523,6 +222477,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGatewayGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -201544,6 +222499,7 @@
     }
 
     private static class createGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGatewayGroups_resultTupleScheme getScheme() {
         return new createGatewayGroups_resultTupleScheme();
       }
@@ -201592,6 +222548,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayGroups_args implements org.apache.thrift.TBase<updateGatewayGroups_args, updateGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_args");
 
@@ -201600,7 +222557,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups; // 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 {
@@ -201617,6 +222574,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_GROUPS
@@ -201639,6 +222597,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -201651,10 +222610,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -201689,6 +222650,7 @@
       }
     }
 
+    @Override
     public updateGatewayGroups_args deepCopy() {
       return new updateGatewayGroups_args(this);
     }
@@ -201698,11 +222660,12 @@
       this.gatewayGroups = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getGatewayGroups() {
       return this.gatewayGroups;
     }
 
-    public updateGatewayGroups_args setGatewayGroups(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
+    public updateGatewayGroups_args setGatewayGroups(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups gatewayGroups) {
       this.gatewayGroups = gatewayGroups;
       return this;
     }
@@ -201722,7 +222685,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_GROUPS:
         if (value == null) {
@@ -201735,6 +222699,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_GROUPS:
@@ -201745,6 +222711,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -201759,8 +222726,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayGroups_args)
         return this.equals((updateGatewayGroups_args)that);
       return false;
@@ -201803,7 +222768,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayGroups()).compareTo(other.isSetGatewayGroups());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayGroups(), other.isSetGatewayGroups());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -201816,14 +222781,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -201872,6 +222841,7 @@
     }
 
     private static class updateGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayGroups_argsStandardScheme getScheme() {
         return new updateGatewayGroups_argsStandardScheme();
       }
@@ -201879,6 +222849,7 @@
 
     private static class updateGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -201909,6 +222880,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -201925,6 +222897,7 @@
     }
 
     private static class updateGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayGroups_argsTupleScheme getScheme() {
         return new updateGatewayGroups_argsTupleScheme();
       }
@@ -201952,6 +222925,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGatewayGroups_result implements org.apache.thrift.TBase<updateGatewayGroups_result, updateGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGatewayGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGatewayGroups_result");
 
@@ -201960,7 +222934,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGatewayGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGatewayGroups_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -201977,6 +222951,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -201999,6 +222974,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -202011,10 +222987,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -202049,6 +223027,7 @@
       }
     }
 
+    @Override
     public updateGatewayGroups_result deepCopy() {
       return new updateGatewayGroups_result(this);
     }
@@ -202058,11 +223037,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public updateGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public updateGatewayGroups_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -202082,7 +223062,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -202095,6 +223076,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -202105,6 +223088,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -202119,8 +223103,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGatewayGroups_result)
         return this.equals((updateGatewayGroups_result)that);
       return false;
@@ -202163,7 +223145,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202176,10 +223158,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -202226,6 +223211,7 @@
     }
 
     private static class updateGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayGroups_resultStandardScheme getScheme() {
         return new updateGatewayGroups_resultStandardScheme();
       }
@@ -202233,6 +223219,7 @@
 
     private static class updateGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGatewayGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -202263,6 +223250,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGatewayGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -202279,6 +223267,7 @@
     }
 
     private static class updateGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGatewayGroups_resultTupleScheme getScheme() {
         return new updateGatewayGroups_resultTupleScheme();
       }
@@ -202316,6 +223305,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayGroupsExists_args implements org.apache.thrift.TBase<isGatewayGroupsExists_args, isGatewayGroupsExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_args");
 
@@ -202324,7 +223314,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayGroupsExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -202341,6 +223331,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -202363,6 +223354,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -202375,10 +223367,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -202413,6 +223407,7 @@
       }
     }
 
+    @Override
     public isGatewayGroupsExists_args deepCopy() {
       return new isGatewayGroupsExists_args(this);
     }
@@ -202422,11 +223417,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isGatewayGroupsExists_args setGatewayId(java.lang.String gatewayId) {
+    public isGatewayGroupsExists_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -202446,7 +223442,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -202459,6 +223456,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -202469,6 +223468,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -202483,8 +223483,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayGroupsExists_args)
         return this.equals((isGatewayGroupsExists_args)that);
       return false;
@@ -202527,7 +223525,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202540,14 +223538,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -202593,6 +223595,7 @@
     }
 
     private static class isGatewayGroupsExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayGroupsExists_argsStandardScheme getScheme() {
         return new isGatewayGroupsExists_argsStandardScheme();
       }
@@ -202600,6 +223603,7 @@
 
     private static class isGatewayGroupsExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -202629,6 +223633,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -202645,6 +223650,7 @@
     }
 
     private static class isGatewayGroupsExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayGroupsExists_argsTupleScheme getScheme() {
         return new isGatewayGroupsExists_argsTupleScheme();
       }
@@ -202671,6 +223677,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayGroupsExists_result implements org.apache.thrift.TBase<isGatewayGroupsExists_result, isGatewayGroupsExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayGroupsExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayGroupsExists_result");
 
@@ -202681,7 +223688,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayGroupsExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -202699,6 +223706,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -202723,6 +223731,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -202735,10 +223744,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -202782,6 +223793,7 @@
       }
     }
 
+    @Override
     public isGatewayGroupsExists_result deepCopy() {
       return new isGatewayGroupsExists_result(this);
     }
@@ -202816,11 +223828,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public isGatewayGroupsExists_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isGatewayGroupsExists_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -202840,7 +223853,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -202861,6 +223875,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -202874,6 +223890,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -202890,8 +223907,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayGroupsExists_result)
         return this.equals((isGatewayGroupsExists_result)that);
       return false;
@@ -202945,7 +223960,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202955,7 +223970,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -202968,10 +223983,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -203024,6 +224042,7 @@
     }
 
     private static class isGatewayGroupsExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayGroupsExists_resultStandardScheme getScheme() {
         return new isGatewayGroupsExists_resultStandardScheme();
       }
@@ -203031,6 +224050,7 @@
 
     private static class isGatewayGroupsExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayGroupsExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -203069,6 +224089,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayGroupsExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -203090,6 +224111,7 @@
     }
 
     private static class isGatewayGroupsExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayGroupsExists_resultTupleScheme getScheme() {
         return new isGatewayGroupsExists_resultTupleScheme();
       }
@@ -203137,6 +224159,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayGroups_args implements org.apache.thrift.TBase<getGatewayGroups_args, getGatewayGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_args");
 
@@ -203145,7 +224168,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -203162,6 +224185,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -203184,6 +224208,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -203196,10 +224221,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -203234,6 +224261,7 @@
       }
     }
 
+    @Override
     public getGatewayGroups_args deepCopy() {
       return new getGatewayGroups_args(this);
     }
@@ -203243,11 +224271,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getGatewayGroups_args setGatewayId(java.lang.String gatewayId) {
+    public getGatewayGroups_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -203267,7 +224296,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -203280,6 +224310,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -203290,6 +224322,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -203304,8 +224337,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayGroups_args)
         return this.equals((getGatewayGroups_args)that);
       return false;
@@ -203348,7 +224379,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203361,14 +224392,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -203414,6 +224449,7 @@
     }
 
     private static class getGatewayGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_argsStandardScheme getScheme() {
         return new getGatewayGroups_argsStandardScheme();
       }
@@ -203421,6 +224457,7 @@
 
     private static class getGatewayGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -203450,6 +224487,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -203466,6 +224504,7 @@
     }
 
     private static class getGatewayGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_argsTupleScheme getScheme() {
         return new getGatewayGroups_argsTupleScheme();
       }
@@ -203492,6 +224531,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayGroups_result implements org.apache.thrift.TBase<getGatewayGroups_result, getGatewayGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayGroups_result");
 
@@ -203501,8 +224541,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayGroups_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -203520,6 +224560,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -203544,6 +224585,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -203556,10 +224598,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -203601,6 +224645,7 @@
       }
     }
 
+    @Override
     public getGatewayGroups_result deepCopy() {
       return new getGatewayGroups_result(this);
     }
@@ -203611,11 +224656,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups getSuccess() {
       return this.success;
     }
 
-    public getGatewayGroups_result setSuccess(org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
+    public getGatewayGroups_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.gatewaygroups.GatewayGroups success) {
       this.success = success;
       return this;
     }
@@ -203635,11 +224681,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGatewayGroups_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGatewayGroups_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -203659,7 +224706,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -203680,6 +224728,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -203693,6 +224743,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -203709,8 +224760,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayGroups_result)
         return this.equals((getGatewayGroups_result)that);
       return false;
@@ -203766,7 +224815,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203776,7 +224825,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -203789,10 +224838,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -203850,6 +224902,7 @@
     }
 
     private static class getGatewayGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_resultStandardScheme getScheme() {
         return new getGatewayGroups_resultStandardScheme();
       }
@@ -203857,6 +224910,7 @@
 
     private static class getGatewayGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -203896,6 +224950,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -203917,6 +224972,7 @@
     }
 
     private static class getGatewayGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayGroups_resultTupleScheme getScheme() {
         return new getGatewayGroups_resultTupleScheme();
       }
@@ -203965,6 +225021,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParser_args implements org.apache.thrift.TBase<getParser_args, getParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_args");
 
@@ -203974,8 +225031,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_argsTupleSchemeFactory();
 
-    public java.lang.String parserId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String parserId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -203993,6 +225050,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PARSER_ID
@@ -204017,6 +225075,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -204029,10 +225088,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -204074,6 +225135,7 @@
       }
     }
 
+    @Override
     public getParser_args deepCopy() {
       return new getParser_args(this);
     }
@@ -204084,11 +225146,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getParserId() {
       return this.parserId;
     }
 
-    public getParser_args setParserId(java.lang.String parserId) {
+    public getParser_args setParserId(@org.apache.thrift.annotation.Nullable java.lang.String parserId) {
       this.parserId = parserId;
       return this;
     }
@@ -204108,11 +225171,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParser_args setGatewayId(java.lang.String gatewayId) {
+    public getParser_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -204132,7 +225196,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PARSER_ID:
         if (value == null) {
@@ -204153,6 +225218,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PARSER_ID:
@@ -204166,6 +225233,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -204182,8 +225250,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParser_args)
         return this.equals((getParser_args)that);
       return false;
@@ -204239,7 +225305,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
+      lastComparison = java.lang.Boolean.compare(isSetParserId(), other.isSetParserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204249,7 +225315,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204262,14 +225328,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -204326,6 +225396,7 @@
     }
 
     private static class getParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_argsStandardScheme getScheme() {
         return new getParser_argsStandardScheme();
       }
@@ -204333,6 +225404,7 @@
 
     private static class getParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -204370,6 +225442,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -204391,6 +225464,7 @@
     }
 
     private static class getParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_argsTupleScheme getScheme() {
         return new getParser_argsTupleScheme();
       }
@@ -204420,6 +225494,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParser_result implements org.apache.thrift.TBase<getParser_result, getParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParser_result");
 
@@ -204429,8 +225504,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParser_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.Parser success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -204448,6 +225523,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -204472,6 +225548,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -204484,10 +225561,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -204529,6 +225608,7 @@
       }
     }
 
+    @Override
     public getParser_result deepCopy() {
       return new getParser_result(this);
     }
@@ -204539,11 +225619,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.Parser getSuccess() {
       return this.success;
     }
 
-    public getParser_result setSuccess(org.apache.airavata.model.appcatalog.parser.Parser success) {
+    public getParser_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser success) {
       this.success = success;
       return this;
     }
@@ -204563,11 +225644,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParser_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -204587,7 +225669,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -204608,6 +225691,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -204621,6 +225706,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -204637,8 +225723,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParser_result)
         return this.equals((getParser_result)that);
       return false;
@@ -204694,7 +225778,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204704,7 +225788,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -204717,10 +225801,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -204778,6 +225865,7 @@
     }
 
     private static class getParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_resultStandardScheme getScheme() {
         return new getParser_resultStandardScheme();
       }
@@ -204785,6 +225873,7 @@
 
     private static class getParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -204824,6 +225913,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -204845,6 +225935,7 @@
     }
 
     private static class getParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParser_resultTupleScheme getScheme() {
         return new getParser_resultTupleScheme();
       }
@@ -204893,6 +225984,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParser_args implements org.apache.thrift.TBase<saveParser_args, saveParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_args");
 
@@ -204901,7 +225993,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.Parser parser; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser parser; // 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 {
@@ -204918,6 +226010,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PARSER
@@ -204940,6 +226033,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -204952,10 +226046,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -204990,6 +226086,7 @@
       }
     }
 
+    @Override
     public saveParser_args deepCopy() {
       return new saveParser_args(this);
     }
@@ -204999,11 +226096,12 @@
       this.parser = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.Parser getParser() {
       return this.parser;
     }
 
-    public saveParser_args setParser(org.apache.airavata.model.appcatalog.parser.Parser parser) {
+    public saveParser_args setParser(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser parser) {
       this.parser = parser;
       return this;
     }
@@ -205023,7 +226121,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PARSER:
         if (value == null) {
@@ -205036,6 +226135,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PARSER:
@@ -205046,6 +226147,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -205060,8 +226162,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParser_args)
         return this.equals((saveParser_args)that);
       return false;
@@ -205104,7 +226204,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetParser()).compareTo(other.isSetParser());
+      lastComparison = java.lang.Boolean.compare(isSetParser(), other.isSetParser());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205117,14 +226217,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -205173,6 +226277,7 @@
     }
 
     private static class saveParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_argsStandardScheme getScheme() {
         return new saveParser_argsStandardScheme();
       }
@@ -205180,6 +226285,7 @@
 
     private static class saveParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -205210,6 +226316,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -205226,6 +226333,7 @@
     }
 
     private static class saveParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_argsTupleScheme getScheme() {
         return new saveParser_argsTupleScheme();
       }
@@ -205253,6 +226361,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParser_result implements org.apache.thrift.TBase<saveParser_result, saveParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParser_result");
 
@@ -205262,8 +226371,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParser_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -205281,6 +226390,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -205305,6 +226415,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -205317,10 +226428,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -205362,6 +226475,7 @@
       }
     }
 
+    @Override
     public saveParser_result deepCopy() {
       return new saveParser_result(this);
     }
@@ -205372,11 +226486,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public saveParser_result setSuccess(java.lang.String success) {
+    public saveParser_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -205396,11 +226511,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public saveParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public saveParser_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -205420,7 +226536,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -205441,6 +226558,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -205454,6 +226573,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -205470,8 +226590,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParser_result)
         return this.equals((saveParser_result)that);
       return false;
@@ -205527,7 +226645,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205537,7 +226655,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205550,10 +226668,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -205608,6 +226729,7 @@
     }
 
     private static class saveParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_resultStandardScheme getScheme() {
         return new saveParser_resultStandardScheme();
       }
@@ -205615,6 +226737,7 @@
 
     private static class saveParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -205653,6 +226776,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -205674,6 +226798,7 @@
     }
 
     private static class saveParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParser_resultTupleScheme getScheme() {
         return new saveParser_resultTupleScheme();
       }
@@ -205721,6 +226846,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsers_args implements org.apache.thrift.TBase<listAllParsers_args, listAllParsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_args");
 
@@ -205729,7 +226855,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -205746,6 +226872,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -205768,6 +226895,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -205780,10 +226908,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -205818,6 +226948,7 @@
       }
     }
 
+    @Override
     public listAllParsers_args deepCopy() {
       return new listAllParsers_args(this);
     }
@@ -205827,11 +226958,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public listAllParsers_args setGatewayId(java.lang.String gatewayId) {
+    public listAllParsers_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -205851,7 +226983,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -205864,6 +226997,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -205874,6 +227009,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -205888,8 +227024,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsers_args)
         return this.equals((listAllParsers_args)that);
       return false;
@@ -205932,7 +227066,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -205945,14 +227079,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -205998,6 +227136,7 @@
     }
 
     private static class listAllParsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_argsStandardScheme getScheme() {
         return new listAllParsers_argsStandardScheme();
       }
@@ -206005,6 +227144,7 @@
 
     private static class listAllParsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -206034,6 +227174,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -206050,6 +227191,7 @@
     }
 
     private static class listAllParsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_argsTupleScheme getScheme() {
         return new listAllParsers_argsTupleScheme();
       }
@@ -206076,6 +227218,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsers_result implements org.apache.thrift.TBase<listAllParsers_result, listAllParsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsers_result");
 
@@ -206085,8 +227228,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -206104,6 +227247,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -206128,6 +227272,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -206140,10 +227285,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -206190,6 +227337,7 @@
       }
     }
 
+    @Override
     public listAllParsers_result deepCopy() {
       return new listAllParsers_result(this);
     }
@@ -206204,6 +227352,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.Parser> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -206215,11 +227364,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> getSuccess() {
       return this.success;
     }
 
-    public listAllParsers_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success) {
+    public listAllParsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.Parser> success) {
       this.success = success;
       return this;
     }
@@ -206239,11 +227389,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public listAllParsers_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public listAllParsers_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -206263,7 +227414,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -206284,6 +227436,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -206297,6 +227451,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -206313,8 +227468,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsers_result)
         return this.equals((listAllParsers_result)that);
       return false;
@@ -206370,7 +227523,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206380,7 +227533,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206393,10 +227546,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -206451,6 +227607,7 @@
     }
 
     private static class listAllParsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_resultStandardScheme getScheme() {
         return new listAllParsers_resultStandardScheme();
       }
@@ -206458,6 +227615,7 @@
 
     private static class listAllParsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -206471,14 +227629,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list498 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list498.size);
-                  org.apache.airavata.model.appcatalog.parser.Parser _elem499;
-                  for (int _i500 = 0; _i500 < _list498.size; ++_i500)
+                  org.apache.thrift.protocol.TList _list524 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list524.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser _elem525;
+                  for (int _i526 = 0; _i526 < _list524.size; ++_i526)
                   {
-                    _elem499 = new org.apache.airavata.model.appcatalog.parser.Parser();
-                    _elem499.read(iprot);
-                    struct.success.add(_elem499);
+                    _elem525 = new org.apache.airavata.model.appcatalog.parser.Parser();
+                    _elem525.read(iprot);
+                    struct.success.add(_elem525);
                   }
                   iprot.readListEnd();
                 }
@@ -206507,6 +227665,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -206515,9 +227674,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.parser.Parser _iter501 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.Parser _iter527 : struct.success)
             {
-              _iter501.write(oprot);
+              _iter527.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -206535,6 +227694,7 @@
     }
 
     private static class listAllParsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsers_resultTupleScheme getScheme() {
         return new listAllParsers_resultTupleScheme();
       }
@@ -206556,9 +227716,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.parser.Parser _iter502 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.Parser _iter528 : struct.success)
             {
-              _iter502.write(oprot);
+              _iter528.write(oprot);
             }
           }
         }
@@ -206573,14 +227733,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list503 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list503.size);
-            org.apache.airavata.model.appcatalog.parser.Parser _elem504;
-            for (int _i505 = 0; _i505 < _list503.size; ++_i505)
+            org.apache.thrift.protocol.TList _list529 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.Parser>(_list529.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.Parser _elem530;
+            for (int _i531 = 0; _i531 < _list529.size; ++_i531)
             {
-              _elem504 = new org.apache.airavata.model.appcatalog.parser.Parser();
-              _elem504.read(iprot);
-              struct.success.add(_elem504);
+              _elem530 = new org.apache.airavata.model.appcatalog.parser.Parser();
+              _elem530.read(iprot);
+              struct.success.add(_elem530);
             }
           }
           struct.setSuccessIsSet(true);
@@ -206598,6 +227758,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParser_args implements org.apache.thrift.TBase<removeParser_args, removeParser_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_args");
 
@@ -206607,8 +227768,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_argsTupleSchemeFactory();
 
-    public java.lang.String parserId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String parserId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -206626,6 +227787,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PARSER_ID
@@ -206650,6 +227812,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -206662,10 +227825,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -206707,6 +227872,7 @@
       }
     }
 
+    @Override
     public removeParser_args deepCopy() {
       return new removeParser_args(this);
     }
@@ -206717,11 +227883,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getParserId() {
       return this.parserId;
     }
 
-    public removeParser_args setParserId(java.lang.String parserId) {
+    public removeParser_args setParserId(@org.apache.thrift.annotation.Nullable java.lang.String parserId) {
       this.parserId = parserId;
       return this;
     }
@@ -206741,11 +227908,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public removeParser_args setGatewayId(java.lang.String gatewayId) {
+    public removeParser_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -206765,7 +227933,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PARSER_ID:
         if (value == null) {
@@ -206786,6 +227955,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PARSER_ID:
@@ -206799,6 +227970,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -206815,8 +227987,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParser_args)
         return this.equals((removeParser_args)that);
       return false;
@@ -206872,7 +228042,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetParserId()).compareTo(other.isSetParserId());
+      lastComparison = java.lang.Boolean.compare(isSetParserId(), other.isSetParserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206882,7 +228052,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -206895,14 +228065,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -206959,6 +228133,7 @@
     }
 
     private static class removeParser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_argsStandardScheme getScheme() {
         return new removeParser_argsStandardScheme();
       }
@@ -206966,6 +228141,7 @@
 
     private static class removeParser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -207003,6 +228179,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -207024,6 +228201,7 @@
     }
 
     private static class removeParser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_argsTupleScheme getScheme() {
         return new removeParser_argsTupleScheme();
       }
@@ -207053,6 +228231,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParser_result implements org.apache.thrift.TBase<removeParser_result, removeParser_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeParser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParser_result");
 
@@ -207061,7 +228240,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParser_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -207078,6 +228257,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -207100,6 +228280,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -207112,10 +228293,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -207150,6 +228333,7 @@
       }
     }
 
+    @Override
     public removeParser_result deepCopy() {
       return new removeParser_result(this);
     }
@@ -207159,11 +228343,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeParser_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeParser_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -207183,7 +228368,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -207196,6 +228382,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -207206,6 +228394,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -207220,8 +228409,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParser_result)
         return this.equals((removeParser_result)that);
       return false;
@@ -207264,7 +228451,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207277,10 +228464,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -207327,6 +228517,7 @@
     }
 
     private static class removeParser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_resultStandardScheme getScheme() {
         return new removeParser_resultStandardScheme();
       }
@@ -207334,6 +228525,7 @@
 
     private static class removeParser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -207364,6 +228556,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -207380,6 +228573,7 @@
     }
 
     private static class removeParser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParser_resultTupleScheme getScheme() {
         return new removeParser_resultTupleScheme();
       }
@@ -207417,6 +228611,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParserInput_args implements org.apache.thrift.TBase<getParserInput_args, getParserInput_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParserInput_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserInput_args");
 
@@ -207426,8 +228621,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserInput_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserInput_argsTupleSchemeFactory();
 
-    public java.lang.String parserInputId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String parserInputId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -207445,6 +228640,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PARSER_INPUT_ID
@@ -207469,6 +228665,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -207481,10 +228678,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -207526,6 +228725,7 @@
       }
     }
 
+    @Override
     public getParserInput_args deepCopy() {
       return new getParserInput_args(this);
     }
@@ -207536,11 +228736,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getParserInputId() {
       return this.parserInputId;
     }
 
-    public getParserInput_args setParserInputId(java.lang.String parserInputId) {
+    public getParserInput_args setParserInputId(@org.apache.thrift.annotation.Nullable java.lang.String parserInputId) {
       this.parserInputId = parserInputId;
       return this;
     }
@@ -207560,11 +228761,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParserInput_args setGatewayId(java.lang.String gatewayId) {
+    public getParserInput_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -207584,7 +228786,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PARSER_INPUT_ID:
         if (value == null) {
@@ -207605,6 +228808,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PARSER_INPUT_ID:
@@ -207618,6 +228823,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -207634,8 +228840,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParserInput_args)
         return this.equals((getParserInput_args)that);
       return false;
@@ -207691,7 +228895,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetParserInputId()).compareTo(other.isSetParserInputId());
+      lastComparison = java.lang.Boolean.compare(isSetParserInputId(), other.isSetParserInputId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207701,7 +228905,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -207714,14 +228918,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -207778,6 +228986,7 @@
     }
 
     private static class getParserInput_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserInput_argsStandardScheme getScheme() {
         return new getParserInput_argsStandardScheme();
       }
@@ -207785,6 +228994,7 @@
 
     private static class getParserInput_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserInput_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParserInput_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -207822,6 +229032,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParserInput_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -207843,6 +229054,7 @@
     }
 
     private static class getParserInput_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserInput_argsTupleScheme getScheme() {
         return new getParserInput_argsTupleScheme();
       }
@@ -207872,6 +229084,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParserInput_result implements org.apache.thrift.TBase<getParserInput_result, getParserInput_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParserInput_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserInput_result");
 
@@ -207881,8 +229094,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserInput_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserInput_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.ParserInput success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParserInput success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -207900,6 +229113,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -207924,6 +229138,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -207936,10 +229151,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -207981,6 +229198,7 @@
       }
     }
 
+    @Override
     public getParserInput_result deepCopy() {
       return new getParserInput_result(this);
     }
@@ -207991,11 +229209,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.ParserInput getSuccess() {
       return this.success;
     }
 
-    public getParserInput_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParserInput success) {
+    public getParserInput_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParserInput success) {
       this.success = success;
       return this;
     }
@@ -208015,11 +229234,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getParserInput_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParserInput_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -208039,7 +229259,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -208060,6 +229281,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -208073,6 +229296,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -208089,8 +229313,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParserInput_result)
         return this.equals((getParserInput_result)that);
       return false;
@@ -208146,7 +229368,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208156,7 +229378,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208169,10 +229391,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -208230,6 +229455,7 @@
     }
 
     private static class getParserInput_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserInput_resultStandardScheme getScheme() {
         return new getParserInput_resultStandardScheme();
       }
@@ -208237,6 +229463,7 @@
 
     private static class getParserInput_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserInput_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParserInput_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -208276,6 +229503,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParserInput_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -208297,6 +229525,7 @@
     }
 
     private static class getParserInput_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserInput_resultTupleScheme getScheme() {
         return new getParserInput_resultTupleScheme();
       }
@@ -208345,6 +229574,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParserOutput_args implements org.apache.thrift.TBase<getParserOutput_args, getParserOutput_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParserOutput_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserOutput_args");
 
@@ -208354,8 +229584,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserOutput_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserOutput_argsTupleSchemeFactory();
 
-    public java.lang.String parserOutputId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String parserOutputId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -208373,6 +229603,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PARSER_OUTPUT_ID
@@ -208397,6 +229628,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -208409,10 +229641,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -208454,6 +229688,7 @@
       }
     }
 
+    @Override
     public getParserOutput_args deepCopy() {
       return new getParserOutput_args(this);
     }
@@ -208464,11 +229699,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getParserOutputId() {
       return this.parserOutputId;
     }
 
-    public getParserOutput_args setParserOutputId(java.lang.String parserOutputId) {
+    public getParserOutput_args setParserOutputId(@org.apache.thrift.annotation.Nullable java.lang.String parserOutputId) {
       this.parserOutputId = parserOutputId;
       return this;
     }
@@ -208488,11 +229724,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParserOutput_args setGatewayId(java.lang.String gatewayId) {
+    public getParserOutput_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -208512,7 +229749,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PARSER_OUTPUT_ID:
         if (value == null) {
@@ -208533,6 +229771,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PARSER_OUTPUT_ID:
@@ -208546,6 +229786,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -208562,8 +229803,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParserOutput_args)
         return this.equals((getParserOutput_args)that);
       return false;
@@ -208619,7 +229858,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetParserOutputId()).compareTo(other.isSetParserOutputId());
+      lastComparison = java.lang.Boolean.compare(isSetParserOutputId(), other.isSetParserOutputId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208629,7 +229868,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -208642,14 +229881,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -208706,6 +229949,7 @@
     }
 
     private static class getParserOutput_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserOutput_argsStandardScheme getScheme() {
         return new getParserOutput_argsStandardScheme();
       }
@@ -208713,6 +229957,7 @@
 
     private static class getParserOutput_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserOutput_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParserOutput_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -208750,6 +229995,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParserOutput_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -208771,6 +230017,7 @@
     }
 
     private static class getParserOutput_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserOutput_argsTupleScheme getScheme() {
         return new getParserOutput_argsTupleScheme();
       }
@@ -208800,6 +230047,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParserOutput_result implements org.apache.thrift.TBase<getParserOutput_result, getParserOutput_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParserOutput_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParserOutput_result");
 
@@ -208809,8 +230057,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParserOutput_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParserOutput_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.ParserOutput success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParserOutput success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -208828,6 +230076,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -208852,6 +230101,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -208864,10 +230114,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -208909,6 +230161,7 @@
       }
     }
 
+    @Override
     public getParserOutput_result deepCopy() {
       return new getParserOutput_result(this);
     }
@@ -208919,11 +230172,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.ParserOutput getSuccess() {
       return this.success;
     }
 
-    public getParserOutput_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParserOutput success) {
+    public getParserOutput_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParserOutput success) {
       this.success = success;
       return this;
     }
@@ -208943,11 +230197,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getParserOutput_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParserOutput_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -208967,7 +230222,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -208988,6 +230244,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -209001,6 +230259,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -209017,8 +230276,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParserOutput_result)
         return this.equals((getParserOutput_result)that);
       return false;
@@ -209074,7 +230331,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209084,7 +230341,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209097,10 +230354,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -209158,6 +230418,7 @@
     }
 
     private static class getParserOutput_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserOutput_resultStandardScheme getScheme() {
         return new getParserOutput_resultStandardScheme();
       }
@@ -209165,6 +230426,7 @@
 
     private static class getParserOutput_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParserOutput_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParserOutput_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -209204,6 +230466,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParserOutput_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -209225,6 +230488,7 @@
     }
 
     private static class getParserOutput_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParserOutput_resultTupleScheme getScheme() {
         return new getParserOutput_resultTupleScheme();
       }
@@ -209273,6 +230537,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplate_args implements org.apache.thrift.TBase<getParsingTemplate_args, getParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplate_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplate_args");
 
@@ -209282,8 +230547,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplate_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplate_argsTupleSchemeFactory();
 
-    public java.lang.String templateId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String templateId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -209301,6 +230566,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TEMPLATE_ID
@@ -209325,6 +230591,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -209337,10 +230604,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -209382,6 +230651,7 @@
       }
     }
 
+    @Override
     public getParsingTemplate_args deepCopy() {
       return new getParsingTemplate_args(this);
     }
@@ -209392,11 +230662,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTemplateId() {
       return this.templateId;
     }
 
-    public getParsingTemplate_args setTemplateId(java.lang.String templateId) {
+    public getParsingTemplate_args setTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String templateId) {
       this.templateId = templateId;
       return this;
     }
@@ -209416,11 +230687,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParsingTemplate_args setGatewayId(java.lang.String gatewayId) {
+    public getParsingTemplate_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -209440,7 +230712,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TEMPLATE_ID:
         if (value == null) {
@@ -209461,6 +230734,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TEMPLATE_ID:
@@ -209474,6 +230749,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -209490,8 +230766,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplate_args)
         return this.equals((getParsingTemplate_args)that);
       return false;
@@ -209547,7 +230821,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
+      lastComparison = java.lang.Boolean.compare(isSetTemplateId(), other.isSetTemplateId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209557,7 +230831,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -209570,14 +230844,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -209634,6 +230912,7 @@
     }
 
     private static class getParsingTemplate_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_argsStandardScheme getScheme() {
         return new getParsingTemplate_argsStandardScheme();
       }
@@ -209641,6 +230920,7 @@
 
     private static class getParsingTemplate_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplate_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -209678,6 +230958,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -209699,6 +230980,7 @@
     }
 
     private static class getParsingTemplate_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_argsTupleScheme getScheme() {
         return new getParsingTemplate_argsTupleScheme();
       }
@@ -209728,6 +231010,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplate_result implements org.apache.thrift.TBase<getParsingTemplate_result, getParsingTemplate_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplate_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplate_result");
 
@@ -209737,8 +231020,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplate_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplate_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.ParsingTemplate success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -209756,6 +231039,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -209780,6 +231064,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -209792,10 +231077,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -209837,6 +231124,7 @@
       }
     }
 
+    @Override
     public getParsingTemplate_result deepCopy() {
       return new getParsingTemplate_result(this);
     }
@@ -209847,11 +231135,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getSuccess() {
       return this.success;
     }
 
-    public getParsingTemplate_result setSuccess(org.apache.airavata.model.appcatalog.parser.ParsingTemplate success) {
+    public getParsingTemplate_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate success) {
       this.success = success;
       return this;
     }
@@ -209871,11 +231160,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getParsingTemplate_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParsingTemplate_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -209895,7 +231185,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -209916,6 +231207,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -209929,6 +231222,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -209945,8 +231239,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplate_result)
         return this.equals((getParsingTemplate_result)that);
       return false;
@@ -210002,7 +231294,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210012,7 +231304,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210025,10 +231317,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -210086,6 +231381,7 @@
     }
 
     private static class getParsingTemplate_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_resultStandardScheme getScheme() {
         return new getParsingTemplate_resultStandardScheme();
       }
@@ -210093,6 +231389,7 @@
 
     private static class getParsingTemplate_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplate_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -210132,6 +231429,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -210153,6 +231451,7 @@
     }
 
     private static class getParsingTemplate_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplate_resultTupleScheme getScheme() {
         return new getParsingTemplate_resultTupleScheme();
       }
@@ -210201,6 +231500,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplatesForExperiment_args implements org.apache.thrift.TBase<getParsingTemplatesForExperiment_args, getParsingTemplatesForExperiment_args._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplatesForExperiment_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplatesForExperiment_args");
 
@@ -210210,8 +231510,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplatesForExperiment_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplatesForExperiment_argsTupleSchemeFactory();
 
-    public java.lang.String experimentId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String experimentId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -210229,6 +231529,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // EXPERIMENT_ID
@@ -210253,6 +231554,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -210265,10 +231567,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -210310,6 +231614,7 @@
       }
     }
 
+    @Override
     public getParsingTemplatesForExperiment_args deepCopy() {
       return new getParsingTemplatesForExperiment_args(this);
     }
@@ -210320,11 +231625,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getExperimentId() {
       return this.experimentId;
     }
 
-    public getParsingTemplatesForExperiment_args setExperimentId(java.lang.String experimentId) {
+    public getParsingTemplatesForExperiment_args setExperimentId(@org.apache.thrift.annotation.Nullable java.lang.String experimentId) {
       this.experimentId = experimentId;
       return this;
     }
@@ -210344,11 +231650,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getParsingTemplatesForExperiment_args setGatewayId(java.lang.String gatewayId) {
+    public getParsingTemplatesForExperiment_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -210368,7 +231675,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case EXPERIMENT_ID:
         if (value == null) {
@@ -210389,6 +231697,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case EXPERIMENT_ID:
@@ -210402,6 +231712,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -210418,8 +231729,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplatesForExperiment_args)
         return this.equals((getParsingTemplatesForExperiment_args)that);
       return false;
@@ -210475,7 +231784,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetExperimentId()).compareTo(other.isSetExperimentId());
+      lastComparison = java.lang.Boolean.compare(isSetExperimentId(), other.isSetExperimentId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210485,7 +231794,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210498,14 +231807,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -210562,6 +231875,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_argsStandardScheme getScheme() {
         return new getParsingTemplatesForExperiment_argsStandardScheme();
       }
@@ -210569,6 +231883,7 @@
 
     private static class getParsingTemplatesForExperiment_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplatesForExperiment_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplatesForExperiment_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -210606,6 +231921,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplatesForExperiment_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -210627,6 +231943,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_argsTupleScheme getScheme() {
         return new getParsingTemplatesForExperiment_argsTupleScheme();
       }
@@ -210656,6 +231973,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getParsingTemplatesForExperiment_result implements org.apache.thrift.TBase<getParsingTemplatesForExperiment_result, getParsingTemplatesForExperiment_result._Fields>, java.io.Serializable, Cloneable, Comparable<getParsingTemplatesForExperiment_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getParsingTemplatesForExperiment_result");
 
@@ -210665,8 +231983,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getParsingTemplatesForExperiment_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getParsingTemplatesForExperiment_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -210684,6 +232002,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -210708,6 +232027,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -210720,10 +232040,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -210770,6 +232092,7 @@
       }
     }
 
+    @Override
     public getParsingTemplatesForExperiment_result deepCopy() {
       return new getParsingTemplatesForExperiment_result(this);
     }
@@ -210784,6 +232107,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -210795,11 +232119,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccess() {
       return this.success;
     }
 
-    public getParsingTemplatesForExperiment_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
+    public getParsingTemplatesForExperiment_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
       this.success = success;
       return this;
     }
@@ -210819,11 +232144,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getParsingTemplatesForExperiment_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getParsingTemplatesForExperiment_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -210843,7 +232169,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -210864,6 +232191,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -210877,6 +232206,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -210893,8 +232223,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getParsingTemplatesForExperiment_result)
         return this.equals((getParsingTemplatesForExperiment_result)that);
       return false;
@@ -210950,7 +232278,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210960,7 +232288,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -210973,10 +232301,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -211031,6 +232362,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_resultStandardScheme getScheme() {
         return new getParsingTemplatesForExperiment_resultStandardScheme();
       }
@@ -211038,6 +232370,7 @@
 
     private static class getParsingTemplatesForExperiment_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getParsingTemplatesForExperiment_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getParsingTemplatesForExperiment_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -211051,14 +232384,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list506 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list506.size);
-                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem507;
-                  for (int _i508 = 0; _i508 < _list506.size; ++_i508)
+                  org.apache.thrift.protocol.TList _list532 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list532.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem533;
+                  for (int _i534 = 0; _i534 < _list532.size; ++_i534)
                   {
-                    _elem507 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-                    _elem507.read(iprot);
-                    struct.success.add(_elem507);
+                    _elem533 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+                    _elem533.read(iprot);
+                    struct.success.add(_elem533);
                   }
                   iprot.readListEnd();
                 }
@@ -211087,6 +232420,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getParsingTemplatesForExperiment_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -211095,9 +232429,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter509 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter535 : struct.success)
             {
-              _iter509.write(oprot);
+              _iter535.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -211115,6 +232449,7 @@
     }
 
     private static class getParsingTemplatesForExperiment_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getParsingTemplatesForExperiment_resultTupleScheme getScheme() {
         return new getParsingTemplatesForExperiment_resultTupleScheme();
       }
@@ -211136,9 +232471,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter510 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter536 : struct.success)
             {
-              _iter510.write(oprot);
+              _iter536.write(oprot);
             }
           }
         }
@@ -211153,14 +232488,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list511 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list511.size);
-            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem512;
-            for (int _i513 = 0; _i513 < _list511.size; ++_i513)
+            org.apache.thrift.protocol.TList _list537 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list537.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem538;
+            for (int _i539 = 0; _i539 < _list537.size; ++_i539)
             {
-              _elem512 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-              _elem512.read(iprot);
-              struct.success.add(_elem512);
+              _elem538 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+              _elem538.read(iprot);
+              struct.success.add(_elem538);
             }
           }
           struct.setSuccessIsSet(true);
@@ -211178,6 +232513,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParsingTemplate_args implements org.apache.thrift.TBase<saveParsingTemplate_args, saveParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<saveParsingTemplate_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParsingTemplate_args");
 
@@ -211186,7 +232522,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParsingTemplate_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParsingTemplate_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate; // 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 {
@@ -211203,6 +232539,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PARSING_TEMPLATE
@@ -211225,6 +232562,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -211237,10 +232575,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -211275,6 +232615,7 @@
       }
     }
 
+    @Override
     public saveParsingTemplate_args deepCopy() {
       return new saveParsingTemplate_args(this);
     }
@@ -211284,11 +232625,12 @@
       this.parsingTemplate = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.appcatalog.parser.ParsingTemplate getParsingTemplate() {
       return this.parsingTemplate;
     }
 
-    public saveParsingTemplate_args setParsingTemplate(org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate) {
+    public saveParsingTemplate_args setParsingTemplate(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate parsingTemplate) {
       this.parsingTemplate = parsingTemplate;
       return this;
     }
@@ -211308,7 +232650,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PARSING_TEMPLATE:
         if (value == null) {
@@ -211321,6 +232664,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PARSING_TEMPLATE:
@@ -211331,6 +232676,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -211345,8 +232691,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParsingTemplate_args)
         return this.equals((saveParsingTemplate_args)that);
       return false;
@@ -211389,7 +232733,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetParsingTemplate()).compareTo(other.isSetParsingTemplate());
+      lastComparison = java.lang.Boolean.compare(isSetParsingTemplate(), other.isSetParsingTemplate());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211402,14 +232746,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -211458,6 +232806,7 @@
     }
 
     private static class saveParsingTemplate_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_argsStandardScheme getScheme() {
         return new saveParsingTemplate_argsStandardScheme();
       }
@@ -211465,6 +232814,7 @@
 
     private static class saveParsingTemplate_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParsingTemplate_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParsingTemplate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -211495,6 +232845,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParsingTemplate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -211511,6 +232862,7 @@
     }
 
     private static class saveParsingTemplate_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_argsTupleScheme getScheme() {
         return new saveParsingTemplate_argsTupleScheme();
       }
@@ -211538,6 +232890,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class saveParsingTemplate_result implements org.apache.thrift.TBase<saveParsingTemplate_result, saveParsingTemplate_result._Fields>, java.io.Serializable, Cloneable, Comparable<saveParsingTemplate_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("saveParsingTemplate_result");
 
@@ -211547,8 +232900,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new saveParsingTemplate_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new saveParsingTemplate_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -211566,6 +232919,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -211590,6 +232944,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -211602,10 +232957,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -211647,6 +233004,7 @@
       }
     }
 
+    @Override
     public saveParsingTemplate_result deepCopy() {
       return new saveParsingTemplate_result(this);
     }
@@ -211657,11 +233015,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public saveParsingTemplate_result setSuccess(java.lang.String success) {
+    public saveParsingTemplate_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -211681,11 +233040,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public saveParsingTemplate_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public saveParsingTemplate_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -211705,7 +233065,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -211726,6 +233087,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -211739,6 +233102,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -211755,8 +233119,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof saveParsingTemplate_result)
         return this.equals((saveParsingTemplate_result)that);
       return false;
@@ -211812,7 +233174,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211822,7 +233184,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -211835,10 +233197,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -211893,6 +233258,7 @@
     }
 
     private static class saveParsingTemplate_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_resultStandardScheme getScheme() {
         return new saveParsingTemplate_resultStandardScheme();
       }
@@ -211900,6 +233266,7 @@
 
     private static class saveParsingTemplate_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<saveParsingTemplate_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, saveParsingTemplate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -211938,6 +233305,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, saveParsingTemplate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -211959,6 +233327,7 @@
     }
 
     private static class saveParsingTemplate_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public saveParsingTemplate_resultTupleScheme getScheme() {
         return new saveParsingTemplate_resultTupleScheme();
       }
@@ -212006,6 +233375,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsingTemplates_args implements org.apache.thrift.TBase<listAllParsingTemplates_args, listAllParsingTemplates_args._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsingTemplates_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsingTemplates_args");
 
@@ -212014,7 +233384,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsingTemplates_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsingTemplates_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -212031,6 +233401,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -212053,6 +233424,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -212065,10 +233437,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -212103,6 +233477,7 @@
       }
     }
 
+    @Override
     public listAllParsingTemplates_args deepCopy() {
       return new listAllParsingTemplates_args(this);
     }
@@ -212112,11 +233487,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public listAllParsingTemplates_args setGatewayId(java.lang.String gatewayId) {
+    public listAllParsingTemplates_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -212136,7 +233512,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -212149,6 +233526,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -212159,6 +233538,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -212173,8 +233553,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsingTemplates_args)
         return this.equals((listAllParsingTemplates_args)that);
       return false;
@@ -212217,7 +233595,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -212230,14 +233608,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -212283,6 +233665,7 @@
     }
 
     private static class listAllParsingTemplates_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_argsStandardScheme getScheme() {
         return new listAllParsingTemplates_argsStandardScheme();
       }
@@ -212290,6 +233673,7 @@
 
     private static class listAllParsingTemplates_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsingTemplates_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsingTemplates_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -212319,6 +233703,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsingTemplates_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -212335,6 +233720,7 @@
     }
 
     private static class listAllParsingTemplates_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_argsTupleScheme getScheme() {
         return new listAllParsingTemplates_argsTupleScheme();
       }
@@ -212361,6 +233747,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class listAllParsingTemplates_result implements org.apache.thrift.TBase<listAllParsingTemplates_result, listAllParsingTemplates_result._Fields>, java.io.Serializable, Cloneable, Comparable<listAllParsingTemplates_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("listAllParsingTemplates_result");
 
@@ -212370,8 +233757,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new listAllParsingTemplates_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new listAllParsingTemplates_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -212389,6 +233776,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -212413,6 +233801,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -212425,10 +233814,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -212475,6 +233866,7 @@
       }
     }
 
+    @Override
     public listAllParsingTemplates_result deepCopy() {
       return new listAllParsingTemplates_result(this);
     }
@@ -212489,6 +233881,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -212500,11 +233893,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> getSuccess() {
       return this.success;
     }
 
-    public listAllParsingTemplates_result setSuccess(java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
+    public listAllParsingTemplates_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.model.appcatalog.parser.ParsingTemplate> success) {
       this.success = success;
       return this;
     }
@@ -212524,11 +233918,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public listAllParsingTemplates_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public listAllParsingTemplates_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -212548,7 +233943,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -212569,6 +233965,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -212582,6 +233980,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -212598,8 +233997,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof listAllParsingTemplates_result)
         return this.equals((listAllParsingTemplates_result)that);
       return false;
@@ -212655,7 +234052,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -212665,7 +234062,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -212678,10 +234075,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -212736,6 +234136,7 @@
     }
 
     private static class listAllParsingTemplates_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_resultStandardScheme getScheme() {
         return new listAllParsingTemplates_resultStandardScheme();
       }
@@ -212743,6 +234144,7 @@
 
     private static class listAllParsingTemplates_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<listAllParsingTemplates_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, listAllParsingTemplates_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -212756,14 +234158,14 @@
             case 0: // SUCCESS
               if (schemeField.type == org.apache.thrift.protocol.TType.LIST) {
                 {
-                  org.apache.thrift.protocol.TList _list514 = iprot.readListBegin();
-                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list514.size);
-                  org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem515;
-                  for (int _i516 = 0; _i516 < _list514.size; ++_i516)
+                  org.apache.thrift.protocol.TList _list540 = iprot.readListBegin();
+                  struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list540.size);
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem541;
+                  for (int _i542 = 0; _i542 < _list540.size; ++_i542)
                   {
-                    _elem515 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-                    _elem515.read(iprot);
-                    struct.success.add(_elem515);
+                    _elem541 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+                    _elem541.read(iprot);
+                    struct.success.add(_elem541);
                   }
                   iprot.readListEnd();
                 }
@@ -212792,6 +234194,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, listAllParsingTemplates_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -212800,9 +234203,9 @@
           oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
           {
             oprot.writeListBegin(new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, struct.success.size()));
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter517 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter543 : struct.success)
             {
-              _iter517.write(oprot);
+              _iter543.write(oprot);
             }
             oprot.writeListEnd();
           }
@@ -212820,6 +234223,7 @@
     }
 
     private static class listAllParsingTemplates_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public listAllParsingTemplates_resultTupleScheme getScheme() {
         return new listAllParsingTemplates_resultTupleScheme();
       }
@@ -212841,9 +234245,9 @@
         if (struct.isSetSuccess()) {
           {
             oprot.writeI32(struct.success.size());
-            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter518 : struct.success)
+            for (org.apache.airavata.model.appcatalog.parser.ParsingTemplate _iter544 : struct.success)
             {
-              _iter518.write(oprot);
+              _iter544.write(oprot);
             }
           }
         }
@@ -212858,14 +234262,14 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list519 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
-            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list519.size);
-            org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem520;
-            for (int _i521 = 0; _i521 < _list519.size; ++_i521)
+            org.apache.thrift.protocol.TList _list545 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
+            struct.success = new java.util.ArrayList<org.apache.airavata.model.appcatalog.parser.ParsingTemplate>(_list545.size);
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.model.appcatalog.parser.ParsingTemplate _elem546;
+            for (int _i547 = 0; _i547 < _list545.size; ++_i547)
             {
-              _elem520 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
-              _elem520.read(iprot);
-              struct.success.add(_elem520);
+              _elem546 = new org.apache.airavata.model.appcatalog.parser.ParsingTemplate();
+              _elem546.read(iprot);
+              struct.success.add(_elem546);
             }
           }
           struct.setSuccessIsSet(true);
@@ -212883,6 +234287,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParsingTemplate_args implements org.apache.thrift.TBase<removeParsingTemplate_args, removeParsingTemplate_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeParsingTemplate_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParsingTemplate_args");
 
@@ -212892,8 +234297,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParsingTemplate_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParsingTemplate_argsTupleSchemeFactory();
 
-    public java.lang.String templateId; // required
-    public java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String templateId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // 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 {
@@ -212911,6 +234316,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // TEMPLATE_ID
@@ -212935,6 +234341,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -212947,10 +234354,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -212992,6 +234401,7 @@
       }
     }
 
+    @Override
     public removeParsingTemplate_args deepCopy() {
       return new removeParsingTemplate_args(this);
     }
@@ -213002,11 +234412,12 @@
       this.gatewayId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getTemplateId() {
       return this.templateId;
     }
 
-    public removeParsingTemplate_args setTemplateId(java.lang.String templateId) {
+    public removeParsingTemplate_args setTemplateId(@org.apache.thrift.annotation.Nullable java.lang.String templateId) {
       this.templateId = templateId;
       return this;
     }
@@ -213026,11 +234437,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public removeParsingTemplate_args setGatewayId(java.lang.String gatewayId) {
+    public removeParsingTemplate_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -213050,7 +234462,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case TEMPLATE_ID:
         if (value == null) {
@@ -213071,6 +234484,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case TEMPLATE_ID:
@@ -213084,6 +234499,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -213100,8 +234516,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParsingTemplate_args)
         return this.equals((removeParsingTemplate_args)that);
       return false;
@@ -213157,7 +234571,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetTemplateId()).compareTo(other.isSetTemplateId());
+      lastComparison = java.lang.Boolean.compare(isSetTemplateId(), other.isSetTemplateId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213167,7 +234581,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213180,14 +234594,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -213244,6 +234662,7 @@
     }
 
     private static class removeParsingTemplate_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_argsStandardScheme getScheme() {
         return new removeParsingTemplate_argsStandardScheme();
       }
@@ -213251,6 +234670,7 @@
 
     private static class removeParsingTemplate_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParsingTemplate_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParsingTemplate_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -213288,6 +234708,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParsingTemplate_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -213309,6 +234730,7 @@
     }
 
     private static class removeParsingTemplate_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_argsTupleScheme getScheme() {
         return new removeParsingTemplate_argsTupleScheme();
       }
@@ -213338,6 +234760,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeParsingTemplate_result implements org.apache.thrift.TBase<removeParsingTemplate_result, removeParsingTemplate_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeParsingTemplate_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeParsingTemplate_result");
 
@@ -213346,7 +234769,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeParsingTemplate_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeParsingTemplate_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -213363,6 +234786,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -213385,6 +234809,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -213397,10 +234822,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -213435,6 +234862,7 @@
       }
     }
 
+    @Override
     public removeParsingTemplate_result deepCopy() {
       return new removeParsingTemplate_result(this);
     }
@@ -213444,11 +234872,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeParsingTemplate_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeParsingTemplate_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -213468,7 +234897,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -213481,6 +234911,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -213491,6 +234923,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -213505,8 +234938,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeParsingTemplate_result)
         return this.equals((removeParsingTemplate_result)that);
       return false;
@@ -213549,7 +234980,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213562,10 +234993,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -213612,6 +235046,7 @@
     }
 
     private static class removeParsingTemplate_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_resultStandardScheme getScheme() {
         return new removeParsingTemplate_resultStandardScheme();
       }
@@ -213619,6 +235054,7 @@
 
     private static class removeParsingTemplate_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeParsingTemplate_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeParsingTemplate_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -213649,6 +235085,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeParsingTemplate_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -213665,6 +235102,7 @@
     }
 
     private static class removeParsingTemplate_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeParsingTemplate_resultTupleScheme getScheme() {
         return new removeParsingTemplate_resultTupleScheme();
       }
@@ -213702,6 +235140,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayUsageReportingAvailable_args implements org.apache.thrift.TBase<isGatewayUsageReportingAvailable_args, isGatewayUsageReportingAvailable_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayUsageReportingAvailable_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayUsageReportingAvailable_args");
 
@@ -213711,8 +235150,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGatewayUsageReportingAvailable_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayUsageReportingAvailable_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -213730,6 +235169,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -213754,6 +235194,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -213766,10 +235207,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -213811,6 +235254,7 @@
       }
     }
 
+    @Override
     public isGatewayUsageReportingAvailable_args deepCopy() {
       return new isGatewayUsageReportingAvailable_args(this);
     }
@@ -213821,11 +235265,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public isGatewayUsageReportingAvailable_args setGatewayId(java.lang.String gatewayId) {
+    public isGatewayUsageReportingAvailable_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -213845,11 +235290,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public isGatewayUsageReportingAvailable_args setComputeResourceId(java.lang.String computeResourceId) {
+    public isGatewayUsageReportingAvailable_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -213869,7 +235315,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -213890,6 +235337,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -213903,6 +235352,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -213919,8 +235369,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayUsageReportingAvailable_args)
         return this.equals((isGatewayUsageReportingAvailable_args)that);
       return false;
@@ -213976,7 +235424,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213986,7 +235434,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -213999,14 +235447,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -214063,6 +235515,7 @@
     }
 
     private static class isGatewayUsageReportingAvailable_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayUsageReportingAvailable_argsStandardScheme getScheme() {
         return new isGatewayUsageReportingAvailable_argsStandardScheme();
       }
@@ -214070,6 +235523,7 @@
 
     private static class isGatewayUsageReportingAvailable_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayUsageReportingAvailable_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayUsageReportingAvailable_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -214107,6 +235561,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayUsageReportingAvailable_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -214128,6 +235583,7 @@
     }
 
     private static class isGatewayUsageReportingAvailable_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayUsageReportingAvailable_argsTupleScheme getScheme() {
         return new isGatewayUsageReportingAvailable_argsTupleScheme();
       }
@@ -214157,6 +235613,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGatewayUsageReportingAvailable_result implements org.apache.thrift.TBase<isGatewayUsageReportingAvailable_result, isGatewayUsageReportingAvailable_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGatewayUsageReportingAvailable_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGatewayUsageReportingAvailable_result");
 
@@ -214167,7 +235624,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGatewayUsageReportingAvailable_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -214185,6 +235642,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -214209,6 +235667,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -214221,10 +235680,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -214268,6 +235729,7 @@
       }
     }
 
+    @Override
     public isGatewayUsageReportingAvailable_result deepCopy() {
       return new isGatewayUsageReportingAvailable_result(this);
     }
@@ -214302,11 +235764,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public isGatewayUsageReportingAvailable_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public isGatewayUsageReportingAvailable_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -214326,7 +235789,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -214347,6 +235811,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -214360,6 +235826,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -214376,8 +235843,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGatewayUsageReportingAvailable_result)
         return this.equals((isGatewayUsageReportingAvailable_result)that);
       return false;
@@ -214431,7 +235896,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214441,7 +235906,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214454,10 +235919,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -214510,6 +235978,7 @@
     }
 
     private static class isGatewayUsageReportingAvailable_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayUsageReportingAvailable_resultStandardScheme getScheme() {
         return new isGatewayUsageReportingAvailable_resultStandardScheme();
       }
@@ -214517,6 +235986,7 @@
 
     private static class isGatewayUsageReportingAvailable_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGatewayUsageReportingAvailable_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGatewayUsageReportingAvailable_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -214555,6 +236025,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGatewayUsageReportingAvailable_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -214576,6 +236047,7 @@
     }
 
     private static class isGatewayUsageReportingAvailable_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGatewayUsageReportingAvailable_resultTupleScheme getScheme() {
         return new isGatewayUsageReportingAvailable_resultTupleScheme();
       }
@@ -214623,6 +236095,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayReportingCommand_args implements org.apache.thrift.TBase<getGatewayReportingCommand_args, getGatewayReportingCommand_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayReportingCommand_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayReportingCommand_args");
 
@@ -214632,8 +236105,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayReportingCommand_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayReportingCommand_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -214651,6 +236124,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -214675,6 +236149,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -214687,10 +236162,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -214732,6 +236209,7 @@
       }
     }
 
+    @Override
     public getGatewayReportingCommand_args deepCopy() {
       return new getGatewayReportingCommand_args(this);
     }
@@ -214742,11 +236220,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public getGatewayReportingCommand_args setGatewayId(java.lang.String gatewayId) {
+    public getGatewayReportingCommand_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -214766,11 +236245,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public getGatewayReportingCommand_args setComputeResourceId(java.lang.String computeResourceId) {
+    public getGatewayReportingCommand_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -214790,7 +236270,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -214811,6 +236292,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -214824,6 +236307,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -214840,8 +236324,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayReportingCommand_args)
         return this.equals((getGatewayReportingCommand_args)that);
       return false;
@@ -214897,7 +236379,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214907,7 +236389,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -214920,14 +236402,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -214984,6 +236470,7 @@
     }
 
     private static class getGatewayReportingCommand_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayReportingCommand_argsStandardScheme getScheme() {
         return new getGatewayReportingCommand_argsStandardScheme();
       }
@@ -214991,6 +236478,7 @@
 
     private static class getGatewayReportingCommand_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayReportingCommand_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayReportingCommand_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -215028,6 +236516,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayReportingCommand_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -215049,6 +236538,7 @@
     }
 
     private static class getGatewayReportingCommand_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayReportingCommand_argsTupleScheme getScheme() {
         return new getGatewayReportingCommand_argsTupleScheme();
       }
@@ -215078,6 +236568,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGatewayReportingCommand_result implements org.apache.thrift.TBase<getGatewayReportingCommand_result, getGatewayReportingCommand_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGatewayReportingCommand_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGatewayReportingCommand_result");
 
@@ -215087,8 +236578,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGatewayReportingCommand_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGatewayReportingCommand_resultTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand success; // required
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.GatewayUsageReportingCommand success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -215106,6 +236597,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -215130,6 +236622,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -215142,10 +236635,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -215187,6 +236682,7 @@
       }
     }
 
+    @Override
     public getGatewayReportingCommand_result deepCopy() {
       return new getGatewayReportingCommand_result(this);
     }
@@ -215197,11 +236693,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getSuccess() {
       return this.success;
     }
 
-    public getGatewayReportingCommand_result setSuccess(org.apache.airavata.model.workspace.GatewayUsageReportingCommand success) {
+    public getGatewayReportingCommand_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.GatewayUsageReportingCommand success) {
       this.success = success;
       return this;
     }
@@ -215221,11 +236718,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public getGatewayReportingCommand_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public getGatewayReportingCommand_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -215245,7 +236743,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -215266,6 +236765,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -215279,6 +236780,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -215295,8 +236797,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGatewayReportingCommand_result)
         return this.equals((getGatewayReportingCommand_result)that);
       return false;
@@ -215352,7 +236852,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215362,7 +236862,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215375,10 +236875,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -215436,6 +236939,7 @@
     }
 
     private static class getGatewayReportingCommand_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayReportingCommand_resultStandardScheme getScheme() {
         return new getGatewayReportingCommand_resultStandardScheme();
       }
@@ -215443,6 +236947,7 @@
 
     private static class getGatewayReportingCommand_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGatewayReportingCommand_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGatewayReportingCommand_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -215482,6 +236987,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGatewayReportingCommand_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -215503,6 +237009,7 @@
     }
 
     private static class getGatewayReportingCommand_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGatewayReportingCommand_resultTupleScheme getScheme() {
         return new getGatewayReportingCommand_resultTupleScheme();
       }
@@ -215551,6 +237058,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayUsageReportingCommand_args implements org.apache.thrift.TBase<addGatewayUsageReportingCommand_args, addGatewayUsageReportingCommand_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayUsageReportingCommand_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayUsageReportingCommand_args");
 
@@ -215559,7 +237067,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGatewayUsageReportingCommand_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayUsageReportingCommand_argsTupleSchemeFactory();
 
-    public org.apache.airavata.model.workspace.GatewayUsageReportingCommand command; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.GatewayUsageReportingCommand command; // 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 {
@@ -215576,6 +237084,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // COMMAND
@@ -215598,6 +237107,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -215610,10 +237120,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -215648,6 +237160,7 @@
       }
     }
 
+    @Override
     public addGatewayUsageReportingCommand_args deepCopy() {
       return new addGatewayUsageReportingCommand_args(this);
     }
@@ -215657,11 +237170,12 @@
       this.command = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.model.workspace.GatewayUsageReportingCommand getCommand() {
       return this.command;
     }
 
-    public addGatewayUsageReportingCommand_args setCommand(org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) {
+    public addGatewayUsageReportingCommand_args setCommand(@org.apache.thrift.annotation.Nullable org.apache.airavata.model.workspace.GatewayUsageReportingCommand command) {
       this.command = command;
       return this;
     }
@@ -215681,7 +237195,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case COMMAND:
         if (value == null) {
@@ -215694,6 +237209,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case COMMAND:
@@ -215704,6 +237221,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -215718,8 +237236,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayUsageReportingCommand_args)
         return this.equals((addGatewayUsageReportingCommand_args)that);
       return false;
@@ -215762,7 +237278,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetCommand()).compareTo(other.isSetCommand());
+      lastComparison = java.lang.Boolean.compare(isSetCommand(), other.isSetCommand());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -215775,14 +237291,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -215828,6 +237348,7 @@
     }
 
     private static class addGatewayUsageReportingCommand_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayUsageReportingCommand_argsStandardScheme getScheme() {
         return new addGatewayUsageReportingCommand_argsStandardScheme();
       }
@@ -215835,6 +237356,7 @@
 
     private static class addGatewayUsageReportingCommand_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayUsageReportingCommand_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayUsageReportingCommand_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -215865,6 +237387,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayUsageReportingCommand_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -215881,6 +237404,7 @@
     }
 
     private static class addGatewayUsageReportingCommand_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayUsageReportingCommand_argsTupleScheme getScheme() {
         return new addGatewayUsageReportingCommand_argsTupleScheme();
       }
@@ -215918,6 +237442,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGatewayUsageReportingCommand_result implements org.apache.thrift.TBase<addGatewayUsageReportingCommand_result, addGatewayUsageReportingCommand_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGatewayUsageReportingCommand_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGatewayUsageReportingCommand_result");
 
@@ -215926,7 +237451,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGatewayUsageReportingCommand_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGatewayUsageReportingCommand_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -215943,6 +237468,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -215965,6 +237491,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -215977,10 +237504,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -216015,6 +237544,7 @@
       }
     }
 
+    @Override
     public addGatewayUsageReportingCommand_result deepCopy() {
       return new addGatewayUsageReportingCommand_result(this);
     }
@@ -216024,11 +237554,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public addGatewayUsageReportingCommand_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public addGatewayUsageReportingCommand_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -216048,7 +237579,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -216061,6 +237593,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -216071,6 +237605,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -216085,8 +237620,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGatewayUsageReportingCommand_result)
         return this.equals((addGatewayUsageReportingCommand_result)that);
       return false;
@@ -216129,7 +237662,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216142,10 +237675,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -216192,6 +237728,7 @@
     }
 
     private static class addGatewayUsageReportingCommand_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayUsageReportingCommand_resultStandardScheme getScheme() {
         return new addGatewayUsageReportingCommand_resultStandardScheme();
       }
@@ -216199,6 +237736,7 @@
 
     private static class addGatewayUsageReportingCommand_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGatewayUsageReportingCommand_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGatewayUsageReportingCommand_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -216229,6 +237767,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGatewayUsageReportingCommand_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -216245,6 +237784,7 @@
     }
 
     private static class addGatewayUsageReportingCommand_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGatewayUsageReportingCommand_resultTupleScheme getScheme() {
         return new addGatewayUsageReportingCommand_resultTupleScheme();
       }
@@ -216282,6 +237822,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGatewayUsageReportingCommand_args implements org.apache.thrift.TBase<removeGatewayUsageReportingCommand_args, removeGatewayUsageReportingCommand_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGatewayUsageReportingCommand_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGatewayUsageReportingCommand_args");
 
@@ -216291,8 +237832,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGatewayUsageReportingCommand_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGatewayUsageReportingCommand_argsTupleSchemeFactory();
 
-    public java.lang.String gatewayId; // required
-    public java.lang.String computeResourceId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String gatewayId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String computeResourceId; // 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 {
@@ -216310,6 +237851,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GATEWAY_ID
@@ -216334,6 +237876,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -216346,10 +237889,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -216391,6 +237936,7 @@
       }
     }
 
+    @Override
     public removeGatewayUsageReportingCommand_args deepCopy() {
       return new removeGatewayUsageReportingCommand_args(this);
     }
@@ -216401,11 +237947,12 @@
       this.computeResourceId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGatewayId() {
       return this.gatewayId;
     }
 
-    public removeGatewayUsageReportingCommand_args setGatewayId(java.lang.String gatewayId) {
+    public removeGatewayUsageReportingCommand_args setGatewayId(@org.apache.thrift.annotation.Nullable java.lang.String gatewayId) {
       this.gatewayId = gatewayId;
       return this;
     }
@@ -216425,11 +237972,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getComputeResourceId() {
       return this.computeResourceId;
     }
 
-    public removeGatewayUsageReportingCommand_args setComputeResourceId(java.lang.String computeResourceId) {
+    public removeGatewayUsageReportingCommand_args setComputeResourceId(@org.apache.thrift.annotation.Nullable java.lang.String computeResourceId) {
       this.computeResourceId = computeResourceId;
       return this;
     }
@@ -216449,7 +237997,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GATEWAY_ID:
         if (value == null) {
@@ -216470,6 +238019,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GATEWAY_ID:
@@ -216483,6 +238034,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -216499,8 +238051,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGatewayUsageReportingCommand_args)
         return this.equals((removeGatewayUsageReportingCommand_args)that);
       return false;
@@ -216556,7 +238106,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGatewayId()).compareTo(other.isSetGatewayId());
+      lastComparison = java.lang.Boolean.compare(isSetGatewayId(), other.isSetGatewayId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216566,7 +238116,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetComputeResourceId()).compareTo(other.isSetComputeResourceId());
+      lastComparison = java.lang.Boolean.compare(isSetComputeResourceId(), other.isSetComputeResourceId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216579,14 +238129,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -216643,6 +238197,7 @@
     }
 
     private static class removeGatewayUsageReportingCommand_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGatewayUsageReportingCommand_argsStandardScheme getScheme() {
         return new removeGatewayUsageReportingCommand_argsStandardScheme();
       }
@@ -216650,6 +238205,7 @@
 
     private static class removeGatewayUsageReportingCommand_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGatewayUsageReportingCommand_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGatewayUsageReportingCommand_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -216687,6 +238243,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGatewayUsageReportingCommand_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -216708,6 +238265,7 @@
     }
 
     private static class removeGatewayUsageReportingCommand_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGatewayUsageReportingCommand_argsTupleScheme getScheme() {
         return new removeGatewayUsageReportingCommand_argsTupleScheme();
       }
@@ -216737,6 +238295,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGatewayUsageReportingCommand_result implements org.apache.thrift.TBase<removeGatewayUsageReportingCommand_result, removeGatewayUsageReportingCommand_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGatewayUsageReportingCommand_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGatewayUsageReportingCommand_result");
 
@@ -216745,7 +238304,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGatewayUsageReportingCommand_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGatewayUsageReportingCommand_resultTupleSchemeFactory();
 
-    public org.apache.airavata.registry.api.exception.RegistryServiceException rse; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse; // 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 {
@@ -216762,6 +238321,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // RSE
@@ -216784,6 +238344,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -216796,10 +238357,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -216834,6 +238397,7 @@
       }
     }
 
+    @Override
     public removeGatewayUsageReportingCommand_result deepCopy() {
       return new removeGatewayUsageReportingCommand_result(this);
     }
@@ -216843,11 +238407,12 @@
       this.rse = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.registry.api.exception.RegistryServiceException getRse() {
       return this.rse;
     }
 
-    public removeGatewayUsageReportingCommand_result setRse(org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
+    public removeGatewayUsageReportingCommand_result setRse(@org.apache.thrift.annotation.Nullable org.apache.airavata.registry.api.exception.RegistryServiceException rse) {
       this.rse = rse;
       return this;
     }
@@ -216867,7 +238432,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case RSE:
         if (value == null) {
@@ -216880,6 +238446,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case RSE:
@@ -216890,6 +238458,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -216904,8 +238473,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGatewayUsageReportingCommand_result)
         return this.equals((removeGatewayUsageReportingCommand_result)that);
       return false;
@@ -216948,7 +238515,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetRse()).compareTo(other.isSetRse());
+      lastComparison = java.lang.Boolean.compare(isSetRse(), other.isSetRse());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -216961,10 +238528,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -217011,6 +238581,7 @@
     }
 
     private static class removeGatewayUsageReportingCommand_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGatewayUsageReportingCommand_resultStandardScheme getScheme() {
         return new removeGatewayUsageReportingCommand_resultStandardScheme();
       }
@@ -217018,6 +238589,7 @@
 
     private static class removeGatewayUsageReportingCommand_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGatewayUsageReportingCommand_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGatewayUsageReportingCommand_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -217048,6 +238620,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGatewayUsageReportingCommand_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -217064,6 +238637,7 @@
     }
 
     private static class removeGatewayUsageReportingCommand_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGatewayUsageReportingCommand_resultTupleScheme getScheme() {
         return new removeGatewayUsageReportingCommand_resultTupleScheme();
       }
diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/exception/RegistryServiceException.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/exception/RegistryServiceException.java
index 99ca590..bdd620e 100644
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/exception/RegistryServiceException.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/exception/RegistryServiceException.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.registry.api.exception;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class RegistryServiceException extends org.apache.thrift.TException implements org.apache.thrift.TBase<RegistryServiceException, RegistryServiceException._Fields>, java.io.Serializable, Cloneable, Comparable<RegistryServiceException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("RegistryServiceException");
 
@@ -33,7 +33,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new RegistryServiceExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new RegistryServiceExceptionTupleSchemeFactory();
 
-  public java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -50,6 +50,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -72,6 +73,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -84,10 +86,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -122,6 +126,7 @@
     }
   }
 
+  @Override
   public RegistryServiceException deepCopy() {
     return new RegistryServiceException(this);
   }
@@ -131,11 +136,12 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public RegistryServiceException setMessage(java.lang.String message) {
+  public RegistryServiceException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
     return this;
   }
@@ -155,7 +161,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -168,6 +175,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -178,6 +187,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -192,8 +202,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof RegistryServiceException)
       return this.equals((RegistryServiceException)that);
     return false;
@@ -236,7 +244,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -249,14 +257,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -302,6 +314,7 @@
   }
 
   private static class RegistryServiceExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public RegistryServiceExceptionStandardScheme getScheme() {
       return new RegistryServiceExceptionStandardScheme();
     }
@@ -309,6 +322,7 @@
 
   private static class RegistryServiceExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<RegistryServiceException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, RegistryServiceException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -338,6 +352,7 @@
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, RegistryServiceException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -354,6 +369,7 @@
   }
 
   private static class RegistryServiceExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public RegistryServiceExceptionTupleScheme getScheme() {
       return new RegistryServiceExceptionTupleScheme();
     }
diff --git a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/registry_apiConstants.java b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/registry_apiConstants.java
index 38db658..662780a 100644
--- a/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/registry_apiConstants.java
+++ b/modules/registry/registry-server/registry-api-stubs/src/main/java/org/apache/airavata/registry/api/registry_apiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql b/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql
index 256ecf0..95290b3 100644
--- a/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql
+++ b/modules/registry/release-migration-scripts/next/DeltaScripts/experimentCatalog_schema_delta.sql
@@ -17,5 +17,22 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --
+USE experiment_catalog;
 
-use experiment_catalog;
+CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_SCHEDULING (
+    EXPERIMENT_ID varchar(255) NOT NULL,
+    RESOURCE_HOST_ID varchar(255) NOT NULL,
+    TOTAL_CPU_COUNT INT,
+    NODE_COUNT INT,
+    NUMBER_OF_THREADS INT,
+    QUEUE_NAME varchar(255) NOT NULL,
+    WALL_TIME_LIMIT INT,
+    TOTAL_PHYSICAL_MEMORY INT,
+    STATIC_WORKING_DIR varchar(255),
+    OVERRIDE_LOGIN_USER_NAME varchar(255),
+    OVERRIDE_SCRATCH_LOCATION varchar(255),
+    OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
+    PARALLEL_GROUP_COUNT INT,
+    PRIMARY KEY (EXPERIMENT_ID, RESOURCE_HOST_ID, QUEUE_NAME),
+    FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
+) ENGINE = InnoDB DEFAULT CHARSET = latin1;
diff --git a/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql b/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql
index 942ff54..8a23bf0 100644
--- a/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql
+++ b/modules/registry/release-migration-scripts/next/DeltaScripts/replicaCatalog_schema_delta.sql
@@ -17,5 +17,30 @@
 -- specific language governing permissions and limitations
 -- under the License.
 --
+USE replica_catalog;
 
-use replica_catalog;
+-- AIRAVATA-3697: Support file names that have UTF8 characters and that are long
+ALTER TABLE
+    DATA_PRODUCT
+MODIFY
+    PRODUCT_NAME text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+    DATA_PRODUCT
+MODIFY
+    PRODUCT_DESCRIPTION varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+    DATA_REPLICA_LOCATION
+MODIFY
+    REPLICA_NAME text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+    DATA_REPLICA_LOCATION
+MODIFY
+    REPLICA_DESCRIPTION varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
+
+ALTER TABLE
+    DATA_REPLICA_LOCATION
+MODIFY
+    FILE_PATH varchar(1024) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
index 3800279..45de77e 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Domain.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>Domain is the entity that enables multi-tenency in this componenet. Every tenant will be
  * operating separately it's own silo which is identified by the domain id. In the current implementation domain id
@@ -36,7 +35,8 @@
  * <li>initialUserGroupId : New users will automatically be added to this group</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Domain implements org.apache.thrift.TBase<Domain, Domain._Fields>, java.io.Serializable, Cloneable, Comparable<Domain> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Domain");
 
@@ -50,12 +50,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DomainStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DomainTupleSchemeFactory();
 
-  private java.lang.String domainId; // optional
-  private java.lang.String name; // optional
-  private java.lang.String description; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
-  private java.lang.String initialUserGroupId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String initialUserGroupId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -77,6 +77,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // DOMAIN_ID
@@ -109,6 +110,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -121,10 +123,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -180,6 +184,7 @@
     }
   }
 
+  @Override
   public Domain deepCopy() {
     return new Domain(this);
   }
@@ -197,12 +202,14 @@
     this.initialUserGroupId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public Domain setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -220,12 +227,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public Domain setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
+    return this;
   }
 
   public void unsetName() {
@@ -243,12 +252,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public Domain setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -270,9 +281,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public Domain setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -292,9 +304,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public Domain setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -310,12 +323,14 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getInitialUserGroupId() {
     return this.initialUserGroupId;
   }
 
-  public void setInitialUserGroupId(java.lang.String initialUserGroupId) {
+  public Domain setInitialUserGroupId(@org.apache.thrift.annotation.Nullable java.lang.String initialUserGroupId) {
     this.initialUserGroupId = initialUserGroupId;
+    return this;
   }
 
   public void unsetInitialUserGroupId() {
@@ -333,7 +348,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case DOMAIN_ID:
       if (value == null) {
@@ -386,6 +402,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case DOMAIN_ID:
@@ -411,6 +429,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -435,8 +454,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Domain)
       return this.equals((Domain)that);
     return false;
@@ -544,7 +561,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -554,7 +571,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -564,7 +581,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -574,7 +591,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -584,7 +601,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -594,7 +611,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInitialUserGroupId()).compareTo(other.isSetInitialUserGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetInitialUserGroupId(), other.isSetInitialUserGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -607,14 +624,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -703,6 +724,7 @@
   }
 
   private static class DomainStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DomainStandardScheme getScheme() {
       return new DomainStandardScheme();
     }
@@ -710,6 +732,7 @@
 
   private static class DomainStandardScheme extends org.apache.thrift.scheme.StandardScheme<Domain> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Domain struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -774,9 +797,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Domain struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -826,6 +852,7 @@
   }
 
   private static class DomainTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DomainTupleScheme getScheme() {
       return new DomainTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
index e8ef517..20c5dbe 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/DuplicateEntryException.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * This exception is thrown when you try to save a duplicate entity that already exists
  *   in the database.
@@ -31,7 +30,8 @@
  *   message: contains the associated error message
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class DuplicateEntryException extends org.apache.thrift.TException implements org.apache.thrift.TBase<DuplicateEntryException, DuplicateEntryException._Fields>, java.io.Serializable, Cloneable, Comparable<DuplicateEntryException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("DuplicateEntryException");
 
@@ -40,7 +40,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new DuplicateEntryExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new DuplicateEntryExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -57,6 +57,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -79,6 +80,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -91,10 +93,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -129,6 +133,7 @@
     }
   }
 
+  @Override
   public DuplicateEntryException deepCopy() {
     return new DuplicateEntryException(this);
   }
@@ -138,12 +143,14 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public DuplicateEntryException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
+    return this;
   }
 
   public void unsetMessage() {
@@ -161,7 +168,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -174,6 +182,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -184,6 +194,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -198,8 +209,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof DuplicateEntryException)
       return this.equals((DuplicateEntryException)that);
     return false;
@@ -242,7 +251,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -255,14 +264,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -285,10 +298,9 @@
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (!isSetMessage()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' is unset! Struct:" + toString());
+    if (message == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' was not present! Struct: " + toString());
     }
-
     // check for sub-struct validity
   }
 
@@ -309,6 +321,7 @@
   }
 
   private static class DuplicateEntryExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DuplicateEntryExceptionStandardScheme getScheme() {
       return new DuplicateEntryExceptionStandardScheme();
     }
@@ -316,6 +329,7 @@
 
   private static class DuplicateEntryExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<DuplicateEntryException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, DuplicateEntryException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -340,9 +354,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, DuplicateEntryException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -359,6 +376,7 @@
   }
 
   private static class DuplicateEntryExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public DuplicateEntryExceptionTupleScheme getScheme() {
       return new DuplicateEntryExceptionTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
index 5f9bab5..37a3206 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Entity.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>Entity object which is used to register an entity in the system.</p>
  * <li><b>entityId</b> : Entity id provided by the client</li>
@@ -41,7 +40,8 @@
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Entity implements org.apache.thrift.TBase<Entity, Entity._Fields>, java.io.Serializable, Cloneable, Comparable<Entity> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Entity");
 
@@ -62,19 +62,19 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new EntityStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new EntityTupleSchemeFactory();
 
-  private java.lang.String entityId; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String entityTypeId; // optional
-  private java.lang.String ownerId; // optional
-  private java.lang.String parentEntityId; // optional
-  private java.lang.String name; // optional
-  private java.lang.String description; // optional
-  private java.nio.ByteBuffer binaryData; // optional
-  private java.lang.String fullText; // optional
-  private long sharedCount; // optional
-  private long originalEntityCreationTime; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String entityTypeId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String ownerId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String parentEntityId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer binaryData; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String fullText; // optional
+  public long sharedCount; // optional
+  public long originalEntityCreationTime; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -103,6 +103,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ENTITY_ID
@@ -149,6 +150,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -161,10 +163,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -253,6 +257,7 @@
     this.updatedTime = other.updatedTime;
   }
 
+  @Override
   public Entity deepCopy() {
     return new Entity(this);
   }
@@ -278,12 +283,14 @@
     this.updatedTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEntityId() {
     return this.entityId;
   }
 
-  public void setEntityId(java.lang.String entityId) {
+  public Entity setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
     this.entityId = entityId;
+    return this;
   }
 
   public void unsetEntityId() {
@@ -301,12 +308,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public Entity setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -324,12 +333,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEntityTypeId() {
     return this.entityTypeId;
   }
 
-  public void setEntityTypeId(java.lang.String entityTypeId) {
+  public Entity setEntityTypeId(@org.apache.thrift.annotation.Nullable java.lang.String entityTypeId) {
     this.entityTypeId = entityTypeId;
+    return this;
   }
 
   public void unsetEntityTypeId() {
@@ -347,12 +358,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOwnerId() {
     return this.ownerId;
   }
 
-  public void setOwnerId(java.lang.String ownerId) {
+  public Entity setOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String ownerId) {
     this.ownerId = ownerId;
+    return this;
   }
 
   public void unsetOwnerId() {
@@ -370,12 +383,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParentEntityId() {
     return this.parentEntityId;
   }
 
-  public void setParentEntityId(java.lang.String parentEntityId) {
+  public Entity setParentEntityId(@org.apache.thrift.annotation.Nullable java.lang.String parentEntityId) {
     this.parentEntityId = parentEntityId;
+    return this;
   }
 
   public void unsetParentEntityId() {
@@ -393,12 +408,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public Entity setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
+    return this;
   }
 
   public void unsetName() {
@@ -416,12 +433,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public Entity setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -448,12 +467,14 @@
     return org.apache.thrift.TBaseHelper.copyBinary(binaryData);
   }
 
-  public void setBinaryData(byte[] binaryData) {
-    this.binaryData = binaryData == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(binaryData.clone());
+  public Entity setBinaryData(byte[] binaryData) {
+    this.binaryData = binaryData == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(binaryData.clone());
+    return this;
   }
 
-  public void setBinaryData(java.nio.ByteBuffer binaryData) {
+  public Entity setBinaryData(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer binaryData) {
     this.binaryData = org.apache.thrift.TBaseHelper.copyBinary(binaryData);
+    return this;
   }
 
   public void unsetBinaryData() {
@@ -471,12 +492,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFullText() {
     return this.fullText;
   }
 
-  public void setFullText(java.lang.String fullText) {
+  public Entity setFullText(@org.apache.thrift.annotation.Nullable java.lang.String fullText) {
     this.fullText = fullText;
+    return this;
   }
 
   public void unsetFullText() {
@@ -498,9 +521,10 @@
     return this.sharedCount;
   }
 
-  public void setSharedCount(long sharedCount) {
+  public Entity setSharedCount(long sharedCount) {
     this.sharedCount = sharedCount;
     setSharedCountIsSet(true);
+    return this;
   }
 
   public void unsetSharedCount() {
@@ -520,9 +544,10 @@
     return this.originalEntityCreationTime;
   }
 
-  public void setOriginalEntityCreationTime(long originalEntityCreationTime) {
+  public Entity setOriginalEntityCreationTime(long originalEntityCreationTime) {
     this.originalEntityCreationTime = originalEntityCreationTime;
     setOriginalEntityCreationTimeIsSet(true);
+    return this;
   }
 
   public void unsetOriginalEntityCreationTime() {
@@ -542,9 +567,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public Entity setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -564,9 +590,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public Entity setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -582,7 +609,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ENTITY_ID:
       if (value == null) {
@@ -695,6 +723,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ENTITY_ID:
@@ -741,6 +771,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -779,8 +810,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Entity)
       return this.equals((Entity)that);
     return false;
@@ -979,7 +1008,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+    lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -989,7 +1018,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -999,7 +1028,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEntityTypeId()).compareTo(other.isSetEntityTypeId());
+    lastComparison = java.lang.Boolean.compare(isSetEntityTypeId(), other.isSetEntityTypeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1009,7 +1038,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+    lastComparison = java.lang.Boolean.compare(isSetOwnerId(), other.isSetOwnerId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1019,7 +1048,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetParentEntityId()).compareTo(other.isSetParentEntityId());
+    lastComparison = java.lang.Boolean.compare(isSetParentEntityId(), other.isSetParentEntityId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1029,7 +1058,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1039,7 +1068,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1049,7 +1078,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetBinaryData()).compareTo(other.isSetBinaryData());
+    lastComparison = java.lang.Boolean.compare(isSetBinaryData(), other.isSetBinaryData());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1059,7 +1088,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFullText()).compareTo(other.isSetFullText());
+    lastComparison = java.lang.Boolean.compare(isSetFullText(), other.isSetFullText());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1069,7 +1098,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSharedCount()).compareTo(other.isSetSharedCount());
+    lastComparison = java.lang.Boolean.compare(isSetSharedCount(), other.isSetSharedCount());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1079,7 +1108,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOriginalEntityCreationTime()).compareTo(other.isSetOriginalEntityCreationTime());
+    lastComparison = java.lang.Boolean.compare(isSetOriginalEntityCreationTime(), other.isSetOriginalEntityCreationTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1089,7 +1118,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1099,7 +1128,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -1112,14 +1141,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1270,6 +1303,7 @@
   }
 
   private static class EntityStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EntityStandardScheme getScheme() {
       return new EntityStandardScheme();
     }
@@ -1277,6 +1311,7 @@
 
   private static class EntityStandardScheme extends org.apache.thrift.scheme.StandardScheme<Entity> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Entity struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1397,9 +1432,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Entity struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1494,6 +1532,7 @@
   }
 
   private static class EntityTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EntityTupleScheme getScheme() {
       return new EntityTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
index 84fb0a4..2c4984c 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntitySearchField.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>This list of fields that can be used to search entities</p>
  * <li>NAME : Name of the entity</li>
@@ -40,6 +36,7 @@
  * <li>SHARED_COUNT : Number of directly shared users and groups</li>
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum EntitySearchField implements org.apache.thrift.TEnum {
   NAME(0),
   DESCRIPTION(1),
@@ -61,6 +58,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -69,6 +67,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static EntitySearchField findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
index 1536760..3f7d7d2 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/EntityType.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>client defined entity types</p>
  * <li><b>entityTypeId</b> : Entity type id provided by the client</li>
@@ -34,7 +33,8 @@
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class EntityType implements org.apache.thrift.TBase<EntityType, EntityType._Fields>, java.io.Serializable, Cloneable, Comparable<EntityType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EntityType");
 
@@ -48,12 +48,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new EntityTypeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new EntityTypeTupleSchemeFactory();
 
-  private java.lang.String entityTypeId; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String name; // optional
-  private java.lang.String description; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String entityTypeId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75,6 +75,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // ENTITY_TYPE_ID
@@ -107,6 +108,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -119,10 +121,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -176,6 +180,7 @@
     this.updatedTime = other.updatedTime;
   }
 
+  @Override
   public EntityType deepCopy() {
     return new EntityType(this);
   }
@@ -192,12 +197,14 @@
     this.updatedTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEntityTypeId() {
     return this.entityTypeId;
   }
 
-  public void setEntityTypeId(java.lang.String entityTypeId) {
+  public EntityType setEntityTypeId(@org.apache.thrift.annotation.Nullable java.lang.String entityTypeId) {
     this.entityTypeId = entityTypeId;
+    return this;
   }
 
   public void unsetEntityTypeId() {
@@ -215,12 +222,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public EntityType setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -238,12 +247,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public EntityType setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
+    return this;
   }
 
   public void unsetName() {
@@ -261,12 +272,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public EntityType setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -288,9 +301,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public EntityType setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -310,9 +324,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public EntityType setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -328,7 +343,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case ENTITY_TYPE_ID:
       if (value == null) {
@@ -381,6 +397,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case ENTITY_TYPE_ID:
@@ -406,6 +424,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -430,8 +449,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof EntityType)
       return this.equals((EntityType)that);
     return false;
@@ -539,7 +556,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetEntityTypeId()).compareTo(other.isSetEntityTypeId());
+    lastComparison = java.lang.Boolean.compare(isSetEntityTypeId(), other.isSetEntityTypeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -549,7 +566,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -559,7 +576,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -569,7 +586,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -579,7 +596,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -589,7 +606,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -602,14 +619,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -698,6 +719,7 @@
   }
 
   private static class EntityTypeStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EntityTypeStandardScheme getScheme() {
       return new EntityTypeStandardScheme();
     }
@@ -705,6 +727,7 @@
 
   private static class EntityTypeStandardScheme extends org.apache.thrift.scheme.StandardScheme<EntityType> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, EntityType struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -769,9 +792,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, EntityType struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -821,6 +847,7 @@
   }
 
   private static class EntityTypeTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public EntityTypeTupleScheme getScheme() {
       return new EntityTypeTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
index d970719..feab089 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupAdmin.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,7 +24,7 @@
 package org.apache.airavata.sharing.registry.models;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupAdmin implements org.apache.thrift.TBase<GroupAdmin, GroupAdmin._Fields>, java.io.Serializable, Cloneable, Comparable<GroupAdmin> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupAdmin");
 
@@ -35,9 +35,9 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupAdminStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupAdminTupleSchemeFactory();
 
-  private java.lang.String groupId; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String adminId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String adminId; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -56,6 +56,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GROUP_ID
@@ -82,6 +83,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -94,10 +96,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -136,6 +140,7 @@
     }
   }
 
+  @Override
   public GroupAdmin deepCopy() {
     return new GroupAdmin(this);
   }
@@ -147,12 +152,14 @@
     this.adminId = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupId() {
     return this.groupId;
   }
 
-  public void setGroupId(java.lang.String groupId) {
+  public GroupAdmin setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
     this.groupId = groupId;
+    return this;
   }
 
   public void unsetGroupId() {
@@ -170,12 +177,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public GroupAdmin setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -193,12 +202,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getAdminId() {
     return this.adminId;
   }
 
-  public void setAdminId(java.lang.String adminId) {
+  public GroupAdmin setAdminId(@org.apache.thrift.annotation.Nullable java.lang.String adminId) {
     this.adminId = adminId;
+    return this;
   }
 
   public void unsetAdminId() {
@@ -216,7 +227,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GROUP_ID:
       if (value == null) {
@@ -245,6 +257,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GROUP_ID:
@@ -261,6 +275,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -279,8 +294,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupAdmin)
       return this.equals((GroupAdmin)that);
     return false;
@@ -349,7 +362,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -359,7 +372,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -369,7 +382,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetAdminId()).compareTo(other.isSetAdminId());
+    lastComparison = java.lang.Boolean.compare(isSetAdminId(), other.isSetAdminId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -382,14 +395,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -454,6 +471,7 @@
   }
 
   private static class GroupAdminStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupAdminStandardScheme getScheme() {
       return new GroupAdminStandardScheme();
     }
@@ -461,6 +479,7 @@
 
   private static class GroupAdminStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupAdmin> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupAdmin struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -501,9 +520,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupAdmin struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -536,6 +558,7 @@
   }
 
   private static class GroupAdminTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupAdminTupleScheme getScheme() {
       return new GroupAdminTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
index 772b4c1..d5332b0 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupCardinality.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,15 +24,12 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>This is an system internal enum used to define single user groups and multi users groups. Every user is also
  * considered as a group in it's own right for implementation ease</p>
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum GroupCardinality implements org.apache.thrift.TEnum {
   SINGLE_USER(0),
   MULTI_USER(1);
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static GroupCardinality findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
index acb421f..4478da6 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupChildType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>System internal data type to match group child types</p>
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum GroupChildType implements org.apache.thrift.TEnum {
   USER(0),
   GROUP(1);
@@ -45,6 +42,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -53,6 +51,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static GroupChildType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
index 2f37788..9ed9546 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupMembership.java
@@ -16,19 +16,19 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>System internal data type to map group memberships</p>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class GroupMembership implements org.apache.thrift.TBase<GroupMembership, GroupMembership._Fields>, java.io.Serializable, Cloneable, Comparable<GroupMembership> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GroupMembership");
 
@@ -42,12 +42,16 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new GroupMembershipStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new GroupMembershipTupleSchemeFactory();
 
-  private java.lang.String parentId; // optional
-  private java.lang.String childId; // optional
-  private java.lang.String domainId; // optional
-  private GroupChildType childType; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String parentId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String childId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  /**
+   * 
+   * @see GroupChildType
+   */
+  public @org.apache.thrift.annotation.Nullable GroupChildType childType; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -73,6 +77,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PARENT_ID
@@ -105,6 +110,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -117,10 +123,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -174,6 +182,7 @@
     this.updatedTime = other.updatedTime;
   }
 
+  @Override
   public GroupMembership deepCopy() {
     return new GroupMembership(this);
   }
@@ -190,12 +199,14 @@
     this.updatedTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getParentId() {
     return this.parentId;
   }
 
-  public void setParentId(java.lang.String parentId) {
+  public GroupMembership setParentId(@org.apache.thrift.annotation.Nullable java.lang.String parentId) {
     this.parentId = parentId;
+    return this;
   }
 
   public void unsetParentId() {
@@ -213,12 +224,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getChildId() {
     return this.childId;
   }
 
-  public void setChildId(java.lang.String childId) {
+  public GroupMembership setChildId(@org.apache.thrift.annotation.Nullable java.lang.String childId) {
     this.childId = childId;
+    return this;
   }
 
   public void unsetChildId() {
@@ -236,12 +249,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public GroupMembership setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -263,6 +278,7 @@
    * 
    * @see GroupChildType
    */
+  @org.apache.thrift.annotation.Nullable
   public GroupChildType getChildType() {
     return this.childType;
   }
@@ -271,8 +287,9 @@
    * 
    * @see GroupChildType
    */
-  public void setChildType(GroupChildType childType) {
+  public GroupMembership setChildType(@org.apache.thrift.annotation.Nullable GroupChildType childType) {
     this.childType = childType;
+    return this;
   }
 
   public void unsetChildType() {
@@ -294,9 +311,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public GroupMembership setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -316,9 +334,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public GroupMembership setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -334,7 +353,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PARENT_ID:
       if (value == null) {
@@ -387,6 +407,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PARENT_ID:
@@ -412,6 +434,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -436,8 +459,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof GroupMembership)
       return this.equals((GroupMembership)that);
     return false;
@@ -545,7 +566,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetParentId()).compareTo(other.isSetParentId());
+    lastComparison = java.lang.Boolean.compare(isSetParentId(), other.isSetParentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -555,7 +576,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetChildId()).compareTo(other.isSetChildId());
+    lastComparison = java.lang.Boolean.compare(isSetChildId(), other.isSetChildId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -565,7 +586,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -575,7 +596,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetChildType()).compareTo(other.isSetChildType());
+    lastComparison = java.lang.Boolean.compare(isSetChildType(), other.isSetChildType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -585,7 +606,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -595,7 +616,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -608,14 +629,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -704,6 +729,7 @@
   }
 
   private static class GroupMembershipStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupMembershipStandardScheme getScheme() {
       return new GroupMembershipStandardScheme();
     }
@@ -711,6 +737,7 @@
 
   private static class GroupMembershipStandardScheme extends org.apache.thrift.scheme.StandardScheme<GroupMembership> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, GroupMembership struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -775,9 +802,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, GroupMembership struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -827,6 +857,7 @@
   }
 
   private static class GroupMembershipTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public GroupMembershipTupleScheme getScheme() {
       return new GroupMembershipTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
index 3cb1527..151f4c1 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/GroupType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>Group types can be either user level or domain level groups.</p>
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum GroupType implements org.apache.thrift.TEnum {
   DOMAIN_LEVEL_GROUP(0),
   USER_LEVEL_GROUP(1);
@@ -45,6 +42,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -53,6 +51,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static GroupType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
index 96df5d3..f94a8db 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/PermissionType.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>Object for creating client defined permission type</p>
  * <li><b>permissionTypeId</b> : Permission type id provided by the client</li>
@@ -34,7 +33,8 @@
  * <li>updatedTime : Will be set by the system</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class PermissionType implements org.apache.thrift.TBase<PermissionType, PermissionType._Fields>, java.io.Serializable, Cloneable, Comparable<PermissionType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PermissionType");
 
@@ -48,12 +48,12 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new PermissionTypeStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new PermissionTypeTupleSchemeFactory();
 
-  private java.lang.String permissionTypeId; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String name; // optional
-  private java.lang.String description; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -75,6 +75,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PERMISSION_TYPE_ID
@@ -107,6 +108,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -119,10 +121,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -176,6 +180,7 @@
     this.updatedTime = other.updatedTime;
   }
 
+  @Override
   public PermissionType deepCopy() {
     return new PermissionType(this);
   }
@@ -192,12 +197,14 @@
     this.updatedTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPermissionTypeId() {
     return this.permissionTypeId;
   }
 
-  public void setPermissionTypeId(java.lang.String permissionTypeId) {
+  public PermissionType setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
     this.permissionTypeId = permissionTypeId;
+    return this;
   }
 
   public void unsetPermissionTypeId() {
@@ -215,12 +222,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public PermissionType setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -238,12 +247,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public PermissionType setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
+    return this;
   }
 
   public void unsetName() {
@@ -261,12 +272,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public PermissionType setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -288,9 +301,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public PermissionType setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -310,9 +324,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public PermissionType setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -328,7 +343,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PERMISSION_TYPE_ID:
       if (value == null) {
@@ -381,6 +397,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PERMISSION_TYPE_ID:
@@ -406,6 +424,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -430,8 +449,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof PermissionType)
       return this.equals((PermissionType)that);
     return false;
@@ -539,7 +556,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+    lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -549,7 +566,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -559,7 +576,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -569,7 +586,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -579,7 +596,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -589,7 +606,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -602,14 +619,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -698,6 +719,7 @@
   }
 
   private static class PermissionTypeStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public PermissionTypeStandardScheme getScheme() {
       return new PermissionTypeStandardScheme();
     }
@@ -705,6 +727,7 @@
 
   private static class PermissionTypeStandardScheme extends org.apache.thrift.scheme.StandardScheme<PermissionType> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, PermissionType struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -769,9 +792,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, PermissionType struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -821,6 +847,7 @@
   }
 
   private static class PermissionTypeTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public PermissionTypeTupleScheme getScheme() {
       return new PermissionTypeTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
index 865fa88..609408a 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCondition.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,10 +24,6 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>Different search operators that can be used with the entity search fields</p>
  * <li>EQUAL : Simply matches for equality. Applicable for name, and parent entity id</li>
@@ -37,6 +33,7 @@
  * <li>LTE : Less than or equal. Only applicable for created time, updated time and shared count.</li>
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum SearchCondition implements org.apache.thrift.TEnum {
   EQUAL(0),
   LIKE(1),
@@ -54,6 +51,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -62,6 +60,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static SearchCondition findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
index 8afaf8e..caf7153 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SearchCriteria.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>Container object for search criteria</p>
  * <li><b>searchField</b> : Entity search field</li>
@@ -31,7 +30,8 @@
  * <li><b>searchCondition</b> : EQUAL, LIKE etc..</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SearchCriteria implements org.apache.thrift.TBase<SearchCriteria, SearchCriteria._Fields>, java.io.Serializable, Cloneable, Comparable<SearchCriteria> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SearchCriteria");
 
@@ -42,9 +42,17 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SearchCriteriaStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SearchCriteriaTupleSchemeFactory();
 
-  private EntitySearchField searchField; // optional
-  private java.lang.String value; // optional
-  private SearchCondition searchCondition; // optional
+  /**
+   * 
+   * @see EntitySearchField
+   */
+  public @org.apache.thrift.annotation.Nullable EntitySearchField searchField; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String value; // optional
+  /**
+   * 
+   * @see SearchCondition
+   */
+  public @org.apache.thrift.annotation.Nullable SearchCondition searchCondition; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -71,6 +79,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // SEARCH_FIELD
@@ -97,6 +106,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -109,10 +119,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -151,6 +163,7 @@
     }
   }
 
+  @Override
   public SearchCriteria deepCopy() {
     return new SearchCriteria(this);
   }
@@ -166,6 +179,7 @@
    * 
    * @see EntitySearchField
    */
+  @org.apache.thrift.annotation.Nullable
   public EntitySearchField getSearchField() {
     return this.searchField;
   }
@@ -174,8 +188,9 @@
    * 
    * @see EntitySearchField
    */
-  public void setSearchField(EntitySearchField searchField) {
+  public SearchCriteria setSearchField(@org.apache.thrift.annotation.Nullable EntitySearchField searchField) {
     this.searchField = searchField;
+    return this;
   }
 
   public void unsetSearchField() {
@@ -193,12 +208,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getValue() {
     return this.value;
   }
 
-  public void setValue(java.lang.String value) {
+  public SearchCriteria setValue(@org.apache.thrift.annotation.Nullable java.lang.String value) {
     this.value = value;
+    return this;
   }
 
   public void unsetValue() {
@@ -220,6 +237,7 @@
    * 
    * @see SearchCondition
    */
+  @org.apache.thrift.annotation.Nullable
   public SearchCondition getSearchCondition() {
     return this.searchCondition;
   }
@@ -228,8 +246,9 @@
    * 
    * @see SearchCondition
    */
-  public void setSearchCondition(SearchCondition searchCondition) {
+  public SearchCriteria setSearchCondition(@org.apache.thrift.annotation.Nullable SearchCondition searchCondition) {
     this.searchCondition = searchCondition;
+    return this;
   }
 
   public void unsetSearchCondition() {
@@ -247,7 +266,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case SEARCH_FIELD:
       if (value == null) {
@@ -276,6 +296,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case SEARCH_FIELD:
@@ -292,6 +314,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -310,8 +333,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SearchCriteria)
       return this.equals((SearchCriteria)that);
     return false;
@@ -380,7 +401,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetSearchField()).compareTo(other.isSetSearchField());
+    lastComparison = java.lang.Boolean.compare(isSetSearchField(), other.isSetSearchField());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -390,7 +411,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetValue()).compareTo(other.isSetValue());
+    lastComparison = java.lang.Boolean.compare(isSetValue(), other.isSetValue());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -400,7 +421,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSearchCondition()).compareTo(other.isSetSearchCondition());
+    lastComparison = java.lang.Boolean.compare(isSetSearchCondition(), other.isSetSearchCondition());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -413,14 +434,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -485,6 +510,7 @@
   }
 
   private static class SearchCriteriaStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SearchCriteriaStandardScheme getScheme() {
       return new SearchCriteriaStandardScheme();
     }
@@ -492,6 +518,7 @@
 
   private static class SearchCriteriaStandardScheme extends org.apache.thrift.scheme.StandardScheme<SearchCriteria> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SearchCriteria struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -532,9 +559,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SearchCriteria struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -567,6 +597,7 @@
   }
 
   private static class SearchCriteriaTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SearchCriteriaTupleScheme getScheme() {
       return new SearchCriteriaTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
index e5c956c..4ae8da2 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/Sharing.java
@@ -16,19 +16,19 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>This is an internal enum type for managing sharings</p>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class Sharing implements org.apache.thrift.TBase<Sharing, Sharing._Fields>, java.io.Serializable, Cloneable, Comparable<Sharing> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Sharing");
 
@@ -44,14 +44,18 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SharingStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SharingTupleSchemeFactory();
 
-  private java.lang.String permissionTypeId; // optional
-  private java.lang.String entityId; // optional
-  private java.lang.String groupId; // optional
-  private SharingType sharingType; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String inheritedParentId; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // optional
+  /**
+   * 
+   * @see SharingType
+   */
+  public @org.apache.thrift.annotation.Nullable SharingType sharingType; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String inheritedParentId; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -79,6 +83,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // PERMISSION_TYPE_ID
@@ -115,6 +120,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -127,10 +133,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -194,6 +202,7 @@
     this.updatedTime = other.updatedTime;
   }
 
+  @Override
   public Sharing deepCopy() {
     return new Sharing(this);
   }
@@ -212,12 +221,14 @@
     this.updatedTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getPermissionTypeId() {
     return this.permissionTypeId;
   }
 
-  public void setPermissionTypeId(java.lang.String permissionTypeId) {
+  public Sharing setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
     this.permissionTypeId = permissionTypeId;
+    return this;
   }
 
   public void unsetPermissionTypeId() {
@@ -235,12 +246,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEntityId() {
     return this.entityId;
   }
 
-  public void setEntityId(java.lang.String entityId) {
+  public Sharing setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
     this.entityId = entityId;
+    return this;
   }
 
   public void unsetEntityId() {
@@ -258,12 +271,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupId() {
     return this.groupId;
   }
 
-  public void setGroupId(java.lang.String groupId) {
+  public Sharing setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
     this.groupId = groupId;
+    return this;
   }
 
   public void unsetGroupId() {
@@ -285,6 +300,7 @@
    * 
    * @see SharingType
    */
+  @org.apache.thrift.annotation.Nullable
   public SharingType getSharingType() {
     return this.sharingType;
   }
@@ -293,8 +309,9 @@
    * 
    * @see SharingType
    */
-  public void setSharingType(SharingType sharingType) {
+  public Sharing setSharingType(@org.apache.thrift.annotation.Nullable SharingType sharingType) {
     this.sharingType = sharingType;
+    return this;
   }
 
   public void unsetSharingType() {
@@ -312,12 +329,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public Sharing setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -335,12 +354,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getInheritedParentId() {
     return this.inheritedParentId;
   }
 
-  public void setInheritedParentId(java.lang.String inheritedParentId) {
+  public Sharing setInheritedParentId(@org.apache.thrift.annotation.Nullable java.lang.String inheritedParentId) {
     this.inheritedParentId = inheritedParentId;
+    return this;
   }
 
   public void unsetInheritedParentId() {
@@ -362,9 +383,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public Sharing setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -384,9 +406,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public Sharing setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -402,7 +425,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case PERMISSION_TYPE_ID:
       if (value == null) {
@@ -471,6 +495,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case PERMISSION_TYPE_ID:
@@ -502,6 +528,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -530,8 +557,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof Sharing)
       return this.equals((Sharing)that);
     return false;
@@ -665,7 +690,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+    lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -675,7 +700,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+    lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -685,7 +710,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -695,7 +720,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetSharingType()).compareTo(other.isSetSharingType());
+    lastComparison = java.lang.Boolean.compare(isSetSharingType(), other.isSetSharingType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -705,7 +730,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -715,7 +740,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetInheritedParentId()).compareTo(other.isSetInheritedParentId());
+    lastComparison = java.lang.Boolean.compare(isSetInheritedParentId(), other.isSetInheritedParentId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -725,7 +750,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -735,7 +760,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -748,14 +773,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -864,6 +893,7 @@
   }
 
   private static class SharingStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SharingStandardScheme getScheme() {
       return new SharingStandardScheme();
     }
@@ -871,6 +901,7 @@
 
   private static class SharingStandardScheme extends org.apache.thrift.scheme.StandardScheme<Sharing> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, Sharing struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -951,9 +982,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, Sharing struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1017,6 +1051,7 @@
   }
 
   private static class SharingTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SharingTupleScheme getScheme() {
       return new SharingTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
index 4bad273..6182e56 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingRegistryException.java
@@ -16,19 +16,19 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>Exception model used in the sharing registry service</p>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class SharingRegistryException extends org.apache.thrift.TException implements org.apache.thrift.TBase<SharingRegistryException, SharingRegistryException._Fields>, java.io.Serializable, Cloneable, Comparable<SharingRegistryException> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SharingRegistryException");
 
@@ -37,7 +37,7 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new SharingRegistryExceptionStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new SharingRegistryExceptionTupleSchemeFactory();
 
-  private java.lang.String message; // required
+  public @org.apache.thrift.annotation.Nullable java.lang.String message; // 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 {
@@ -54,6 +54,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // MESSAGE
@@ -76,6 +77,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -88,10 +90,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -126,6 +130,7 @@
     }
   }
 
+  @Override
   public SharingRegistryException deepCopy() {
     return new SharingRegistryException(this);
   }
@@ -135,12 +140,14 @@
     this.message = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getMessage() {
     return this.message;
   }
 
-  public void setMessage(java.lang.String message) {
+  public SharingRegistryException setMessage(@org.apache.thrift.annotation.Nullable java.lang.String message) {
     this.message = message;
+    return this;
   }
 
   public void unsetMessage() {
@@ -158,7 +165,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case MESSAGE:
       if (value == null) {
@@ -171,6 +179,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case MESSAGE:
@@ -181,6 +191,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -195,8 +206,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof SharingRegistryException)
       return this.equals((SharingRegistryException)that);
     return false;
@@ -239,7 +248,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetMessage()).compareTo(other.isSetMessage());
+    lastComparison = java.lang.Boolean.compare(isSetMessage(), other.isSetMessage());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -252,14 +261,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -282,10 +295,9 @@
 
   public void validate() throws org.apache.thrift.TException {
     // check for required fields
-    if (!isSetMessage()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' is unset! Struct:" + toString());
+    if (message == null) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'message' was not present! Struct: " + toString());
     }
-
     // check for sub-struct validity
   }
 
@@ -306,6 +318,7 @@
   }
 
   private static class SharingRegistryExceptionStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SharingRegistryExceptionStandardScheme getScheme() {
       return new SharingRegistryExceptionStandardScheme();
     }
@@ -313,6 +326,7 @@
 
   private static class SharingRegistryExceptionStandardScheme extends org.apache.thrift.scheme.StandardScheme<SharingRegistryException> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, SharingRegistryException struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -337,9 +351,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, SharingRegistryException struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -356,6 +373,7 @@
   }
 
   private static class SharingRegistryExceptionTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public SharingRegistryExceptionTupleScheme getScheme() {
       return new SharingRegistryExceptionTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
index 8048352..70f9f9c 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/SharingType.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
@@ -24,14 +24,11 @@
 package org.apache.airavata.sharing.registry.models;
 
 
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
 /**
  * <p>This is an internal enum type for managing sharings</p>
  * 
  */
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public enum SharingType implements org.apache.thrift.TEnum {
   DIRECT_NON_CASCADING(0),
   DIRECT_CASCADING(1),
@@ -46,6 +43,7 @@
   /**
    * Get the integer value of this enum value, as defined in the Thrift IDL.
    */
+  @Override
   public int getValue() {
     return value;
   }
@@ -54,6 +52,7 @@
    * Find a the enum type by its integer value, as defined in the Thrift IDL.
    * @return null if the value is not found.
    */
+  @org.apache.thrift.annotation.Nullable
   public static SharingType findByValue(int value) { 
     switch (value) {
       case 0:
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
index 2ad188b..0f7eb3f 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/User.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>User is the model used to register a user in the system. Minimal user information will be required to provide
  * regarding the user.</p>
@@ -38,7 +37,8 @@
  * <li>updatedTime : If client provides this value then the system will use it if not the current time will be set</li>
  * 
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class User implements org.apache.thrift.TBase<User, User._Fields>, java.io.Serializable, Cloneable, Comparable<User> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("User");
 
@@ -55,15 +55,15 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserTupleSchemeFactory();
 
-  private java.lang.String userId; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String userName; // optional
-  private java.lang.String firstName; // optional
-  private java.lang.String lastName; // optional
-  private java.lang.String email; // optional
-  private java.nio.ByteBuffer icon; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String userId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String userName; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String firstName; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String lastName; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String email; // optional
+  public @org.apache.thrift.annotation.Nullable java.nio.ByteBuffer icon; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -88,6 +88,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // USER_ID
@@ -126,6 +127,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -138,10 +140,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -210,6 +214,7 @@
     this.updatedTime = other.updatedTime;
   }
 
+  @Override
   public User deepCopy() {
     return new User(this);
   }
@@ -229,12 +234,14 @@
     this.updatedTime = 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserId() {
     return this.userId;
   }
 
-  public void setUserId(java.lang.String userId) {
+  public User setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
     this.userId = userId;
+    return this;
   }
 
   public void unsetUserId() {
@@ -252,12 +259,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public User setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -275,12 +284,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getUserName() {
     return this.userName;
   }
 
-  public void setUserName(java.lang.String userName) {
+  public User setUserName(@org.apache.thrift.annotation.Nullable java.lang.String userName) {
     this.userName = userName;
+    return this;
   }
 
   public void unsetUserName() {
@@ -298,12 +309,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getFirstName() {
     return this.firstName;
   }
 
-  public void setFirstName(java.lang.String firstName) {
+  public User setFirstName(@org.apache.thrift.annotation.Nullable java.lang.String firstName) {
     this.firstName = firstName;
+    return this;
   }
 
   public void unsetFirstName() {
@@ -321,12 +334,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getLastName() {
     return this.lastName;
   }
 
-  public void setLastName(java.lang.String lastName) {
+  public User setLastName(@org.apache.thrift.annotation.Nullable java.lang.String lastName) {
     this.lastName = lastName;
+    return this;
   }
 
   public void unsetLastName() {
@@ -344,12 +359,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getEmail() {
     return this.email;
   }
 
-  public void setEmail(java.lang.String email) {
+  public User setEmail(@org.apache.thrift.annotation.Nullable java.lang.String email) {
     this.email = email;
+    return this;
   }
 
   public void unsetEmail() {
@@ -376,12 +393,14 @@
     return org.apache.thrift.TBaseHelper.copyBinary(icon);
   }
 
-  public void setIcon(byte[] icon) {
-    this.icon = icon == null ? (java.nio.ByteBuffer)null : java.nio.ByteBuffer.wrap(icon.clone());
+  public User setIcon(byte[] icon) {
+    this.icon = icon == null ? (java.nio.ByteBuffer)null   : java.nio.ByteBuffer.wrap(icon.clone());
+    return this;
   }
 
-  public void setIcon(java.nio.ByteBuffer icon) {
+  public User setIcon(@org.apache.thrift.annotation.Nullable java.nio.ByteBuffer icon) {
     this.icon = org.apache.thrift.TBaseHelper.copyBinary(icon);
+    return this;
   }
 
   public void unsetIcon() {
@@ -403,9 +422,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public User setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -425,9 +445,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public User setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -443,7 +464,8 @@
     __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __UPDATEDTIME_ISSET_ID, value);
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case USER_ID:
       if (value == null) {
@@ -524,6 +546,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case USER_ID:
@@ -558,6 +582,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -588,8 +613,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof User)
       return this.equals((User)that);
     return false;
@@ -736,7 +759,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+    lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -746,7 +769,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -756,7 +779,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUserName()).compareTo(other.isSetUserName());
+    lastComparison = java.lang.Boolean.compare(isSetUserName(), other.isSetUserName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -766,7 +789,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetFirstName()).compareTo(other.isSetFirstName());
+    lastComparison = java.lang.Boolean.compare(isSetFirstName(), other.isSetFirstName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -776,7 +799,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetLastName()).compareTo(other.isSetLastName());
+    lastComparison = java.lang.Boolean.compare(isSetLastName(), other.isSetLastName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -786,7 +809,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetEmail()).compareTo(other.isSetEmail());
+    lastComparison = java.lang.Boolean.compare(isSetEmail(), other.isSetEmail());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -796,7 +819,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetIcon()).compareTo(other.isSetIcon());
+    lastComparison = java.lang.Boolean.compare(isSetIcon(), other.isSetIcon());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -806,7 +829,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -816,7 +839,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -829,14 +852,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -955,6 +982,7 @@
   }
 
   private static class UserStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserStandardScheme getScheme() {
       return new UserStandardScheme();
     }
@@ -962,6 +990,7 @@
 
   private static class UserStandardScheme extends org.apache.thrift.scheme.StandardScheme<User> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, User struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1050,9 +1079,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, User struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1123,6 +1155,7 @@
   }
 
   private static class UserTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserTupleScheme getScheme() {
       return new UserTupleScheme();
     }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
index 4641405..1c7f012 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/UserGroup.java
@@ -16,14 +16,13 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.models;
 
-@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
 /**
  * <p>User group is a collection of users.</p>
  *  <li><b>groupId</b> : Group id provided by the client</li>
@@ -38,7 +37,8 @@
  *  <li>groupAdmins : Admins for the group</li>
  *  
  */
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
+@SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 public class UserGroup implements org.apache.thrift.TBase<UserGroup, UserGroup._Fields>, java.io.Serializable, Cloneable, Comparable<UserGroup> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UserGroup");
 
@@ -56,16 +56,24 @@
   private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new UserGroupStandardSchemeFactory();
   private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new UserGroupTupleSchemeFactory();
 
-  private java.lang.String groupId; // optional
-  private java.lang.String domainId; // optional
-  private java.lang.String name; // optional
-  private java.lang.String description; // optional
-  private java.lang.String ownerId; // optional
-  private GroupType groupType; // optional
-  private GroupCardinality groupCardinality; // optional
-  private long createdTime; // optional
-  private long updatedTime; // optional
-  private java.util.List<GroupAdmin> groupAdmins; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String name; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String description; // optional
+  public @org.apache.thrift.annotation.Nullable java.lang.String ownerId; // optional
+  /**
+   * 
+   * @see GroupType
+   */
+  public @org.apache.thrift.annotation.Nullable GroupType groupType; // optional
+  /**
+   * 
+   * @see GroupCardinality
+   */
+  public @org.apache.thrift.annotation.Nullable GroupCardinality groupCardinality; // optional
+  public long createdTime; // optional
+  public long updatedTime; // optional
+  public @org.apache.thrift.annotation.Nullable java.util.List<GroupAdmin> groupAdmins; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -99,6 +107,7 @@
     /**
      * Find the _Fields constant that matches fieldId, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByThriftId(int fieldId) {
       switch(fieldId) {
         case 1: // GROUP_ID
@@ -139,6 +148,7 @@
     /**
      * Find the _Fields constant that matches name, or null if its not found.
      */
+    @org.apache.thrift.annotation.Nullable
     public static _Fields findByName(java.lang.String name) {
       return byName.get(name);
     }
@@ -151,10 +161,12 @@
       _fieldName = fieldName;
     }
 
+    @Override
     public short getThriftFieldId() {
       return _thriftId;
     }
 
+    @Override
     public java.lang.String getFieldName() {
       return _fieldName;
     }
@@ -233,6 +245,7 @@
     }
   }
 
+  @Override
   public UserGroup deepCopy() {
     return new UserGroup(this);
   }
@@ -253,12 +266,14 @@
     this.groupAdmins = null;
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getGroupId() {
     return this.groupId;
   }
 
-  public void setGroupId(java.lang.String groupId) {
+  public UserGroup setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
     this.groupId = groupId;
+    return this;
   }
 
   public void unsetGroupId() {
@@ -276,12 +291,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDomainId() {
     return this.domainId;
   }
 
-  public void setDomainId(java.lang.String domainId) {
+  public UserGroup setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
     this.domainId = domainId;
+    return this;
   }
 
   public void unsetDomainId() {
@@ -299,12 +316,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getName() {
     return this.name;
   }
 
-  public void setName(java.lang.String name) {
+  public UserGroup setName(@org.apache.thrift.annotation.Nullable java.lang.String name) {
     this.name = name;
+    return this;
   }
 
   public void unsetName() {
@@ -322,12 +341,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getDescription() {
     return this.description;
   }
 
-  public void setDescription(java.lang.String description) {
+  public UserGroup setDescription(@org.apache.thrift.annotation.Nullable java.lang.String description) {
     this.description = description;
+    return this;
   }
 
   public void unsetDescription() {
@@ -345,12 +366,14 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.lang.String getOwnerId() {
     return this.ownerId;
   }
 
-  public void setOwnerId(java.lang.String ownerId) {
+  public UserGroup setOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String ownerId) {
     this.ownerId = ownerId;
+    return this;
   }
 
   public void unsetOwnerId() {
@@ -372,6 +395,7 @@
    * 
    * @see GroupType
    */
+  @org.apache.thrift.annotation.Nullable
   public GroupType getGroupType() {
     return this.groupType;
   }
@@ -380,8 +404,9 @@
    * 
    * @see GroupType
    */
-  public void setGroupType(GroupType groupType) {
+  public UserGroup setGroupType(@org.apache.thrift.annotation.Nullable GroupType groupType) {
     this.groupType = groupType;
+    return this;
   }
 
   public void unsetGroupType() {
@@ -403,6 +428,7 @@
    * 
    * @see GroupCardinality
    */
+  @org.apache.thrift.annotation.Nullable
   public GroupCardinality getGroupCardinality() {
     return this.groupCardinality;
   }
@@ -411,8 +437,9 @@
    * 
    * @see GroupCardinality
    */
-  public void setGroupCardinality(GroupCardinality groupCardinality) {
+  public UserGroup setGroupCardinality(@org.apache.thrift.annotation.Nullable GroupCardinality groupCardinality) {
     this.groupCardinality = groupCardinality;
+    return this;
   }
 
   public void unsetGroupCardinality() {
@@ -434,9 +461,10 @@
     return this.createdTime;
   }
 
-  public void setCreatedTime(long createdTime) {
+  public UserGroup setCreatedTime(long createdTime) {
     this.createdTime = createdTime;
     setCreatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetCreatedTime() {
@@ -456,9 +484,10 @@
     return this.updatedTime;
   }
 
-  public void setUpdatedTime(long updatedTime) {
+  public UserGroup setUpdatedTime(long updatedTime) {
     this.updatedTime = updatedTime;
     setUpdatedTimeIsSet(true);
+    return this;
   }
 
   public void unsetUpdatedTime() {
@@ -478,6 +507,7 @@
     return (this.groupAdmins == null) ? 0 : this.groupAdmins.size();
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.Iterator<GroupAdmin> getGroupAdminsIterator() {
     return (this.groupAdmins == null) ? null : this.groupAdmins.iterator();
   }
@@ -489,12 +519,14 @@
     this.groupAdmins.add(elem);
   }
 
+  @org.apache.thrift.annotation.Nullable
   public java.util.List<GroupAdmin> getGroupAdmins() {
     return this.groupAdmins;
   }
 
-  public void setGroupAdmins(java.util.List<GroupAdmin> groupAdmins) {
+  public UserGroup setGroupAdmins(@org.apache.thrift.annotation.Nullable java.util.List<GroupAdmin> groupAdmins) {
     this.groupAdmins = groupAdmins;
+    return this;
   }
 
   public void unsetGroupAdmins() {
@@ -512,7 +544,8 @@
     }
   }
 
-  public void setFieldValue(_Fields field, java.lang.Object value) {
+  @Override
+  public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
     switch (field) {
     case GROUP_ID:
       if (value == null) {
@@ -597,6 +630,8 @@
     }
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public java.lang.Object getFieldValue(_Fields field) {
     switch (field) {
     case GROUP_ID:
@@ -634,6 +669,7 @@
   }
 
   /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+  @Override
   public boolean isSet(_Fields field) {
     if (field == null) {
       throw new java.lang.IllegalArgumentException();
@@ -666,8 +702,6 @@
 
   @Override
   public boolean equals(java.lang.Object that) {
-    if (that == null)
-      return false;
     if (that instanceof UserGroup)
       return this.equals((UserGroup)that);
     return false;
@@ -827,7 +861,7 @@
 
     int lastComparison = 0;
 
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+    lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -837,7 +871,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+    lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -847,7 +881,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetName()).compareTo(other.isSetName());
+    lastComparison = java.lang.Boolean.compare(isSetName(), other.isSetName());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -857,7 +891,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetDescription()).compareTo(other.isSetDescription());
+    lastComparison = java.lang.Boolean.compare(isSetDescription(), other.isSetDescription());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -867,7 +901,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+    lastComparison = java.lang.Boolean.compare(isSetOwnerId(), other.isSetOwnerId());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -877,7 +911,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupType()).compareTo(other.isSetGroupType());
+    lastComparison = java.lang.Boolean.compare(isSetGroupType(), other.isSetGroupType());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -887,7 +921,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupCardinality()).compareTo(other.isSetGroupCardinality());
+    lastComparison = java.lang.Boolean.compare(isSetGroupCardinality(), other.isSetGroupCardinality());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -897,7 +931,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetCreatedTime()).compareTo(other.isSetCreatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetCreatedTime(), other.isSetCreatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -907,7 +941,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetUpdatedTime()).compareTo(other.isSetUpdatedTime());
+    lastComparison = java.lang.Boolean.compare(isSetUpdatedTime(), other.isSetUpdatedTime());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -917,7 +951,7 @@
         return lastComparison;
       }
     }
-    lastComparison = java.lang.Boolean.valueOf(isSetGroupAdmins()).compareTo(other.isSetGroupAdmins());
+    lastComparison = java.lang.Boolean.compare(isSetGroupAdmins(), other.isSetGroupAdmins());
     if (lastComparison != 0) {
       return lastComparison;
     }
@@ -930,14 +964,18 @@
     return 0;
   }
 
+  @org.apache.thrift.annotation.Nullable
+  @Override
   public _Fields fieldForId(int fieldId) {
     return _Fields.findByThriftId(fieldId);
   }
 
+  @Override
   public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
     scheme(iprot).read(iprot, this);
   }
 
+  @Override
   public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
     scheme(oprot).write(oprot, this);
   }
@@ -1066,6 +1104,7 @@
   }
 
   private static class UserGroupStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserGroupStandardScheme getScheme() {
       return new UserGroupStandardScheme();
     }
@@ -1073,6 +1112,7 @@
 
   private static class UserGroupStandardScheme extends org.apache.thrift.scheme.StandardScheme<UserGroup> {
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot, UserGroup struct) throws org.apache.thrift.TException {
       org.apache.thrift.protocol.TField schemeField;
       iprot.readStructBegin();
@@ -1160,7 +1200,7 @@
               {
                 org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                 struct.groupAdmins = new java.util.ArrayList<GroupAdmin>(_list0.size);
-                GroupAdmin _elem1;
+                @org.apache.thrift.annotation.Nullable GroupAdmin _elem1;
                 for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                 {
                   _elem1 = new GroupAdmin();
@@ -1180,9 +1220,12 @@
         iprot.readFieldEnd();
       }
       iprot.readStructEnd();
+
+      // check for required fields of primitive type, which can't be checked in the validate method
       struct.validate();
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot, UserGroup struct) throws org.apache.thrift.TException {
       struct.validate();
 
@@ -1267,6 +1310,7 @@
   }
 
   private static class UserGroupTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+    @Override
     public UserGroupTupleScheme getScheme() {
       return new UserGroupTupleScheme();
     }
@@ -1389,9 +1433,9 @@
       }
       if (incoming.get(9)) {
         {
-          org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.groupAdmins = new java.util.ArrayList<GroupAdmin>(_list5.size);
-          GroupAdmin _elem6;
+          @org.apache.thrift.annotation.Nullable GroupAdmin _elem6;
           for (int _i7 = 0; _i7 < _list5.size; ++_i7)
           {
             _elem6 = new GroupAdmin();
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
index 4390099..b53f195 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/models/sharing_modelsConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
index fdf5473..198cd99 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/SharingRegistryService.java
@@ -16,15 +16,15 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
  */
 package org.apache.airavata.sharing.registry.service.cpi;
 
+@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.18.1)")
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
-@javax.annotation.Generated(value = "Autogenerated by Thrift Compiler (0.10.0)")
 public class SharingRegistryService {
 
   public interface Iface extends org.apache.airavata.base.api.BaseAPI.Iface {
@@ -505,7 +505,7 @@
 
   }
 
-  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI .AsyncIface {
+  public interface AsyncIface extends org.apache.airavata.base.api.BaseAPI.AsyncIface {
 
     public void createDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException;
 
@@ -626,9 +626,11 @@
   public static class Client extends org.apache.airavata.base.api.BaseAPI.Client implements Iface {
     public static class Factory implements org.apache.thrift.TServiceClientFactory<Client> {
       public Factory() {}
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol prot) {
         return new Client(prot);
       }
+      @Override
       public Client getClient(org.apache.thrift.protocol.TProtocol iprot, org.apache.thrift.protocol.TProtocol oprot) {
         return new Client(iprot, oprot);
       }
@@ -643,6 +645,7 @@
       super(iprot, oprot);
     }
 
+    @Override
     public java.lang.String createDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createDomain(domain);
@@ -672,6 +675,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createDomain failed: unknown result");
     }
 
+    @Override
     public boolean updateDomain(org.apache.airavata.sharing.registry.models.Domain domain) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_updateDomain(domain);
@@ -698,6 +702,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateDomain failed: unknown result");
     }
 
+    @Override
     public boolean isDomainExists(java.lang.String domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_isDomainExists(domainId);
@@ -724,6 +729,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isDomainExists failed: unknown result");
     }
 
+    @Override
     public boolean deleteDomain(java.lang.String domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_deleteDomain(domainId);
@@ -750,6 +756,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteDomain failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.sharing.registry.models.Domain getDomain(java.lang.String domainId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getDomain(domainId);
@@ -776,6 +783,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDomain failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.Domain> getDomains(int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getDomains(offset, limit);
@@ -803,6 +811,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getDomains failed: unknown result");
     }
 
+    @Override
     public java.lang.String createUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createUser(user);
@@ -832,6 +841,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createUser failed: unknown result");
     }
 
+    @Override
     public boolean updatedUser(org.apache.airavata.sharing.registry.models.User user) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_updatedUser(user);
@@ -858,6 +868,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updatedUser failed: unknown result");
     }
 
+    @Override
     public boolean isUserExists(java.lang.String domainId, java.lang.String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_isUserExists(domainId, userId);
@@ -885,6 +896,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isUserExists failed: unknown result");
     }
 
+    @Override
     public boolean deleteUser(java.lang.String domainId, java.lang.String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_deleteUser(domainId, userId);
@@ -912,6 +924,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteUser failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.sharing.registry.models.User getUser(java.lang.String domainId, java.lang.String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getUser(domainId, userId);
@@ -939,6 +952,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUser failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getUsers(java.lang.String domainId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getUsers(domainId, offset, limit);
@@ -967,6 +981,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getUsers failed: unknown result");
     }
 
+    @Override
     public java.lang.String createGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_createGroup(group);
@@ -993,6 +1008,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createGroup failed: unknown result");
     }
 
+    @Override
     public boolean updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_updateGroup(group);
@@ -1019,6 +1035,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateGroup failed: unknown result");
     }
 
+    @Override
     public boolean isGroupExists(java.lang.String domainId, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_isGroupExists(domainId, groupId);
@@ -1046,6 +1063,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isGroupExists failed: unknown result");
     }
 
+    @Override
     public boolean deleteGroup(java.lang.String domainId, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_deleteGroup(domainId, groupId);
@@ -1073,6 +1091,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteGroup failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.sharing.registry.models.UserGroup getGroup(java.lang.String domainId, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getGroup(domainId, groupId);
@@ -1100,6 +1119,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroup failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getGroups(java.lang.String domainId, int offset, int limit) throws org.apache.thrift.TException
     {
       send_getGroups(domainId, offset, limit);
@@ -1125,6 +1145,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroups failed: unknown result");
     }
 
+    @Override
     public boolean addUsersToGroup(java.lang.String domainId, java.util.List<java.lang.String> userIds, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_addUsersToGroup(domainId, userIds, groupId);
@@ -1153,6 +1174,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addUsersToGroup failed: unknown result");
     }
 
+    @Override
     public boolean removeUsersFromGroup(java.lang.String domainId, java.util.List<java.lang.String> userIds, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_removeUsersFromGroup(domainId, userIds, groupId);
@@ -1181,6 +1203,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeUsersFromGroup failed: unknown result");
     }
 
+    @Override
     public boolean transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_transferGroupOwnership(domainId, groupId, newOwnerId);
@@ -1209,6 +1232,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "transferGroupOwnership failed: unknown result");
     }
 
+    @Override
     public boolean addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_addGroupAdmins(domainId, groupId, adminIds);
@@ -1237,6 +1261,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addGroupAdmins failed: unknown result");
     }
 
+    @Override
     public boolean removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_removeGroupAdmins(domainId, groupId, adminIds);
@@ -1265,6 +1290,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeGroupAdmins failed: unknown result");
     }
 
+    @Override
     public boolean hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_hasAdminAccess(domainId, groupId, adminId);
@@ -1293,6 +1319,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasAdminAccess failed: unknown result");
     }
 
+    @Override
     public boolean hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_hasOwnerAccess(domainId, groupId, ownerId);
@@ -1321,6 +1348,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "hasOwnerAccess failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getGroupMembersOfTypeUser(java.lang.String domainId, java.lang.String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getGroupMembersOfTypeUser(domainId, groupId, offset, limit);
@@ -1350,6 +1378,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupMembersOfTypeUser failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getGroupMembersOfTypeGroup(java.lang.String domainId, java.lang.String groupId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getGroupMembersOfTypeGroup(domainId, groupId, offset, limit);
@@ -1379,6 +1408,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getGroupMembersOfTypeGroup failed: unknown result");
     }
 
+    @Override
     public boolean addChildGroupsToParentGroup(java.lang.String domainId, java.util.List<java.lang.String> childIds, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_addChildGroupsToParentGroup(domainId, childIds, groupId);
@@ -1407,6 +1437,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "addChildGroupsToParentGroup failed: unknown result");
     }
 
+    @Override
     public boolean removeChildGroupFromParentGroup(java.lang.String domainId, java.lang.String childId, java.lang.String groupId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_removeChildGroupFromParentGroup(domainId, childId, groupId);
@@ -1435,6 +1466,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "removeChildGroupFromParentGroup failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getAllMemberGroupsForUser(java.lang.String domainId, java.lang.String userId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getAllMemberGroupsForUser(domainId, userId);
@@ -1462,6 +1494,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getAllMemberGroupsForUser failed: unknown result");
     }
 
+    @Override
     public java.lang.String createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createEntityType(entityType);
@@ -1491,6 +1524,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createEntityType failed: unknown result");
     }
 
+    @Override
     public boolean updateEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_updateEntityType(entityType);
@@ -1517,6 +1551,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateEntityType failed: unknown result");
     }
 
+    @Override
     public boolean isEntityTypeExists(java.lang.String domainId, java.lang.String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_isEntityTypeExists(domainId, entityTypeId);
@@ -1544,6 +1579,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isEntityTypeExists failed: unknown result");
     }
 
+    @Override
     public boolean deleteEntityType(java.lang.String domainId, java.lang.String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_deleteEntityType(domainId, entityTypeId);
@@ -1571,6 +1607,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteEntityType failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.sharing.registry.models.EntityType getEntityType(java.lang.String domainId, java.lang.String entityTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getEntityType(domainId, entityTypeId);
@@ -1598,6 +1635,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEntityType failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.EntityType> getEntityTypes(java.lang.String domainId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getEntityTypes(domainId, offset, limit);
@@ -1626,6 +1664,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEntityTypes failed: unknown result");
     }
 
+    @Override
     public java.lang.String createEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_createEntity(entity);
@@ -1652,6 +1691,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createEntity failed: unknown result");
     }
 
+    @Override
     public boolean updateEntity(org.apache.airavata.sharing.registry.models.Entity entity) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_updateEntity(entity);
@@ -1678,6 +1718,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updateEntity failed: unknown result");
     }
 
+    @Override
     public boolean isEntityExists(java.lang.String domainId, java.lang.String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_isEntityExists(domainId, entityId);
@@ -1705,6 +1746,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isEntityExists failed: unknown result");
     }
 
+    @Override
     public boolean deleteEntity(java.lang.String domainId, java.lang.String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_deleteEntity(domainId, entityId);
@@ -1732,6 +1774,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deleteEntity failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.sharing.registry.models.Entity getEntity(java.lang.String domainId, java.lang.String entityId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getEntity(domainId, entityId);
@@ -1759,6 +1802,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getEntity failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.Entity> searchEntities(java.lang.String domainId, java.lang.String userId, java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_searchEntities(domainId, userId, filters, offset, limit);
@@ -1789,6 +1833,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "searchEntities failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getListOfSharedUsers(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getListOfSharedUsers(domainId, entityId, permissionTypeId);
@@ -1817,6 +1862,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfSharedUsers failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getListOfDirectlySharedUsers(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getListOfDirectlySharedUsers(domainId, entityId, permissionTypeId);
@@ -1845,6 +1891,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfDirectlySharedUsers failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getListOfSharedGroups(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getListOfSharedGroups(domainId, entityId, permissionTypeId);
@@ -1873,6 +1920,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfSharedGroups failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getListOfDirectlySharedGroups(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getListOfDirectlySharedGroups(domainId, entityId, permissionTypeId);
@@ -1901,6 +1949,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getListOfDirectlySharedGroups failed: unknown result");
     }
 
+    @Override
     public java.lang.String createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException
     {
       send_createPermissionType(permissionType);
@@ -1930,6 +1979,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "createPermissionType failed: unknown result");
     }
 
+    @Override
     public boolean updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_updatePermissionType(permissionType);
@@ -1956,6 +2006,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "updatePermissionType failed: unknown result");
     }
 
+    @Override
     public boolean isPermissionExists(java.lang.String dimainId, java.lang.String permissionId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_isPermissionExists(dimainId, permissionId);
@@ -1983,6 +2034,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "isPermissionExists failed: unknown result");
     }
 
+    @Override
     public boolean deletePermissionType(java.lang.String domainId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_deletePermissionType(domainId, permissionTypeId);
@@ -2010,6 +2062,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "deletePermissionType failed: unknown result");
     }
 
+    @Override
     public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType(java.lang.String domainId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getPermissionType(domainId, permissionTypeId);
@@ -2037,6 +2090,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPermissionType failed: unknown result");
     }
 
+    @Override
     public java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> getPermissionTypes(java.lang.String domainId, int offset, int limit) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_getPermissionTypes(domainId, offset, limit);
@@ -2065,6 +2119,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "getPermissionTypes failed: unknown result");
     }
 
+    @Override
     public boolean shareEntityWithUsers(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> userList, java.lang.String permissionTypeId, boolean cascadePermission) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_shareEntityWithUsers(domainId, entityId, userList, permissionTypeId, cascadePermission);
@@ -2095,6 +2150,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shareEntityWithUsers failed: unknown result");
     }
 
+    @Override
     public boolean revokeEntitySharingFromUsers(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> userList, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_revokeEntitySharingFromUsers(domainId, entityId, userList, permissionTypeId);
@@ -2124,6 +2180,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "revokeEntitySharingFromUsers failed: unknown result");
     }
 
+    @Override
     public boolean shareEntityWithGroups(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> groupList, java.lang.String permissionTypeId, boolean cascadePermission) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_shareEntityWithGroups(domainId, entityId, groupList, permissionTypeId, cascadePermission);
@@ -2154,6 +2211,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "shareEntityWithGroups failed: unknown result");
     }
 
+    @Override
     public boolean revokeEntitySharingFromGroups(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> groupList, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_revokeEntitySharingFromGroups(domainId, entityId, groupList, permissionTypeId);
@@ -2183,6 +2241,7 @@
       throw new org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT, "revokeEntitySharingFromGroups failed: unknown result");
     }
 
+    @Override
     public boolean userHasAccess(java.lang.String domainId, java.lang.String userId, java.lang.String entityId, java.lang.String permissionTypeId) throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException
     {
       send_userHasAccess(domainId, userId, entityId, permissionTypeId);
@@ -2221,6 +2280,7 @@
         this.clientManager = clientManager;
         this.protocolFactory = protocolFactory;
       }
+    @Override
       public AsyncClient getAsyncClient(org.apache.thrift.transport.TNonblockingTransport transport) {
         return new AsyncClient(protocolFactory, clientManager, transport);
       }
@@ -2230,6 +2290,7 @@
       super(protocolFactory, clientManager, transport);
     }
 
+    @Override
     public void createDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createDomain_call method_call = new createDomain_call(domain, resultHandler, this, ___protocolFactory, ___transport);
@@ -2244,6 +2305,7 @@
         this.domain = domain;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createDomain", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createDomain_args args = new createDomain_args();
@@ -2252,6 +2314,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2262,6 +2325,7 @@
       }
     }
 
+    @Override
     public void updateDomain(org.apache.airavata.sharing.registry.models.Domain domain, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateDomain_call method_call = new updateDomain_call(domain, resultHandler, this, ___protocolFactory, ___transport);
@@ -2276,6 +2340,7 @@
         this.domain = domain;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateDomain", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateDomain_args args = new updateDomain_args();
@@ -2284,6 +2349,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2294,6 +2360,7 @@
       }
     }
 
+    @Override
     public void isDomainExists(java.lang.String domainId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isDomainExists_call method_call = new isDomainExists_call(domainId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2308,6 +2375,7 @@
         this.domainId = domainId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isDomainExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isDomainExists_args args = new isDomainExists_args();
@@ -2316,6 +2384,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2326,6 +2395,7 @@
       }
     }
 
+    @Override
     public void deleteDomain(java.lang.String domainId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteDomain_call method_call = new deleteDomain_call(domainId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2340,6 +2410,7 @@
         this.domainId = domainId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteDomain", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteDomain_args args = new deleteDomain_args();
@@ -2348,6 +2419,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2358,6 +2430,7 @@
       }
     }
 
+    @Override
     public void getDomain(java.lang.String domainId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Domain> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getDomain_call method_call = new getDomain_call(domainId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2372,6 +2445,7 @@
         this.domainId = domainId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDomain", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getDomain_args args = new getDomain_args();
@@ -2380,6 +2454,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.sharing.registry.models.Domain getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2390,6 +2465,7 @@
       }
     }
 
+    @Override
     public void getDomains(int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Domain>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getDomains_call method_call = new getDomains_call(offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -2406,6 +2482,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getDomains", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getDomains_args args = new getDomains_args();
@@ -2415,6 +2492,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.Domain> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2425,6 +2503,7 @@
       }
     }
 
+    @Override
     public void createUser(org.apache.airavata.sharing.registry.models.User user, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createUser_call method_call = new createUser_call(user, resultHandler, this, ___protocolFactory, ___transport);
@@ -2439,6 +2518,7 @@
         this.user = user;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createUser_args args = new createUser_args();
@@ -2447,6 +2527,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2457,6 +2538,7 @@
       }
     }
 
+    @Override
     public void updatedUser(org.apache.airavata.sharing.registry.models.User user, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updatedUser_call method_call = new updatedUser_call(user, resultHandler, this, ___protocolFactory, ___transport);
@@ -2471,6 +2553,7 @@
         this.user = user;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updatedUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updatedUser_args args = new updatedUser_args();
@@ -2479,6 +2562,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2489,6 +2573,7 @@
       }
     }
 
+    @Override
     public void isUserExists(java.lang.String domainId, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isUserExists_call method_call = new isUserExists_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2505,6 +2590,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isUserExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isUserExists_args args = new isUserExists_args();
@@ -2514,6 +2600,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2524,6 +2611,7 @@
       }
     }
 
+    @Override
     public void deleteUser(java.lang.String domainId, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteUser_call method_call = new deleteUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2540,6 +2628,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteUser_args args = new deleteUser_args();
@@ -2549,6 +2638,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2559,6 +2649,7 @@
       }
     }
 
+    @Override
     public void getUser(java.lang.String domainId, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.User> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUser_call method_call = new getUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2575,6 +2666,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUser_args args = new getUser_args();
@@ -2584,6 +2676,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.sharing.registry.models.User getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2594,6 +2687,7 @@
       }
     }
 
+    @Override
     public void getUsers(java.lang.String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getUsers_call method_call = new getUsers_call(domainId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -2612,6 +2706,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getUsers_args args = new getUsers_args();
@@ -2622,6 +2717,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.User> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2632,6 +2728,7 @@
       }
     }
 
+    @Override
     public void createGroup(org.apache.airavata.sharing.registry.models.UserGroup group, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createGroup_call method_call = new createGroup_call(group, resultHandler, this, ___protocolFactory, ___transport);
@@ -2646,6 +2743,7 @@
         this.group = group;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createGroup_args args = new createGroup_args();
@@ -2654,6 +2752,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2664,6 +2763,7 @@
       }
     }
 
+    @Override
     public void updateGroup(org.apache.airavata.sharing.registry.models.UserGroup group, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateGroup_call method_call = new updateGroup_call(group, resultHandler, this, ___protocolFactory, ___transport);
@@ -2678,6 +2778,7 @@
         this.group = group;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateGroup_args args = new updateGroup_args();
@@ -2686,6 +2787,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2696,6 +2798,7 @@
       }
     }
 
+    @Override
     public void isGroupExists(java.lang.String domainId, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isGroupExists_call method_call = new isGroupExists_call(domainId, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2712,6 +2815,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isGroupExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isGroupExists_args args = new isGroupExists_args();
@@ -2721,6 +2825,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2731,6 +2836,7 @@
       }
     }
 
+    @Override
     public void deleteGroup(java.lang.String domainId, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteGroup_call method_call = new deleteGroup_call(domainId, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2747,6 +2853,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteGroup_args args = new deleteGroup_args();
@@ -2756,6 +2863,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2766,6 +2874,7 @@
       }
     }
 
+    @Override
     public void getGroup(java.lang.String domainId, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.UserGroup> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroup_call method_call = new getGroup_call(domainId, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2782,6 +2891,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroup_args args = new getGroup_args();
@@ -2791,6 +2901,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.sharing.registry.models.UserGroup getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2801,6 +2912,7 @@
       }
     }
 
+    @Override
     public void getGroups(java.lang.String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroups_call method_call = new getGroups_call(domainId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -2819,6 +2931,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroups_args args = new getGroups_args();
@@ -2829,6 +2942,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2839,6 +2953,7 @@
       }
     }
 
+    @Override
     public void addUsersToGroup(java.lang.String domainId, java.util.List<java.lang.String> userIds, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addUsersToGroup_call method_call = new addUsersToGroup_call(domainId, userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2857,6 +2972,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addUsersToGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addUsersToGroup_args args = new addUsersToGroup_args();
@@ -2867,6 +2983,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2877,6 +2994,7 @@
       }
     }
 
+    @Override
     public void removeUsersFromGroup(java.lang.String domainId, java.util.List<java.lang.String> userIds, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeUsersFromGroup_call method_call = new removeUsersFromGroup_call(domainId, userIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2895,6 +3013,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeUsersFromGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeUsersFromGroup_args args = new removeUsersFromGroup_args();
@@ -2905,6 +3024,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2915,6 +3035,7 @@
       }
     }
 
+    @Override
     public void transferGroupOwnership(java.lang.String domainId, java.lang.String groupId, java.lang.String newOwnerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       transferGroupOwnership_call method_call = new transferGroupOwnership_call(domainId, groupId, newOwnerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -2933,6 +3054,7 @@
         this.newOwnerId = newOwnerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("transferGroupOwnership", org.apache.thrift.protocol.TMessageType.CALL, 0));
         transferGroupOwnership_args args = new transferGroupOwnership_args();
@@ -2943,6 +3065,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2953,6 +3076,7 @@
       }
     }
 
+    @Override
     public void addGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addGroupAdmins_call method_call = new addGroupAdmins_call(domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -2971,6 +3095,7 @@
         this.adminIds = adminIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addGroupAdmins_args args = new addGroupAdmins_args();
@@ -2981,6 +3106,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -2991,6 +3117,7 @@
       }
     }
 
+    @Override
     public void removeGroupAdmins(java.lang.String domainId, java.lang.String groupId, java.util.List<java.lang.String> adminIds, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeGroupAdmins_call method_call = new removeGroupAdmins_call(domainId, groupId, adminIds, resultHandler, this, ___protocolFactory, ___transport);
@@ -3009,6 +3136,7 @@
         this.adminIds = adminIds;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeGroupAdmins", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeGroupAdmins_args args = new removeGroupAdmins_args();
@@ -3019,6 +3147,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3029,6 +3158,7 @@
       }
     }
 
+    @Override
     public void hasAdminAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String adminId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       hasAdminAccess_call method_call = new hasAdminAccess_call(domainId, groupId, adminId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3047,6 +3177,7 @@
         this.adminId = adminId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasAdminAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         hasAdminAccess_args args = new hasAdminAccess_args();
@@ -3057,6 +3188,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3067,6 +3199,7 @@
       }
     }
 
+    @Override
     public void hasOwnerAccess(java.lang.String domainId, java.lang.String groupId, java.lang.String ownerId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       hasOwnerAccess_call method_call = new hasOwnerAccess_call(domainId, groupId, ownerId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3085,6 +3218,7 @@
         this.ownerId = ownerId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("hasOwnerAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         hasOwnerAccess_args args = new hasOwnerAccess_args();
@@ -3095,6 +3229,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3105,6 +3240,7 @@
       }
     }
 
+    @Override
     public void getGroupMembersOfTypeUser(java.lang.String domainId, java.lang.String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupMembersOfTypeUser_call method_call = new getGroupMembersOfTypeUser_call(domainId, groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -3125,6 +3261,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupMembersOfTypeUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupMembersOfTypeUser_args args = new getGroupMembersOfTypeUser_args();
@@ -3136,6 +3273,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.User> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3146,6 +3284,7 @@
       }
     }
 
+    @Override
     public void getGroupMembersOfTypeGroup(java.lang.String domainId, java.lang.String groupId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getGroupMembersOfTypeGroup_call method_call = new getGroupMembersOfTypeGroup_call(domainId, groupId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -3166,6 +3305,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getGroupMembersOfTypeGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getGroupMembersOfTypeGroup_args args = new getGroupMembersOfTypeGroup_args();
@@ -3177,6 +3317,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3187,6 +3328,7 @@
       }
     }
 
+    @Override
     public void addChildGroupsToParentGroup(java.lang.String domainId, java.util.List<java.lang.String> childIds, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       addChildGroupsToParentGroup_call method_call = new addChildGroupsToParentGroup_call(domainId, childIds, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3205,6 +3347,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("addChildGroupsToParentGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         addChildGroupsToParentGroup_args args = new addChildGroupsToParentGroup_args();
@@ -3215,6 +3358,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3225,6 +3369,7 @@
       }
     }
 
+    @Override
     public void removeChildGroupFromParentGroup(java.lang.String domainId, java.lang.String childId, java.lang.String groupId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       removeChildGroupFromParentGroup_call method_call = new removeChildGroupFromParentGroup_call(domainId, childId, groupId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3243,6 +3388,7 @@
         this.groupId = groupId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("removeChildGroupFromParentGroup", org.apache.thrift.protocol.TMessageType.CALL, 0));
         removeChildGroupFromParentGroup_args args = new removeChildGroupFromParentGroup_args();
@@ -3253,6 +3399,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3263,6 +3410,7 @@
       }
     }
 
+    @Override
     public void getAllMemberGroupsForUser(java.lang.String domainId, java.lang.String userId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getAllMemberGroupsForUser_call method_call = new getAllMemberGroupsForUser_call(domainId, userId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3279,6 +3427,7 @@
         this.userId = userId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getAllMemberGroupsForUser", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getAllMemberGroupsForUser_args args = new getAllMemberGroupsForUser_args();
@@ -3288,6 +3437,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3298,6 +3448,7 @@
       }
     }
 
+    @Override
     public void createEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createEntityType_call method_call = new createEntityType_call(entityType, resultHandler, this, ___protocolFactory, ___transport);
@@ -3312,6 +3463,7 @@
         this.entityType = entityType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createEntityType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createEntityType_args args = new createEntityType_args();
@@ -3320,6 +3472,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3330,6 +3483,7 @@
       }
     }
 
+    @Override
     public void updateEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateEntityType_call method_call = new updateEntityType_call(entityType, resultHandler, this, ___protocolFactory, ___transport);
@@ -3344,6 +3498,7 @@
         this.entityType = entityType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateEntityType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateEntityType_args args = new updateEntityType_args();
@@ -3352,6 +3507,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3362,6 +3518,7 @@
       }
     }
 
+    @Override
     public void isEntityTypeExists(java.lang.String domainId, java.lang.String entityTypeId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isEntityTypeExists_call method_call = new isEntityTypeExists_call(domainId, entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3378,6 +3535,7 @@
         this.entityTypeId = entityTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isEntityTypeExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isEntityTypeExists_args args = new isEntityTypeExists_args();
@@ -3387,6 +3545,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3397,6 +3556,7 @@
       }
     }
 
+    @Override
     public void deleteEntityType(java.lang.String domainId, java.lang.String entityTypeId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteEntityType_call method_call = new deleteEntityType_call(domainId, entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3413,6 +3573,7 @@
         this.entityTypeId = entityTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteEntityType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteEntityType_args args = new deleteEntityType_args();
@@ -3422,6 +3583,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3432,6 +3594,7 @@
       }
     }
 
+    @Override
     public void getEntityType(java.lang.String domainId, java.lang.String entityTypeId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getEntityType_call method_call = new getEntityType_call(domainId, entityTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3448,6 +3611,7 @@
         this.entityTypeId = entityTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEntityType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getEntityType_args args = new getEntityType_args();
@@ -3457,6 +3621,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.sharing.registry.models.EntityType getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3467,6 +3632,7 @@
       }
     }
 
+    @Override
     public void getEntityTypes(java.lang.String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getEntityTypes_call method_call = new getEntityTypes_call(domainId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -3485,6 +3651,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEntityTypes", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getEntityTypes_args args = new getEntityTypes_args();
@@ -3495,6 +3662,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.EntityType> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3505,6 +3673,7 @@
       }
     }
 
+    @Override
     public void createEntity(org.apache.airavata.sharing.registry.models.Entity entity, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createEntity_call method_call = new createEntity_call(entity, resultHandler, this, ___protocolFactory, ___transport);
@@ -3519,6 +3688,7 @@
         this.entity = entity;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createEntity_args args = new createEntity_args();
@@ -3527,6 +3697,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3537,6 +3708,7 @@
       }
     }
 
+    @Override
     public void updateEntity(org.apache.airavata.sharing.registry.models.Entity entity, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updateEntity_call method_call = new updateEntity_call(entity, resultHandler, this, ___protocolFactory, ___transport);
@@ -3551,6 +3723,7 @@
         this.entity = entity;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updateEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updateEntity_args args = new updateEntity_args();
@@ -3559,6 +3732,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3569,6 +3743,7 @@
       }
     }
 
+    @Override
     public void isEntityExists(java.lang.String domainId, java.lang.String entityId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isEntityExists_call method_call = new isEntityExists_call(domainId, entityId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3585,6 +3760,7 @@
         this.entityId = entityId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isEntityExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isEntityExists_args args = new isEntityExists_args();
@@ -3594,6 +3770,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3604,6 +3781,7 @@
       }
     }
 
+    @Override
     public void deleteEntity(java.lang.String domainId, java.lang.String entityId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deleteEntity_call method_call = new deleteEntity_call(domainId, entityId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3620,6 +3798,7 @@
         this.entityId = entityId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deleteEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deleteEntity_args args = new deleteEntity_args();
@@ -3629,6 +3808,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3639,6 +3819,7 @@
       }
     }
 
+    @Override
     public void getEntity(java.lang.String domainId, java.lang.String entityId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getEntity_call method_call = new getEntity_call(domainId, entityId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3655,6 +3836,7 @@
         this.entityId = entityId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getEntity", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getEntity_args args = new getEntity_args();
@@ -3664,6 +3846,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.sharing.registry.models.Entity getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3674,6 +3857,7 @@
       }
     }
 
+    @Override
     public void searchEntities(java.lang.String domainId, java.lang.String userId, java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       searchEntities_call method_call = new searchEntities_call(domainId, userId, filters, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -3696,6 +3880,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("searchEntities", org.apache.thrift.protocol.TMessageType.CALL, 0));
         searchEntities_args args = new searchEntities_args();
@@ -3708,6 +3893,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.Entity> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3718,6 +3904,7 @@
       }
     }
 
+    @Override
     public void getListOfSharedUsers(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getListOfSharedUsers_call method_call = new getListOfSharedUsers_call(domainId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3736,6 +3923,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getListOfSharedUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getListOfSharedUsers_args args = new getListOfSharedUsers_args();
@@ -3746,6 +3934,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.User> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3756,6 +3945,7 @@
       }
     }
 
+    @Override
     public void getListOfDirectlySharedUsers(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getListOfDirectlySharedUsers_call method_call = new getListOfDirectlySharedUsers_call(domainId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3774,6 +3964,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getListOfDirectlySharedUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getListOfDirectlySharedUsers_args args = new getListOfDirectlySharedUsers_args();
@@ -3784,6 +3975,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.User> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3794,6 +3986,7 @@
       }
     }
 
+    @Override
     public void getListOfSharedGroups(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getListOfSharedGroups_call method_call = new getListOfSharedGroups_call(domainId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3812,6 +4005,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getListOfSharedGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getListOfSharedGroups_args args = new getListOfSharedGroups_args();
@@ -3822,6 +4016,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3832,6 +4027,7 @@
       }
     }
 
+    @Override
     public void getListOfDirectlySharedGroups(java.lang.String domainId, java.lang.String entityId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getListOfDirectlySharedGroups_call method_call = new getListOfDirectlySharedGroups_call(domainId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3850,6 +4046,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getListOfDirectlySharedGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getListOfDirectlySharedGroups_args args = new getListOfDirectlySharedGroups_args();
@@ -3860,6 +4057,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3870,6 +4068,7 @@
       }
     }
 
+    @Override
     public void createPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       createPermissionType_call method_call = new createPermissionType_call(permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -3884,6 +4083,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("createPermissionType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         createPermissionType_args args = new createPermissionType_args();
@@ -3892,6 +4092,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.String getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.airavata.sharing.registry.models.DuplicateEntryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3902,6 +4103,7 @@
       }
     }
 
+    @Override
     public void updatePermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       updatePermissionType_call method_call = new updatePermissionType_call(permissionType, resultHandler, this, ___protocolFactory, ___transport);
@@ -3916,6 +4118,7 @@
         this.permissionType = permissionType;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("updatePermissionType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         updatePermissionType_args args = new updatePermissionType_args();
@@ -3924,6 +4127,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3934,6 +4138,7 @@
       }
     }
 
+    @Override
     public void isPermissionExists(java.lang.String dimainId, java.lang.String permissionId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       isPermissionExists_call method_call = new isPermissionExists_call(dimainId, permissionId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3950,6 +4155,7 @@
         this.permissionId = permissionId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("isPermissionExists", org.apache.thrift.protocol.TMessageType.CALL, 0));
         isPermissionExists_args args = new isPermissionExists_args();
@@ -3959,6 +4165,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -3969,6 +4176,7 @@
       }
     }
 
+    @Override
     public void deletePermissionType(java.lang.String domainId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       deletePermissionType_call method_call = new deletePermissionType_call(domainId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -3985,6 +4193,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("deletePermissionType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         deletePermissionType_args args = new deletePermissionType_args();
@@ -3994,6 +4203,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4004,6 +4214,7 @@
       }
     }
 
+    @Override
     public void getPermissionType(java.lang.String domainId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getPermissionType_call method_call = new getPermissionType_call(domainId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -4020,6 +4231,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPermissionType", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getPermissionType_args args = new getPermissionType_args();
@@ -4029,6 +4241,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public org.apache.airavata.sharing.registry.models.PermissionType getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4039,6 +4252,7 @@
       }
     }
 
+    @Override
     public void getPermissionTypes(java.lang.String domainId, int offset, int limit, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       getPermissionTypes_call method_call = new getPermissionTypes_call(domainId, offset, limit, resultHandler, this, ___protocolFactory, ___transport);
@@ -4057,6 +4271,7 @@
         this.limit = limit;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("getPermissionTypes", org.apache.thrift.protocol.TMessageType.CALL, 0));
         getPermissionTypes_args args = new getPermissionTypes_args();
@@ -4067,6 +4282,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4077,6 +4293,7 @@
       }
     }
 
+    @Override
     public void shareEntityWithUsers(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> userList, java.lang.String permissionTypeId, boolean cascadePermission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       shareEntityWithUsers_call method_call = new shareEntityWithUsers_call(domainId, entityId, userList, permissionTypeId, cascadePermission, resultHandler, this, ___protocolFactory, ___transport);
@@ -4099,6 +4316,7 @@
         this.cascadePermission = cascadePermission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shareEntityWithUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         shareEntityWithUsers_args args = new shareEntityWithUsers_args();
@@ -4111,6 +4329,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4121,6 +4340,7 @@
       }
     }
 
+    @Override
     public void revokeEntitySharingFromUsers(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> userList, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       revokeEntitySharingFromUsers_call method_call = new revokeEntitySharingFromUsers_call(domainId, entityId, userList, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -4141,6 +4361,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("revokeEntitySharingFromUsers", org.apache.thrift.protocol.TMessageType.CALL, 0));
         revokeEntitySharingFromUsers_args args = new revokeEntitySharingFromUsers_args();
@@ -4152,6 +4373,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4162,6 +4384,7 @@
       }
     }
 
+    @Override
     public void shareEntityWithGroups(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> groupList, java.lang.String permissionTypeId, boolean cascadePermission, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       shareEntityWithGroups_call method_call = new shareEntityWithGroups_call(domainId, entityId, groupList, permissionTypeId, cascadePermission, resultHandler, this, ___protocolFactory, ___transport);
@@ -4184,6 +4407,7 @@
         this.cascadePermission = cascadePermission;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("shareEntityWithGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         shareEntityWithGroups_args args = new shareEntityWithGroups_args();
@@ -4196,6 +4420,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4206,6 +4431,7 @@
       }
     }
 
+    @Override
     public void revokeEntitySharingFromGroups(java.lang.String domainId, java.lang.String entityId, java.util.List<java.lang.String> groupList, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       revokeEntitySharingFromGroups_call method_call = new revokeEntitySharingFromGroups_call(domainId, entityId, groupList, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -4226,6 +4452,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("revokeEntitySharingFromGroups", org.apache.thrift.protocol.TMessageType.CALL, 0));
         revokeEntitySharingFromGroups_args args = new revokeEntitySharingFromGroups_args();
@@ -4237,6 +4464,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4247,6 +4475,7 @@
       }
     }
 
+    @Override
     public void userHasAccess(java.lang.String domainId, java.lang.String userId, java.lang.String entityId, java.lang.String permissionTypeId, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
       checkReady();
       userHasAccess_call method_call = new userHasAccess_call(domainId, userId, entityId, permissionTypeId, resultHandler, this, ___protocolFactory, ___transport);
@@ -4267,6 +4496,7 @@
         this.permissionTypeId = permissionTypeId;
       }
 
+      @Override
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws org.apache.thrift.TException {
         prot.writeMessageBegin(new org.apache.thrift.protocol.TMessage("userHasAccess", org.apache.thrift.protocol.TMessageType.CALL, 0));
         userHasAccess_args args = new userHasAccess_args();
@@ -4278,6 +4508,7 @@
         prot.writeMessageEnd();
       }
 
+      @Override
       public java.lang.Boolean getResult() throws org.apache.airavata.sharing.registry.models.SharingRegistryException, org.apache.thrift.TException {
         if (getState() != org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
           throw new java.lang.IllegalStateException("Method call not finished!");
@@ -4366,14 +4597,22 @@
         super("createDomain");
       }
 
+      @Override
       public createDomain_args getEmptyArgsInstance() {
         return new createDomain_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createDomain_result getResult(I iface, createDomain_args args) throws org.apache.thrift.TException {
         createDomain_result result = new createDomain_result();
         try {
@@ -4392,14 +4631,22 @@
         super("updateDomain");
       }
 
+      @Override
       public updateDomain_args getEmptyArgsInstance() {
         return new updateDomain_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateDomain_result getResult(I iface, updateDomain_args args) throws org.apache.thrift.TException {
         updateDomain_result result = new updateDomain_result();
         try {
@@ -4417,14 +4664,22 @@
         super("isDomainExists");
       }
 
+      @Override
       public isDomainExists_args getEmptyArgsInstance() {
         return new isDomainExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isDomainExists_result getResult(I iface, isDomainExists_args args) throws org.apache.thrift.TException {
         isDomainExists_result result = new isDomainExists_result();
         try {
@@ -4442,14 +4697,22 @@
         super("deleteDomain");
       }
 
+      @Override
       public deleteDomain_args getEmptyArgsInstance() {
         return new deleteDomain_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteDomain_result getResult(I iface, deleteDomain_args args) throws org.apache.thrift.TException {
         deleteDomain_result result = new deleteDomain_result();
         try {
@@ -4467,14 +4730,22 @@
         super("getDomain");
       }
 
+      @Override
       public getDomain_args getEmptyArgsInstance() {
         return new getDomain_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getDomain_result getResult(I iface, getDomain_args args) throws org.apache.thrift.TException {
         getDomain_result result = new getDomain_result();
         try {
@@ -4491,14 +4762,22 @@
         super("getDomains");
       }
 
+      @Override
       public getDomains_args getEmptyArgsInstance() {
         return new getDomains_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getDomains_result getResult(I iface, getDomains_args args) throws org.apache.thrift.TException {
         getDomains_result result = new getDomains_result();
         try {
@@ -4515,14 +4794,22 @@
         super("createUser");
       }
 
+      @Override
       public createUser_args getEmptyArgsInstance() {
         return new createUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createUser_result getResult(I iface, createUser_args args) throws org.apache.thrift.TException {
         createUser_result result = new createUser_result();
         try {
@@ -4541,14 +4828,22 @@
         super("updatedUser");
       }
 
+      @Override
       public updatedUser_args getEmptyArgsInstance() {
         return new updatedUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updatedUser_result getResult(I iface, updatedUser_args args) throws org.apache.thrift.TException {
         updatedUser_result result = new updatedUser_result();
         try {
@@ -4566,14 +4861,22 @@
         super("isUserExists");
       }
 
+      @Override
       public isUserExists_args getEmptyArgsInstance() {
         return new isUserExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isUserExists_result getResult(I iface, isUserExists_args args) throws org.apache.thrift.TException {
         isUserExists_result result = new isUserExists_result();
         try {
@@ -4591,14 +4894,22 @@
         super("deleteUser");
       }
 
+      @Override
       public deleteUser_args getEmptyArgsInstance() {
         return new deleteUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteUser_result getResult(I iface, deleteUser_args args) throws org.apache.thrift.TException {
         deleteUser_result result = new deleteUser_result();
         try {
@@ -4616,14 +4927,22 @@
         super("getUser");
       }
 
+      @Override
       public getUser_args getEmptyArgsInstance() {
         return new getUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUser_result getResult(I iface, getUser_args args) throws org.apache.thrift.TException {
         getUser_result result = new getUser_result();
         try {
@@ -4640,14 +4959,22 @@
         super("getUsers");
       }
 
+      @Override
       public getUsers_args getEmptyArgsInstance() {
         return new getUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getUsers_result getResult(I iface, getUsers_args args) throws org.apache.thrift.TException {
         getUsers_result result = new getUsers_result();
         try {
@@ -4664,14 +4991,22 @@
         super("createGroup");
       }
 
+      @Override
       public createGroup_args getEmptyArgsInstance() {
         return new createGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createGroup_result getResult(I iface, createGroup_args args) throws org.apache.thrift.TException {
         createGroup_result result = new createGroup_result();
         try {
@@ -4688,14 +5023,22 @@
         super("updateGroup");
       }
 
+      @Override
       public updateGroup_args getEmptyArgsInstance() {
         return new updateGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateGroup_result getResult(I iface, updateGroup_args args) throws org.apache.thrift.TException {
         updateGroup_result result = new updateGroup_result();
         try {
@@ -4713,14 +5056,22 @@
         super("isGroupExists");
       }
 
+      @Override
       public isGroupExists_args getEmptyArgsInstance() {
         return new isGroupExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isGroupExists_result getResult(I iface, isGroupExists_args args) throws org.apache.thrift.TException {
         isGroupExists_result result = new isGroupExists_result();
         try {
@@ -4738,14 +5089,22 @@
         super("deleteGroup");
       }
 
+      @Override
       public deleteGroup_args getEmptyArgsInstance() {
         return new deleteGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteGroup_result getResult(I iface, deleteGroup_args args) throws org.apache.thrift.TException {
         deleteGroup_result result = new deleteGroup_result();
         try {
@@ -4763,14 +5122,22 @@
         super("getGroup");
       }
 
+      @Override
       public getGroup_args getEmptyArgsInstance() {
         return new getGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroup_result getResult(I iface, getGroup_args args) throws org.apache.thrift.TException {
         getGroup_result result = new getGroup_result();
         try {
@@ -4787,14 +5154,22 @@
         super("getGroups");
       }
 
+      @Override
       public getGroups_args getEmptyArgsInstance() {
         return new getGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroups_result getResult(I iface, getGroups_args args) throws org.apache.thrift.TException {
         getGroups_result result = new getGroups_result();
         result.success = iface.getGroups(args.domainId, args.offset, args.limit);
@@ -4807,14 +5182,22 @@
         super("addUsersToGroup");
       }
 
+      @Override
       public addUsersToGroup_args getEmptyArgsInstance() {
         return new addUsersToGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addUsersToGroup_result getResult(I iface, addUsersToGroup_args args) throws org.apache.thrift.TException {
         addUsersToGroup_result result = new addUsersToGroup_result();
         try {
@@ -4832,14 +5215,22 @@
         super("removeUsersFromGroup");
       }
 
+      @Override
       public removeUsersFromGroup_args getEmptyArgsInstance() {
         return new removeUsersFromGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeUsersFromGroup_result getResult(I iface, removeUsersFromGroup_args args) throws org.apache.thrift.TException {
         removeUsersFromGroup_result result = new removeUsersFromGroup_result();
         try {
@@ -4857,14 +5248,22 @@
         super("transferGroupOwnership");
       }
 
+      @Override
       public transferGroupOwnership_args getEmptyArgsInstance() {
         return new transferGroupOwnership_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public transferGroupOwnership_result getResult(I iface, transferGroupOwnership_args args) throws org.apache.thrift.TException {
         transferGroupOwnership_result result = new transferGroupOwnership_result();
         try {
@@ -4882,14 +5281,22 @@
         super("addGroupAdmins");
       }
 
+      @Override
       public addGroupAdmins_args getEmptyArgsInstance() {
         return new addGroupAdmins_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addGroupAdmins_result getResult(I iface, addGroupAdmins_args args) throws org.apache.thrift.TException {
         addGroupAdmins_result result = new addGroupAdmins_result();
         try {
@@ -4907,14 +5314,22 @@
         super("removeGroupAdmins");
       }
 
+      @Override
       public removeGroupAdmins_args getEmptyArgsInstance() {
         return new removeGroupAdmins_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeGroupAdmins_result getResult(I iface, removeGroupAdmins_args args) throws org.apache.thrift.TException {
         removeGroupAdmins_result result = new removeGroupAdmins_result();
         try {
@@ -4932,14 +5347,22 @@
         super("hasAdminAccess");
       }
 
+      @Override
       public hasAdminAccess_args getEmptyArgsInstance() {
         return new hasAdminAccess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public hasAdminAccess_result getResult(I iface, hasAdminAccess_args args) throws org.apache.thrift.TException {
         hasAdminAccess_result result = new hasAdminAccess_result();
         try {
@@ -4957,14 +5380,22 @@
         super("hasOwnerAccess");
       }
 
+      @Override
       public hasOwnerAccess_args getEmptyArgsInstance() {
         return new hasOwnerAccess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public hasOwnerAccess_result getResult(I iface, hasOwnerAccess_args args) throws org.apache.thrift.TException {
         hasOwnerAccess_result result = new hasOwnerAccess_result();
         try {
@@ -4982,14 +5413,22 @@
         super("getGroupMembersOfTypeUser");
       }
 
+      @Override
       public getGroupMembersOfTypeUser_args getEmptyArgsInstance() {
         return new getGroupMembersOfTypeUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupMembersOfTypeUser_result getResult(I iface, getGroupMembersOfTypeUser_args args) throws org.apache.thrift.TException {
         getGroupMembersOfTypeUser_result result = new getGroupMembersOfTypeUser_result();
         try {
@@ -5006,14 +5445,22 @@
         super("getGroupMembersOfTypeGroup");
       }
 
+      @Override
       public getGroupMembersOfTypeGroup_args getEmptyArgsInstance() {
         return new getGroupMembersOfTypeGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getGroupMembersOfTypeGroup_result getResult(I iface, getGroupMembersOfTypeGroup_args args) throws org.apache.thrift.TException {
         getGroupMembersOfTypeGroup_result result = new getGroupMembersOfTypeGroup_result();
         try {
@@ -5030,14 +5477,22 @@
         super("addChildGroupsToParentGroup");
       }
 
+      @Override
       public addChildGroupsToParentGroup_args getEmptyArgsInstance() {
         return new addChildGroupsToParentGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public addChildGroupsToParentGroup_result getResult(I iface, addChildGroupsToParentGroup_args args) throws org.apache.thrift.TException {
         addChildGroupsToParentGroup_result result = new addChildGroupsToParentGroup_result();
         try {
@@ -5055,14 +5510,22 @@
         super("removeChildGroupFromParentGroup");
       }
 
+      @Override
       public removeChildGroupFromParentGroup_args getEmptyArgsInstance() {
         return new removeChildGroupFromParentGroup_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public removeChildGroupFromParentGroup_result getResult(I iface, removeChildGroupFromParentGroup_args args) throws org.apache.thrift.TException {
         removeChildGroupFromParentGroup_result result = new removeChildGroupFromParentGroup_result();
         try {
@@ -5080,14 +5543,22 @@
         super("getAllMemberGroupsForUser");
       }
 
+      @Override
       public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
         return new getAllMemberGroupsForUser_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getAllMemberGroupsForUser_result getResult(I iface, getAllMemberGroupsForUser_args args) throws org.apache.thrift.TException {
         getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
         try {
@@ -5104,14 +5575,22 @@
         super("createEntityType");
       }
 
+      @Override
       public createEntityType_args getEmptyArgsInstance() {
         return new createEntityType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createEntityType_result getResult(I iface, createEntityType_args args) throws org.apache.thrift.TException {
         createEntityType_result result = new createEntityType_result();
         try {
@@ -5130,14 +5609,22 @@
         super("updateEntityType");
       }
 
+      @Override
       public updateEntityType_args getEmptyArgsInstance() {
         return new updateEntityType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateEntityType_result getResult(I iface, updateEntityType_args args) throws org.apache.thrift.TException {
         updateEntityType_result result = new updateEntityType_result();
         try {
@@ -5155,14 +5642,22 @@
         super("isEntityTypeExists");
       }
 
+      @Override
       public isEntityTypeExists_args getEmptyArgsInstance() {
         return new isEntityTypeExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isEntityTypeExists_result getResult(I iface, isEntityTypeExists_args args) throws org.apache.thrift.TException {
         isEntityTypeExists_result result = new isEntityTypeExists_result();
         try {
@@ -5180,14 +5675,22 @@
         super("deleteEntityType");
       }
 
+      @Override
       public deleteEntityType_args getEmptyArgsInstance() {
         return new deleteEntityType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteEntityType_result getResult(I iface, deleteEntityType_args args) throws org.apache.thrift.TException {
         deleteEntityType_result result = new deleteEntityType_result();
         try {
@@ -5205,14 +5708,22 @@
         super("getEntityType");
       }
 
+      @Override
       public getEntityType_args getEmptyArgsInstance() {
         return new getEntityType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getEntityType_result getResult(I iface, getEntityType_args args) throws org.apache.thrift.TException {
         getEntityType_result result = new getEntityType_result();
         try {
@@ -5229,14 +5740,22 @@
         super("getEntityTypes");
       }
 
+      @Override
       public getEntityTypes_args getEmptyArgsInstance() {
         return new getEntityTypes_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getEntityTypes_result getResult(I iface, getEntityTypes_args args) throws org.apache.thrift.TException {
         getEntityTypes_result result = new getEntityTypes_result();
         try {
@@ -5253,14 +5772,22 @@
         super("createEntity");
       }
 
+      @Override
       public createEntity_args getEmptyArgsInstance() {
         return new createEntity_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createEntity_result getResult(I iface, createEntity_args args) throws org.apache.thrift.TException {
         createEntity_result result = new createEntity_result();
         try {
@@ -5277,14 +5804,22 @@
         super("updateEntity");
       }
 
+      @Override
       public updateEntity_args getEmptyArgsInstance() {
         return new updateEntity_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updateEntity_result getResult(I iface, updateEntity_args args) throws org.apache.thrift.TException {
         updateEntity_result result = new updateEntity_result();
         try {
@@ -5302,14 +5837,22 @@
         super("isEntityExists");
       }
 
+      @Override
       public isEntityExists_args getEmptyArgsInstance() {
         return new isEntityExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isEntityExists_result getResult(I iface, isEntityExists_args args) throws org.apache.thrift.TException {
         isEntityExists_result result = new isEntityExists_result();
         try {
@@ -5327,14 +5870,22 @@
         super("deleteEntity");
       }
 
+      @Override
       public deleteEntity_args getEmptyArgsInstance() {
         return new deleteEntity_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deleteEntity_result getResult(I iface, deleteEntity_args args) throws org.apache.thrift.TException {
         deleteEntity_result result = new deleteEntity_result();
         try {
@@ -5352,14 +5903,22 @@
         super("getEntity");
       }
 
+      @Override
       public getEntity_args getEmptyArgsInstance() {
         return new getEntity_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getEntity_result getResult(I iface, getEntity_args args) throws org.apache.thrift.TException {
         getEntity_result result = new getEntity_result();
         try {
@@ -5376,14 +5935,22 @@
         super("searchEntities");
       }
 
+      @Override
       public searchEntities_args getEmptyArgsInstance() {
         return new searchEntities_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public searchEntities_result getResult(I iface, searchEntities_args args) throws org.apache.thrift.TException {
         searchEntities_result result = new searchEntities_result();
         try {
@@ -5400,14 +5967,22 @@
         super("getListOfSharedUsers");
       }
 
+      @Override
       public getListOfSharedUsers_args getEmptyArgsInstance() {
         return new getListOfSharedUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getListOfSharedUsers_result getResult(I iface, getListOfSharedUsers_args args) throws org.apache.thrift.TException {
         getListOfSharedUsers_result result = new getListOfSharedUsers_result();
         try {
@@ -5424,14 +5999,22 @@
         super("getListOfDirectlySharedUsers");
       }
 
+      @Override
       public getListOfDirectlySharedUsers_args getEmptyArgsInstance() {
         return new getListOfDirectlySharedUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getListOfDirectlySharedUsers_result getResult(I iface, getListOfDirectlySharedUsers_args args) throws org.apache.thrift.TException {
         getListOfDirectlySharedUsers_result result = new getListOfDirectlySharedUsers_result();
         try {
@@ -5448,14 +6031,22 @@
         super("getListOfSharedGroups");
       }
 
+      @Override
       public getListOfSharedGroups_args getEmptyArgsInstance() {
         return new getListOfSharedGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getListOfSharedGroups_result getResult(I iface, getListOfSharedGroups_args args) throws org.apache.thrift.TException {
         getListOfSharedGroups_result result = new getListOfSharedGroups_result();
         try {
@@ -5472,14 +6063,22 @@
         super("getListOfDirectlySharedGroups");
       }
 
+      @Override
       public getListOfDirectlySharedGroups_args getEmptyArgsInstance() {
         return new getListOfDirectlySharedGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getListOfDirectlySharedGroups_result getResult(I iface, getListOfDirectlySharedGroups_args args) throws org.apache.thrift.TException {
         getListOfDirectlySharedGroups_result result = new getListOfDirectlySharedGroups_result();
         try {
@@ -5496,14 +6095,22 @@
         super("createPermissionType");
       }
 
+      @Override
       public createPermissionType_args getEmptyArgsInstance() {
         return new createPermissionType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public createPermissionType_result getResult(I iface, createPermissionType_args args) throws org.apache.thrift.TException {
         createPermissionType_result result = new createPermissionType_result();
         try {
@@ -5522,14 +6129,22 @@
         super("updatePermissionType");
       }
 
+      @Override
       public updatePermissionType_args getEmptyArgsInstance() {
         return new updatePermissionType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public updatePermissionType_result getResult(I iface, updatePermissionType_args args) throws org.apache.thrift.TException {
         updatePermissionType_result result = new updatePermissionType_result();
         try {
@@ -5547,14 +6162,22 @@
         super("isPermissionExists");
       }
 
+      @Override
       public isPermissionExists_args getEmptyArgsInstance() {
         return new isPermissionExists_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public isPermissionExists_result getResult(I iface, isPermissionExists_args args) throws org.apache.thrift.TException {
         isPermissionExists_result result = new isPermissionExists_result();
         try {
@@ -5572,14 +6195,22 @@
         super("deletePermissionType");
       }
 
+      @Override
       public deletePermissionType_args getEmptyArgsInstance() {
         return new deletePermissionType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public deletePermissionType_result getResult(I iface, deletePermissionType_args args) throws org.apache.thrift.TException {
         deletePermissionType_result result = new deletePermissionType_result();
         try {
@@ -5597,14 +6228,22 @@
         super("getPermissionType");
       }
 
+      @Override
       public getPermissionType_args getEmptyArgsInstance() {
         return new getPermissionType_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getPermissionType_result getResult(I iface, getPermissionType_args args) throws org.apache.thrift.TException {
         getPermissionType_result result = new getPermissionType_result();
         try {
@@ -5621,14 +6260,22 @@
         super("getPermissionTypes");
       }
 
+      @Override
       public getPermissionTypes_args getEmptyArgsInstance() {
         return new getPermissionTypes_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public getPermissionTypes_result getResult(I iface, getPermissionTypes_args args) throws org.apache.thrift.TException {
         getPermissionTypes_result result = new getPermissionTypes_result();
         try {
@@ -5645,14 +6292,22 @@
         super("shareEntityWithUsers");
       }
 
+      @Override
       public shareEntityWithUsers_args getEmptyArgsInstance() {
         return new shareEntityWithUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public shareEntityWithUsers_result getResult(I iface, shareEntityWithUsers_args args) throws org.apache.thrift.TException {
         shareEntityWithUsers_result result = new shareEntityWithUsers_result();
         try {
@@ -5670,14 +6325,22 @@
         super("revokeEntitySharingFromUsers");
       }
 
+      @Override
       public revokeEntitySharingFromUsers_args getEmptyArgsInstance() {
         return new revokeEntitySharingFromUsers_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public revokeEntitySharingFromUsers_result getResult(I iface, revokeEntitySharingFromUsers_args args) throws org.apache.thrift.TException {
         revokeEntitySharingFromUsers_result result = new revokeEntitySharingFromUsers_result();
         try {
@@ -5695,14 +6358,22 @@
         super("shareEntityWithGroups");
       }
 
+      @Override
       public shareEntityWithGroups_args getEmptyArgsInstance() {
         return new shareEntityWithGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public shareEntityWithGroups_result getResult(I iface, shareEntityWithGroups_args args) throws org.apache.thrift.TException {
         shareEntityWithGroups_result result = new shareEntityWithGroups_result();
         try {
@@ -5720,14 +6391,22 @@
         super("revokeEntitySharingFromGroups");
       }
 
+      @Override
       public revokeEntitySharingFromGroups_args getEmptyArgsInstance() {
         return new revokeEntitySharingFromGroups_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public revokeEntitySharingFromGroups_result getResult(I iface, revokeEntitySharingFromGroups_args args) throws org.apache.thrift.TException {
         revokeEntitySharingFromGroups_result result = new revokeEntitySharingFromGroups_result();
         try {
@@ -5745,14 +6424,22 @@
         super("userHasAccess");
       }
 
+      @Override
       public userHasAccess_args getEmptyArgsInstance() {
         return new userHasAccess_args();
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
+      protected boolean rethrowUnhandledExceptions() {
+        return false;
+      }
+
+      @Override
       public userHasAccess_result getResult(I iface, userHasAccess_args args) throws org.apache.thrift.TException {
         userHasAccess_result result = new userHasAccess_result();
         try {
@@ -5843,13 +6530,16 @@
         super("createDomain");
       }
 
+      @Override
       public createDomain_args getEmptyArgsInstance() {
         return new createDomain_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createDomain_result result = new createDomain_result();
             result.success = o;
@@ -5863,6 +6553,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -5898,10 +6589,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createDomain_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createDomain(args.domain,resultHandler);
       }
@@ -5912,13 +6605,16 @@
         super("updateDomain");
       }
 
+      @Override
       public updateDomain_args getEmptyArgsInstance() {
         return new updateDomain_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateDomain_result result = new updateDomain_result();
             result.success = o;
@@ -5933,6 +6629,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -5964,10 +6661,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateDomain_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateDomain(args.domain,resultHandler);
       }
@@ -5978,13 +6677,16 @@
         super("isDomainExists");
       }
 
+      @Override
       public isDomainExists_args getEmptyArgsInstance() {
         return new isDomainExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isDomainExists_result result = new isDomainExists_result();
             result.success = o;
@@ -5999,6 +6701,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6030,10 +6733,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isDomainExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isDomainExists(args.domainId,resultHandler);
       }
@@ -6044,13 +6749,16 @@
         super("deleteDomain");
       }
 
+      @Override
       public deleteDomain_args getEmptyArgsInstance() {
         return new deleteDomain_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteDomain_result result = new deleteDomain_result();
             result.success = o;
@@ -6065,6 +6773,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6096,10 +6805,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteDomain_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteDomain(args.domainId,resultHandler);
       }
@@ -6110,13 +6821,16 @@
         super("getDomain");
       }
 
+      @Override
       public getDomain_args getEmptyArgsInstance() {
         return new getDomain_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Domain> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Domain>() { 
+          @Override
           public void onComplete(org.apache.airavata.sharing.registry.models.Domain o) {
             getDomain_result result = new getDomain_result();
             result.success = o;
@@ -6130,6 +6844,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6161,10 +6876,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getDomain_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Domain> resultHandler) throws org.apache.thrift.TException {
         iface.getDomain(args.domainId,resultHandler);
       }
@@ -6175,13 +6892,16 @@
         super("getDomains");
       }
 
+      @Override
       public getDomains_args getEmptyArgsInstance() {
         return new getDomains_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Domain>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Domain>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.Domain> o) {
             getDomains_result result = new getDomains_result();
             result.success = o;
@@ -6195,6 +6915,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6226,10 +6947,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getDomains_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Domain>> resultHandler) throws org.apache.thrift.TException {
         iface.getDomains(args.offset, args.limit,resultHandler);
       }
@@ -6240,13 +6963,16 @@
         super("createUser");
       }
 
+      @Override
       public createUser_args getEmptyArgsInstance() {
         return new createUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createUser_result result = new createUser_result();
             result.success = o;
@@ -6260,6 +6986,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6295,10 +7022,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createUser(args.user,resultHandler);
       }
@@ -6309,13 +7038,16 @@
         super("updatedUser");
       }
 
+      @Override
       public updatedUser_args getEmptyArgsInstance() {
         return new updatedUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updatedUser_result result = new updatedUser_result();
             result.success = o;
@@ -6330,6 +7062,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6361,10 +7094,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updatedUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updatedUser(args.user,resultHandler);
       }
@@ -6375,13 +7110,16 @@
         super("isUserExists");
       }
 
+      @Override
       public isUserExists_args getEmptyArgsInstance() {
         return new isUserExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isUserExists_result result = new isUserExists_result();
             result.success = o;
@@ -6396,6 +7134,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6427,10 +7166,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isUserExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isUserExists(args.domainId, args.userId,resultHandler);
       }
@@ -6441,13 +7182,16 @@
         super("deleteUser");
       }
 
+      @Override
       public deleteUser_args getEmptyArgsInstance() {
         return new deleteUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteUser_result result = new deleteUser_result();
             result.success = o;
@@ -6462,6 +7206,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6493,10 +7238,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteUser(args.domainId, args.userId,resultHandler);
       }
@@ -6507,13 +7254,16 @@
         super("getUser");
       }
 
+      @Override
       public getUser_args getEmptyArgsInstance() {
         return new getUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.User> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.User>() { 
+          @Override
           public void onComplete(org.apache.airavata.sharing.registry.models.User o) {
             getUser_result result = new getUser_result();
             result.success = o;
@@ -6527,6 +7277,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6558,10 +7309,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUser_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.User> resultHandler) throws org.apache.thrift.TException {
         iface.getUser(args.domainId, args.userId,resultHandler);
       }
@@ -6572,13 +7325,16 @@
         super("getUsers");
       }
 
+      @Override
       public getUsers_args getEmptyArgsInstance() {
         return new getUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
             getUsers_result result = new getUsers_result();
             result.success = o;
@@ -6592,6 +7348,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6623,10 +7380,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
         iface.getUsers(args.domainId, args.offset, args.limit,resultHandler);
       }
@@ -6637,13 +7396,16 @@
         super("createGroup");
       }
 
+      @Override
       public createGroup_args getEmptyArgsInstance() {
         return new createGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createGroup_result result = new createGroup_result();
             result.success = o;
@@ -6657,6 +7419,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6688,10 +7451,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createGroup(args.group,resultHandler);
       }
@@ -6702,13 +7467,16 @@
         super("updateGroup");
       }
 
+      @Override
       public updateGroup_args getEmptyArgsInstance() {
         return new updateGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateGroup_result result = new updateGroup_result();
             result.success = o;
@@ -6723,6 +7491,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6754,10 +7523,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateGroup(args.group,resultHandler);
       }
@@ -6768,13 +7539,16 @@
         super("isGroupExists");
       }
 
+      @Override
       public isGroupExists_args getEmptyArgsInstance() {
         return new isGroupExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isGroupExists_result result = new isGroupExists_result();
             result.success = o;
@@ -6789,6 +7563,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6820,10 +7595,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isGroupExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isGroupExists(args.domainId, args.groupId,resultHandler);
       }
@@ -6834,13 +7611,16 @@
         super("deleteGroup");
       }
 
+      @Override
       public deleteGroup_args getEmptyArgsInstance() {
         return new deleteGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteGroup_result result = new deleteGroup_result();
             result.success = o;
@@ -6855,6 +7635,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6886,10 +7667,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteGroup(args.domainId, args.groupId,resultHandler);
       }
@@ -6900,13 +7683,16 @@
         super("getGroup");
       }
 
+      @Override
       public getGroup_args getEmptyArgsInstance() {
         return new getGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.UserGroup> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.UserGroup>() { 
+          @Override
           public void onComplete(org.apache.airavata.sharing.registry.models.UserGroup o) {
             getGroup_result result = new getGroup_result();
             result.success = o;
@@ -6920,6 +7706,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -6951,10 +7738,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroup_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.UserGroup> resultHandler) throws org.apache.thrift.TException {
         iface.getGroup(args.domainId, args.groupId,resultHandler);
       }
@@ -6965,13 +7754,16 @@
         super("getGroups");
       }
 
+      @Override
       public getGroups_args getEmptyArgsInstance() {
         return new getGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
             getGroups_result result = new getGroups_result();
             result.success = o;
@@ -6985,6 +7777,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7012,10 +7805,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroups(args.domainId, args.offset, args.limit,resultHandler);
       }
@@ -7026,13 +7821,16 @@
         super("addUsersToGroup");
       }
 
+      @Override
       public addUsersToGroup_args getEmptyArgsInstance() {
         return new addUsersToGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addUsersToGroup_result result = new addUsersToGroup_result();
             result.success = o;
@@ -7047,6 +7845,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7078,10 +7877,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addUsersToGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addUsersToGroup(args.domainId, args.userIds, args.groupId,resultHandler);
       }
@@ -7092,13 +7893,16 @@
         super("removeUsersFromGroup");
       }
 
+      @Override
       public removeUsersFromGroup_args getEmptyArgsInstance() {
         return new removeUsersFromGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeUsersFromGroup_result result = new removeUsersFromGroup_result();
             result.success = o;
@@ -7113,6 +7917,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7144,10 +7949,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeUsersFromGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeUsersFromGroup(args.domainId, args.userIds, args.groupId,resultHandler);
       }
@@ -7158,13 +7965,16 @@
         super("transferGroupOwnership");
       }
 
+      @Override
       public transferGroupOwnership_args getEmptyArgsInstance() {
         return new transferGroupOwnership_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             transferGroupOwnership_result result = new transferGroupOwnership_result();
             result.success = o;
@@ -7179,6 +7989,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7210,10 +8021,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, transferGroupOwnership_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.transferGroupOwnership(args.domainId, args.groupId, args.newOwnerId,resultHandler);
       }
@@ -7224,13 +8037,16 @@
         super("addGroupAdmins");
       }
 
+      @Override
       public addGroupAdmins_args getEmptyArgsInstance() {
         return new addGroupAdmins_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addGroupAdmins_result result = new addGroupAdmins_result();
             result.success = o;
@@ -7245,6 +8061,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7276,10 +8093,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addGroupAdmins(args.domainId, args.groupId, args.adminIds,resultHandler);
       }
@@ -7290,13 +8109,16 @@
         super("removeGroupAdmins");
       }
 
+      @Override
       public removeGroupAdmins_args getEmptyArgsInstance() {
         return new removeGroupAdmins_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeGroupAdmins_result result = new removeGroupAdmins_result();
             result.success = o;
@@ -7311,6 +8133,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7342,10 +8165,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeGroupAdmins_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeGroupAdmins(args.domainId, args.groupId, args.adminIds,resultHandler);
       }
@@ -7356,13 +8181,16 @@
         super("hasAdminAccess");
       }
 
+      @Override
       public hasAdminAccess_args getEmptyArgsInstance() {
         return new hasAdminAccess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             hasAdminAccess_result result = new hasAdminAccess_result();
             result.success = o;
@@ -7377,6 +8205,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7408,10 +8237,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, hasAdminAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.hasAdminAccess(args.domainId, args.groupId, args.adminId,resultHandler);
       }
@@ -7422,13 +8253,16 @@
         super("hasOwnerAccess");
       }
 
+      @Override
       public hasOwnerAccess_args getEmptyArgsInstance() {
         return new hasOwnerAccess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             hasOwnerAccess_result result = new hasOwnerAccess_result();
             result.success = o;
@@ -7443,6 +8277,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7474,10 +8309,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, hasOwnerAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.hasOwnerAccess(args.domainId, args.groupId, args.ownerId,resultHandler);
       }
@@ -7488,13 +8325,16 @@
         super("getGroupMembersOfTypeUser");
       }
 
+      @Override
       public getGroupMembersOfTypeUser_args getEmptyArgsInstance() {
         return new getGroupMembersOfTypeUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
             getGroupMembersOfTypeUser_result result = new getGroupMembersOfTypeUser_result();
             result.success = o;
@@ -7508,6 +8348,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7539,10 +8380,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupMembersOfTypeUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupMembersOfTypeUser(args.domainId, args.groupId, args.offset, args.limit,resultHandler);
       }
@@ -7553,13 +8396,16 @@
         super("getGroupMembersOfTypeGroup");
       }
 
+      @Override
       public getGroupMembersOfTypeGroup_args getEmptyArgsInstance() {
         return new getGroupMembersOfTypeGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
             getGroupMembersOfTypeGroup_result result = new getGroupMembersOfTypeGroup_result();
             result.success = o;
@@ -7573,6 +8419,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7604,10 +8451,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getGroupMembersOfTypeGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
         iface.getGroupMembersOfTypeGroup(args.domainId, args.groupId, args.offset, args.limit,resultHandler);
       }
@@ -7618,13 +8467,16 @@
         super("addChildGroupsToParentGroup");
       }
 
+      @Override
       public addChildGroupsToParentGroup_args getEmptyArgsInstance() {
         return new addChildGroupsToParentGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             addChildGroupsToParentGroup_result result = new addChildGroupsToParentGroup_result();
             result.success = o;
@@ -7639,6 +8491,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7670,10 +8523,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, addChildGroupsToParentGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.addChildGroupsToParentGroup(args.domainId, args.childIds, args.groupId,resultHandler);
       }
@@ -7684,13 +8539,16 @@
         super("removeChildGroupFromParentGroup");
       }
 
+      @Override
       public removeChildGroupFromParentGroup_args getEmptyArgsInstance() {
         return new removeChildGroupFromParentGroup_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             removeChildGroupFromParentGroup_result result = new removeChildGroupFromParentGroup_result();
             result.success = o;
@@ -7705,6 +8563,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7736,10 +8595,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, removeChildGroupFromParentGroup_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.removeChildGroupFromParentGroup(args.domainId, args.childId, args.groupId,resultHandler);
       }
@@ -7750,13 +8611,16 @@
         super("getAllMemberGroupsForUser");
       }
 
+      @Override
       public getAllMemberGroupsForUser_args getEmptyArgsInstance() {
         return new getAllMemberGroupsForUser_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
             getAllMemberGroupsForUser_result result = new getAllMemberGroupsForUser_result();
             result.success = o;
@@ -7770,6 +8634,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7801,10 +8666,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getAllMemberGroupsForUser_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
         iface.getAllMemberGroupsForUser(args.domainId, args.userId,resultHandler);
       }
@@ -7815,13 +8682,16 @@
         super("createEntityType");
       }
 
+      @Override
       public createEntityType_args getEmptyArgsInstance() {
         return new createEntityType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createEntityType_result result = new createEntityType_result();
             result.success = o;
@@ -7835,6 +8705,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7870,10 +8741,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createEntityType(args.entityType,resultHandler);
       }
@@ -7884,13 +8757,16 @@
         super("updateEntityType");
       }
 
+      @Override
       public updateEntityType_args getEmptyArgsInstance() {
         return new updateEntityType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateEntityType_result result = new updateEntityType_result();
             result.success = o;
@@ -7905,6 +8781,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -7936,10 +8813,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateEntityType(args.entityType,resultHandler);
       }
@@ -7950,13 +8829,16 @@
         super("isEntityTypeExists");
       }
 
+      @Override
       public isEntityTypeExists_args getEmptyArgsInstance() {
         return new isEntityTypeExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isEntityTypeExists_result result = new isEntityTypeExists_result();
             result.success = o;
@@ -7971,6 +8853,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8002,10 +8885,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isEntityTypeExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isEntityTypeExists(args.domainId, args.entityTypeId,resultHandler);
       }
@@ -8016,13 +8901,16 @@
         super("deleteEntityType");
       }
 
+      @Override
       public deleteEntityType_args getEmptyArgsInstance() {
         return new deleteEntityType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteEntityType_result result = new deleteEntityType_result();
             result.success = o;
@@ -8037,6 +8925,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8068,10 +8957,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
@@ -8082,13 +8973,16 @@
         super("getEntityType");
       }
 
+      @Override
       public getEntityType_args getEmptyArgsInstance() {
         return new getEntityType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType>() { 
+          @Override
           public void onComplete(org.apache.airavata.sharing.registry.models.EntityType o) {
             getEntityType_result result = new getEntityType_result();
             result.success = o;
@@ -8102,6 +8996,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8133,10 +9028,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getEntityType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.EntityType> resultHandler) throws org.apache.thrift.TException {
         iface.getEntityType(args.domainId, args.entityTypeId,resultHandler);
       }
@@ -8147,13 +9044,16 @@
         super("getEntityTypes");
       }
 
+      @Override
       public getEntityTypes_args getEmptyArgsInstance() {
         return new getEntityTypes_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.EntityType> o) {
             getEntityTypes_result result = new getEntityTypes_result();
             result.success = o;
@@ -8167,6 +9067,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8198,10 +9099,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getEntityTypes_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.EntityType>> resultHandler) throws org.apache.thrift.TException {
         iface.getEntityTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
@@ -8212,13 +9115,16 @@
         super("createEntity");
       }
 
+      @Override
       public createEntity_args getEmptyArgsInstance() {
         return new createEntity_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createEntity_result result = new createEntity_result();
             result.success = o;
@@ -8232,6 +9138,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8263,10 +9170,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createEntity(args.entity,resultHandler);
       }
@@ -8277,13 +9186,16 @@
         super("updateEntity");
       }
 
+      @Override
       public updateEntity_args getEmptyArgsInstance() {
         return new updateEntity_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updateEntity_result result = new updateEntity_result();
             result.success = o;
@@ -8298,6 +9210,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8329,10 +9242,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updateEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updateEntity(args.entity,resultHandler);
       }
@@ -8343,13 +9258,16 @@
         super("isEntityExists");
       }
 
+      @Override
       public isEntityExists_args getEmptyArgsInstance() {
         return new isEntityExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isEntityExists_result result = new isEntityExists_result();
             result.success = o;
@@ -8364,6 +9282,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8395,10 +9314,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isEntityExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isEntityExists(args.domainId, args.entityId,resultHandler);
       }
@@ -8409,13 +9330,16 @@
         super("deleteEntity");
       }
 
+      @Override
       public deleteEntity_args getEmptyArgsInstance() {
         return new deleteEntity_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deleteEntity_result result = new deleteEntity_result();
             result.success = o;
@@ -8430,6 +9354,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8461,10 +9386,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deleteEntity_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deleteEntity(args.domainId, args.entityId,resultHandler);
       }
@@ -8475,13 +9402,16 @@
         super("getEntity");
       }
 
+      @Override
       public getEntity_args getEmptyArgsInstance() {
         return new getEntity_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity>() { 
+          @Override
           public void onComplete(org.apache.airavata.sharing.registry.models.Entity o) {
             getEntity_result result = new getEntity_result();
             result.success = o;
@@ -8495,6 +9425,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8526,10 +9457,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getEntity_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.Entity> resultHandler) throws org.apache.thrift.TException {
         iface.getEntity(args.domainId, args.entityId,resultHandler);
       }
@@ -8540,13 +9473,16 @@
         super("searchEntities");
       }
 
+      @Override
       public searchEntities_args getEmptyArgsInstance() {
         return new searchEntities_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.Entity> o) {
             searchEntities_result result = new searchEntities_result();
             result.success = o;
@@ -8560,6 +9496,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8591,10 +9528,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, searchEntities_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.Entity>> resultHandler) throws org.apache.thrift.TException {
         iface.searchEntities(args.domainId, args.userId, args.filters, args.offset, args.limit,resultHandler);
       }
@@ -8605,13 +9544,16 @@
         super("getListOfSharedUsers");
       }
 
+      @Override
       public getListOfSharedUsers_args getEmptyArgsInstance() {
         return new getListOfSharedUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
             getListOfSharedUsers_result result = new getListOfSharedUsers_result();
             result.success = o;
@@ -8625,6 +9567,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8656,10 +9599,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getListOfSharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
         iface.getListOfSharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
@@ -8670,13 +9615,16 @@
         super("getListOfDirectlySharedUsers");
       }
 
+      @Override
       public getListOfDirectlySharedUsers_args getEmptyArgsInstance() {
         return new getListOfDirectlySharedUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.User> o) {
             getListOfDirectlySharedUsers_result result = new getListOfDirectlySharedUsers_result();
             result.success = o;
@@ -8690,6 +9638,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8721,10 +9670,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getListOfDirectlySharedUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.User>> resultHandler) throws org.apache.thrift.TException {
         iface.getListOfDirectlySharedUsers(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
@@ -8735,13 +9686,16 @@
         super("getListOfSharedGroups");
       }
 
+      @Override
       public getListOfSharedGroups_args getEmptyArgsInstance() {
         return new getListOfSharedGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
             getListOfSharedGroups_result result = new getListOfSharedGroups_result();
             result.success = o;
@@ -8755,6 +9709,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8786,10 +9741,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getListOfSharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
         iface.getListOfSharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
@@ -8800,13 +9757,16 @@
         super("getListOfDirectlySharedGroups");
       }
 
+      @Override
       public getListOfDirectlySharedGroups_args getEmptyArgsInstance() {
         return new getListOfDirectlySharedGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> o) {
             getListOfDirectlySharedGroups_result result = new getListOfDirectlySharedGroups_result();
             result.success = o;
@@ -8820,6 +9780,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8851,10 +9812,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getListOfDirectlySharedGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.UserGroup>> resultHandler) throws org.apache.thrift.TException {
         iface.getListOfDirectlySharedGroups(args.domainId, args.entityId, args.permissionTypeId,resultHandler);
       }
@@ -8865,13 +9828,16 @@
         super("createPermissionType");
       }
 
+      @Override
       public createPermissionType_args getEmptyArgsInstance() {
         return new createPermissionType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.String> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.String>() { 
+          @Override
           public void onComplete(java.lang.String o) {
             createPermissionType_result result = new createPermissionType_result();
             result.success = o;
@@ -8885,6 +9851,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8920,10 +9887,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, createPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.String> resultHandler) throws org.apache.thrift.TException {
         iface.createPermissionType(args.permissionType,resultHandler);
       }
@@ -8934,13 +9903,16 @@
         super("updatePermissionType");
       }
 
+      @Override
       public updatePermissionType_args getEmptyArgsInstance() {
         return new updatePermissionType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             updatePermissionType_result result = new updatePermissionType_result();
             result.success = o;
@@ -8955,6 +9927,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -8986,10 +9959,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, updatePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.updatePermissionType(args.permissionType,resultHandler);
       }
@@ -9000,13 +9975,16 @@
         super("isPermissionExists");
       }
 
+      @Override
       public isPermissionExists_args getEmptyArgsInstance() {
         return new isPermissionExists_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             isPermissionExists_result result = new isPermissionExists_result();
             result.success = o;
@@ -9021,6 +9999,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9052,10 +10031,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, isPermissionExists_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.isPermissionExists(args.dimainId, args.permissionId,resultHandler);
       }
@@ -9066,13 +10047,16 @@
         super("deletePermissionType");
       }
 
+      @Override
       public deletePermissionType_args getEmptyArgsInstance() {
         return new deletePermissionType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             deletePermissionType_result result = new deletePermissionType_result();
             result.success = o;
@@ -9087,6 +10071,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9118,10 +10103,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, deletePermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.deletePermissionType(args.domainId, args.permissionTypeId,resultHandler);
       }
@@ -9132,13 +10119,16 @@
         super("getPermissionType");
       }
 
+      @Override
       public getPermissionType_args getEmptyArgsInstance() {
         return new getPermissionType_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType>() { 
+          @Override
           public void onComplete(org.apache.airavata.sharing.registry.models.PermissionType o) {
             getPermissionType_result result = new getPermissionType_result();
             result.success = o;
@@ -9152,6 +10142,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9183,10 +10174,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getPermissionType_args args, org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.sharing.registry.models.PermissionType> resultHandler) throws org.apache.thrift.TException {
         iface.getPermissionType(args.domainId, args.permissionTypeId,resultHandler);
       }
@@ -9197,13 +10190,16 @@
         super("getPermissionTypes");
       }
 
+      @Override
       public getPermissionTypes_args getEmptyArgsInstance() {
         return new getPermissionTypes_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>>() { 
+          @Override
           public void onComplete(java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> o) {
             getPermissionTypes_result result = new getPermissionTypes_result();
             result.success = o;
@@ -9217,6 +10213,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9248,10 +10245,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, getPermissionTypes_args args, org.apache.thrift.async.AsyncMethodCallback<java.util.List<org.apache.airavata.sharing.registry.models.PermissionType>> resultHandler) throws org.apache.thrift.TException {
         iface.getPermissionTypes(args.domainId, args.offset, args.limit,resultHandler);
       }
@@ -9262,13 +10261,16 @@
         super("shareEntityWithUsers");
       }
 
+      @Override
       public shareEntityWithUsers_args getEmptyArgsInstance() {
         return new shareEntityWithUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             shareEntityWithUsers_result result = new shareEntityWithUsers_result();
             result.success = o;
@@ -9283,6 +10285,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9314,10 +10317,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, shareEntityWithUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.shareEntityWithUsers(args.domainId, args.entityId, args.userList, args.permissionTypeId, args.cascadePermission,resultHandler);
       }
@@ -9328,13 +10333,16 @@
         super("revokeEntitySharingFromUsers");
       }
 
+      @Override
       public revokeEntitySharingFromUsers_args getEmptyArgsInstance() {
         return new revokeEntitySharingFromUsers_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             revokeEntitySharingFromUsers_result result = new revokeEntitySharingFromUsers_result();
             result.success = o;
@@ -9349,6 +10357,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9380,10 +10389,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, revokeEntitySharingFromUsers_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.revokeEntitySharingFromUsers(args.domainId, args.entityId, args.userList, args.permissionTypeId,resultHandler);
       }
@@ -9394,13 +10405,16 @@
         super("shareEntityWithGroups");
       }
 
+      @Override
       public shareEntityWithGroups_args getEmptyArgsInstance() {
         return new shareEntityWithGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             shareEntityWithGroups_result result = new shareEntityWithGroups_result();
             result.success = o;
@@ -9415,6 +10429,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9446,10 +10461,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, shareEntityWithGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.shareEntityWithGroups(args.domainId, args.entityId, args.groupList, args.permissionTypeId, args.cascadePermission,resultHandler);
       }
@@ -9460,13 +10477,16 @@
         super("revokeEntitySharingFromGroups");
       }
 
+      @Override
       public revokeEntitySharingFromGroups_args getEmptyArgsInstance() {
         return new revokeEntitySharingFromGroups_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             revokeEntitySharingFromGroups_result result = new revokeEntitySharingFromGroups_result();
             result.success = o;
@@ -9481,6 +10501,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9512,10 +10533,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, revokeEntitySharingFromGroups_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.revokeEntitySharingFromGroups(args.domainId, args.entityId, args.groupList, args.permissionTypeId,resultHandler);
       }
@@ -9526,13 +10549,16 @@
         super("userHasAccess");
       }
 
+      @Override
       public userHasAccess_args getEmptyArgsInstance() {
         return new userHasAccess_args();
       }
 
+      @Override
       public org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> getResultHandler(final org.apache.thrift.server.AbstractNonblockingServer.AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean>() { 
+          @Override
           public void onComplete(java.lang.Boolean o) {
             userHasAccess_result result = new userHasAccess_result();
             result.success = o;
@@ -9547,6 +10573,7 @@
               onError(e);
             }
           }
+          @Override
           public void onError(java.lang.Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TSerializable msg;
@@ -9578,10 +10605,12 @@
         };
       }
 
+      @Override
       protected boolean isOneway() {
         return false;
       }
 
+      @Override
       public void start(I iface, userHasAccess_args args, org.apache.thrift.async.AsyncMethodCallback<java.lang.Boolean> resultHandler) throws org.apache.thrift.TException {
         iface.userHasAccess(args.domainId, args.userId, args.entityId, args.permissionTypeId,resultHandler);
       }
@@ -9589,6 +10618,7 @@
 
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createDomain_args implements org.apache.thrift.TBase<createDomain_args, createDomain_args._Fields>, java.io.Serializable, Cloneable, Comparable<createDomain_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createDomain_args");
 
@@ -9597,7 +10627,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createDomain_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createDomain_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.Domain domain; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain domain; // 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 {
@@ -9614,6 +10644,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN
@@ -9636,6 +10667,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -9648,10 +10680,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -9686,6 +10720,7 @@
       }
     }
 
+    @Override
     public createDomain_args deepCopy() {
       return new createDomain_args(this);
     }
@@ -9695,11 +10730,12 @@
       this.domain = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.Domain getDomain() {
       return this.domain;
     }
 
-    public createDomain_args setDomain(org.apache.airavata.sharing.registry.models.Domain domain) {
+    public createDomain_args setDomain(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain domain) {
       this.domain = domain;
       return this;
     }
@@ -9719,7 +10755,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN:
         if (value == null) {
@@ -9732,6 +10769,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN:
@@ -9742,6 +10781,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -9756,8 +10796,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createDomain_args)
         return this.equals((createDomain_args)that);
       return false;
@@ -9800,7 +10838,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
+      lastComparison = java.lang.Boolean.compare(isSetDomain(), other.isSetDomain());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -9813,14 +10851,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -9869,6 +10911,7 @@
     }
 
     private static class createDomain_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createDomain_argsStandardScheme getScheme() {
         return new createDomain_argsStandardScheme();
       }
@@ -9876,6 +10919,7 @@
 
     private static class createDomain_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createDomain_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createDomain_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -9906,6 +10950,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createDomain_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -9922,6 +10967,7 @@
     }
 
     private static class createDomain_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createDomain_argsTupleScheme getScheme() {
         return new createDomain_argsTupleScheme();
       }
@@ -9949,6 +10995,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createDomain_result implements org.apache.thrift.TBase<createDomain_result, createDomain_result._Fields>, java.io.Serializable, Cloneable, Comparable<createDomain_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createDomain_result");
 
@@ -9959,9 +11006,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createDomain_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createDomain_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // 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 {
@@ -9980,6 +11027,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -10006,6 +11054,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10018,10 +11067,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10070,6 +11121,7 @@
       }
     }
 
+    @Override
     public createDomain_result deepCopy() {
       return new createDomain_result(this);
     }
@@ -10081,11 +11133,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createDomain_result setSuccess(java.lang.String success) {
+    public createDomain_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -10105,11 +11158,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public createDomain_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public createDomain_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -10129,11 +11183,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createDomain_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
+    public createDomain_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -10153,7 +11208,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -10182,6 +11238,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -10198,6 +11256,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10216,8 +11275,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createDomain_result)
         return this.equals((createDomain_result)that);
       return false;
@@ -10286,7 +11343,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10296,7 +11353,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10306,7 +11363,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10319,10 +11376,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -10385,6 +11445,7 @@
     }
 
     private static class createDomain_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createDomain_resultStandardScheme getScheme() {
         return new createDomain_resultStandardScheme();
       }
@@ -10392,6 +11453,7 @@
 
     private static class createDomain_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createDomain_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createDomain_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10439,6 +11501,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createDomain_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10465,6 +11528,7 @@
     }
 
     private static class createDomain_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createDomain_resultTupleScheme getScheme() {
         return new createDomain_resultTupleScheme();
       }
@@ -10523,6 +11587,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateDomain_args implements org.apache.thrift.TBase<updateDomain_args, updateDomain_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateDomain_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateDomain_args");
 
@@ -10531,7 +11596,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateDomain_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateDomain_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.Domain domain; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain domain; // 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 {
@@ -10548,6 +11613,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN
@@ -10570,6 +11636,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10582,10 +11649,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10620,6 +11689,7 @@
       }
     }
 
+    @Override
     public updateDomain_args deepCopy() {
       return new updateDomain_args(this);
     }
@@ -10629,11 +11699,12 @@
       this.domain = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.Domain getDomain() {
       return this.domain;
     }
 
-    public updateDomain_args setDomain(org.apache.airavata.sharing.registry.models.Domain domain) {
+    public updateDomain_args setDomain(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain domain) {
       this.domain = domain;
       return this;
     }
@@ -10653,7 +11724,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN:
         if (value == null) {
@@ -10666,6 +11738,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN:
@@ -10676,6 +11750,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -10690,8 +11765,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateDomain_args)
         return this.equals((updateDomain_args)that);
       return false;
@@ -10734,7 +11807,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomain()).compareTo(other.isSetDomain());
+      lastComparison = java.lang.Boolean.compare(isSetDomain(), other.isSetDomain());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -10747,14 +11820,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -10803,6 +11880,7 @@
     }
 
     private static class updateDomain_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateDomain_argsStandardScheme getScheme() {
         return new updateDomain_argsStandardScheme();
       }
@@ -10810,6 +11888,7 @@
 
     private static class updateDomain_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateDomain_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateDomain_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -10840,6 +11919,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateDomain_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -10856,6 +11936,7 @@
     }
 
     private static class updateDomain_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateDomain_argsTupleScheme getScheme() {
         return new updateDomain_argsTupleScheme();
       }
@@ -10883,6 +11964,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateDomain_result implements org.apache.thrift.TBase<updateDomain_result, updateDomain_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateDomain_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateDomain_result");
 
@@ -10893,7 +11975,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateDomain_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -10911,6 +11993,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -10935,6 +12018,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -10947,10 +12031,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -10994,6 +12080,7 @@
       }
     }
 
+    @Override
     public updateDomain_result deepCopy() {
       return new updateDomain_result(this);
     }
@@ -11028,11 +12115,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public updateDomain_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public updateDomain_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -11052,7 +12140,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -11073,6 +12162,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -11086,6 +12177,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11102,8 +12194,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateDomain_result)
         return this.equals((updateDomain_result)that);
       return false;
@@ -11157,7 +12247,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11167,7 +12257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11180,10 +12270,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -11236,6 +12329,7 @@
     }
 
     private static class updateDomain_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateDomain_resultStandardScheme getScheme() {
         return new updateDomain_resultStandardScheme();
       }
@@ -11243,6 +12337,7 @@
 
     private static class updateDomain_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateDomain_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateDomain_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11281,6 +12376,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateDomain_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11302,6 +12398,7 @@
     }
 
     private static class updateDomain_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateDomain_resultTupleScheme getScheme() {
         return new updateDomain_resultTupleScheme();
       }
@@ -11349,6 +12446,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isDomainExists_args implements org.apache.thrift.TBase<isDomainExists_args, isDomainExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isDomainExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isDomainExists_args");
 
@@ -11357,7 +12455,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isDomainExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isDomainExists_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // 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 {
@@ -11374,6 +12472,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -11396,6 +12495,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11408,10 +12508,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11446,6 +12548,7 @@
       }
     }
 
+    @Override
     public isDomainExists_args deepCopy() {
       return new isDomainExists_args(this);
     }
@@ -11455,11 +12558,12 @@
       this.domainId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public isDomainExists_args setDomainId(java.lang.String domainId) {
+    public isDomainExists_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -11479,7 +12583,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -11492,6 +12597,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -11502,6 +12609,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11516,8 +12624,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isDomainExists_args)
         return this.equals((isDomainExists_args)that);
       return false;
@@ -11560,7 +12666,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11573,14 +12679,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -11626,6 +12736,7 @@
     }
 
     private static class isDomainExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isDomainExists_argsStandardScheme getScheme() {
         return new isDomainExists_argsStandardScheme();
       }
@@ -11633,6 +12744,7 @@
 
     private static class isDomainExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isDomainExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isDomainExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -11662,6 +12774,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isDomainExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -11678,6 +12791,7 @@
     }
 
     private static class isDomainExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isDomainExists_argsTupleScheme getScheme() {
         return new isDomainExists_argsTupleScheme();
       }
@@ -11704,6 +12818,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isDomainExists_result implements org.apache.thrift.TBase<isDomainExists_result, isDomainExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isDomainExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isDomainExists_result");
 
@@ -11714,7 +12829,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isDomainExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -11732,6 +12847,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -11756,6 +12872,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -11768,10 +12885,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -11815,6 +12934,7 @@
       }
     }
 
+    @Override
     public isDomainExists_result deepCopy() {
       return new isDomainExists_result(this);
     }
@@ -11849,11 +12969,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public isDomainExists_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public isDomainExists_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -11873,7 +12994,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -11894,6 +13016,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -11907,6 +13031,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -11923,8 +13048,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isDomainExists_result)
         return this.equals((isDomainExists_result)that);
       return false;
@@ -11978,7 +13101,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -11988,7 +13111,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12001,10 +13124,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -12057,6 +13183,7 @@
     }
 
     private static class isDomainExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isDomainExists_resultStandardScheme getScheme() {
         return new isDomainExists_resultStandardScheme();
       }
@@ -12064,6 +13191,7 @@
 
     private static class isDomainExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isDomainExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isDomainExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12102,6 +13230,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isDomainExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12123,6 +13252,7 @@
     }
 
     private static class isDomainExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isDomainExists_resultTupleScheme getScheme() {
         return new isDomainExists_resultTupleScheme();
       }
@@ -12170,6 +13300,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteDomain_args implements org.apache.thrift.TBase<deleteDomain_args, deleteDomain_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteDomain_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDomain_args");
 
@@ -12178,7 +13309,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteDomain_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteDomain_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // 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 {
@@ -12195,6 +13326,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -12217,6 +13349,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12229,10 +13362,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12267,6 +13402,7 @@
       }
     }
 
+    @Override
     public deleteDomain_args deepCopy() {
       return new deleteDomain_args(this);
     }
@@ -12276,11 +13412,12 @@
       this.domainId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public deleteDomain_args setDomainId(java.lang.String domainId) {
+    public deleteDomain_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -12300,7 +13437,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -12313,6 +13451,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -12323,6 +13463,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12337,8 +13478,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteDomain_args)
         return this.equals((deleteDomain_args)that);
       return false;
@@ -12381,7 +13520,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12394,14 +13533,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -12447,6 +13590,7 @@
     }
 
     private static class deleteDomain_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDomain_argsStandardScheme getScheme() {
         return new deleteDomain_argsStandardScheme();
       }
@@ -12454,6 +13598,7 @@
 
     private static class deleteDomain_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteDomain_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteDomain_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12483,6 +13628,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteDomain_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12499,6 +13645,7 @@
     }
 
     private static class deleteDomain_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDomain_argsTupleScheme getScheme() {
         return new deleteDomain_argsTupleScheme();
       }
@@ -12525,6 +13672,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteDomain_result implements org.apache.thrift.TBase<deleteDomain_result, deleteDomain_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteDomain_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteDomain_result");
 
@@ -12535,7 +13683,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteDomain_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -12553,6 +13701,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -12577,6 +13726,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -12589,10 +13739,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -12636,6 +13788,7 @@
       }
     }
 
+    @Override
     public deleteDomain_result deepCopy() {
       return new deleteDomain_result(this);
     }
@@ -12670,11 +13823,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public deleteDomain_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public deleteDomain_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -12694,7 +13848,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -12715,6 +13870,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -12728,6 +13885,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -12744,8 +13902,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteDomain_result)
         return this.equals((deleteDomain_result)that);
       return false;
@@ -12799,7 +13955,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12809,7 +13965,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -12822,10 +13978,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -12878,6 +14037,7 @@
     }
 
     private static class deleteDomain_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDomain_resultStandardScheme getScheme() {
         return new deleteDomain_resultStandardScheme();
       }
@@ -12885,6 +14045,7 @@
 
     private static class deleteDomain_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteDomain_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteDomain_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -12923,6 +14084,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteDomain_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -12944,6 +14106,7 @@
     }
 
     private static class deleteDomain_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteDomain_resultTupleScheme getScheme() {
         return new deleteDomain_resultTupleScheme();
       }
@@ -12991,6 +14154,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDomain_args implements org.apache.thrift.TBase<getDomain_args, getDomain_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDomain_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDomain_args");
 
@@ -12999,7 +14163,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDomain_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDomain_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // 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 {
@@ -13016,6 +14180,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -13038,6 +14203,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13050,10 +14216,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13088,6 +14256,7 @@
       }
     }
 
+    @Override
     public getDomain_args deepCopy() {
       return new getDomain_args(this);
     }
@@ -13097,11 +14266,12 @@
       this.domainId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getDomain_args setDomainId(java.lang.String domainId) {
+    public getDomain_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -13121,7 +14291,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -13134,6 +14305,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -13144,6 +14317,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13158,8 +14332,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDomain_args)
         return this.equals((getDomain_args)that);
       return false;
@@ -13202,7 +14374,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13215,14 +14387,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -13268,6 +14444,7 @@
     }
 
     private static class getDomain_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomain_argsStandardScheme getScheme() {
         return new getDomain_argsStandardScheme();
       }
@@ -13275,6 +14452,7 @@
 
     private static class getDomain_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDomain_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDomain_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13304,6 +14482,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDomain_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13320,6 +14499,7 @@
     }
 
     private static class getDomain_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomain_argsTupleScheme getScheme() {
         return new getDomain_argsTupleScheme();
       }
@@ -13346,6 +14526,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDomain_result implements org.apache.thrift.TBase<getDomain_result, getDomain_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDomain_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDomain_result");
 
@@ -13355,8 +14536,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDomain_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDomain_resultTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.Domain success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -13374,6 +14555,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -13398,6 +14580,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13410,10 +14593,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13455,6 +14640,7 @@
       }
     }
 
+    @Override
     public getDomain_result deepCopy() {
       return new getDomain_result(this);
     }
@@ -13465,11 +14651,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.Domain getSuccess() {
       return this.success;
     }
 
-    public getDomain_result setSuccess(org.apache.airavata.sharing.registry.models.Domain success) {
+    public getDomain_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain success) {
       this.success = success;
       return this;
     }
@@ -13489,11 +14676,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getDomain_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getDomain_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -13513,7 +14701,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -13534,6 +14723,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -13547,6 +14738,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -13563,8 +14755,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDomain_result)
         return this.equals((getDomain_result)that);
       return false;
@@ -13620,7 +14810,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13630,7 +14820,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -13643,10 +14833,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -13704,6 +14897,7 @@
     }
 
     private static class getDomain_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomain_resultStandardScheme getScheme() {
         return new getDomain_resultStandardScheme();
       }
@@ -13711,6 +14905,7 @@
 
     private static class getDomain_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDomain_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDomain_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -13750,6 +14945,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDomain_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -13771,6 +14967,7 @@
     }
 
     private static class getDomain_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomain_resultTupleScheme getScheme() {
         return new getDomain_resultTupleScheme();
       }
@@ -13819,6 +15016,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDomains_args implements org.apache.thrift.TBase<getDomains_args, getDomains_args._Fields>, java.io.Serializable, Cloneable, Comparable<getDomains_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDomains_args");
 
@@ -13847,6 +15045,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // OFFSET
@@ -13871,6 +15070,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -13883,10 +15083,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -13930,6 +15132,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getDomains_args deepCopy() {
       return new getDomains_args(this);
     }
@@ -13988,7 +15191,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case OFFSET:
         if (value == null) {
@@ -14009,6 +15213,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case OFFSET:
@@ -14022,6 +15228,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14038,8 +15245,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDomains_args)
         return this.equals((getDomains_args)that);
       return false;
@@ -14091,7 +15296,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14101,7 +15306,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14114,14 +15319,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -14168,6 +15377,7 @@
     }
 
     private static class getDomains_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomains_argsStandardScheme getScheme() {
         return new getDomains_argsStandardScheme();
       }
@@ -14175,6 +15385,7 @@
 
     private static class getDomains_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDomains_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDomains_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14218,6 +15429,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDomains_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14235,6 +15447,7 @@
     }
 
     private static class getDomains_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomains_argsTupleScheme getScheme() {
         return new getDomains_argsTupleScheme();
       }
@@ -14264,6 +15477,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getDomains_result implements org.apache.thrift.TBase<getDomains_result, getDomains_result._Fields>, java.io.Serializable, Cloneable, Comparable<getDomains_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getDomains_result");
 
@@ -14273,8 +15487,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getDomains_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getDomains_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.Domain> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.Domain> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -14292,6 +15506,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -14316,6 +15531,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -14328,10 +15544,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14378,6 +15596,7 @@
       }
     }
 
+    @Override
     public getDomains_result deepCopy() {
       return new getDomains_result(this);
     }
@@ -14392,6 +15611,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.Domain> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -14403,11 +15623,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.Domain> getSuccess() {
       return this.success;
     }
 
-    public getDomains_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.Domain> success) {
+    public getDomains_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.Domain> success) {
       this.success = success;
       return this;
     }
@@ -14427,11 +15648,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getDomains_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getDomains_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -14451,7 +15673,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -14472,6 +15695,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -14485,6 +15710,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14501,8 +15727,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getDomains_result)
         return this.equals((getDomains_result)that);
       return false;
@@ -14558,7 +15782,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14568,7 +15792,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -14581,10 +15805,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -14639,6 +15866,7 @@
     }
 
     private static class getDomains_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomains_resultStandardScheme getScheme() {
         return new getDomains_resultStandardScheme();
       }
@@ -14646,6 +15874,7 @@
 
     private static class getDomains_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getDomains_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getDomains_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -14661,7 +15890,7 @@
                 {
                   org.apache.thrift.protocol.TList _list0 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Domain>(_list0.size);
-                  org.apache.airavata.sharing.registry.models.Domain _elem1;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain _elem1;
                   for (int _i2 = 0; _i2 < _list0.size; ++_i2)
                   {
                     _elem1 = new org.apache.airavata.sharing.registry.models.Domain();
@@ -14695,6 +15924,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getDomains_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -14723,6 +15953,7 @@
     }
 
     private static class getDomains_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getDomains_resultTupleScheme getScheme() {
         return new getDomains_resultTupleScheme();
       }
@@ -14761,9 +15992,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list5 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list5 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Domain>(_list5.size);
-            org.apache.airavata.sharing.registry.models.Domain _elem6;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Domain _elem6;
             for (int _i7 = 0; _i7 < _list5.size; ++_i7)
             {
               _elem6 = new org.apache.airavata.sharing.registry.models.Domain();
@@ -14786,6 +16017,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createUser_args implements org.apache.thrift.TBase<createUser_args, createUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<createUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createUser_args");
 
@@ -14794,7 +16026,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.User user; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User user; // 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 {
@@ -14811,6 +16043,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER
@@ -14833,6 +16066,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -14845,10 +16079,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -14883,6 +16119,7 @@
       }
     }
 
+    @Override
     public createUser_args deepCopy() {
       return new createUser_args(this);
     }
@@ -14892,11 +16129,12 @@
       this.user = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.User getUser() {
       return this.user;
     }
 
-    public createUser_args setUser(org.apache.airavata.sharing.registry.models.User user) {
+    public createUser_args setUser(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User user) {
       this.user = user;
       return this;
     }
@@ -14916,7 +16154,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER:
         if (value == null) {
@@ -14929,6 +16168,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER:
@@ -14939,6 +16180,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -14953,8 +16195,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createUser_args)
         return this.equals((createUser_args)that);
       return false;
@@ -14997,7 +16237,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUser()).compareTo(other.isSetUser());
+      lastComparison = java.lang.Boolean.compare(isSetUser(), other.isSetUser());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15010,14 +16250,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -15066,6 +16310,7 @@
     }
 
     private static class createUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createUser_argsStandardScheme getScheme() {
         return new createUser_argsStandardScheme();
       }
@@ -15073,6 +16318,7 @@
 
     private static class createUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -15103,6 +16349,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -15119,6 +16366,7 @@
     }
 
     private static class createUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createUser_argsTupleScheme getScheme() {
         return new createUser_argsTupleScheme();
       }
@@ -15146,6 +16394,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createUser_result implements org.apache.thrift.TBase<createUser_result, createUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<createUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createUser_result");
 
@@ -15156,9 +16405,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createUser_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // 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 {
@@ -15177,6 +16426,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -15203,6 +16453,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -15215,10 +16466,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -15267,6 +16520,7 @@
       }
     }
 
+    @Override
     public createUser_result deepCopy() {
       return new createUser_result(this);
     }
@@ -15278,11 +16532,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createUser_result setSuccess(java.lang.String success) {
+    public createUser_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -15302,11 +16557,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public createUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public createUser_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -15326,11 +16582,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createUser_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
+    public createUser_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -15350,7 +16607,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -15379,6 +16637,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -15395,6 +16655,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -15413,8 +16674,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createUser_result)
         return this.equals((createUser_result)that);
       return false;
@@ -15483,7 +16742,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15493,7 +16752,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15503,7 +16762,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15516,10 +16775,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -15582,6 +16844,7 @@
     }
 
     private static class createUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createUser_resultStandardScheme getScheme() {
         return new createUser_resultStandardScheme();
       }
@@ -15589,6 +16852,7 @@
 
     private static class createUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -15636,6 +16900,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -15662,6 +16927,7 @@
     }
 
     private static class createUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createUser_resultTupleScheme getScheme() {
         return new createUser_resultTupleScheme();
       }
@@ -15720,6 +16986,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updatedUser_args implements org.apache.thrift.TBase<updatedUser_args, updatedUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<updatedUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updatedUser_args");
 
@@ -15728,7 +16995,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updatedUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updatedUser_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.User user; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User user; // 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 {
@@ -15745,6 +17012,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // USER
@@ -15767,6 +17035,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -15779,10 +17048,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -15817,6 +17088,7 @@
       }
     }
 
+    @Override
     public updatedUser_args deepCopy() {
       return new updatedUser_args(this);
     }
@@ -15826,11 +17098,12 @@
       this.user = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.User getUser() {
       return this.user;
     }
 
-    public updatedUser_args setUser(org.apache.airavata.sharing.registry.models.User user) {
+    public updatedUser_args setUser(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User user) {
       this.user = user;
       return this;
     }
@@ -15850,7 +17123,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case USER:
         if (value == null) {
@@ -15863,6 +17137,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case USER:
@@ -15873,6 +17149,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -15887,8 +17164,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updatedUser_args)
         return this.equals((updatedUser_args)that);
       return false;
@@ -15931,7 +17206,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetUser()).compareTo(other.isSetUser());
+      lastComparison = java.lang.Boolean.compare(isSetUser(), other.isSetUser());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -15944,14 +17219,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -16000,6 +17279,7 @@
     }
 
     private static class updatedUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatedUser_argsStandardScheme getScheme() {
         return new updatedUser_argsStandardScheme();
       }
@@ -16007,6 +17287,7 @@
 
     private static class updatedUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updatedUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updatedUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16037,6 +17318,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updatedUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -16053,6 +17335,7 @@
     }
 
     private static class updatedUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatedUser_argsTupleScheme getScheme() {
         return new updatedUser_argsTupleScheme();
       }
@@ -16080,6 +17363,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updatedUser_result implements org.apache.thrift.TBase<updatedUser_result, updatedUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<updatedUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updatedUser_result");
 
@@ -16090,7 +17374,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updatedUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -16108,6 +17392,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -16132,6 +17417,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -16144,10 +17430,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -16191,6 +17479,7 @@
       }
     }
 
+    @Override
     public updatedUser_result deepCopy() {
       return new updatedUser_result(this);
     }
@@ -16225,11 +17514,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public updatedUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public updatedUser_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -16249,7 +17539,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -16270,6 +17561,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -16283,6 +17576,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -16299,8 +17593,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updatedUser_result)
         return this.equals((updatedUser_result)that);
       return false;
@@ -16354,7 +17646,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16364,7 +17656,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16377,10 +17669,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -16433,6 +17728,7 @@
     }
 
     private static class updatedUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatedUser_resultStandardScheme getScheme() {
         return new updatedUser_resultStandardScheme();
       }
@@ -16440,6 +17736,7 @@
 
     private static class updatedUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updatedUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updatedUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16478,6 +17775,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updatedUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -16499,6 +17797,7 @@
     }
 
     private static class updatedUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatedUser_resultTupleScheme getScheme() {
         return new updatedUser_resultTupleScheme();
       }
@@ -16546,6 +17845,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   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");
 
@@ -16555,8 +17855,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isUserExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -16574,6 +17874,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -16598,6 +17899,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -16610,10 +17912,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -16655,6 +17959,7 @@
       }
     }
 
+    @Override
     public isUserExists_args deepCopy() {
       return new isUserExists_args(this);
     }
@@ -16665,11 +17970,12 @@
       this.userId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public isUserExists_args setDomainId(java.lang.String domainId) {
+    public isUserExists_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -16689,11 +17995,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public isUserExists_args setUserId(java.lang.String userId) {
+    public isUserExists_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -16713,7 +18020,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -16734,6 +18042,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -16747,6 +18057,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -16763,8 +18074,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExists_args)
         return this.equals((isUserExists_args)that);
       return false;
@@ -16820,7 +18129,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16830,7 +18139,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -16843,14 +18152,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -16907,6 +18220,7 @@
     }
 
     private static class isUserExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_argsStandardScheme getScheme() {
         return new isUserExists_argsStandardScheme();
       }
@@ -16914,6 +18228,7 @@
 
     private static class isUserExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -16951,6 +18266,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -16972,6 +18288,7 @@
     }
 
     private static class isUserExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_argsTupleScheme getScheme() {
         return new isUserExists_argsTupleScheme();
       }
@@ -17001,6 +18318,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isUserExists_result implements org.apache.thrift.TBase<isUserExists_result, isUserExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isUserExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isUserExists_result");
 
@@ -17011,7 +18329,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isUserExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -17029,6 +18347,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -17053,6 +18372,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17065,10 +18385,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -17112,6 +18434,7 @@
       }
     }
 
+    @Override
     public isUserExists_result deepCopy() {
       return new isUserExists_result(this);
     }
@@ -17146,11 +18469,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public isUserExists_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public isUserExists_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -17170,7 +18494,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -17191,6 +18516,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -17204,6 +18531,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -17220,8 +18548,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isUserExists_result)
         return this.equals((isUserExists_result)that);
       return false;
@@ -17275,7 +18601,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17285,7 +18611,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17298,10 +18624,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -17354,6 +18683,7 @@
     }
 
     private static class isUserExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_resultStandardScheme getScheme() {
         return new isUserExists_resultStandardScheme();
       }
@@ -17361,6 +18691,7 @@
 
     private static class isUserExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isUserExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isUserExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -17399,6 +18730,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isUserExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -17420,6 +18752,7 @@
     }
 
     private static class isUserExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isUserExists_resultTupleScheme getScheme() {
         return new isUserExists_resultTupleScheme();
       }
@@ -17467,6 +18800,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUser_args implements org.apache.thrift.TBase<deleteUser_args, deleteUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUser_args");
 
@@ -17476,8 +18810,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUser_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -17495,6 +18829,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -17519,6 +18854,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17531,10 +18867,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -17576,6 +18914,7 @@
       }
     }
 
+    @Override
     public deleteUser_args deepCopy() {
       return new deleteUser_args(this);
     }
@@ -17586,11 +18925,12 @@
       this.userId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public deleteUser_args setDomainId(java.lang.String domainId) {
+    public deleteUser_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -17610,11 +18950,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public deleteUser_args setUserId(java.lang.String userId) {
+    public deleteUser_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -17634,7 +18975,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -17655,6 +18997,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -17668,6 +19012,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -17684,8 +19029,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUser_args)
         return this.equals((deleteUser_args)that);
       return false;
@@ -17741,7 +19084,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17751,7 +19094,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -17764,14 +19107,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -17828,6 +19175,7 @@
     }
 
     private static class deleteUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_argsStandardScheme getScheme() {
         return new deleteUser_argsStandardScheme();
       }
@@ -17835,6 +19183,7 @@
 
     private static class deleteUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -17872,6 +19221,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -17893,6 +19243,7 @@
     }
 
     private static class deleteUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_argsTupleScheme getScheme() {
         return new deleteUser_argsTupleScheme();
       }
@@ -17922,6 +19273,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteUser_result implements org.apache.thrift.TBase<deleteUser_result, deleteUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteUser_result");
 
@@ -17932,7 +19284,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteUser_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -17950,6 +19302,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -17974,6 +19327,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -17986,10 +19340,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -18033,6 +19389,7 @@
       }
     }
 
+    @Override
     public deleteUser_result deepCopy() {
       return new deleteUser_result(this);
     }
@@ -18067,11 +19424,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public deleteUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public deleteUser_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -18091,7 +19449,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -18112,6 +19471,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -18125,6 +19486,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -18141,8 +19503,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteUser_result)
         return this.equals((deleteUser_result)that);
       return false;
@@ -18196,7 +19556,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18206,7 +19566,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18219,10 +19579,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -18275,6 +19638,7 @@
     }
 
     private static class deleteUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_resultStandardScheme getScheme() {
         return new deleteUser_resultStandardScheme();
       }
@@ -18282,6 +19646,7 @@
 
     private static class deleteUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -18320,6 +19685,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -18341,6 +19707,7 @@
     }
 
     private static class deleteUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteUser_resultTupleScheme getScheme() {
         return new deleteUser_resultTupleScheme();
       }
@@ -18388,6 +19755,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUser_args implements org.apache.thrift.TBase<getUser_args, getUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUser_args");
 
@@ -18397,8 +19765,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUser_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -18416,6 +19784,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -18440,6 +19809,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -18452,10 +19822,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -18497,6 +19869,7 @@
       }
     }
 
+    @Override
     public getUser_args deepCopy() {
       return new getUser_args(this);
     }
@@ -18507,11 +19880,12 @@
       this.userId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getUser_args setDomainId(java.lang.String domainId) {
+    public getUser_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -18531,11 +19905,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getUser_args setUserId(java.lang.String userId) {
+    public getUser_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -18555,7 +19930,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -18576,6 +19952,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -18589,6 +19967,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -18605,8 +19984,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUser_args)
         return this.equals((getUser_args)that);
       return false;
@@ -18662,7 +20039,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18672,7 +20049,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -18685,14 +20062,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -18749,6 +20130,7 @@
     }
 
     private static class getUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_argsStandardScheme getScheme() {
         return new getUser_argsStandardScheme();
       }
@@ -18756,6 +20138,7 @@
 
     private static class getUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -18793,6 +20176,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -18814,6 +20198,7 @@
     }
 
     private static class getUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_argsTupleScheme getScheme() {
         return new getUser_argsTupleScheme();
       }
@@ -18843,6 +20228,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUser_result implements org.apache.thrift.TBase<getUser_result, getUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUser_result");
 
@@ -18852,8 +20238,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUser_resultTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.User success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -18871,6 +20257,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -18895,6 +20282,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -18907,10 +20295,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -18952,6 +20342,7 @@
       }
     }
 
+    @Override
     public getUser_result deepCopy() {
       return new getUser_result(this);
     }
@@ -18962,11 +20353,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.User getSuccess() {
       return this.success;
     }
 
-    public getUser_result setSuccess(org.apache.airavata.sharing.registry.models.User success) {
+    public getUser_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User success) {
       this.success = success;
       return this;
     }
@@ -18986,11 +20378,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getUser_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -19010,7 +20403,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -19031,6 +20425,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -19044,6 +20440,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -19060,8 +20457,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUser_result)
         return this.equals((getUser_result)that);
       return false;
@@ -19117,7 +20512,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -19127,7 +20522,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -19140,10 +20535,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -19201,6 +20599,7 @@
     }
 
     private static class getUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_resultStandardScheme getScheme() {
         return new getUser_resultStandardScheme();
       }
@@ -19208,6 +20607,7 @@
 
     private static class getUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -19247,6 +20647,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -19268,6 +20669,7 @@
     }
 
     private static class getUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUser_resultTupleScheme getScheme() {
         return new getUser_resultTupleScheme();
       }
@@ -19316,6 +20718,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUsers_args implements org.apache.thrift.TBase<getUsers_args, getUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUsers_args");
 
@@ -19326,7 +20729,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUsers_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
     public int offset; // required
     public int limit; // required
 
@@ -19347,6 +20750,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -19373,6 +20777,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -19385,10 +20790,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -19439,6 +20846,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getUsers_args deepCopy() {
       return new getUsers_args(this);
     }
@@ -19452,11 +20860,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getUsers_args setDomainId(java.lang.String domainId) {
+    public getUsers_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -19522,7 +20931,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -19551,6 +20961,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -19567,6 +20979,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -19585,8 +20998,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUsers_args)
         return this.equals((getUsers_args)that);
       return false;
@@ -19651,7 +21062,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -19661,7 +21072,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -19671,7 +21082,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -19684,14 +21095,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -19749,6 +21164,7 @@
     }
 
     private static class getUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_argsStandardScheme getScheme() {
         return new getUsers_argsStandardScheme();
       }
@@ -19756,6 +21172,7 @@
 
     private static class getUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -19807,6 +21224,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -19829,6 +21247,7 @@
     }
 
     private static class getUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_argsTupleScheme getScheme() {
         return new getUsers_argsTupleScheme();
       }
@@ -19861,6 +21280,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getUsers_result implements org.apache.thrift.TBase<getUsers_result, getUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getUsers_result");
 
@@ -19870,8 +21290,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getUsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -19889,6 +21309,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -19913,6 +21334,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -19925,10 +21347,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -19975,6 +21399,7 @@
       }
     }
 
+    @Override
     public getUsers_result deepCopy() {
       return new getUsers_result(this);
     }
@@ -19989,6 +21414,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.User> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -20000,11 +21426,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getSuccess() {
       return this.success;
     }
 
-    public getUsers_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
+    public getUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
       this.success = success;
       return this;
     }
@@ -20024,11 +21451,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getUsers_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getUsers_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -20048,7 +21476,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -20069,6 +21498,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -20082,6 +21513,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -20098,8 +21530,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getUsers_result)
         return this.equals((getUsers_result)that);
       return false;
@@ -20155,7 +21585,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -20165,7 +21595,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -20178,10 +21608,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -20236,6 +21669,7 @@
     }
 
     private static class getUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_resultStandardScheme getScheme() {
         return new getUsers_resultStandardScheme();
       }
@@ -20243,6 +21677,7 @@
 
     private static class getUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -20258,7 +21693,7 @@
                 {
                   org.apache.thrift.protocol.TList _list8 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list8.size);
-                  org.apache.airavata.sharing.registry.models.User _elem9;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem9;
                   for (int _i10 = 0; _i10 < _list8.size; ++_i10)
                   {
                     _elem9 = new org.apache.airavata.sharing.registry.models.User();
@@ -20292,6 +21727,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -20320,6 +21756,7 @@
     }
 
     private static class getUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getUsers_resultTupleScheme getScheme() {
         return new getUsers_resultTupleScheme();
       }
@@ -20358,9 +21795,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list13 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list13 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list13.size);
-            org.apache.airavata.sharing.registry.models.User _elem14;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem14;
             for (int _i15 = 0; _i15 < _list13.size; ++_i15)
             {
               _elem14 = new org.apache.airavata.sharing.registry.models.User();
@@ -20383,6 +21820,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroup_args implements org.apache.thrift.TBase<createGroup_args, createGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<createGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroup_args");
 
@@ -20391,7 +21829,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.UserGroup group; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup group; // 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 {
@@ -20408,6 +21846,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP
@@ -20430,6 +21869,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -20442,10 +21882,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -20480,6 +21922,7 @@
       }
     }
 
+    @Override
     public createGroup_args deepCopy() {
       return new createGroup_args(this);
     }
@@ -20489,11 +21932,12 @@
       this.group = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.UserGroup getGroup() {
       return this.group;
     }
 
-    public createGroup_args setGroup(org.apache.airavata.sharing.registry.models.UserGroup group) {
+    public createGroup_args setGroup(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup group) {
       this.group = group;
       return this;
     }
@@ -20513,7 +21957,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP:
         if (value == null) {
@@ -20526,6 +21971,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP:
@@ -20536,6 +21983,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -20550,8 +21998,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroup_args)
         return this.equals((createGroup_args)that);
       return false;
@@ -20594,7 +22040,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroup()).compareTo(other.isSetGroup());
+      lastComparison = java.lang.Boolean.compare(isSetGroup(), other.isSetGroup());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -20607,14 +22053,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -20663,6 +22113,7 @@
     }
 
     private static class createGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_argsStandardScheme getScheme() {
         return new createGroup_argsStandardScheme();
       }
@@ -20670,6 +22121,7 @@
 
     private static class createGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -20700,6 +22152,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -20716,6 +22169,7 @@
     }
 
     private static class createGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_argsTupleScheme getScheme() {
         return new createGroup_argsTupleScheme();
       }
@@ -20743,6 +22197,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createGroup_result implements org.apache.thrift.TBase<createGroup_result, createGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<createGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createGroup_result");
 
@@ -20752,8 +22207,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createGroup_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createGroup_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -20771,6 +22226,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -20795,6 +22251,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -20807,10 +22264,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -20852,6 +22311,7 @@
       }
     }
 
+    @Override
     public createGroup_result deepCopy() {
       return new createGroup_result(this);
     }
@@ -20862,11 +22322,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createGroup_result setSuccess(java.lang.String success) {
+    public createGroup_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -20886,11 +22347,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public createGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public createGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -20910,7 +22372,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -20931,6 +22394,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -20944,6 +22409,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -20960,8 +22426,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createGroup_result)
         return this.equals((createGroup_result)that);
       return false;
@@ -21017,7 +22481,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -21027,7 +22491,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -21040,10 +22504,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -21098,6 +22565,7 @@
     }
 
     private static class createGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_resultStandardScheme getScheme() {
         return new createGroup_resultStandardScheme();
       }
@@ -21105,6 +22573,7 @@
 
     private static class createGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -21143,6 +22612,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -21164,6 +22634,7 @@
     }
 
     private static class createGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createGroup_resultTupleScheme getScheme() {
         return new createGroup_resultTupleScheme();
       }
@@ -21211,6 +22682,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroup_args implements org.apache.thrift.TBase<updateGroup_args, updateGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroup_args");
 
@@ -21219,7 +22691,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroup_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.UserGroup group; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup group; // 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 {
@@ -21236,6 +22708,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // GROUP
@@ -21258,6 +22731,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -21270,10 +22744,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -21308,6 +22784,7 @@
       }
     }
 
+    @Override
     public updateGroup_args deepCopy() {
       return new updateGroup_args(this);
     }
@@ -21317,11 +22794,12 @@
       this.group = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.UserGroup getGroup() {
       return this.group;
     }
 
-    public updateGroup_args setGroup(org.apache.airavata.sharing.registry.models.UserGroup group) {
+    public updateGroup_args setGroup(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup group) {
       this.group = group;
       return this;
     }
@@ -21341,7 +22819,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case GROUP:
         if (value == null) {
@@ -21354,6 +22833,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case GROUP:
@@ -21364,6 +22845,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -21378,8 +22860,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroup_args)
         return this.equals((updateGroup_args)that);
       return false;
@@ -21422,7 +22902,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetGroup()).compareTo(other.isSetGroup());
+      lastComparison = java.lang.Boolean.compare(isSetGroup(), other.isSetGroup());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -21435,14 +22915,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -21491,6 +22975,7 @@
     }
 
     private static class updateGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_argsStandardScheme getScheme() {
         return new updateGroup_argsStandardScheme();
       }
@@ -21498,6 +22983,7 @@
 
     private static class updateGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -21528,6 +23014,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -21544,6 +23031,7 @@
     }
 
     private static class updateGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_argsTupleScheme getScheme() {
         return new updateGroup_argsTupleScheme();
       }
@@ -21571,6 +23059,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateGroup_result implements org.apache.thrift.TBase<updateGroup_result, updateGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateGroup_result");
 
@@ -21581,7 +23070,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -21599,6 +23088,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -21623,6 +23113,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -21635,10 +23126,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -21682,6 +23175,7 @@
       }
     }
 
+    @Override
     public updateGroup_result deepCopy() {
       return new updateGroup_result(this);
     }
@@ -21716,11 +23210,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public updateGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public updateGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -21740,7 +23235,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -21761,6 +23257,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -21774,6 +23272,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -21790,8 +23289,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateGroup_result)
         return this.equals((updateGroup_result)that);
       return false;
@@ -21845,7 +23342,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -21855,7 +23352,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -21868,10 +23365,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -21924,6 +23424,7 @@
     }
 
     private static class updateGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_resultStandardScheme getScheme() {
         return new updateGroup_resultStandardScheme();
       }
@@ -21931,6 +23432,7 @@
 
     private static class updateGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -21969,6 +23471,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -21990,6 +23493,7 @@
     }
 
     private static class updateGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateGroup_resultTupleScheme getScheme() {
         return new updateGroup_resultTupleScheme();
       }
@@ -22037,6 +23541,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGroupExists_args implements org.apache.thrift.TBase<isGroupExists_args, isGroupExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isGroupExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGroupExists_args");
 
@@ -22046,8 +23551,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isGroupExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGroupExists_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -22065,6 +23570,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -22089,6 +23595,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -22101,10 +23608,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -22146,6 +23655,7 @@
       }
     }
 
+    @Override
     public isGroupExists_args deepCopy() {
       return new isGroupExists_args(this);
     }
@@ -22156,11 +23666,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public isGroupExists_args setDomainId(java.lang.String domainId) {
+    public isGroupExists_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -22180,11 +23691,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public isGroupExists_args setGroupId(java.lang.String groupId) {
+    public isGroupExists_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -22204,7 +23716,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -22225,6 +23738,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -22238,6 +23753,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -22254,8 +23770,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGroupExists_args)
         return this.equals((isGroupExists_args)that);
       return false;
@@ -22311,7 +23825,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -22321,7 +23835,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -22334,14 +23848,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -22398,6 +23916,7 @@
     }
 
     private static class isGroupExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGroupExists_argsStandardScheme getScheme() {
         return new isGroupExists_argsStandardScheme();
       }
@@ -22405,6 +23924,7 @@
 
     private static class isGroupExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGroupExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGroupExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -22442,6 +23962,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGroupExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -22463,6 +23984,7 @@
     }
 
     private static class isGroupExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGroupExists_argsTupleScheme getScheme() {
         return new isGroupExists_argsTupleScheme();
       }
@@ -22492,6 +24014,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isGroupExists_result implements org.apache.thrift.TBase<isGroupExists_result, isGroupExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isGroupExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isGroupExists_result");
 
@@ -22502,7 +24025,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isGroupExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -22520,6 +24043,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -22544,6 +24068,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -22556,10 +24081,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -22603,6 +24130,7 @@
       }
     }
 
+    @Override
     public isGroupExists_result deepCopy() {
       return new isGroupExists_result(this);
     }
@@ -22637,11 +24165,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public isGroupExists_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public isGroupExists_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -22661,7 +24190,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -22682,6 +24212,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -22695,6 +24227,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -22711,8 +24244,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isGroupExists_result)
         return this.equals((isGroupExists_result)that);
       return false;
@@ -22766,7 +24297,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -22776,7 +24307,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -22789,10 +24320,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -22845,6 +24379,7 @@
     }
 
     private static class isGroupExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGroupExists_resultStandardScheme getScheme() {
         return new isGroupExists_resultStandardScheme();
       }
@@ -22852,6 +24387,7 @@
 
     private static class isGroupExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isGroupExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isGroupExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -22890,6 +24426,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isGroupExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -22911,6 +24448,7 @@
     }
 
     private static class isGroupExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isGroupExists_resultTupleScheme getScheme() {
         return new isGroupExists_resultTupleScheme();
       }
@@ -22958,6 +24496,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGroup_args implements org.apache.thrift.TBase<deleteGroup_args, deleteGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGroup_args");
 
@@ -22967,8 +24506,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -22986,6 +24525,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -23010,6 +24550,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -23022,10 +24563,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -23067,6 +24610,7 @@
       }
     }
 
+    @Override
     public deleteGroup_args deepCopy() {
       return new deleteGroup_args(this);
     }
@@ -23077,11 +24621,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public deleteGroup_args setDomainId(java.lang.String domainId) {
+    public deleteGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -23101,11 +24646,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public deleteGroup_args setGroupId(java.lang.String groupId) {
+    public deleteGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -23125,7 +24671,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -23146,6 +24693,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -23159,6 +24708,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -23175,8 +24725,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGroup_args)
         return this.equals((deleteGroup_args)that);
       return false;
@@ -23232,7 +24780,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -23242,7 +24790,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -23255,14 +24803,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -23319,6 +24871,7 @@
     }
 
     private static class deleteGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_argsStandardScheme getScheme() {
         return new deleteGroup_argsStandardScheme();
       }
@@ -23326,6 +24879,7 @@
 
     private static class deleteGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -23363,6 +24917,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -23384,6 +24939,7 @@
     }
 
     private static class deleteGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_argsTupleScheme getScheme() {
         return new deleteGroup_argsTupleScheme();
       }
@@ -23413,6 +24969,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteGroup_result implements org.apache.thrift.TBase<deleteGroup_result, deleteGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteGroup_result");
 
@@ -23423,7 +24980,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -23441,6 +24998,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -23465,6 +25023,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -23477,10 +25036,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -23524,6 +25085,7 @@
       }
     }
 
+    @Override
     public deleteGroup_result deepCopy() {
       return new deleteGroup_result(this);
     }
@@ -23558,11 +25120,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public deleteGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public deleteGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -23582,7 +25145,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -23603,6 +25167,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -23616,6 +25182,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -23632,8 +25199,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteGroup_result)
         return this.equals((deleteGroup_result)that);
       return false;
@@ -23687,7 +25252,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -23697,7 +25262,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -23710,10 +25275,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -23766,6 +25334,7 @@
     }
 
     private static class deleteGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_resultStandardScheme getScheme() {
         return new deleteGroup_resultStandardScheme();
       }
@@ -23773,6 +25342,7 @@
 
     private static class deleteGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -23811,6 +25381,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -23832,6 +25403,7 @@
     }
 
     private static class deleteGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteGroup_resultTupleScheme getScheme() {
         return new deleteGroup_resultTupleScheme();
       }
@@ -23879,6 +25451,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroup_args implements org.apache.thrift.TBase<getGroup_args, getGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroup_args");
 
@@ -23888,8 +25461,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -23907,6 +25480,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -23931,6 +25505,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -23943,10 +25518,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -23988,6 +25565,7 @@
       }
     }
 
+    @Override
     public getGroup_args deepCopy() {
       return new getGroup_args(this);
     }
@@ -23998,11 +25576,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getGroup_args setDomainId(java.lang.String domainId) {
+    public getGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -24022,11 +25601,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public getGroup_args setGroupId(java.lang.String groupId) {
+    public getGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -24046,7 +25626,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -24067,6 +25648,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -24080,6 +25663,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -24096,8 +25680,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroup_args)
         return this.equals((getGroup_args)that);
       return false;
@@ -24153,7 +25735,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -24163,7 +25745,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -24176,14 +25758,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -24240,6 +25826,7 @@
     }
 
     private static class getGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_argsStandardScheme getScheme() {
         return new getGroup_argsStandardScheme();
       }
@@ -24247,6 +25834,7 @@
 
     private static class getGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -24284,6 +25872,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -24305,6 +25894,7 @@
     }
 
     private static class getGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_argsTupleScheme getScheme() {
         return new getGroup_argsTupleScheme();
       }
@@ -24334,6 +25924,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroup_result implements org.apache.thrift.TBase<getGroup_result, getGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroup_result");
 
@@ -24343,8 +25934,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroup_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroup_resultTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.UserGroup success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -24362,6 +25953,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -24386,6 +25978,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -24398,10 +25991,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -24443,6 +26038,7 @@
       }
     }
 
+    @Override
     public getGroup_result deepCopy() {
       return new getGroup_result(this);
     }
@@ -24453,11 +26049,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.UserGroup getSuccess() {
       return this.success;
     }
 
-    public getGroup_result setSuccess(org.apache.airavata.sharing.registry.models.UserGroup success) {
+    public getGroup_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup success) {
       this.success = success;
       return this;
     }
@@ -24477,11 +26074,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -24501,7 +26099,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -24522,6 +26121,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -24535,6 +26136,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -24551,8 +26153,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroup_result)
         return this.equals((getGroup_result)that);
       return false;
@@ -24608,7 +26208,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -24618,7 +26218,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -24631,10 +26231,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -24692,6 +26295,7 @@
     }
 
     private static class getGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_resultStandardScheme getScheme() {
         return new getGroup_resultStandardScheme();
       }
@@ -24699,6 +26303,7 @@
 
     private static class getGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -24738,6 +26343,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -24759,6 +26365,7 @@
     }
 
     private static class getGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroup_resultTupleScheme getScheme() {
         return new getGroup_resultTupleScheme();
       }
@@ -24807,6 +26414,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroups_args implements org.apache.thrift.TBase<getGroups_args, getGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroups_args");
 
@@ -24817,7 +26425,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroups_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
     public int offset; // required
     public int limit; // required
 
@@ -24838,6 +26446,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -24864,6 +26473,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -24876,10 +26486,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -24930,6 +26542,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getGroups_args deepCopy() {
       return new getGroups_args(this);
     }
@@ -24943,11 +26556,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getGroups_args setDomainId(java.lang.String domainId) {
+    public getGroups_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -25013,7 +26627,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -25042,6 +26657,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -25058,6 +26675,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -25076,8 +26694,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroups_args)
         return this.equals((getGroups_args)that);
       return false;
@@ -25142,7 +26758,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -25152,7 +26768,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -25162,7 +26778,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -25175,14 +26791,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -25240,6 +26860,7 @@
     }
 
     private static class getGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_argsStandardScheme getScheme() {
         return new getGroups_argsStandardScheme();
       }
@@ -25247,6 +26868,7 @@
 
     private static class getGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -25298,6 +26920,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -25320,6 +26943,7 @@
     }
 
     private static class getGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_argsTupleScheme getScheme() {
         return new getGroups_argsTupleScheme();
       }
@@ -25352,6 +26976,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroups_result implements org.apache.thrift.TBase<getGroups_result, getGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroups_result");
 
@@ -25360,7 +26985,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroups_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // 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 {
@@ -25377,6 +27002,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -25399,6 +27025,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -25411,10 +27038,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -25454,6 +27083,7 @@
       }
     }
 
+    @Override
     public getGroups_result deepCopy() {
       return new getGroups_result(this);
     }
@@ -25467,6 +27097,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -25478,11 +27109,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
       return this.success;
     }
 
-    public getGroups_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
+    public getGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
       this.success = success;
       return this;
     }
@@ -25502,7 +27134,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -25515,6 +27148,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -25525,6 +27160,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -25539,8 +27175,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroups_result)
         return this.equals((getGroups_result)that);
       return false;
@@ -25583,7 +27217,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -25596,10 +27230,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -25646,6 +27283,7 @@
     }
 
     private static class getGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_resultStandardScheme getScheme() {
         return new getGroups_resultStandardScheme();
       }
@@ -25653,6 +27291,7 @@
 
     private static class getGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -25668,7 +27307,7 @@
                 {
                   org.apache.thrift.protocol.TList _list16 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list16.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem17;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem17;
                   for (int _i18 = 0; _i18 < _list16.size; ++_i18)
                   {
                     _elem17 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -25693,6 +27332,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -25716,6 +27356,7 @@
     }
 
     private static class getGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroups_resultTupleScheme getScheme() {
         return new getGroups_resultTupleScheme();
       }
@@ -25748,9 +27389,9 @@
         java.util.BitSet incoming = iprot.readBitSet(1);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list21 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list21 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list21.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem22;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem22;
             for (int _i23 = 0; _i23 < _list21.size; ++_i23)
             {
               _elem22 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -25768,6 +27409,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUsersToGroup_args implements org.apache.thrift.TBase<addUsersToGroup_args, addUsersToGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<addUsersToGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUsersToGroup_args");
 
@@ -25778,9 +27420,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addUsersToGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUsersToGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.util.List<java.lang.String> userIds; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -25799,6 +27441,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -25825,6 +27468,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -25837,10 +27481,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -25891,6 +27537,7 @@
       }
     }
 
+    @Override
     public addUsersToGroup_args deepCopy() {
       return new addUsersToGroup_args(this);
     }
@@ -25902,11 +27549,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public addUsersToGroup_args setDomainId(java.lang.String domainId) {
+    public addUsersToGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -25930,6 +27578,7 @@
       return (this.userIds == null) ? 0 : this.userIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getUserIdsIterator() {
       return (this.userIds == null) ? null : this.userIds.iterator();
     }
@@ -25941,11 +27590,12 @@
       this.userIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getUserIds() {
       return this.userIds;
     }
 
-    public addUsersToGroup_args setUserIds(java.util.List<java.lang.String> userIds) {
+    public addUsersToGroup_args setUserIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds) {
       this.userIds = userIds;
       return this;
     }
@@ -25965,11 +27615,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public addUsersToGroup_args setGroupId(java.lang.String groupId) {
+    public addUsersToGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -25989,7 +27640,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -26018,6 +27670,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -26034,6 +27688,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -26052,8 +27707,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUsersToGroup_args)
         return this.equals((addUsersToGroup_args)that);
       return false;
@@ -26122,7 +27775,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -26132,7 +27785,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserIds()).compareTo(other.isSetUserIds());
+      lastComparison = java.lang.Boolean.compare(isSetUserIds(), other.isSetUserIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -26142,7 +27795,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -26155,14 +27808,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -26230,6 +27887,7 @@
     }
 
     private static class addUsersToGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_argsStandardScheme getScheme() {
         return new addUsersToGroup_argsStandardScheme();
       }
@@ -26237,6 +27895,7 @@
 
     private static class addUsersToGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUsersToGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUsersToGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -26260,7 +27919,7 @@
                 {
                   org.apache.thrift.protocol.TList _list24 = iprot.readListBegin();
                   struct.userIds = new java.util.ArrayList<java.lang.String>(_list24.size);
-                  java.lang.String _elem25;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem25;
                   for (int _i26 = 0; _i26 < _list24.size; ++_i26)
                   {
                     _elem25 = iprot.readString();
@@ -26292,6 +27951,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUsersToGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -26325,6 +27985,7 @@
     }
 
     private static class addUsersToGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_argsTupleScheme getScheme() {
         return new addUsersToGroup_argsTupleScheme();
       }
@@ -26352,9 +28013,9 @@
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list29 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list29 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.userIds = new java.util.ArrayList<java.lang.String>(_list29.size);
-          java.lang.String _elem30;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem30;
           for (int _i31 = 0; _i31 < _list29.size; ++_i31)
           {
             _elem30 = iprot.readString();
@@ -26372,6 +28033,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addUsersToGroup_result implements org.apache.thrift.TBase<addUsersToGroup_result, addUsersToGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<addUsersToGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addUsersToGroup_result");
 
@@ -26382,7 +28044,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addUsersToGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -26400,6 +28062,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -26424,6 +28087,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -26436,10 +28100,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -26483,6 +28149,7 @@
       }
     }
 
+    @Override
     public addUsersToGroup_result deepCopy() {
       return new addUsersToGroup_result(this);
     }
@@ -26517,11 +28184,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public addUsersToGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public addUsersToGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -26541,7 +28209,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -26562,6 +28231,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -26575,6 +28246,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -26591,8 +28263,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addUsersToGroup_result)
         return this.equals((addUsersToGroup_result)that);
       return false;
@@ -26646,7 +28316,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -26656,7 +28326,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -26669,10 +28339,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -26725,6 +28398,7 @@
     }
 
     private static class addUsersToGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_resultStandardScheme getScheme() {
         return new addUsersToGroup_resultStandardScheme();
       }
@@ -26732,6 +28406,7 @@
 
     private static class addUsersToGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addUsersToGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addUsersToGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -26770,6 +28445,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addUsersToGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -26791,6 +28467,7 @@
     }
 
     private static class addUsersToGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addUsersToGroup_resultTupleScheme getScheme() {
         return new addUsersToGroup_resultTupleScheme();
       }
@@ -26838,6 +28515,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeUsersFromGroup_args implements org.apache.thrift.TBase<removeUsersFromGroup_args, removeUsersFromGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeUsersFromGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeUsersFromGroup_args");
 
@@ -26848,9 +28526,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeUsersFromGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeUsersFromGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.util.List<java.lang.String> userIds; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -26869,6 +28547,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -26895,6 +28574,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -26907,10 +28587,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -26961,6 +28643,7 @@
       }
     }
 
+    @Override
     public removeUsersFromGroup_args deepCopy() {
       return new removeUsersFromGroup_args(this);
     }
@@ -26972,11 +28655,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public removeUsersFromGroup_args setDomainId(java.lang.String domainId) {
+    public removeUsersFromGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -27000,6 +28684,7 @@
       return (this.userIds == null) ? 0 : this.userIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getUserIdsIterator() {
       return (this.userIds == null) ? null : this.userIds.iterator();
     }
@@ -27011,11 +28696,12 @@
       this.userIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getUserIds() {
       return this.userIds;
     }
 
-    public removeUsersFromGroup_args setUserIds(java.util.List<java.lang.String> userIds) {
+    public removeUsersFromGroup_args setUserIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userIds) {
       this.userIds = userIds;
       return this;
     }
@@ -27035,11 +28721,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public removeUsersFromGroup_args setGroupId(java.lang.String groupId) {
+    public removeUsersFromGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -27059,7 +28746,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -27088,6 +28776,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -27104,6 +28794,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -27122,8 +28813,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeUsersFromGroup_args)
         return this.equals((removeUsersFromGroup_args)that);
       return false;
@@ -27192,7 +28881,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -27202,7 +28891,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserIds()).compareTo(other.isSetUserIds());
+      lastComparison = java.lang.Boolean.compare(isSetUserIds(), other.isSetUserIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -27212,7 +28901,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -27225,14 +28914,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -27300,6 +28993,7 @@
     }
 
     private static class removeUsersFromGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_argsStandardScheme getScheme() {
         return new removeUsersFromGroup_argsStandardScheme();
       }
@@ -27307,6 +29001,7 @@
 
     private static class removeUsersFromGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeUsersFromGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeUsersFromGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -27330,7 +29025,7 @@
                 {
                   org.apache.thrift.protocol.TList _list32 = iprot.readListBegin();
                   struct.userIds = new java.util.ArrayList<java.lang.String>(_list32.size);
-                  java.lang.String _elem33;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem33;
                   for (int _i34 = 0; _i34 < _list32.size; ++_i34)
                   {
                     _elem33 = iprot.readString();
@@ -27362,6 +29057,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeUsersFromGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -27395,6 +29091,7 @@
     }
 
     private static class removeUsersFromGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_argsTupleScheme getScheme() {
         return new removeUsersFromGroup_argsTupleScheme();
       }
@@ -27422,9 +29119,9 @@
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list37 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list37 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.userIds = new java.util.ArrayList<java.lang.String>(_list37.size);
-          java.lang.String _elem38;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem38;
           for (int _i39 = 0; _i39 < _list37.size; ++_i39)
           {
             _elem38 = iprot.readString();
@@ -27442,6 +29139,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeUsersFromGroup_result implements org.apache.thrift.TBase<removeUsersFromGroup_result, removeUsersFromGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeUsersFromGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeUsersFromGroup_result");
 
@@ -27452,7 +29150,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeUsersFromGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -27470,6 +29168,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -27494,6 +29193,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -27506,10 +29206,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -27553,6 +29255,7 @@
       }
     }
 
+    @Override
     public removeUsersFromGroup_result deepCopy() {
       return new removeUsersFromGroup_result(this);
     }
@@ -27587,11 +29290,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public removeUsersFromGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public removeUsersFromGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -27611,7 +29315,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -27632,6 +29337,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -27645,6 +29352,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -27661,8 +29369,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeUsersFromGroup_result)
         return this.equals((removeUsersFromGroup_result)that);
       return false;
@@ -27716,7 +29422,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -27726,7 +29432,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -27739,10 +29445,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -27795,6 +29504,7 @@
     }
 
     private static class removeUsersFromGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_resultStandardScheme getScheme() {
         return new removeUsersFromGroup_resultStandardScheme();
       }
@@ -27802,6 +29512,7 @@
 
     private static class removeUsersFromGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeUsersFromGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeUsersFromGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -27840,6 +29551,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeUsersFromGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -27861,6 +29573,7 @@
     }
 
     private static class removeUsersFromGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeUsersFromGroup_resultTupleScheme getScheme() {
         return new removeUsersFromGroup_resultTupleScheme();
       }
@@ -27908,6 +29621,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class transferGroupOwnership_args implements org.apache.thrift.TBase<transferGroupOwnership_args, transferGroupOwnership_args._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_args");
 
@@ -27918,9 +29632,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new transferGroupOwnership_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public java.lang.String newOwnerId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String newOwnerId; // 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 {
@@ -27939,6 +29653,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -27965,6 +29680,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -27977,10 +29693,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -28029,6 +29747,7 @@
       }
     }
 
+    @Override
     public transferGroupOwnership_args deepCopy() {
       return new transferGroupOwnership_args(this);
     }
@@ -28040,11 +29759,12 @@
       this.newOwnerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public transferGroupOwnership_args setDomainId(java.lang.String domainId) {
+    public transferGroupOwnership_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -28064,11 +29784,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public transferGroupOwnership_args setGroupId(java.lang.String groupId) {
+    public transferGroupOwnership_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -28088,11 +29809,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getNewOwnerId() {
       return this.newOwnerId;
     }
 
-    public transferGroupOwnership_args setNewOwnerId(java.lang.String newOwnerId) {
+    public transferGroupOwnership_args setNewOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String newOwnerId) {
       this.newOwnerId = newOwnerId;
       return this;
     }
@@ -28112,7 +29834,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -28141,6 +29864,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -28157,6 +29882,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -28175,8 +29901,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof transferGroupOwnership_args)
         return this.equals((transferGroupOwnership_args)that);
       return false;
@@ -28245,7 +29969,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -28255,7 +29979,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -28265,7 +29989,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetNewOwnerId()).compareTo(other.isSetNewOwnerId());
+      lastComparison = java.lang.Boolean.compare(isSetNewOwnerId(), other.isSetNewOwnerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -28278,14 +30002,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -28353,6 +30081,7 @@
     }
 
     private static class transferGroupOwnership_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_argsStandardScheme getScheme() {
         return new transferGroupOwnership_argsStandardScheme();
       }
@@ -28360,6 +30089,7 @@
 
     private static class transferGroupOwnership_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -28405,6 +30135,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -28431,6 +30162,7 @@
     }
 
     private static class transferGroupOwnership_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_argsTupleScheme getScheme() {
         return new transferGroupOwnership_argsTupleScheme();
       }
@@ -28463,6 +30195,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class transferGroupOwnership_result implements org.apache.thrift.TBase<transferGroupOwnership_result, transferGroupOwnership_result._Fields>, java.io.Serializable, Cloneable, Comparable<transferGroupOwnership_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("transferGroupOwnership_result");
 
@@ -28473,7 +30206,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new transferGroupOwnership_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -28491,6 +30224,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -28515,6 +30249,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -28527,10 +30262,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -28574,6 +30311,7 @@
       }
     }
 
+    @Override
     public transferGroupOwnership_result deepCopy() {
       return new transferGroupOwnership_result(this);
     }
@@ -28608,11 +30346,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public transferGroupOwnership_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public transferGroupOwnership_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -28632,7 +30371,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -28653,6 +30393,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -28666,6 +30408,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -28682,8 +30425,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof transferGroupOwnership_result)
         return this.equals((transferGroupOwnership_result)that);
       return false;
@@ -28737,7 +30478,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -28747,7 +30488,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -28760,10 +30501,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -28816,6 +30560,7 @@
     }
 
     private static class transferGroupOwnership_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_resultStandardScheme getScheme() {
         return new transferGroupOwnership_resultStandardScheme();
       }
@@ -28823,6 +30568,7 @@
 
     private static class transferGroupOwnership_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<transferGroupOwnership_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -28861,6 +30607,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, transferGroupOwnership_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -28882,6 +30629,7 @@
     }
 
     private static class transferGroupOwnership_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public transferGroupOwnership_resultTupleScheme getScheme() {
         return new transferGroupOwnership_resultTupleScheme();
       }
@@ -28929,6 +30677,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGroupAdmins_args implements org.apache.thrift.TBase<addGroupAdmins_args, addGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_args");
 
@@ -28939,9 +30688,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addGroupAdmins_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public java.util.List<java.lang.String> adminIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds; // 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 {
@@ -28960,6 +30709,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -28986,6 +30736,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -28998,10 +30749,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -29052,6 +30805,7 @@
       }
     }
 
+    @Override
     public addGroupAdmins_args deepCopy() {
       return new addGroupAdmins_args(this);
     }
@@ -29063,11 +30817,12 @@
       this.adminIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public addGroupAdmins_args setDomainId(java.lang.String domainId) {
+    public addGroupAdmins_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -29087,11 +30842,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public addGroupAdmins_args setGroupId(java.lang.String groupId) {
+    public addGroupAdmins_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -29115,6 +30871,7 @@
       return (this.adminIds == null) ? 0 : this.adminIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
       return (this.adminIds == null) ? null : this.adminIds.iterator();
     }
@@ -29126,11 +30883,12 @@
       this.adminIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAdminIds() {
       return this.adminIds;
     }
 
-    public addGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
+    public addGroupAdmins_args setAdminIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds) {
       this.adminIds = adminIds;
       return this;
     }
@@ -29150,7 +30908,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -29179,6 +30938,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -29195,6 +30956,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -29213,8 +30975,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGroupAdmins_args)
         return this.equals((addGroupAdmins_args)that);
       return false;
@@ -29283,7 +31043,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -29293,7 +31053,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -29303,7 +31063,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      lastComparison = java.lang.Boolean.compare(isSetAdminIds(), other.isSetAdminIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -29316,14 +31076,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -29391,6 +31155,7 @@
     }
 
     private static class addGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_argsStandardScheme getScheme() {
         return new addGroupAdmins_argsStandardScheme();
       }
@@ -29398,6 +31163,7 @@
 
     private static class addGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -29429,7 +31195,7 @@
                 {
                   org.apache.thrift.protocol.TList _list40 = iprot.readListBegin();
                   struct.adminIds = new java.util.ArrayList<java.lang.String>(_list40.size);
-                  java.lang.String _elem41;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem41;
                   for (int _i42 = 0; _i42 < _list40.size; ++_i42)
                   {
                     _elem41 = iprot.readString();
@@ -29453,6 +31219,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -29486,6 +31253,7 @@
     }
 
     private static class addGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_argsTupleScheme getScheme() {
         return new addGroupAdmins_argsTupleScheme();
       }
@@ -29515,9 +31283,9 @@
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list45 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list45 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.adminIds = new java.util.ArrayList<java.lang.String>(_list45.size);
-          java.lang.String _elem46;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem46;
           for (int _i47 = 0; _i47 < _list45.size; ++_i47)
           {
             _elem46 = iprot.readString();
@@ -29533,6 +31301,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addGroupAdmins_result implements org.apache.thrift.TBase<addGroupAdmins_result, addGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<addGroupAdmins_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addGroupAdmins_result");
 
@@ -29543,7 +31312,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addGroupAdmins_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -29561,6 +31330,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -29585,6 +31355,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -29597,10 +31368,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -29644,6 +31417,7 @@
       }
     }
 
+    @Override
     public addGroupAdmins_result deepCopy() {
       return new addGroupAdmins_result(this);
     }
@@ -29678,11 +31452,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public addGroupAdmins_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public addGroupAdmins_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -29702,7 +31477,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -29723,6 +31499,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -29736,6 +31514,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -29752,8 +31531,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addGroupAdmins_result)
         return this.equals((addGroupAdmins_result)that);
       return false;
@@ -29807,7 +31584,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -29817,7 +31594,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -29830,10 +31607,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -29886,6 +31666,7 @@
     }
 
     private static class addGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_resultStandardScheme getScheme() {
         return new addGroupAdmins_resultStandardScheme();
       }
@@ -29893,6 +31674,7 @@
 
     private static class addGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addGroupAdmins_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -29931,6 +31713,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addGroupAdmins_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -29952,6 +31735,7 @@
     }
 
     private static class addGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addGroupAdmins_resultTupleScheme getScheme() {
         return new addGroupAdmins_resultTupleScheme();
       }
@@ -29999,6 +31783,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupAdmins_args implements org.apache.thrift.TBase<removeGroupAdmins_args, removeGroupAdmins_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_args");
 
@@ -30009,9 +31794,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeGroupAdmins_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public java.util.List<java.lang.String> adminIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds; // 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 {
@@ -30030,6 +31815,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -30056,6 +31842,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -30068,10 +31855,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -30122,6 +31911,7 @@
       }
     }
 
+    @Override
     public removeGroupAdmins_args deepCopy() {
       return new removeGroupAdmins_args(this);
     }
@@ -30133,11 +31923,12 @@
       this.adminIds = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public removeGroupAdmins_args setDomainId(java.lang.String domainId) {
+    public removeGroupAdmins_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -30157,11 +31948,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public removeGroupAdmins_args setGroupId(java.lang.String groupId) {
+    public removeGroupAdmins_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -30185,6 +31977,7 @@
       return (this.adminIds == null) ? 0 : this.adminIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getAdminIdsIterator() {
       return (this.adminIds == null) ? null : this.adminIds.iterator();
     }
@@ -30196,11 +31989,12 @@
       this.adminIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getAdminIds() {
       return this.adminIds;
     }
 
-    public removeGroupAdmins_args setAdminIds(java.util.List<java.lang.String> adminIds) {
+    public removeGroupAdmins_args setAdminIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> adminIds) {
       this.adminIds = adminIds;
       return this;
     }
@@ -30220,7 +32014,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -30249,6 +32044,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -30265,6 +32062,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -30283,8 +32081,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupAdmins_args)
         return this.equals((removeGroupAdmins_args)that);
       return false;
@@ -30353,7 +32149,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -30363,7 +32159,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -30373,7 +32169,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminIds()).compareTo(other.isSetAdminIds());
+      lastComparison = java.lang.Boolean.compare(isSetAdminIds(), other.isSetAdminIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -30386,14 +32182,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -30461,6 +32261,7 @@
     }
 
     private static class removeGroupAdmins_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_argsStandardScheme getScheme() {
         return new removeGroupAdmins_argsStandardScheme();
       }
@@ -30468,6 +32269,7 @@
 
     private static class removeGroupAdmins_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupAdmins_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -30499,7 +32301,7 @@
                 {
                   org.apache.thrift.protocol.TList _list48 = iprot.readListBegin();
                   struct.adminIds = new java.util.ArrayList<java.lang.String>(_list48.size);
-                  java.lang.String _elem49;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem49;
                   for (int _i50 = 0; _i50 < _list48.size; ++_i50)
                   {
                     _elem49 = iprot.readString();
@@ -30523,6 +32325,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupAdmins_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -30556,6 +32359,7 @@
     }
 
     private static class removeGroupAdmins_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_argsTupleScheme getScheme() {
         return new removeGroupAdmins_argsTupleScheme();
       }
@@ -30585,9 +32389,9 @@
         struct.groupId = iprot.readString();
         struct.setGroupIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list53 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list53 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.adminIds = new java.util.ArrayList<java.lang.String>(_list53.size);
-          java.lang.String _elem54;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem54;
           for (int _i55 = 0; _i55 < _list53.size; ++_i55)
           {
             _elem54 = iprot.readString();
@@ -30603,6 +32407,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeGroupAdmins_result implements org.apache.thrift.TBase<removeGroupAdmins_result, removeGroupAdmins_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeGroupAdmins_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeGroupAdmins_result");
 
@@ -30613,7 +32418,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeGroupAdmins_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -30631,6 +32436,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -30655,6 +32461,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -30667,10 +32474,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -30714,6 +32523,7 @@
       }
     }
 
+    @Override
     public removeGroupAdmins_result deepCopy() {
       return new removeGroupAdmins_result(this);
     }
@@ -30748,11 +32558,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public removeGroupAdmins_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public removeGroupAdmins_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -30772,7 +32583,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -30793,6 +32605,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -30806,6 +32620,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -30822,8 +32637,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeGroupAdmins_result)
         return this.equals((removeGroupAdmins_result)that);
       return false;
@@ -30877,7 +32690,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -30887,7 +32700,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -30900,10 +32713,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -30956,6 +32772,7 @@
     }
 
     private static class removeGroupAdmins_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_resultStandardScheme getScheme() {
         return new removeGroupAdmins_resultStandardScheme();
       }
@@ -30963,6 +32780,7 @@
 
     private static class removeGroupAdmins_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeGroupAdmins_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -31001,6 +32819,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeGroupAdmins_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -31022,6 +32841,7 @@
     }
 
     private static class removeGroupAdmins_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeGroupAdmins_resultTupleScheme getScheme() {
         return new removeGroupAdmins_resultTupleScheme();
       }
@@ -31069,6 +32889,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasAdminAccess_args implements org.apache.thrift.TBase<hasAdminAccess_args, hasAdminAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<hasAdminAccess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_args");
 
@@ -31079,9 +32900,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasAdminAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public java.lang.String adminId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String adminId; // 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 {
@@ -31100,6 +32921,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -31126,6 +32948,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -31138,10 +32961,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -31190,6 +33015,7 @@
       }
     }
 
+    @Override
     public hasAdminAccess_args deepCopy() {
       return new hasAdminAccess_args(this);
     }
@@ -31201,11 +33027,12 @@
       this.adminId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public hasAdminAccess_args setDomainId(java.lang.String domainId) {
+    public hasAdminAccess_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -31225,11 +33052,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public hasAdminAccess_args setGroupId(java.lang.String groupId) {
+    public hasAdminAccess_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -31249,11 +33077,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getAdminId() {
       return this.adminId;
     }
 
-    public hasAdminAccess_args setAdminId(java.lang.String adminId) {
+    public hasAdminAccess_args setAdminId(@org.apache.thrift.annotation.Nullable java.lang.String adminId) {
       this.adminId = adminId;
       return this;
     }
@@ -31273,7 +33102,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -31302,6 +33132,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -31318,6 +33150,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -31336,8 +33169,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasAdminAccess_args)
         return this.equals((hasAdminAccess_args)that);
       return false;
@@ -31406,7 +33237,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -31416,7 +33247,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -31426,7 +33257,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetAdminId()).compareTo(other.isSetAdminId());
+      lastComparison = java.lang.Boolean.compare(isSetAdminId(), other.isSetAdminId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -31439,14 +33270,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -31514,6 +33349,7 @@
     }
 
     private static class hasAdminAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_argsStandardScheme getScheme() {
         return new hasAdminAccess_argsStandardScheme();
       }
@@ -31521,6 +33357,7 @@
 
     private static class hasAdminAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasAdminAccess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -31566,6 +33403,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasAdminAccess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -31592,6 +33430,7 @@
     }
 
     private static class hasAdminAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_argsTupleScheme getScheme() {
         return new hasAdminAccess_argsTupleScheme();
       }
@@ -31624,6 +33463,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasAdminAccess_result implements org.apache.thrift.TBase<hasAdminAccess_result, hasAdminAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<hasAdminAccess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasAdminAccess_result");
 
@@ -31634,7 +33474,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasAdminAccess_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -31652,6 +33492,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -31676,6 +33517,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -31688,10 +33530,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -31735,6 +33579,7 @@
       }
     }
 
+    @Override
     public hasAdminAccess_result deepCopy() {
       return new hasAdminAccess_result(this);
     }
@@ -31769,11 +33614,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public hasAdminAccess_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public hasAdminAccess_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -31793,7 +33639,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -31814,6 +33661,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -31827,6 +33676,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -31843,8 +33693,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasAdminAccess_result)
         return this.equals((hasAdminAccess_result)that);
       return false;
@@ -31898,7 +33746,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -31908,7 +33756,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -31921,10 +33769,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -31977,6 +33828,7 @@
     }
 
     private static class hasAdminAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_resultStandardScheme getScheme() {
         return new hasAdminAccess_resultStandardScheme();
       }
@@ -31984,6 +33836,7 @@
 
     private static class hasAdminAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasAdminAccess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -32022,6 +33875,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasAdminAccess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -32043,6 +33897,7 @@
     }
 
     private static class hasAdminAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasAdminAccess_resultTupleScheme getScheme() {
         return new hasAdminAccess_resultTupleScheme();
       }
@@ -32090,6 +33945,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasOwnerAccess_args implements org.apache.thrift.TBase<hasOwnerAccess_args, hasOwnerAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<hasOwnerAccess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_args");
 
@@ -32100,9 +33956,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new hasOwnerAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
-    public java.lang.String ownerId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String ownerId; // 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 {
@@ -32121,6 +33977,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -32147,6 +34004,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -32159,10 +34017,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -32211,6 +34071,7 @@
       }
     }
 
+    @Override
     public hasOwnerAccess_args deepCopy() {
       return new hasOwnerAccess_args(this);
     }
@@ -32222,11 +34083,12 @@
       this.ownerId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public hasOwnerAccess_args setDomainId(java.lang.String domainId) {
+    public hasOwnerAccess_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -32246,11 +34108,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public hasOwnerAccess_args setGroupId(java.lang.String groupId) {
+    public hasOwnerAccess_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -32270,11 +34133,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getOwnerId() {
       return this.ownerId;
     }
 
-    public hasOwnerAccess_args setOwnerId(java.lang.String ownerId) {
+    public hasOwnerAccess_args setOwnerId(@org.apache.thrift.annotation.Nullable java.lang.String ownerId) {
       this.ownerId = ownerId;
       return this;
     }
@@ -32294,7 +34158,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -32323,6 +34188,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -32339,6 +34206,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -32357,8 +34225,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasOwnerAccess_args)
         return this.equals((hasOwnerAccess_args)that);
       return false;
@@ -32427,7 +34293,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -32437,7 +34303,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -32447,7 +34313,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOwnerId()).compareTo(other.isSetOwnerId());
+      lastComparison = java.lang.Boolean.compare(isSetOwnerId(), other.isSetOwnerId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -32460,14 +34326,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -32535,6 +34405,7 @@
     }
 
     private static class hasOwnerAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_argsStandardScheme getScheme() {
         return new hasOwnerAccess_argsStandardScheme();
       }
@@ -32542,6 +34413,7 @@
 
     private static class hasOwnerAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasOwnerAccess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -32587,6 +34459,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasOwnerAccess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -32613,6 +34486,7 @@
     }
 
     private static class hasOwnerAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_argsTupleScheme getScheme() {
         return new hasOwnerAccess_argsTupleScheme();
       }
@@ -32645,6 +34519,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class hasOwnerAccess_result implements org.apache.thrift.TBase<hasOwnerAccess_result, hasOwnerAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<hasOwnerAccess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("hasOwnerAccess_result");
 
@@ -32655,7 +34530,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new hasOwnerAccess_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -32673,6 +34548,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -32697,6 +34573,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -32709,10 +34586,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -32756,6 +34635,7 @@
       }
     }
 
+    @Override
     public hasOwnerAccess_result deepCopy() {
       return new hasOwnerAccess_result(this);
     }
@@ -32790,11 +34670,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public hasOwnerAccess_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public hasOwnerAccess_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -32814,7 +34695,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -32835,6 +34717,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -32848,6 +34732,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -32864,8 +34749,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof hasOwnerAccess_result)
         return this.equals((hasOwnerAccess_result)that);
       return false;
@@ -32919,7 +34802,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -32929,7 +34812,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -32942,10 +34825,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -32998,6 +34884,7 @@
     }
 
     private static class hasOwnerAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_resultStandardScheme getScheme() {
         return new hasOwnerAccess_resultStandardScheme();
       }
@@ -33005,6 +34892,7 @@
 
     private static class hasOwnerAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<hasOwnerAccess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -33043,6 +34931,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, hasOwnerAccess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -33064,6 +34953,7 @@
     }
 
     private static class hasOwnerAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public hasOwnerAccess_resultTupleScheme getScheme() {
         return new hasOwnerAccess_resultTupleScheme();
       }
@@ -33111,6 +35001,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupMembersOfTypeUser_args implements org.apache.thrift.TBase<getGroupMembersOfTypeUser_args, getGroupMembersOfTypeUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeUser_args");
 
@@ -33122,8 +35013,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeUser_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
     public int offset; // required
     public int limit; // required
 
@@ -33145,6 +35036,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -33173,6 +35065,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -33185,10 +35078,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -33246,6 +35141,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getGroupMembersOfTypeUser_args deepCopy() {
       return new getGroupMembersOfTypeUser_args(this);
     }
@@ -33260,11 +35156,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getGroupMembersOfTypeUser_args setDomainId(java.lang.String domainId) {
+    public getGroupMembersOfTypeUser_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -33284,11 +35181,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public getGroupMembersOfTypeUser_args setGroupId(java.lang.String groupId) {
+    public getGroupMembersOfTypeUser_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -33354,7 +35252,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -33391,6 +35290,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -33410,6 +35311,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -33430,8 +35332,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupMembersOfTypeUser_args)
         return this.equals((getGroupMembersOfTypeUser_args)that);
       return false;
@@ -33509,7 +35409,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -33519,7 +35419,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -33529,7 +35429,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -33539,7 +35439,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -33552,14 +35452,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -33625,6 +35529,7 @@
     }
 
     private static class getGroupMembersOfTypeUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeUser_argsStandardScheme getScheme() {
         return new getGroupMembersOfTypeUser_argsStandardScheme();
       }
@@ -33632,6 +35537,7 @@
 
     private static class getGroupMembersOfTypeUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -33691,6 +35597,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -33718,6 +35625,7 @@
     }
 
     private static class getGroupMembersOfTypeUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeUser_argsTupleScheme getScheme() {
         return new getGroupMembersOfTypeUser_argsTupleScheme();
       }
@@ -33763,6 +35671,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupMembersOfTypeUser_result implements org.apache.thrift.TBase<getGroupMembersOfTypeUser_result, getGroupMembersOfTypeUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeUser_result");
 
@@ -33772,8 +35681,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeUser_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -33791,6 +35700,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -33815,6 +35725,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -33827,10 +35738,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -33877,6 +35790,7 @@
       }
     }
 
+    @Override
     public getGroupMembersOfTypeUser_result deepCopy() {
       return new getGroupMembersOfTypeUser_result(this);
     }
@@ -33891,6 +35805,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.User> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -33902,11 +35817,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getSuccess() {
       return this.success;
     }
 
-    public getGroupMembersOfTypeUser_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
+    public getGroupMembersOfTypeUser_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
       this.success = success;
       return this;
     }
@@ -33926,11 +35842,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getGroupMembersOfTypeUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getGroupMembersOfTypeUser_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -33950,7 +35867,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -33971,6 +35889,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -33984,6 +35904,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -34000,8 +35921,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupMembersOfTypeUser_result)
         return this.equals((getGroupMembersOfTypeUser_result)that);
       return false;
@@ -34057,7 +35976,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34067,7 +35986,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34080,10 +35999,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -34138,6 +36060,7 @@
     }
 
     private static class getGroupMembersOfTypeUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeUser_resultStandardScheme getScheme() {
         return new getGroupMembersOfTypeUser_resultStandardScheme();
       }
@@ -34145,6 +36068,7 @@
 
     private static class getGroupMembersOfTypeUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -34160,7 +36084,7 @@
                 {
                   org.apache.thrift.protocol.TList _list56 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list56.size);
-                  org.apache.airavata.sharing.registry.models.User _elem57;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem57;
                   for (int _i58 = 0; _i58 < _list56.size; ++_i58)
                   {
                     _elem57 = new org.apache.airavata.sharing.registry.models.User();
@@ -34194,6 +36118,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -34222,6 +36147,7 @@
     }
 
     private static class getGroupMembersOfTypeUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeUser_resultTupleScheme getScheme() {
         return new getGroupMembersOfTypeUser_resultTupleScheme();
       }
@@ -34260,9 +36186,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list61 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list61 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list61.size);
-            org.apache.airavata.sharing.registry.models.User _elem62;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem62;
             for (int _i63 = 0; _i63 < _list61.size; ++_i63)
             {
               _elem62 = new org.apache.airavata.sharing.registry.models.User();
@@ -34285,6 +36211,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupMembersOfTypeGroup_args implements org.apache.thrift.TBase<getGroupMembersOfTypeGroup_args, getGroupMembersOfTypeGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeGroup_args");
 
@@ -34296,8 +36223,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // required
     public int offset; // required
     public int limit; // required
 
@@ -34319,6 +36246,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -34347,6 +36275,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -34359,10 +36288,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -34420,6 +36351,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getGroupMembersOfTypeGroup_args deepCopy() {
       return new getGroupMembersOfTypeGroup_args(this);
     }
@@ -34434,11 +36366,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getGroupMembersOfTypeGroup_args setDomainId(java.lang.String domainId) {
+    public getGroupMembersOfTypeGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -34458,11 +36391,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public getGroupMembersOfTypeGroup_args setGroupId(java.lang.String groupId) {
+    public getGroupMembersOfTypeGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -34528,7 +36462,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -34565,6 +36500,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -34584,6 +36521,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -34604,8 +36542,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupMembersOfTypeGroup_args)
         return this.equals((getGroupMembersOfTypeGroup_args)that);
       return false;
@@ -34683,7 +36619,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34693,7 +36629,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34703,7 +36639,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34713,7 +36649,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -34726,14 +36662,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -34802,6 +36742,7 @@
     }
 
     private static class getGroupMembersOfTypeGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeGroup_argsStandardScheme getScheme() {
         return new getGroupMembersOfTypeGroup_argsStandardScheme();
       }
@@ -34809,6 +36750,7 @@
 
     private static class getGroupMembersOfTypeGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -34868,6 +36810,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -34895,6 +36838,7 @@
     }
 
     private static class getGroupMembersOfTypeGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeGroup_argsTupleScheme getScheme() {
         return new getGroupMembersOfTypeGroup_argsTupleScheme();
       }
@@ -34930,6 +36874,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getGroupMembersOfTypeGroup_result implements org.apache.thrift.TBase<getGroupMembersOfTypeGroup_result, getGroupMembersOfTypeGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<getGroupMembersOfTypeGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getGroupMembersOfTypeGroup_result");
 
@@ -34939,8 +36884,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getGroupMembersOfTypeGroup_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -34958,6 +36903,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -34982,6 +36928,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -34994,10 +36941,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -35044,6 +36993,7 @@
       }
     }
 
+    @Override
     public getGroupMembersOfTypeGroup_result deepCopy() {
       return new getGroupMembersOfTypeGroup_result(this);
     }
@@ -35058,6 +37008,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -35069,11 +37020,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
       return this.success;
     }
 
-    public getGroupMembersOfTypeGroup_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
+    public getGroupMembersOfTypeGroup_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
       this.success = success;
       return this;
     }
@@ -35093,11 +37045,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getGroupMembersOfTypeGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getGroupMembersOfTypeGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -35117,7 +37070,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -35138,6 +37092,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -35151,6 +37107,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -35167,8 +37124,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getGroupMembersOfTypeGroup_result)
         return this.equals((getGroupMembersOfTypeGroup_result)that);
       return false;
@@ -35224,7 +37179,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35234,7 +37189,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35247,10 +37202,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -35305,6 +37263,7 @@
     }
 
     private static class getGroupMembersOfTypeGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeGroup_resultStandardScheme getScheme() {
         return new getGroupMembersOfTypeGroup_resultStandardScheme();
       }
@@ -35312,6 +37271,7 @@
 
     private static class getGroupMembersOfTypeGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getGroupMembersOfTypeGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -35327,7 +37287,7 @@
                 {
                   org.apache.thrift.protocol.TList _list64 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list64.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem65;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem65;
                   for (int _i66 = 0; _i66 < _list64.size; ++_i66)
                   {
                     _elem65 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -35361,6 +37321,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getGroupMembersOfTypeGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -35389,6 +37350,7 @@
     }
 
     private static class getGroupMembersOfTypeGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getGroupMembersOfTypeGroup_resultTupleScheme getScheme() {
         return new getGroupMembersOfTypeGroup_resultTupleScheme();
       }
@@ -35427,9 +37389,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list69 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list69 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list69.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem70;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem70;
             for (int _i71 = 0; _i71 < _list69.size; ++_i71)
             {
               _elem70 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -35452,6 +37414,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addChildGroupsToParentGroup_args implements org.apache.thrift.TBase<addChildGroupsToParentGroup_args, addChildGroupsToParentGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<addChildGroupsToParentGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addChildGroupsToParentGroup_args");
 
@@ -35462,9 +37425,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new addChildGroupsToParentGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addChildGroupsToParentGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.util.List<java.lang.String> childIds; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> childIds; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -35483,6 +37446,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -35509,6 +37473,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -35521,10 +37486,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -35575,6 +37542,7 @@
       }
     }
 
+    @Override
     public addChildGroupsToParentGroup_args deepCopy() {
       return new addChildGroupsToParentGroup_args(this);
     }
@@ -35586,11 +37554,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public addChildGroupsToParentGroup_args setDomainId(java.lang.String domainId) {
+    public addChildGroupsToParentGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -35614,6 +37583,7 @@
       return (this.childIds == null) ? 0 : this.childIds.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getChildIdsIterator() {
       return (this.childIds == null) ? null : this.childIds.iterator();
     }
@@ -35625,11 +37595,12 @@
       this.childIds.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getChildIds() {
       return this.childIds;
     }
 
-    public addChildGroupsToParentGroup_args setChildIds(java.util.List<java.lang.String> childIds) {
+    public addChildGroupsToParentGroup_args setChildIds(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> childIds) {
       this.childIds = childIds;
       return this;
     }
@@ -35649,11 +37620,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public addChildGroupsToParentGroup_args setGroupId(java.lang.String groupId) {
+    public addChildGroupsToParentGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -35673,7 +37645,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -35702,6 +37675,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -35718,6 +37693,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -35736,8 +37712,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addChildGroupsToParentGroup_args)
         return this.equals((addChildGroupsToParentGroup_args)that);
       return false;
@@ -35806,7 +37780,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35816,7 +37790,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetChildIds()).compareTo(other.isSetChildIds());
+      lastComparison = java.lang.Boolean.compare(isSetChildIds(), other.isSetChildIds());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35826,7 +37800,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -35839,14 +37813,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -35914,6 +37892,7 @@
     }
 
     private static class addChildGroupsToParentGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addChildGroupsToParentGroup_argsStandardScheme getScheme() {
         return new addChildGroupsToParentGroup_argsStandardScheme();
       }
@@ -35921,6 +37900,7 @@
 
     private static class addChildGroupsToParentGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<addChildGroupsToParentGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -35944,7 +37924,7 @@
                 {
                   org.apache.thrift.protocol.TList _list72 = iprot.readListBegin();
                   struct.childIds = new java.util.ArrayList<java.lang.String>(_list72.size);
-                  java.lang.String _elem73;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem73;
                   for (int _i74 = 0; _i74 < _list72.size; ++_i74)
                   {
                     _elem73 = iprot.readString();
@@ -35976,6 +37956,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addChildGroupsToParentGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -36009,6 +37990,7 @@
     }
 
     private static class addChildGroupsToParentGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addChildGroupsToParentGroup_argsTupleScheme getScheme() {
         return new addChildGroupsToParentGroup_argsTupleScheme();
       }
@@ -36036,9 +38018,9 @@
         struct.domainId = iprot.readString();
         struct.setDomainIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list77 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list77 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.childIds = new java.util.ArrayList<java.lang.String>(_list77.size);
-          java.lang.String _elem78;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem78;
           for (int _i79 = 0; _i79 < _list77.size; ++_i79)
           {
             _elem78 = iprot.readString();
@@ -36056,6 +38038,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class addChildGroupsToParentGroup_result implements org.apache.thrift.TBase<addChildGroupsToParentGroup_result, addChildGroupsToParentGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<addChildGroupsToParentGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("addChildGroupsToParentGroup_result");
 
@@ -36066,7 +38049,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new addChildGroupsToParentGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -36084,6 +38067,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -36108,6 +38092,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -36120,10 +38105,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -36167,6 +38154,7 @@
       }
     }
 
+    @Override
     public addChildGroupsToParentGroup_result deepCopy() {
       return new addChildGroupsToParentGroup_result(this);
     }
@@ -36201,11 +38189,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public addChildGroupsToParentGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public addChildGroupsToParentGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -36225,7 +38214,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -36246,6 +38236,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -36259,6 +38251,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -36275,8 +38268,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof addChildGroupsToParentGroup_result)
         return this.equals((addChildGroupsToParentGroup_result)that);
       return false;
@@ -36330,7 +38321,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36340,7 +38331,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36353,10 +38344,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -36409,6 +38403,7 @@
     }
 
     private static class addChildGroupsToParentGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addChildGroupsToParentGroup_resultStandardScheme getScheme() {
         return new addChildGroupsToParentGroup_resultStandardScheme();
       }
@@ -36416,6 +38411,7 @@
 
     private static class addChildGroupsToParentGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<addChildGroupsToParentGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -36454,6 +38450,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, addChildGroupsToParentGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -36475,6 +38472,7 @@
     }
 
     private static class addChildGroupsToParentGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public addChildGroupsToParentGroup_resultTupleScheme getScheme() {
         return new addChildGroupsToParentGroup_resultTupleScheme();
       }
@@ -36522,6 +38520,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeChildGroupFromParentGroup_args implements org.apache.thrift.TBase<removeChildGroupFromParentGroup_args, removeChildGroupFromParentGroup_args._Fields>, java.io.Serializable, Cloneable, Comparable<removeChildGroupFromParentGroup_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeChildGroupFromParentGroup_args");
 
@@ -36532,9 +38531,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new removeChildGroupFromParentGroup_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeChildGroupFromParentGroup_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String childId; // required
-    public java.lang.String groupId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String childId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String groupId; // 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 {
@@ -36553,6 +38552,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -36579,6 +38579,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -36591,10 +38592,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -36643,6 +38646,7 @@
       }
     }
 
+    @Override
     public removeChildGroupFromParentGroup_args deepCopy() {
       return new removeChildGroupFromParentGroup_args(this);
     }
@@ -36654,11 +38658,12 @@
       this.groupId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public removeChildGroupFromParentGroup_args setDomainId(java.lang.String domainId) {
+    public removeChildGroupFromParentGroup_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -36678,11 +38683,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getChildId() {
       return this.childId;
     }
 
-    public removeChildGroupFromParentGroup_args setChildId(java.lang.String childId) {
+    public removeChildGroupFromParentGroup_args setChildId(@org.apache.thrift.annotation.Nullable java.lang.String childId) {
       this.childId = childId;
       return this;
     }
@@ -36702,11 +38708,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getGroupId() {
       return this.groupId;
     }
 
-    public removeChildGroupFromParentGroup_args setGroupId(java.lang.String groupId) {
+    public removeChildGroupFromParentGroup_args setGroupId(@org.apache.thrift.annotation.Nullable java.lang.String groupId) {
       this.groupId = groupId;
       return this;
     }
@@ -36726,7 +38733,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -36755,6 +38763,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -36771,6 +38781,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -36789,8 +38800,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeChildGroupFromParentGroup_args)
         return this.equals((removeChildGroupFromParentGroup_args)that);
       return false;
@@ -36859,7 +38868,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36869,7 +38878,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetChildId()).compareTo(other.isSetChildId());
+      lastComparison = java.lang.Boolean.compare(isSetChildId(), other.isSetChildId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36879,7 +38888,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupId()).compareTo(other.isSetGroupId());
+      lastComparison = java.lang.Boolean.compare(isSetGroupId(), other.isSetGroupId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -36892,14 +38901,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -36967,6 +38980,7 @@
     }
 
     private static class removeChildGroupFromParentGroup_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeChildGroupFromParentGroup_argsStandardScheme getScheme() {
         return new removeChildGroupFromParentGroup_argsStandardScheme();
       }
@@ -36974,6 +38988,7 @@
 
     private static class removeChildGroupFromParentGroup_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeChildGroupFromParentGroup_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -37019,6 +39034,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeChildGroupFromParentGroup_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -37045,6 +39061,7 @@
     }
 
     private static class removeChildGroupFromParentGroup_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeChildGroupFromParentGroup_argsTupleScheme getScheme() {
         return new removeChildGroupFromParentGroup_argsTupleScheme();
       }
@@ -37077,6 +39094,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class removeChildGroupFromParentGroup_result implements org.apache.thrift.TBase<removeChildGroupFromParentGroup_result, removeChildGroupFromParentGroup_result._Fields>, java.io.Serializable, Cloneable, Comparable<removeChildGroupFromParentGroup_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("removeChildGroupFromParentGroup_result");
 
@@ -37087,7 +39105,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new removeChildGroupFromParentGroup_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -37105,6 +39123,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -37129,6 +39148,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -37141,10 +39161,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -37188,6 +39210,7 @@
       }
     }
 
+    @Override
     public removeChildGroupFromParentGroup_result deepCopy() {
       return new removeChildGroupFromParentGroup_result(this);
     }
@@ -37222,11 +39245,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public removeChildGroupFromParentGroup_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public removeChildGroupFromParentGroup_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -37246,7 +39270,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -37267,6 +39292,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -37280,6 +39307,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -37296,8 +39324,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof removeChildGroupFromParentGroup_result)
         return this.equals((removeChildGroupFromParentGroup_result)that);
       return false;
@@ -37351,7 +39377,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37361,7 +39387,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37374,10 +39400,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -37430,6 +39459,7 @@
     }
 
     private static class removeChildGroupFromParentGroup_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeChildGroupFromParentGroup_resultStandardScheme getScheme() {
         return new removeChildGroupFromParentGroup_resultStandardScheme();
       }
@@ -37437,6 +39467,7 @@
 
     private static class removeChildGroupFromParentGroup_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<removeChildGroupFromParentGroup_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -37475,6 +39506,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, removeChildGroupFromParentGroup_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -37496,6 +39528,7 @@
     }
 
     private static class removeChildGroupFromParentGroup_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public removeChildGroupFromParentGroup_resultTupleScheme getScheme() {
         return new removeChildGroupFromParentGroup_resultTupleScheme();
       }
@@ -37543,6 +39576,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllMemberGroupsForUser_args implements org.apache.thrift.TBase<getAllMemberGroupsForUser_args, getAllMemberGroupsForUser_args._Fields>, java.io.Serializable, Cloneable, Comparable<getAllMemberGroupsForUser_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllMemberGroupsForUser_args");
 
@@ -37552,8 +39586,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllMemberGroupsForUser_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllMemberGroupsForUser_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // 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 {
@@ -37571,6 +39605,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -37595,6 +39630,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -37607,10 +39643,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -37652,6 +39690,7 @@
       }
     }
 
+    @Override
     public getAllMemberGroupsForUser_args deepCopy() {
       return new getAllMemberGroupsForUser_args(this);
     }
@@ -37662,11 +39701,12 @@
       this.userId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getAllMemberGroupsForUser_args setDomainId(java.lang.String domainId) {
+    public getAllMemberGroupsForUser_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -37686,11 +39726,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public getAllMemberGroupsForUser_args setUserId(java.lang.String userId) {
+    public getAllMemberGroupsForUser_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -37710,7 +39751,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -37731,6 +39773,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -37744,6 +39788,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -37760,8 +39805,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllMemberGroupsForUser_args)
         return this.equals((getAllMemberGroupsForUser_args)that);
       return false;
@@ -37817,7 +39860,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37827,7 +39870,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -37840,14 +39883,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -37904,6 +39951,7 @@
     }
 
     private static class getAllMemberGroupsForUser_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllMemberGroupsForUser_argsStandardScheme getScheme() {
         return new getAllMemberGroupsForUser_argsStandardScheme();
       }
@@ -37911,6 +39959,7 @@
 
     private static class getAllMemberGroupsForUser_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllMemberGroupsForUser_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -37948,6 +39997,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllMemberGroupsForUser_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -37969,6 +40019,7 @@
     }
 
     private static class getAllMemberGroupsForUser_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllMemberGroupsForUser_argsTupleScheme getScheme() {
         return new getAllMemberGroupsForUser_argsTupleScheme();
       }
@@ -37998,6 +40049,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getAllMemberGroupsForUser_result implements org.apache.thrift.TBase<getAllMemberGroupsForUser_result, getAllMemberGroupsForUser_result._Fields>, java.io.Serializable, Cloneable, Comparable<getAllMemberGroupsForUser_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getAllMemberGroupsForUser_result");
 
@@ -38007,8 +40059,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getAllMemberGroupsForUser_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getAllMemberGroupsForUser_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -38026,6 +40078,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -38050,6 +40103,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -38062,10 +40116,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -38112,6 +40168,7 @@
       }
     }
 
+    @Override
     public getAllMemberGroupsForUser_result deepCopy() {
       return new getAllMemberGroupsForUser_result(this);
     }
@@ -38126,6 +40183,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -38137,11 +40195,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
       return this.success;
     }
 
-    public getAllMemberGroupsForUser_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
+    public getAllMemberGroupsForUser_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
       this.success = success;
       return this;
     }
@@ -38161,11 +40220,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getAllMemberGroupsForUser_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getAllMemberGroupsForUser_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -38185,7 +40245,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -38206,6 +40267,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -38219,6 +40282,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -38235,8 +40299,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getAllMemberGroupsForUser_result)
         return this.equals((getAllMemberGroupsForUser_result)that);
       return false;
@@ -38292,7 +40354,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38302,7 +40364,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38315,10 +40377,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -38373,6 +40438,7 @@
     }
 
     private static class getAllMemberGroupsForUser_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllMemberGroupsForUser_resultStandardScheme getScheme() {
         return new getAllMemberGroupsForUser_resultStandardScheme();
       }
@@ -38380,6 +40446,7 @@
 
     private static class getAllMemberGroupsForUser_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getAllMemberGroupsForUser_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getAllMemberGroupsForUser_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -38395,7 +40462,7 @@
                 {
                   org.apache.thrift.protocol.TList _list80 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list80.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem81;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem81;
                   for (int _i82 = 0; _i82 < _list80.size; ++_i82)
                   {
                     _elem81 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -38429,6 +40496,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getAllMemberGroupsForUser_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -38457,6 +40525,7 @@
     }
 
     private static class getAllMemberGroupsForUser_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getAllMemberGroupsForUser_resultTupleScheme getScheme() {
         return new getAllMemberGroupsForUser_resultTupleScheme();
       }
@@ -38495,9 +40564,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list85 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list85 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list85.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem86;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem86;
             for (int _i87 = 0; _i87 < _list85.size; ++_i87)
             {
               _elem86 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -38520,6 +40589,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createEntityType_args implements org.apache.thrift.TBase<createEntityType_args, createEntityType_args._Fields>, java.io.Serializable, Cloneable, Comparable<createEntityType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createEntityType_args");
 
@@ -38528,7 +40598,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createEntityType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createEntityType_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.EntityType entityType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType entityType; // 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 {
@@ -38545,6 +40615,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // ENTITY_TYPE
@@ -38567,6 +40638,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -38579,10 +40651,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -38617,6 +40691,7 @@
       }
     }
 
+    @Override
     public createEntityType_args deepCopy() {
       return new createEntityType_args(this);
     }
@@ -38626,11 +40701,12 @@
       this.entityType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.EntityType getEntityType() {
       return this.entityType;
     }
 
-    public createEntityType_args setEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) {
+    public createEntityType_args setEntityType(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType entityType) {
       this.entityType = entityType;
       return this;
     }
@@ -38650,7 +40726,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case ENTITY_TYPE:
         if (value == null) {
@@ -38663,6 +40740,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case ENTITY_TYPE:
@@ -38673,6 +40752,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -38687,8 +40767,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createEntityType_args)
         return this.equals((createEntityType_args)that);
       return false;
@@ -38731,7 +40809,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityType()).compareTo(other.isSetEntityType());
+      lastComparison = java.lang.Boolean.compare(isSetEntityType(), other.isSetEntityType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -38744,14 +40822,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -38800,6 +40882,7 @@
     }
 
     private static class createEntityType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntityType_argsStandardScheme getScheme() {
         return new createEntityType_argsStandardScheme();
       }
@@ -38807,6 +40890,7 @@
 
     private static class createEntityType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createEntityType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createEntityType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -38837,6 +40921,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createEntityType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -38853,6 +40938,7 @@
     }
 
     private static class createEntityType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntityType_argsTupleScheme getScheme() {
         return new createEntityType_argsTupleScheme();
       }
@@ -38880,6 +40966,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createEntityType_result implements org.apache.thrift.TBase<createEntityType_result, createEntityType_result._Fields>, java.io.Serializable, Cloneable, Comparable<createEntityType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createEntityType_result");
 
@@ -38890,9 +40977,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createEntityType_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createEntityType_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // 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 {
@@ -38911,6 +40998,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -38937,6 +41025,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -38949,10 +41038,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39001,6 +41092,7 @@
       }
     }
 
+    @Override
     public createEntityType_result deepCopy() {
       return new createEntityType_result(this);
     }
@@ -39012,11 +41104,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createEntityType_result setSuccess(java.lang.String success) {
+    public createEntityType_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -39036,11 +41129,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public createEntityType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public createEntityType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -39060,11 +41154,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createEntityType_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
+    public createEntityType_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -39084,7 +41179,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -39113,6 +41209,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -39129,6 +41227,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39147,8 +41246,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createEntityType_result)
         return this.equals((createEntityType_result)that);
       return false;
@@ -39217,7 +41314,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39227,7 +41324,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39237,7 +41334,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39250,10 +41347,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -39316,6 +41416,7 @@
     }
 
     private static class createEntityType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntityType_resultStandardScheme getScheme() {
         return new createEntityType_resultStandardScheme();
       }
@@ -39323,6 +41424,7 @@
 
     private static class createEntityType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createEntityType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createEntityType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -39370,6 +41472,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createEntityType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -39396,6 +41499,7 @@
     }
 
     private static class createEntityType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntityType_resultTupleScheme getScheme() {
         return new createEntityType_resultTupleScheme();
       }
@@ -39454,6 +41558,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateEntityType_args implements org.apache.thrift.TBase<updateEntityType_args, updateEntityType_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateEntityType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateEntityType_args");
 
@@ -39462,7 +41567,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateEntityType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateEntityType_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.EntityType entityType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType entityType; // 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 {
@@ -39479,6 +41584,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // ENTITY_TYPE
@@ -39501,6 +41607,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39513,10 +41620,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39551,6 +41660,7 @@
       }
     }
 
+    @Override
     public updateEntityType_args deepCopy() {
       return new updateEntityType_args(this);
     }
@@ -39560,11 +41670,12 @@
       this.entityType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.EntityType getEntityType() {
       return this.entityType;
     }
 
-    public updateEntityType_args setEntityType(org.apache.airavata.sharing.registry.models.EntityType entityType) {
+    public updateEntityType_args setEntityType(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType entityType) {
       this.entityType = entityType;
       return this;
     }
@@ -39584,7 +41695,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case ENTITY_TYPE:
         if (value == null) {
@@ -39597,6 +41709,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case ENTITY_TYPE:
@@ -39607,6 +41721,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -39621,8 +41736,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateEntityType_args)
         return this.equals((updateEntityType_args)that);
       return false;
@@ -39665,7 +41778,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityType()).compareTo(other.isSetEntityType());
+      lastComparison = java.lang.Boolean.compare(isSetEntityType(), other.isSetEntityType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -39678,14 +41791,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -39734,6 +41851,7 @@
     }
 
     private static class updateEntityType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntityType_argsStandardScheme getScheme() {
         return new updateEntityType_argsStandardScheme();
       }
@@ -39741,6 +41859,7 @@
 
     private static class updateEntityType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateEntityType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateEntityType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -39771,6 +41890,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateEntityType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -39787,6 +41907,7 @@
     }
 
     private static class updateEntityType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntityType_argsTupleScheme getScheme() {
         return new updateEntityType_argsTupleScheme();
       }
@@ -39814,6 +41935,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateEntityType_result implements org.apache.thrift.TBase<updateEntityType_result, updateEntityType_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateEntityType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateEntityType_result");
 
@@ -39824,7 +41946,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateEntityType_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -39842,6 +41964,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -39866,6 +41989,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -39878,10 +42002,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -39925,6 +42051,7 @@
       }
     }
 
+    @Override
     public updateEntityType_result deepCopy() {
       return new updateEntityType_result(this);
     }
@@ -39959,11 +42086,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public updateEntityType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public updateEntityType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -39983,7 +42111,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -40004,6 +42133,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -40017,6 +42148,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -40033,8 +42165,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateEntityType_result)
         return this.equals((updateEntityType_result)that);
       return false;
@@ -40088,7 +42218,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40098,7 +42228,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40111,10 +42241,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -40167,6 +42300,7 @@
     }
 
     private static class updateEntityType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntityType_resultStandardScheme getScheme() {
         return new updateEntityType_resultStandardScheme();
       }
@@ -40174,6 +42308,7 @@
 
     private static class updateEntityType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateEntityType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateEntityType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40212,6 +42347,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateEntityType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40233,6 +42369,7 @@
     }
 
     private static class updateEntityType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntityType_resultTupleScheme getScheme() {
         return new updateEntityType_resultTupleScheme();
       }
@@ -40280,6 +42417,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isEntityTypeExists_args implements org.apache.thrift.TBase<isEntityTypeExists_args, isEntityTypeExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isEntityTypeExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isEntityTypeExists_args");
 
@@ -40289,8 +42427,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isEntityTypeExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isEntityTypeExists_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityTypeId; // 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 {
@@ -40308,6 +42446,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -40332,6 +42471,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40344,10 +42484,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -40389,6 +42531,7 @@
       }
     }
 
+    @Override
     public isEntityTypeExists_args deepCopy() {
       return new isEntityTypeExists_args(this);
     }
@@ -40399,11 +42542,12 @@
       this.entityTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public isEntityTypeExists_args setDomainId(java.lang.String domainId) {
+    public isEntityTypeExists_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -40423,11 +42567,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityTypeId() {
       return this.entityTypeId;
     }
 
-    public isEntityTypeExists_args setEntityTypeId(java.lang.String entityTypeId) {
+    public isEntityTypeExists_args setEntityTypeId(@org.apache.thrift.annotation.Nullable java.lang.String entityTypeId) {
       this.entityTypeId = entityTypeId;
       return this;
     }
@@ -40447,7 +42592,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -40468,6 +42614,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -40481,6 +42629,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -40497,8 +42646,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isEntityTypeExists_args)
         return this.equals((isEntityTypeExists_args)that);
       return false;
@@ -40554,7 +42701,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40564,7 +42711,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityTypeId()).compareTo(other.isSetEntityTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityTypeId(), other.isSetEntityTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -40577,14 +42724,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -40641,6 +42792,7 @@
     }
 
     private static class isEntityTypeExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityTypeExists_argsStandardScheme getScheme() {
         return new isEntityTypeExists_argsStandardScheme();
       }
@@ -40648,6 +42800,7 @@
 
     private static class isEntityTypeExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isEntityTypeExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isEntityTypeExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -40685,6 +42838,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isEntityTypeExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -40706,6 +42860,7 @@
     }
 
     private static class isEntityTypeExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityTypeExists_argsTupleScheme getScheme() {
         return new isEntityTypeExists_argsTupleScheme();
       }
@@ -40735,6 +42890,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isEntityTypeExists_result implements org.apache.thrift.TBase<isEntityTypeExists_result, isEntityTypeExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isEntityTypeExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isEntityTypeExists_result");
 
@@ -40745,7 +42901,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isEntityTypeExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -40763,6 +42919,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -40787,6 +42944,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -40799,10 +42957,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -40846,6 +43006,7 @@
       }
     }
 
+    @Override
     public isEntityTypeExists_result deepCopy() {
       return new isEntityTypeExists_result(this);
     }
@@ -40880,11 +43041,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public isEntityTypeExists_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public isEntityTypeExists_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -40904,7 +43066,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -40925,6 +43088,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -40938,6 +43103,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -40954,8 +43120,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isEntityTypeExists_result)
         return this.equals((isEntityTypeExists_result)that);
       return false;
@@ -41009,7 +43173,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41019,7 +43183,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41032,10 +43196,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -41088,6 +43255,7 @@
     }
 
     private static class isEntityTypeExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityTypeExists_resultStandardScheme getScheme() {
         return new isEntityTypeExists_resultStandardScheme();
       }
@@ -41095,6 +43263,7 @@
 
     private static class isEntityTypeExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isEntityTypeExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isEntityTypeExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -41133,6 +43302,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isEntityTypeExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -41154,6 +43324,7 @@
     }
 
     private static class isEntityTypeExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityTypeExists_resultTupleScheme getScheme() {
         return new isEntityTypeExists_resultTupleScheme();
       }
@@ -41201,6 +43372,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteEntityType_args implements org.apache.thrift.TBase<deleteEntityType_args, deleteEntityType_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteEntityType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteEntityType_args");
 
@@ -41210,8 +43382,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteEntityType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteEntityType_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityTypeId; // 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 {
@@ -41229,6 +43401,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -41253,6 +43426,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41265,10 +43439,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41310,6 +43486,7 @@
       }
     }
 
+    @Override
     public deleteEntityType_args deepCopy() {
       return new deleteEntityType_args(this);
     }
@@ -41320,11 +43497,12 @@
       this.entityTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public deleteEntityType_args setDomainId(java.lang.String domainId) {
+    public deleteEntityType_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -41344,11 +43522,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityTypeId() {
       return this.entityTypeId;
     }
 
-    public deleteEntityType_args setEntityTypeId(java.lang.String entityTypeId) {
+    public deleteEntityType_args setEntityTypeId(@org.apache.thrift.annotation.Nullable java.lang.String entityTypeId) {
       this.entityTypeId = entityTypeId;
       return this;
     }
@@ -41368,7 +43547,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -41389,6 +43569,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -41402,6 +43584,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -41418,8 +43601,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteEntityType_args)
         return this.equals((deleteEntityType_args)that);
       return false;
@@ -41475,7 +43656,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41485,7 +43666,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityTypeId()).compareTo(other.isSetEntityTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityTypeId(), other.isSetEntityTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41498,14 +43679,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -41562,6 +43747,7 @@
     }
 
     private static class deleteEntityType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntityType_argsStandardScheme getScheme() {
         return new deleteEntityType_argsStandardScheme();
       }
@@ -41569,6 +43755,7 @@
 
     private static class deleteEntityType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteEntityType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteEntityType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -41606,6 +43793,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteEntityType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -41627,6 +43815,7 @@
     }
 
     private static class deleteEntityType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntityType_argsTupleScheme getScheme() {
         return new deleteEntityType_argsTupleScheme();
       }
@@ -41656,6 +43845,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteEntityType_result implements org.apache.thrift.TBase<deleteEntityType_result, deleteEntityType_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteEntityType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteEntityType_result");
 
@@ -41666,7 +43856,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteEntityType_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -41684,6 +43874,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -41708,6 +43899,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -41720,10 +43912,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -41767,6 +43961,7 @@
       }
     }
 
+    @Override
     public deleteEntityType_result deepCopy() {
       return new deleteEntityType_result(this);
     }
@@ -41801,11 +43996,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public deleteEntityType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public deleteEntityType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -41825,7 +44021,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -41846,6 +44043,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -41859,6 +44058,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -41875,8 +44075,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteEntityType_result)
         return this.equals((deleteEntityType_result)that);
       return false;
@@ -41930,7 +44128,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41940,7 +44138,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -41953,10 +44151,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -42009,6 +44210,7 @@
     }
 
     private static class deleteEntityType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntityType_resultStandardScheme getScheme() {
         return new deleteEntityType_resultStandardScheme();
       }
@@ -42016,6 +44218,7 @@
 
     private static class deleteEntityType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteEntityType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteEntityType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42054,6 +44257,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteEntityType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -42075,6 +44279,7 @@
     }
 
     private static class deleteEntityType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntityType_resultTupleScheme getScheme() {
         return new deleteEntityType_resultTupleScheme();
       }
@@ -42122,6 +44327,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getEntityType_args implements org.apache.thrift.TBase<getEntityType_args, getEntityType_args._Fields>, java.io.Serializable, Cloneable, Comparable<getEntityType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntityType_args");
 
@@ -42131,8 +44337,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getEntityType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getEntityType_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityTypeId; // 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 {
@@ -42150,6 +44356,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -42174,6 +44381,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -42186,10 +44394,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -42231,6 +44441,7 @@
       }
     }
 
+    @Override
     public getEntityType_args deepCopy() {
       return new getEntityType_args(this);
     }
@@ -42241,11 +44452,12 @@
       this.entityTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getEntityType_args setDomainId(java.lang.String domainId) {
+    public getEntityType_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -42265,11 +44477,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityTypeId() {
       return this.entityTypeId;
     }
 
-    public getEntityType_args setEntityTypeId(java.lang.String entityTypeId) {
+    public getEntityType_args setEntityTypeId(@org.apache.thrift.annotation.Nullable java.lang.String entityTypeId) {
       this.entityTypeId = entityTypeId;
       return this;
     }
@@ -42289,7 +44502,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -42310,6 +44524,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -42323,6 +44539,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -42339,8 +44556,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getEntityType_args)
         return this.equals((getEntityType_args)that);
       return false;
@@ -42396,7 +44611,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42406,7 +44621,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityTypeId()).compareTo(other.isSetEntityTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityTypeId(), other.isSetEntityTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42419,14 +44634,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -42483,6 +44702,7 @@
     }
 
     private static class getEntityType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityType_argsStandardScheme getScheme() {
         return new getEntityType_argsStandardScheme();
       }
@@ -42490,6 +44710,7 @@
 
     private static class getEntityType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getEntityType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getEntityType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42527,6 +44748,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getEntityType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -42548,6 +44770,7 @@
     }
 
     private static class getEntityType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityType_argsTupleScheme getScheme() {
         return new getEntityType_argsTupleScheme();
       }
@@ -42577,6 +44800,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getEntityType_result implements org.apache.thrift.TBase<getEntityType_result, getEntityType_result._Fields>, java.io.Serializable, Cloneable, Comparable<getEntityType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntityType_result");
 
@@ -42586,8 +44810,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getEntityType_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getEntityType_resultTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.EntityType success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -42605,6 +44829,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -42629,6 +44854,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -42641,10 +44867,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -42686,6 +44914,7 @@
       }
     }
 
+    @Override
     public getEntityType_result deepCopy() {
       return new getEntityType_result(this);
     }
@@ -42696,11 +44925,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.EntityType getSuccess() {
       return this.success;
     }
 
-    public getEntityType_result setSuccess(org.apache.airavata.sharing.registry.models.EntityType success) {
+    public getEntityType_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType success) {
       this.success = success;
       return this;
     }
@@ -42720,11 +44950,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getEntityType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getEntityType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -42744,7 +44975,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -42765,6 +44997,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -42778,6 +45012,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -42794,8 +45029,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getEntityType_result)
         return this.equals((getEntityType_result)that);
       return false;
@@ -42851,7 +45084,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42861,7 +45094,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -42874,10 +45107,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -42935,6 +45171,7 @@
     }
 
     private static class getEntityType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityType_resultStandardScheme getScheme() {
         return new getEntityType_resultStandardScheme();
       }
@@ -42942,6 +45179,7 @@
 
     private static class getEntityType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getEntityType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getEntityType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -42981,6 +45219,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getEntityType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -43002,6 +45241,7 @@
     }
 
     private static class getEntityType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityType_resultTupleScheme getScheme() {
         return new getEntityType_resultTupleScheme();
       }
@@ -43050,6 +45290,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getEntityTypes_args implements org.apache.thrift.TBase<getEntityTypes_args, getEntityTypes_args._Fields>, java.io.Serializable, Cloneable, Comparable<getEntityTypes_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntityTypes_args");
 
@@ -43060,7 +45301,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getEntityTypes_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getEntityTypes_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
     public int offset; // required
     public int limit; // required
 
@@ -43081,6 +45322,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -43107,6 +45349,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43119,10 +45362,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -43173,6 +45418,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getEntityTypes_args deepCopy() {
       return new getEntityTypes_args(this);
     }
@@ -43186,11 +45432,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getEntityTypes_args setDomainId(java.lang.String domainId) {
+    public getEntityTypes_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -43256,7 +45503,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -43285,6 +45533,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -43301,6 +45551,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -43319,8 +45570,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getEntityTypes_args)
         return this.equals((getEntityTypes_args)that);
       return false;
@@ -43385,7 +45634,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43395,7 +45644,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43405,7 +45654,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43418,14 +45667,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -43483,6 +45736,7 @@
     }
 
     private static class getEntityTypes_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityTypes_argsStandardScheme getScheme() {
         return new getEntityTypes_argsStandardScheme();
       }
@@ -43490,6 +45744,7 @@
 
     private static class getEntityTypes_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getEntityTypes_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getEntityTypes_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -43541,6 +45796,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getEntityTypes_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -43563,6 +45819,7 @@
     }
 
     private static class getEntityTypes_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityTypes_argsTupleScheme getScheme() {
         return new getEntityTypes_argsTupleScheme();
       }
@@ -43595,6 +45852,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getEntityTypes_result implements org.apache.thrift.TBase<getEntityTypes_result, getEntityTypes_result._Fields>, java.io.Serializable, Cloneable, Comparable<getEntityTypes_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntityTypes_result");
 
@@ -43604,8 +45862,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getEntityTypes_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getEntityTypes_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.EntityType> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.EntityType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -43623,6 +45881,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -43647,6 +45906,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -43659,10 +45919,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -43709,6 +45971,7 @@
       }
     }
 
+    @Override
     public getEntityTypes_result deepCopy() {
       return new getEntityTypes_result(this);
     }
@@ -43723,6 +45986,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.EntityType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -43734,11 +45998,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.EntityType> getSuccess() {
       return this.success;
     }
 
-    public getEntityTypes_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.EntityType> success) {
+    public getEntityTypes_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.EntityType> success) {
       this.success = success;
       return this;
     }
@@ -43758,11 +46023,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getEntityTypes_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getEntityTypes_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -43782,7 +46048,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -43803,6 +46070,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -43816,6 +46085,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -43832,8 +46102,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getEntityTypes_result)
         return this.equals((getEntityTypes_result)that);
       return false;
@@ -43889,7 +46157,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43899,7 +46167,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -43912,10 +46180,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -43970,6 +46241,7 @@
     }
 
     private static class getEntityTypes_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityTypes_resultStandardScheme getScheme() {
         return new getEntityTypes_resultStandardScheme();
       }
@@ -43977,6 +46249,7 @@
 
     private static class getEntityTypes_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getEntityTypes_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getEntityTypes_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -43992,7 +46265,7 @@
                 {
                   org.apache.thrift.protocol.TList _list88 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.EntityType>(_list88.size);
-                  org.apache.airavata.sharing.registry.models.EntityType _elem89;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType _elem89;
                   for (int _i90 = 0; _i90 < _list88.size; ++_i90)
                   {
                     _elem89 = new org.apache.airavata.sharing.registry.models.EntityType();
@@ -44026,6 +46299,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getEntityTypes_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44054,6 +46328,7 @@
     }
 
     private static class getEntityTypes_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntityTypes_resultTupleScheme getScheme() {
         return new getEntityTypes_resultTupleScheme();
       }
@@ -44092,9 +46367,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list93 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list93 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.EntityType>(_list93.size);
-            org.apache.airavata.sharing.registry.models.EntityType _elem94;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.EntityType _elem94;
             for (int _i95 = 0; _i95 < _list93.size; ++_i95)
             {
               _elem94 = new org.apache.airavata.sharing.registry.models.EntityType();
@@ -44117,6 +46392,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createEntity_args implements org.apache.thrift.TBase<createEntity_args, createEntity_args._Fields>, java.io.Serializable, Cloneable, Comparable<createEntity_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createEntity_args");
 
@@ -44125,7 +46401,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createEntity_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createEntity_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.Entity entity; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity entity; // 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 {
@@ -44142,6 +46418,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // ENTITY
@@ -44164,6 +46441,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44176,10 +46454,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -44214,6 +46494,7 @@
       }
     }
 
+    @Override
     public createEntity_args deepCopy() {
       return new createEntity_args(this);
     }
@@ -44223,11 +46504,12 @@
       this.entity = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.Entity getEntity() {
       return this.entity;
     }
 
-    public createEntity_args setEntity(org.apache.airavata.sharing.registry.models.Entity entity) {
+    public createEntity_args setEntity(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity entity) {
       this.entity = entity;
       return this;
     }
@@ -44247,7 +46529,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case ENTITY:
         if (value == null) {
@@ -44260,6 +46543,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case ENTITY:
@@ -44270,6 +46555,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -44284,8 +46570,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createEntity_args)
         return this.equals((createEntity_args)that);
       return false;
@@ -44328,7 +46612,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetEntity()).compareTo(other.isSetEntity());
+      lastComparison = java.lang.Boolean.compare(isSetEntity(), other.isSetEntity());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44341,14 +46625,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -44397,6 +46685,7 @@
     }
 
     private static class createEntity_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntity_argsStandardScheme getScheme() {
         return new createEntity_argsStandardScheme();
       }
@@ -44404,6 +46693,7 @@
 
     private static class createEntity_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createEntity_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createEntity_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44434,6 +46724,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createEntity_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44450,6 +46741,7 @@
     }
 
     private static class createEntity_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntity_argsTupleScheme getScheme() {
         return new createEntity_argsTupleScheme();
       }
@@ -44477,6 +46769,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createEntity_result implements org.apache.thrift.TBase<createEntity_result, createEntity_result._Fields>, java.io.Serializable, Cloneable, Comparable<createEntity_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createEntity_result");
 
@@ -44486,8 +46779,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createEntity_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createEntity_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -44505,6 +46798,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -44529,6 +46823,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -44541,10 +46836,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -44586,6 +46883,7 @@
       }
     }
 
+    @Override
     public createEntity_result deepCopy() {
       return new createEntity_result(this);
     }
@@ -44596,11 +46894,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createEntity_result setSuccess(java.lang.String success) {
+    public createEntity_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -44620,11 +46919,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public createEntity_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public createEntity_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -44644,7 +46944,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -44665,6 +46966,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -44678,6 +46981,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -44694,8 +46998,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createEntity_result)
         return this.equals((createEntity_result)that);
       return false;
@@ -44751,7 +47053,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44761,7 +47063,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -44774,10 +47076,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -44832,6 +47137,7 @@
     }
 
     private static class createEntity_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntity_resultStandardScheme getScheme() {
         return new createEntity_resultStandardScheme();
       }
@@ -44839,6 +47145,7 @@
 
     private static class createEntity_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createEntity_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createEntity_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -44877,6 +47184,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createEntity_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -44898,6 +47206,7 @@
     }
 
     private static class createEntity_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createEntity_resultTupleScheme getScheme() {
         return new createEntity_resultTupleScheme();
       }
@@ -44945,6 +47254,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateEntity_args implements org.apache.thrift.TBase<updateEntity_args, updateEntity_args._Fields>, java.io.Serializable, Cloneable, Comparable<updateEntity_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateEntity_args");
 
@@ -44953,7 +47263,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updateEntity_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateEntity_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.Entity entity; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity entity; // 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 {
@@ -44970,6 +47280,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // ENTITY
@@ -44992,6 +47303,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45004,10 +47316,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -45042,6 +47356,7 @@
       }
     }
 
+    @Override
     public updateEntity_args deepCopy() {
       return new updateEntity_args(this);
     }
@@ -45051,11 +47366,12 @@
       this.entity = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.Entity getEntity() {
       return this.entity;
     }
 
-    public updateEntity_args setEntity(org.apache.airavata.sharing.registry.models.Entity entity) {
+    public updateEntity_args setEntity(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity entity) {
       this.entity = entity;
       return this;
     }
@@ -45075,7 +47391,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case ENTITY:
         if (value == null) {
@@ -45088,6 +47405,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case ENTITY:
@@ -45098,6 +47417,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45112,8 +47432,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateEntity_args)
         return this.equals((updateEntity_args)that);
       return false;
@@ -45156,7 +47474,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetEntity()).compareTo(other.isSetEntity());
+      lastComparison = java.lang.Boolean.compare(isSetEntity(), other.isSetEntity());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45169,14 +47487,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -45225,6 +47547,7 @@
     }
 
     private static class updateEntity_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntity_argsStandardScheme getScheme() {
         return new updateEntity_argsStandardScheme();
       }
@@ -45232,6 +47555,7 @@
 
     private static class updateEntity_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateEntity_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateEntity_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -45262,6 +47586,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateEntity_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -45278,6 +47603,7 @@
     }
 
     private static class updateEntity_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntity_argsTupleScheme getScheme() {
         return new updateEntity_argsTupleScheme();
       }
@@ -45305,6 +47631,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updateEntity_result implements org.apache.thrift.TBase<updateEntity_result, updateEntity_result._Fields>, java.io.Serializable, Cloneable, Comparable<updateEntity_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updateEntity_result");
 
@@ -45315,7 +47642,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updateEntity_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -45333,6 +47660,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -45357,6 +47685,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45369,10 +47698,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -45416,6 +47747,7 @@
       }
     }
 
+    @Override
     public updateEntity_result deepCopy() {
       return new updateEntity_result(this);
     }
@@ -45450,11 +47782,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public updateEntity_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public updateEntity_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -45474,7 +47807,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -45495,6 +47829,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -45508,6 +47844,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45524,8 +47861,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updateEntity_result)
         return this.equals((updateEntity_result)that);
       return false;
@@ -45579,7 +47914,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45589,7 +47924,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -45602,10 +47937,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -45658,6 +47996,7 @@
     }
 
     private static class updateEntity_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntity_resultStandardScheme getScheme() {
         return new updateEntity_resultStandardScheme();
       }
@@ -45665,6 +48004,7 @@
 
     private static class updateEntity_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updateEntity_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updateEntity_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -45703,6 +48043,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updateEntity_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -45724,6 +48065,7 @@
     }
 
     private static class updateEntity_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updateEntity_resultTupleScheme getScheme() {
         return new updateEntity_resultTupleScheme();
       }
@@ -45771,6 +48113,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isEntityExists_args implements org.apache.thrift.TBase<isEntityExists_args, isEntityExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isEntityExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isEntityExists_args");
 
@@ -45780,8 +48123,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isEntityExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isEntityExists_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // 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 {
@@ -45799,6 +48142,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -45823,6 +48167,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -45835,10 +48180,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -45880,6 +48227,7 @@
       }
     }
 
+    @Override
     public isEntityExists_args deepCopy() {
       return new isEntityExists_args(this);
     }
@@ -45890,11 +48238,12 @@
       this.entityId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public isEntityExists_args setDomainId(java.lang.String domainId) {
+    public isEntityExists_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -45914,11 +48263,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public isEntityExists_args setEntityId(java.lang.String entityId) {
+    public isEntityExists_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -45938,7 +48288,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -45959,6 +48310,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -45972,6 +48325,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -45988,8 +48342,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isEntityExists_args)
         return this.equals((isEntityExists_args)that);
       return false;
@@ -46045,7 +48397,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46055,7 +48407,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46068,14 +48420,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -46132,6 +48488,7 @@
     }
 
     private static class isEntityExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityExists_argsStandardScheme getScheme() {
         return new isEntityExists_argsStandardScheme();
       }
@@ -46139,6 +48496,7 @@
 
     private static class isEntityExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isEntityExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isEntityExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -46176,6 +48534,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isEntityExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -46197,6 +48556,7 @@
     }
 
     private static class isEntityExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityExists_argsTupleScheme getScheme() {
         return new isEntityExists_argsTupleScheme();
       }
@@ -46226,6 +48586,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isEntityExists_result implements org.apache.thrift.TBase<isEntityExists_result, isEntityExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isEntityExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isEntityExists_result");
 
@@ -46236,7 +48597,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isEntityExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -46254,6 +48615,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -46278,6 +48640,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46290,10 +48653,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46337,6 +48702,7 @@
       }
     }
 
+    @Override
     public isEntityExists_result deepCopy() {
       return new isEntityExists_result(this);
     }
@@ -46371,11 +48737,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public isEntityExists_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public isEntityExists_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -46395,7 +48762,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -46416,6 +48784,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -46429,6 +48799,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46445,8 +48816,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isEntityExists_result)
         return this.equals((isEntityExists_result)that);
       return false;
@@ -46500,7 +48869,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46510,7 +48879,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46523,10 +48892,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -46579,6 +48951,7 @@
     }
 
     private static class isEntityExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityExists_resultStandardScheme getScheme() {
         return new isEntityExists_resultStandardScheme();
       }
@@ -46586,6 +48959,7 @@
 
     private static class isEntityExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isEntityExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isEntityExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -46624,6 +48998,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isEntityExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -46645,6 +49020,7 @@
     }
 
     private static class isEntityExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isEntityExists_resultTupleScheme getScheme() {
         return new isEntityExists_resultTupleScheme();
       }
@@ -46692,6 +49068,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteEntity_args implements org.apache.thrift.TBase<deleteEntity_args, deleteEntity_args._Fields>, java.io.Serializable, Cloneable, Comparable<deleteEntity_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteEntity_args");
 
@@ -46701,8 +49078,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deleteEntity_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteEntity_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // 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 {
@@ -46720,6 +49097,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -46744,6 +49122,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -46756,10 +49135,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -46801,6 +49182,7 @@
       }
     }
 
+    @Override
     public deleteEntity_args deepCopy() {
       return new deleteEntity_args(this);
     }
@@ -46811,11 +49193,12 @@
       this.entityId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public deleteEntity_args setDomainId(java.lang.String domainId) {
+    public deleteEntity_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -46835,11 +49218,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public deleteEntity_args setEntityId(java.lang.String entityId) {
+    public deleteEntity_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -46859,7 +49243,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -46880,6 +49265,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -46893,6 +49280,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -46909,8 +49297,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteEntity_args)
         return this.equals((deleteEntity_args)that);
       return false;
@@ -46966,7 +49352,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46976,7 +49362,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -46989,14 +49375,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -47053,6 +49443,7 @@
     }
 
     private static class deleteEntity_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntity_argsStandardScheme getScheme() {
         return new deleteEntity_argsStandardScheme();
       }
@@ -47060,6 +49451,7 @@
 
     private static class deleteEntity_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteEntity_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteEntity_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -47097,6 +49489,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteEntity_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -47118,6 +49511,7 @@
     }
 
     private static class deleteEntity_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntity_argsTupleScheme getScheme() {
         return new deleteEntity_argsTupleScheme();
       }
@@ -47147,6 +49541,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deleteEntity_result implements org.apache.thrift.TBase<deleteEntity_result, deleteEntity_result._Fields>, java.io.Serializable, Cloneable, Comparable<deleteEntity_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deleteEntity_result");
 
@@ -47157,7 +49552,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deleteEntity_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -47175,6 +49570,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -47199,6 +49595,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -47211,10 +49608,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -47258,6 +49657,7 @@
       }
     }
 
+    @Override
     public deleteEntity_result deepCopy() {
       return new deleteEntity_result(this);
     }
@@ -47292,11 +49692,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public deleteEntity_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public deleteEntity_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -47316,7 +49717,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -47337,6 +49739,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -47350,6 +49754,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -47366,8 +49771,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deleteEntity_result)
         return this.equals((deleteEntity_result)that);
       return false;
@@ -47421,7 +49824,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47431,7 +49834,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47444,10 +49847,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -47500,6 +49906,7 @@
     }
 
     private static class deleteEntity_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntity_resultStandardScheme getScheme() {
         return new deleteEntity_resultStandardScheme();
       }
@@ -47507,6 +49914,7 @@
 
     private static class deleteEntity_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deleteEntity_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deleteEntity_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -47545,6 +49953,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deleteEntity_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -47566,6 +49975,7 @@
     }
 
     private static class deleteEntity_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deleteEntity_resultTupleScheme getScheme() {
         return new deleteEntity_resultTupleScheme();
       }
@@ -47613,6 +50023,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getEntity_args implements org.apache.thrift.TBase<getEntity_args, getEntity_args._Fields>, java.io.Serializable, Cloneable, Comparable<getEntity_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntity_args");
 
@@ -47622,8 +50033,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getEntity_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getEntity_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // 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 {
@@ -47641,6 +50052,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -47665,6 +50077,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -47677,10 +50090,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -47722,6 +50137,7 @@
       }
     }
 
+    @Override
     public getEntity_args deepCopy() {
       return new getEntity_args(this);
     }
@@ -47732,11 +50148,12 @@
       this.entityId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getEntity_args setDomainId(java.lang.String domainId) {
+    public getEntity_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -47756,11 +50173,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public getEntity_args setEntityId(java.lang.String entityId) {
+    public getEntity_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -47780,7 +50198,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -47801,6 +50220,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -47814,6 +50235,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -47830,8 +50252,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getEntity_args)
         return this.equals((getEntity_args)that);
       return false;
@@ -47887,7 +50307,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47897,7 +50317,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -47910,14 +50330,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -47974,6 +50398,7 @@
     }
 
     private static class getEntity_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntity_argsStandardScheme getScheme() {
         return new getEntity_argsStandardScheme();
       }
@@ -47981,6 +50406,7 @@
 
     private static class getEntity_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getEntity_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getEntity_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -48018,6 +50444,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getEntity_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -48039,6 +50466,7 @@
     }
 
     private static class getEntity_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntity_argsTupleScheme getScheme() {
         return new getEntity_argsTupleScheme();
       }
@@ -48068,6 +50496,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getEntity_result implements org.apache.thrift.TBase<getEntity_result, getEntity_result._Fields>, java.io.Serializable, Cloneable, Comparable<getEntity_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getEntity_result");
 
@@ -48077,8 +50506,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getEntity_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getEntity_resultTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.Entity success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -48096,6 +50525,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -48120,6 +50550,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48132,10 +50563,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -48177,6 +50610,7 @@
       }
     }
 
+    @Override
     public getEntity_result deepCopy() {
       return new getEntity_result(this);
     }
@@ -48187,11 +50621,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.Entity getSuccess() {
       return this.success;
     }
 
-    public getEntity_result setSuccess(org.apache.airavata.sharing.registry.models.Entity success) {
+    public getEntity_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity success) {
       this.success = success;
       return this;
     }
@@ -48211,11 +50646,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getEntity_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getEntity_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -48235,7 +50671,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -48256,6 +50693,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -48269,6 +50708,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -48285,8 +50725,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getEntity_result)
         return this.equals((getEntity_result)that);
       return false;
@@ -48342,7 +50780,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48352,7 +50790,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -48365,10 +50803,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -48426,6 +50867,7 @@
     }
 
     private static class getEntity_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntity_resultStandardScheme getScheme() {
         return new getEntity_resultStandardScheme();
       }
@@ -48433,6 +50875,7 @@
 
     private static class getEntity_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getEntity_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getEntity_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -48472,6 +50915,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getEntity_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -48493,6 +50937,7 @@
     }
 
     private static class getEntity_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getEntity_resultTupleScheme getScheme() {
         return new getEntity_resultTupleScheme();
       }
@@ -48541,6 +50986,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchEntities_args implements org.apache.thrift.TBase<searchEntities_args, searchEntities_args._Fields>, java.io.Serializable, Cloneable, Comparable<searchEntities_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchEntities_args");
 
@@ -48553,9 +50999,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchEntities_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchEntities_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
-    public java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters; // required
     public int offset; // required
     public int limit; // required
 
@@ -48578,6 +51024,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -48608,6 +51055,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -48620,10 +51068,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -48693,6 +51143,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public searchEntities_args deepCopy() {
       return new searchEntities_args(this);
     }
@@ -48708,11 +51159,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public searchEntities_args setDomainId(java.lang.String domainId) {
+    public searchEntities_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -48732,11 +51184,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public searchEntities_args setUserId(java.lang.String userId) {
+    public searchEntities_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -48760,6 +51213,7 @@
       return (this.filters == null) ? 0 : this.filters.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.SearchCriteria> getFiltersIterator() {
       return (this.filters == null) ? null : this.filters.iterator();
     }
@@ -48771,11 +51225,12 @@
       this.filters.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> getFilters() {
       return this.filters;
     }
 
-    public searchEntities_args setFilters(java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters) {
+    public searchEntities_args setFilters(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.SearchCriteria> filters) {
       this.filters = filters;
       return this;
     }
@@ -48841,7 +51296,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -48886,6 +51342,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -48908,6 +51366,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -48930,8 +51389,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchEntities_args)
         return this.equals((searchEntities_args)that);
       return false;
@@ -49022,7 +51479,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49032,7 +51489,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49042,7 +51499,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetFilters()).compareTo(other.isSetFilters());
+      lastComparison = java.lang.Boolean.compare(isSetFilters(), other.isSetFilters());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49052,7 +51509,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49062,7 +51519,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49075,14 +51532,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -49162,6 +51623,7 @@
     }
 
     private static class searchEntities_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchEntities_argsStandardScheme getScheme() {
         return new searchEntities_argsStandardScheme();
       }
@@ -49169,6 +51631,7 @@
 
     private static class searchEntities_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchEntities_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchEntities_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -49200,7 +51663,7 @@
                 {
                   org.apache.thrift.protocol.TList _list96 = iprot.readListBegin();
                   struct.filters = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list96.size);
-                  org.apache.airavata.sharing.registry.models.SearchCriteria _elem97;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SearchCriteria _elem97;
                   for (int _i98 = 0; _i98 < _list96.size; ++_i98)
                   {
                     _elem97 = new org.apache.airavata.sharing.registry.models.SearchCriteria();
@@ -49247,6 +51710,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchEntities_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -49286,6 +51750,7 @@
     }
 
     private static class searchEntities_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchEntities_argsTupleScheme getScheme() {
         return new searchEntities_argsTupleScheme();
       }
@@ -49317,9 +51782,9 @@
         struct.userId = iprot.readString();
         struct.setUserIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list101 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+          org.apache.thrift.protocol.TList _list101 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
           struct.filters = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.SearchCriteria>(_list101.size);
-          org.apache.airavata.sharing.registry.models.SearchCriteria _elem102;
+          @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SearchCriteria _elem102;
           for (int _i103 = 0; _i103 < _list101.size; ++_i103)
           {
             _elem102 = new org.apache.airavata.sharing.registry.models.SearchCriteria();
@@ -49340,6 +51805,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class searchEntities_result implements org.apache.thrift.TBase<searchEntities_result, searchEntities_result._Fields>, java.io.Serializable, Cloneable, Comparable<searchEntities_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("searchEntities_result");
 
@@ -49349,8 +51815,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new searchEntities_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new searchEntities_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.Entity> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.Entity> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -49368,6 +51834,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -49392,6 +51859,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49404,10 +51872,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -49454,6 +51924,7 @@
       }
     }
 
+    @Override
     public searchEntities_result deepCopy() {
       return new searchEntities_result(this);
     }
@@ -49468,6 +51939,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.Entity> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -49479,11 +51951,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.Entity> getSuccess() {
       return this.success;
     }
 
-    public searchEntities_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.Entity> success) {
+    public searchEntities_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.Entity> success) {
       this.success = success;
       return this;
     }
@@ -49503,11 +51976,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public searchEntities_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public searchEntities_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -49527,7 +52001,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -49548,6 +52023,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -49561,6 +52038,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -49577,8 +52055,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof searchEntities_result)
         return this.equals((searchEntities_result)that);
       return false;
@@ -49634,7 +52110,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49644,7 +52120,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -49657,10 +52133,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -49715,6 +52194,7 @@
     }
 
     private static class searchEntities_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchEntities_resultStandardScheme getScheme() {
         return new searchEntities_resultStandardScheme();
       }
@@ -49722,6 +52202,7 @@
 
     private static class searchEntities_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<searchEntities_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, searchEntities_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -49737,7 +52218,7 @@
                 {
                   org.apache.thrift.protocol.TList _list104 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Entity>(_list104.size);
-                  org.apache.airavata.sharing.registry.models.Entity _elem105;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity _elem105;
                   for (int _i106 = 0; _i106 < _list104.size; ++_i106)
                   {
                     _elem105 = new org.apache.airavata.sharing.registry.models.Entity();
@@ -49771,6 +52252,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, searchEntities_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -49799,6 +52281,7 @@
     }
 
     private static class searchEntities_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public searchEntities_resultTupleScheme getScheme() {
         return new searchEntities_resultTupleScheme();
       }
@@ -49837,9 +52320,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list109 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list109 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.Entity>(_list109.size);
-            org.apache.airavata.sharing.registry.models.Entity _elem110;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.Entity _elem110;
             for (int _i111 = 0; _i111 < _list109.size; ++_i111)
             {
               _elem110 = new org.apache.airavata.sharing.registry.models.Entity();
@@ -49862,6 +52345,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfSharedUsers_args implements org.apache.thrift.TBase<getListOfSharedUsers_args, getListOfSharedUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfSharedUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfSharedUsers_args");
 
@@ -49872,9 +52356,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfSharedUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfSharedUsers_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -49893,6 +52377,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -49919,6 +52404,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -49931,10 +52417,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -49983,6 +52471,7 @@
       }
     }
 
+    @Override
     public getListOfSharedUsers_args deepCopy() {
       return new getListOfSharedUsers_args(this);
     }
@@ -49994,11 +52483,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getListOfSharedUsers_args setDomainId(java.lang.String domainId) {
+    public getListOfSharedUsers_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -50018,11 +52508,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public getListOfSharedUsers_args setEntityId(java.lang.String entityId) {
+    public getListOfSharedUsers_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -50042,11 +52533,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public getListOfSharedUsers_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public getListOfSharedUsers_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -50066,7 +52558,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -50095,6 +52588,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -50111,6 +52606,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -50129,8 +52625,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfSharedUsers_args)
         return this.equals((getListOfSharedUsers_args)that);
       return false;
@@ -50199,7 +52693,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50209,7 +52703,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50219,7 +52713,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50232,14 +52726,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -50307,6 +52805,7 @@
     }
 
     private static class getListOfSharedUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedUsers_argsStandardScheme getScheme() {
         return new getListOfSharedUsers_argsStandardScheme();
       }
@@ -50314,6 +52813,7 @@
 
     private static class getListOfSharedUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfSharedUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfSharedUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -50359,6 +52859,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfSharedUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -50385,6 +52886,7 @@
     }
 
     private static class getListOfSharedUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedUsers_argsTupleScheme getScheme() {
         return new getListOfSharedUsers_argsTupleScheme();
       }
@@ -50417,6 +52919,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfSharedUsers_result implements org.apache.thrift.TBase<getListOfSharedUsers_result, getListOfSharedUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfSharedUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfSharedUsers_result");
 
@@ -50426,8 +52929,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfSharedUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfSharedUsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -50445,6 +52948,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -50469,6 +52973,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -50481,10 +52986,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -50531,6 +53038,7 @@
       }
     }
 
+    @Override
     public getListOfSharedUsers_result deepCopy() {
       return new getListOfSharedUsers_result(this);
     }
@@ -50545,6 +53053,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.User> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -50556,11 +53065,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getSuccess() {
       return this.success;
     }
 
-    public getListOfSharedUsers_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
+    public getListOfSharedUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
       this.success = success;
       return this;
     }
@@ -50580,11 +53090,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getListOfSharedUsers_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getListOfSharedUsers_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -50604,7 +53115,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -50625,6 +53137,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -50638,6 +53152,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -50654,8 +53169,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfSharedUsers_result)
         return this.equals((getListOfSharedUsers_result)that);
       return false;
@@ -50711,7 +53224,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50721,7 +53234,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -50734,10 +53247,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -50792,6 +53308,7 @@
     }
 
     private static class getListOfSharedUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedUsers_resultStandardScheme getScheme() {
         return new getListOfSharedUsers_resultStandardScheme();
       }
@@ -50799,6 +53316,7 @@
 
     private static class getListOfSharedUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfSharedUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfSharedUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -50814,7 +53332,7 @@
                 {
                   org.apache.thrift.protocol.TList _list112 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list112.size);
-                  org.apache.airavata.sharing.registry.models.User _elem113;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem113;
                   for (int _i114 = 0; _i114 < _list112.size; ++_i114)
                   {
                     _elem113 = new org.apache.airavata.sharing.registry.models.User();
@@ -50848,6 +53366,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfSharedUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -50876,6 +53395,7 @@
     }
 
     private static class getListOfSharedUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedUsers_resultTupleScheme getScheme() {
         return new getListOfSharedUsers_resultTupleScheme();
       }
@@ -50914,9 +53434,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list117 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list117 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list117.size);
-            org.apache.airavata.sharing.registry.models.User _elem118;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem118;
             for (int _i119 = 0; _i119 < _list117.size; ++_i119)
             {
               _elem118 = new org.apache.airavata.sharing.registry.models.User();
@@ -50939,6 +53459,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfDirectlySharedUsers_args implements org.apache.thrift.TBase<getListOfDirectlySharedUsers_args, getListOfDirectlySharedUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfDirectlySharedUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfDirectlySharedUsers_args");
 
@@ -50949,9 +53470,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfDirectlySharedUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfDirectlySharedUsers_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -50970,6 +53491,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -50996,6 +53518,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51008,10 +53531,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -51060,6 +53585,7 @@
       }
     }
 
+    @Override
     public getListOfDirectlySharedUsers_args deepCopy() {
       return new getListOfDirectlySharedUsers_args(this);
     }
@@ -51071,11 +53597,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getListOfDirectlySharedUsers_args setDomainId(java.lang.String domainId) {
+    public getListOfDirectlySharedUsers_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -51095,11 +53622,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public getListOfDirectlySharedUsers_args setEntityId(java.lang.String entityId) {
+    public getListOfDirectlySharedUsers_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -51119,11 +53647,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public getListOfDirectlySharedUsers_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public getListOfDirectlySharedUsers_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -51143,7 +53672,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -51172,6 +53702,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -51188,6 +53720,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -51206,8 +53739,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfDirectlySharedUsers_args)
         return this.equals((getListOfDirectlySharedUsers_args)that);
       return false;
@@ -51276,7 +53807,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51286,7 +53817,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51296,7 +53827,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51309,14 +53840,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -51384,6 +53919,7 @@
     }
 
     private static class getListOfDirectlySharedUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedUsers_argsStandardScheme getScheme() {
         return new getListOfDirectlySharedUsers_argsStandardScheme();
       }
@@ -51391,6 +53927,7 @@
 
     private static class getListOfDirectlySharedUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfDirectlySharedUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfDirectlySharedUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -51436,6 +53973,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfDirectlySharedUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -51462,6 +54000,7 @@
     }
 
     private static class getListOfDirectlySharedUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedUsers_argsTupleScheme getScheme() {
         return new getListOfDirectlySharedUsers_argsTupleScheme();
       }
@@ -51494,6 +54033,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfDirectlySharedUsers_result implements org.apache.thrift.TBase<getListOfDirectlySharedUsers_result, getListOfDirectlySharedUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfDirectlySharedUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfDirectlySharedUsers_result");
 
@@ -51503,8 +54043,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfDirectlySharedUsers_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfDirectlySharedUsers_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -51522,6 +54062,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -51546,6 +54087,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -51558,10 +54100,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -51608,6 +54152,7 @@
       }
     }
 
+    @Override
     public getListOfDirectlySharedUsers_result deepCopy() {
       return new getListOfDirectlySharedUsers_result(this);
     }
@@ -51622,6 +54167,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.User> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -51633,11 +54179,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.User> getSuccess() {
       return this.success;
     }
 
-    public getListOfDirectlySharedUsers_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
+    public getListOfDirectlySharedUsers_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.User> success) {
       this.success = success;
       return this;
     }
@@ -51657,11 +54204,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getListOfDirectlySharedUsers_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getListOfDirectlySharedUsers_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -51681,7 +54229,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -51702,6 +54251,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -51715,6 +54266,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -51731,8 +54283,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfDirectlySharedUsers_result)
         return this.equals((getListOfDirectlySharedUsers_result)that);
       return false;
@@ -51788,7 +54338,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51798,7 +54348,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -51811,10 +54361,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -51869,6 +54422,7 @@
     }
 
     private static class getListOfDirectlySharedUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedUsers_resultStandardScheme getScheme() {
         return new getListOfDirectlySharedUsers_resultStandardScheme();
       }
@@ -51876,6 +54430,7 @@
 
     private static class getListOfDirectlySharedUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfDirectlySharedUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfDirectlySharedUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -51891,7 +54446,7 @@
                 {
                   org.apache.thrift.protocol.TList _list120 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list120.size);
-                  org.apache.airavata.sharing.registry.models.User _elem121;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem121;
                   for (int _i122 = 0; _i122 < _list120.size; ++_i122)
                   {
                     _elem121 = new org.apache.airavata.sharing.registry.models.User();
@@ -51925,6 +54480,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfDirectlySharedUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -51953,6 +54509,7 @@
     }
 
     private static class getListOfDirectlySharedUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedUsers_resultTupleScheme getScheme() {
         return new getListOfDirectlySharedUsers_resultTupleScheme();
       }
@@ -51991,9 +54548,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list125 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list125 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.User>(_list125.size);
-            org.apache.airavata.sharing.registry.models.User _elem126;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.User _elem126;
             for (int _i127 = 0; _i127 < _list125.size; ++_i127)
             {
               _elem126 = new org.apache.airavata.sharing.registry.models.User();
@@ -52016,6 +54573,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfSharedGroups_args implements org.apache.thrift.TBase<getListOfSharedGroups_args, getListOfSharedGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfSharedGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfSharedGroups_args");
 
@@ -52026,9 +54584,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfSharedGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfSharedGroups_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -52047,6 +54605,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -52073,6 +54632,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -52085,10 +54645,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -52137,6 +54699,7 @@
       }
     }
 
+    @Override
     public getListOfSharedGroups_args deepCopy() {
       return new getListOfSharedGroups_args(this);
     }
@@ -52148,11 +54711,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getListOfSharedGroups_args setDomainId(java.lang.String domainId) {
+    public getListOfSharedGroups_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -52172,11 +54736,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public getListOfSharedGroups_args setEntityId(java.lang.String entityId) {
+    public getListOfSharedGroups_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -52196,11 +54761,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public getListOfSharedGroups_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public getListOfSharedGroups_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -52220,7 +54786,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -52249,6 +54816,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -52265,6 +54834,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -52283,8 +54853,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfSharedGroups_args)
         return this.equals((getListOfSharedGroups_args)that);
       return false;
@@ -52353,7 +54921,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52363,7 +54931,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52373,7 +54941,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52386,14 +54954,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -52461,6 +55033,7 @@
     }
 
     private static class getListOfSharedGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedGroups_argsStandardScheme getScheme() {
         return new getListOfSharedGroups_argsStandardScheme();
       }
@@ -52468,6 +55041,7 @@
 
     private static class getListOfSharedGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfSharedGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfSharedGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -52513,6 +55087,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfSharedGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -52539,6 +55114,7 @@
     }
 
     private static class getListOfSharedGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedGroups_argsTupleScheme getScheme() {
         return new getListOfSharedGroups_argsTupleScheme();
       }
@@ -52571,6 +55147,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfSharedGroups_result implements org.apache.thrift.TBase<getListOfSharedGroups_result, getListOfSharedGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfSharedGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfSharedGroups_result");
 
@@ -52580,8 +55157,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfSharedGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfSharedGroups_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -52599,6 +55176,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -52623,6 +55201,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -52635,10 +55214,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -52685,6 +55266,7 @@
       }
     }
 
+    @Override
     public getListOfSharedGroups_result deepCopy() {
       return new getListOfSharedGroups_result(this);
     }
@@ -52699,6 +55281,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -52710,11 +55293,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
       return this.success;
     }
 
-    public getListOfSharedGroups_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
+    public getListOfSharedGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
       this.success = success;
       return this;
     }
@@ -52734,11 +55318,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getListOfSharedGroups_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getListOfSharedGroups_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -52758,7 +55343,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -52779,6 +55365,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -52792,6 +55380,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -52808,8 +55397,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfSharedGroups_result)
         return this.equals((getListOfSharedGroups_result)that);
       return false;
@@ -52865,7 +55452,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52875,7 +55462,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -52888,10 +55475,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -52946,6 +55536,7 @@
     }
 
     private static class getListOfSharedGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedGroups_resultStandardScheme getScheme() {
         return new getListOfSharedGroups_resultStandardScheme();
       }
@@ -52953,6 +55544,7 @@
 
     private static class getListOfSharedGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfSharedGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfSharedGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -52968,7 +55560,7 @@
                 {
                   org.apache.thrift.protocol.TList _list128 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list128.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem129;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem129;
                   for (int _i130 = 0; _i130 < _list128.size; ++_i130)
                   {
                     _elem129 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -53002,6 +55594,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfSharedGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -53030,6 +55623,7 @@
     }
 
     private static class getListOfSharedGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfSharedGroups_resultTupleScheme getScheme() {
         return new getListOfSharedGroups_resultTupleScheme();
       }
@@ -53068,9 +55662,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list133 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list133 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list133.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem134;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem134;
             for (int _i135 = 0; _i135 < _list133.size; ++_i135)
             {
               _elem134 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -53093,6 +55687,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfDirectlySharedGroups_args implements org.apache.thrift.TBase<getListOfDirectlySharedGroups_args, getListOfDirectlySharedGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfDirectlySharedGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfDirectlySharedGroups_args");
 
@@ -53103,9 +55698,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfDirectlySharedGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfDirectlySharedGroups_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -53124,6 +55719,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -53150,6 +55746,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -53162,10 +55759,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -53214,6 +55813,7 @@
       }
     }
 
+    @Override
     public getListOfDirectlySharedGroups_args deepCopy() {
       return new getListOfDirectlySharedGroups_args(this);
     }
@@ -53225,11 +55825,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getListOfDirectlySharedGroups_args setDomainId(java.lang.String domainId) {
+    public getListOfDirectlySharedGroups_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -53249,11 +55850,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public getListOfDirectlySharedGroups_args setEntityId(java.lang.String entityId) {
+    public getListOfDirectlySharedGroups_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -53273,11 +55875,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public getListOfDirectlySharedGroups_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public getListOfDirectlySharedGroups_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -53297,7 +55900,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -53326,6 +55930,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -53342,6 +55948,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -53360,8 +55967,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfDirectlySharedGroups_args)
         return this.equals((getListOfDirectlySharedGroups_args)that);
       return false;
@@ -53430,7 +56035,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53440,7 +56045,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53450,7 +56055,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53463,14 +56068,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -53538,6 +56147,7 @@
     }
 
     private static class getListOfDirectlySharedGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedGroups_argsStandardScheme getScheme() {
         return new getListOfDirectlySharedGroups_argsStandardScheme();
       }
@@ -53545,6 +56155,7 @@
 
     private static class getListOfDirectlySharedGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfDirectlySharedGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfDirectlySharedGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -53590,6 +56201,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfDirectlySharedGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -53616,6 +56228,7 @@
     }
 
     private static class getListOfDirectlySharedGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedGroups_argsTupleScheme getScheme() {
         return new getListOfDirectlySharedGroups_argsTupleScheme();
       }
@@ -53648,6 +56261,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getListOfDirectlySharedGroups_result implements org.apache.thrift.TBase<getListOfDirectlySharedGroups_result, getListOfDirectlySharedGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<getListOfDirectlySharedGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getListOfDirectlySharedGroups_result");
 
@@ -53657,8 +56271,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getListOfDirectlySharedGroups_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getListOfDirectlySharedGroups_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -53676,6 +56290,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -53700,6 +56315,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -53712,10 +56328,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -53762,6 +56380,7 @@
       }
     }
 
+    @Override
     public getListOfDirectlySharedGroups_result deepCopy() {
       return new getListOfDirectlySharedGroups_result(this);
     }
@@ -53776,6 +56395,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.UserGroup> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -53787,11 +56407,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> getSuccess() {
       return this.success;
     }
 
-    public getListOfDirectlySharedGroups_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
+    public getListOfDirectlySharedGroups_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.UserGroup> success) {
       this.success = success;
       return this;
     }
@@ -53811,11 +56432,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getListOfDirectlySharedGroups_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getListOfDirectlySharedGroups_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -53835,7 +56457,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -53856,6 +56479,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -53869,6 +56494,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -53885,8 +56511,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getListOfDirectlySharedGroups_result)
         return this.equals((getListOfDirectlySharedGroups_result)that);
       return false;
@@ -53942,7 +56566,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53952,7 +56576,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -53965,10 +56589,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -54023,6 +56650,7 @@
     }
 
     private static class getListOfDirectlySharedGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedGroups_resultStandardScheme getScheme() {
         return new getListOfDirectlySharedGroups_resultStandardScheme();
       }
@@ -54030,6 +56658,7 @@
 
     private static class getListOfDirectlySharedGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getListOfDirectlySharedGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getListOfDirectlySharedGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -54045,7 +56674,7 @@
                 {
                   org.apache.thrift.protocol.TList _list136 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list136.size);
-                  org.apache.airavata.sharing.registry.models.UserGroup _elem137;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem137;
                   for (int _i138 = 0; _i138 < _list136.size; ++_i138)
                   {
                     _elem137 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -54079,6 +56708,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getListOfDirectlySharedGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -54107,6 +56737,7 @@
     }
 
     private static class getListOfDirectlySharedGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getListOfDirectlySharedGroups_resultTupleScheme getScheme() {
         return new getListOfDirectlySharedGroups_resultTupleScheme();
       }
@@ -54145,9 +56776,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list141 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list141 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.UserGroup>(_list141.size);
-            org.apache.airavata.sharing.registry.models.UserGroup _elem142;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.UserGroup _elem142;
             for (int _i143 = 0; _i143 < _list141.size; ++_i143)
             {
               _elem142 = new org.apache.airavata.sharing.registry.models.UserGroup();
@@ -54170,6 +56801,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createPermissionType_args implements org.apache.thrift.TBase<createPermissionType_args, createPermissionType_args._Fields>, java.io.Serializable, Cloneable, Comparable<createPermissionType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createPermissionType_args");
 
@@ -54178,7 +56810,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createPermissionType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createPermissionType_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.PermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType permissionType; // 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 {
@@ -54195,6 +56827,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PERMISSION_TYPE
@@ -54217,6 +56850,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54229,10 +56863,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -54267,6 +56903,7 @@
       }
     }
 
+    @Override
     public createPermissionType_args deepCopy() {
       return new createPermissionType_args(this);
     }
@@ -54276,11 +56913,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType() {
       return this.permissionType;
     }
 
-    public createPermissionType_args setPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) {
+    public createPermissionType_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -54300,7 +56938,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PERMISSION_TYPE:
         if (value == null) {
@@ -54313,6 +56952,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PERMISSION_TYPE:
@@ -54323,6 +56964,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -54337,8 +56979,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createPermissionType_args)
         return this.equals((createPermissionType_args)that);
       return false;
@@ -54381,7 +57021,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54394,14 +57034,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -54450,6 +57094,7 @@
     }
 
     private static class createPermissionType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createPermissionType_argsStandardScheme getScheme() {
         return new createPermissionType_argsStandardScheme();
       }
@@ -54457,6 +57102,7 @@
 
     private static class createPermissionType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<createPermissionType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createPermissionType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -54487,6 +57133,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createPermissionType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -54503,6 +57150,7 @@
     }
 
     private static class createPermissionType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createPermissionType_argsTupleScheme getScheme() {
         return new createPermissionType_argsTupleScheme();
       }
@@ -54530,6 +57178,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class createPermissionType_result implements org.apache.thrift.TBase<createPermissionType_result, createPermissionType_result._Fields>, java.io.Serializable, Cloneable, Comparable<createPermissionType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("createPermissionType_result");
 
@@ -54540,9 +57189,9 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new createPermissionType_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new createPermissionType_resultTupleSchemeFactory();
 
-    public java.lang.String success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
-    public org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee; // 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 {
@@ -54561,6 +57210,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -54587,6 +57237,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -54599,10 +57250,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -54651,6 +57304,7 @@
       }
     }
 
+    @Override
     public createPermissionType_result deepCopy() {
       return new createPermissionType_result(this);
     }
@@ -54662,11 +57316,12 @@
       this.dee = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getSuccess() {
       return this.success;
     }
 
-    public createPermissionType_result setSuccess(java.lang.String success) {
+    public createPermissionType_result setSuccess(@org.apache.thrift.annotation.Nullable java.lang.String success) {
       this.success = success;
       return this;
     }
@@ -54686,11 +57341,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public createPermissionType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public createPermissionType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -54710,11 +57366,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.DuplicateEntryException getDee() {
       return this.dee;
     }
 
-    public createPermissionType_result setDee(org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
+    public createPermissionType_result setDee(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.DuplicateEntryException dee) {
       this.dee = dee;
       return this;
     }
@@ -54734,7 +57391,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -54763,6 +57421,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -54779,6 +57439,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -54797,8 +57458,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof createPermissionType_result)
         return this.equals((createPermissionType_result)that);
       return false;
@@ -54867,7 +57526,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54877,7 +57536,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54887,7 +57546,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetDee()).compareTo(other.isSetDee());
+      lastComparison = java.lang.Boolean.compare(isSetDee(), other.isSetDee());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -54900,10 +57559,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -54966,6 +57628,7 @@
     }
 
     private static class createPermissionType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createPermissionType_resultStandardScheme getScheme() {
         return new createPermissionType_resultStandardScheme();
       }
@@ -54973,6 +57636,7 @@
 
     private static class createPermissionType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<createPermissionType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, createPermissionType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -55020,6 +57684,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, createPermissionType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -55046,6 +57711,7 @@
     }
 
     private static class createPermissionType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public createPermissionType_resultTupleScheme getScheme() {
         return new createPermissionType_resultTupleScheme();
       }
@@ -55104,6 +57770,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updatePermissionType_args implements org.apache.thrift.TBase<updatePermissionType_args, updatePermissionType_args._Fields>, java.io.Serializable, Cloneable, Comparable<updatePermissionType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updatePermissionType_args");
 
@@ -55112,7 +57779,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new updatePermissionType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updatePermissionType_argsTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.PermissionType permissionType; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType permissionType; // 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 {
@@ -55129,6 +57796,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // PERMISSION_TYPE
@@ -55151,6 +57819,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55163,10 +57832,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -55201,6 +57872,7 @@
       }
     }
 
+    @Override
     public updatePermissionType_args deepCopy() {
       return new updatePermissionType_args(this);
     }
@@ -55210,11 +57882,12 @@
       this.permissionType = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.PermissionType getPermissionType() {
       return this.permissionType;
     }
 
-    public updatePermissionType_args setPermissionType(org.apache.airavata.sharing.registry.models.PermissionType permissionType) {
+    public updatePermissionType_args setPermissionType(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType permissionType) {
       this.permissionType = permissionType;
       return this;
     }
@@ -55234,7 +57907,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case PERMISSION_TYPE:
         if (value == null) {
@@ -55247,6 +57921,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case PERMISSION_TYPE:
@@ -55257,6 +57933,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -55271,8 +57948,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updatePermissionType_args)
         return this.equals((updatePermissionType_args)that);
       return false;
@@ -55315,7 +57990,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionType()).compareTo(other.isSetPermissionType());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionType(), other.isSetPermissionType());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55328,14 +58003,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -55384,6 +58063,7 @@
     }
 
     private static class updatePermissionType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatePermissionType_argsStandardScheme getScheme() {
         return new updatePermissionType_argsStandardScheme();
       }
@@ -55391,6 +58071,7 @@
 
     private static class updatePermissionType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<updatePermissionType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updatePermissionType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -55421,6 +58102,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updatePermissionType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -55437,6 +58119,7 @@
     }
 
     private static class updatePermissionType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatePermissionType_argsTupleScheme getScheme() {
         return new updatePermissionType_argsTupleScheme();
       }
@@ -55464,6 +58147,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class updatePermissionType_result implements org.apache.thrift.TBase<updatePermissionType_result, updatePermissionType_result._Fields>, java.io.Serializable, Cloneable, Comparable<updatePermissionType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("updatePermissionType_result");
 
@@ -55474,7 +58158,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new updatePermissionType_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -55492,6 +58176,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -55516,6 +58201,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55528,10 +58214,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -55575,6 +58263,7 @@
       }
     }
 
+    @Override
     public updatePermissionType_result deepCopy() {
       return new updatePermissionType_result(this);
     }
@@ -55609,11 +58298,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public updatePermissionType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public updatePermissionType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -55633,7 +58323,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -55654,6 +58345,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -55667,6 +58360,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -55683,8 +58377,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof updatePermissionType_result)
         return this.equals((updatePermissionType_result)that);
       return false;
@@ -55738,7 +58430,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55748,7 +58440,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -55761,10 +58453,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -55817,6 +58512,7 @@
     }
 
     private static class updatePermissionType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatePermissionType_resultStandardScheme getScheme() {
         return new updatePermissionType_resultStandardScheme();
       }
@@ -55824,6 +58520,7 @@
 
     private static class updatePermissionType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<updatePermissionType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, updatePermissionType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -55862,6 +58559,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, updatePermissionType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -55883,6 +58581,7 @@
     }
 
     private static class updatePermissionType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public updatePermissionType_resultTupleScheme getScheme() {
         return new updatePermissionType_resultTupleScheme();
       }
@@ -55930,6 +58629,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isPermissionExists_args implements org.apache.thrift.TBase<isPermissionExists_args, isPermissionExists_args._Fields>, java.io.Serializable, Cloneable, Comparable<isPermissionExists_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isPermissionExists_args");
 
@@ -55939,8 +58639,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new isPermissionExists_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isPermissionExists_argsTupleSchemeFactory();
 
-    public java.lang.String dimainId; // required
-    public java.lang.String permissionId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String dimainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionId; // 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 {
@@ -55958,6 +58658,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DIMAIN_ID
@@ -55982,6 +58683,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -55994,10 +58696,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -56039,6 +58743,7 @@
       }
     }
 
+    @Override
     public isPermissionExists_args deepCopy() {
       return new isPermissionExists_args(this);
     }
@@ -56049,11 +58754,12 @@
       this.permissionId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDimainId() {
       return this.dimainId;
     }
 
-    public isPermissionExists_args setDimainId(java.lang.String dimainId) {
+    public isPermissionExists_args setDimainId(@org.apache.thrift.annotation.Nullable java.lang.String dimainId) {
       this.dimainId = dimainId;
       return this;
     }
@@ -56073,11 +58779,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionId() {
       return this.permissionId;
     }
 
-    public isPermissionExists_args setPermissionId(java.lang.String permissionId) {
+    public isPermissionExists_args setPermissionId(@org.apache.thrift.annotation.Nullable java.lang.String permissionId) {
       this.permissionId = permissionId;
       return this;
     }
@@ -56097,7 +58804,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DIMAIN_ID:
         if (value == null) {
@@ -56118,6 +58826,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DIMAIN_ID:
@@ -56131,6 +58841,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -56147,8 +58858,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isPermissionExists_args)
         return this.equals((isPermissionExists_args)that);
       return false;
@@ -56204,7 +58913,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDimainId()).compareTo(other.isSetDimainId());
+      lastComparison = java.lang.Boolean.compare(isSetDimainId(), other.isSetDimainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56214,7 +58923,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionId()).compareTo(other.isSetPermissionId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionId(), other.isSetPermissionId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56227,14 +58936,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -56291,6 +59004,7 @@
     }
 
     private static class isPermissionExists_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isPermissionExists_argsStandardScheme getScheme() {
         return new isPermissionExists_argsStandardScheme();
       }
@@ -56298,6 +59012,7 @@
 
     private static class isPermissionExists_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<isPermissionExists_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isPermissionExists_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -56335,6 +59050,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isPermissionExists_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -56356,6 +59072,7 @@
     }
 
     private static class isPermissionExists_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isPermissionExists_argsTupleScheme getScheme() {
         return new isPermissionExists_argsTupleScheme();
       }
@@ -56385,6 +59102,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class isPermissionExists_result implements org.apache.thrift.TBase<isPermissionExists_result, isPermissionExists_result._Fields>, java.io.Serializable, Cloneable, Comparable<isPermissionExists_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("isPermissionExists_result");
 
@@ -56395,7 +59113,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new isPermissionExists_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -56413,6 +59131,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -56437,6 +59156,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56449,10 +59169,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -56496,6 +59218,7 @@
       }
     }
 
+    @Override
     public isPermissionExists_result deepCopy() {
       return new isPermissionExists_result(this);
     }
@@ -56530,11 +59253,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public isPermissionExists_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public isPermissionExists_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -56554,7 +59278,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -56575,6 +59300,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -56588,6 +59315,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -56604,8 +59332,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof isPermissionExists_result)
         return this.equals((isPermissionExists_result)that);
       return false;
@@ -56659,7 +59385,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56669,7 +59395,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -56682,10 +59408,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -56738,6 +59467,7 @@
     }
 
     private static class isPermissionExists_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isPermissionExists_resultStandardScheme getScheme() {
         return new isPermissionExists_resultStandardScheme();
       }
@@ -56745,6 +59475,7 @@
 
     private static class isPermissionExists_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<isPermissionExists_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, isPermissionExists_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -56783,6 +59514,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, isPermissionExists_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -56804,6 +59536,7 @@
     }
 
     private static class isPermissionExists_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public isPermissionExists_resultTupleScheme getScheme() {
         return new isPermissionExists_resultTupleScheme();
       }
@@ -56851,6 +59584,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deletePermissionType_args implements org.apache.thrift.TBase<deletePermissionType_args, deletePermissionType_args._Fields>, java.io.Serializable, Cloneable, Comparable<deletePermissionType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePermissionType_args");
 
@@ -56860,8 +59594,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new deletePermissionType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePermissionType_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -56879,6 +59613,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -56903,6 +59638,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -56915,10 +59651,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -56960,6 +59698,7 @@
       }
     }
 
+    @Override
     public deletePermissionType_args deepCopy() {
       return new deletePermissionType_args(this);
     }
@@ -56970,11 +59709,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public deletePermissionType_args setDomainId(java.lang.String domainId) {
+    public deletePermissionType_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -56994,11 +59734,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public deletePermissionType_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public deletePermissionType_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -57018,7 +59759,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -57039,6 +59781,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -57052,6 +59796,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57068,8 +59813,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deletePermissionType_args)
         return this.equals((deletePermissionType_args)that);
       return false;
@@ -57125,7 +59868,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57135,7 +59878,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57148,14 +59891,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -57212,6 +59959,7 @@
     }
 
     private static class deletePermissionType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePermissionType_argsStandardScheme getScheme() {
         return new deletePermissionType_argsStandardScheme();
       }
@@ -57219,6 +59967,7 @@
 
     private static class deletePermissionType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePermissionType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deletePermissionType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -57256,6 +60005,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deletePermissionType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -57277,6 +60027,7 @@
     }
 
     private static class deletePermissionType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePermissionType_argsTupleScheme getScheme() {
         return new deletePermissionType_argsTupleScheme();
       }
@@ -57306,6 +60057,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class deletePermissionType_result implements org.apache.thrift.TBase<deletePermissionType_result, deletePermissionType_result._Fields>, java.io.Serializable, Cloneable, Comparable<deletePermissionType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("deletePermissionType_result");
 
@@ -57316,7 +60068,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new deletePermissionType_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -57334,6 +60086,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -57358,6 +60111,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57370,10 +60124,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57417,6 +60173,7 @@
       }
     }
 
+    @Override
     public deletePermissionType_result deepCopy() {
       return new deletePermissionType_result(this);
     }
@@ -57451,11 +60208,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public deletePermissionType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public deletePermissionType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -57475,7 +60233,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -57496,6 +60255,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -57509,6 +60270,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57525,8 +60287,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof deletePermissionType_result)
         return this.equals((deletePermissionType_result)that);
       return false;
@@ -57580,7 +60340,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57590,7 +60350,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -57603,10 +60363,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -57659,6 +60422,7 @@
     }
 
     private static class deletePermissionType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePermissionType_resultStandardScheme getScheme() {
         return new deletePermissionType_resultStandardScheme();
       }
@@ -57666,6 +60430,7 @@
 
     private static class deletePermissionType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<deletePermissionType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, deletePermissionType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -57704,6 +60469,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, deletePermissionType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -57725,6 +60491,7 @@
     }
 
     private static class deletePermissionType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public deletePermissionType_resultTupleScheme getScheme() {
         return new deletePermissionType_resultTupleScheme();
       }
@@ -57772,6 +60539,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getPermissionType_args implements org.apache.thrift.TBase<getPermissionType_args, getPermissionType_args._Fields>, java.io.Serializable, Cloneable, Comparable<getPermissionType_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionType_args");
 
@@ -57781,8 +60549,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getPermissionType_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getPermissionType_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -57800,6 +60568,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -57824,6 +60593,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -57836,10 +60606,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -57881,6 +60653,7 @@
       }
     }
 
+    @Override
     public getPermissionType_args deepCopy() {
       return new getPermissionType_args(this);
     }
@@ -57891,11 +60664,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getPermissionType_args setDomainId(java.lang.String domainId) {
+    public getPermissionType_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -57915,11 +60689,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public getPermissionType_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public getPermissionType_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -57939,7 +60714,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -57960,6 +60736,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -57973,6 +60751,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -57989,8 +60768,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getPermissionType_args)
         return this.equals((getPermissionType_args)that);
       return false;
@@ -58046,7 +60823,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58056,7 +60833,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58069,14 +60846,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -58133,6 +60914,7 @@
     }
 
     private static class getPermissionType_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionType_argsStandardScheme getScheme() {
         return new getPermissionType_argsStandardScheme();
       }
@@ -58140,6 +60922,7 @@
 
     private static class getPermissionType_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getPermissionType_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getPermissionType_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -58177,6 +60960,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getPermissionType_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -58198,6 +60982,7 @@
     }
 
     private static class getPermissionType_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionType_argsTupleScheme getScheme() {
         return new getPermissionType_argsTupleScheme();
       }
@@ -58227,6 +61012,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getPermissionType_result implements org.apache.thrift.TBase<getPermissionType_result, getPermissionType_result._Fields>, java.io.Serializable, Cloneable, Comparable<getPermissionType_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionType_result");
 
@@ -58236,8 +61022,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getPermissionType_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getPermissionType_resultTupleSchemeFactory();
 
-    public org.apache.airavata.sharing.registry.models.PermissionType success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -58255,6 +61041,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -58279,6 +61066,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58291,10 +61079,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -58336,6 +61126,7 @@
       }
     }
 
+    @Override
     public getPermissionType_result deepCopy() {
       return new getPermissionType_result(this);
     }
@@ -58346,11 +61137,12 @@
       this.sre = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.PermissionType getSuccess() {
       return this.success;
     }
 
-    public getPermissionType_result setSuccess(org.apache.airavata.sharing.registry.models.PermissionType success) {
+    public getPermissionType_result setSuccess(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType success) {
       this.success = success;
       return this;
     }
@@ -58370,11 +61162,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getPermissionType_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getPermissionType_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -58394,7 +61187,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -58415,6 +61209,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -58428,6 +61224,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -58444,8 +61241,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getPermissionType_result)
         return this.equals((getPermissionType_result)that);
       return false;
@@ -58501,7 +61296,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58511,7 +61306,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -58524,10 +61319,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -58585,6 +61383,7 @@
     }
 
     private static class getPermissionType_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionType_resultStandardScheme getScheme() {
         return new getPermissionType_resultStandardScheme();
       }
@@ -58592,6 +61391,7 @@
 
     private static class getPermissionType_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getPermissionType_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getPermissionType_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -58631,6 +61431,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getPermissionType_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -58652,6 +61453,7 @@
     }
 
     private static class getPermissionType_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionType_resultTupleScheme getScheme() {
         return new getPermissionType_resultTupleScheme();
       }
@@ -58700,6 +61502,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getPermissionTypes_args implements org.apache.thrift.TBase<getPermissionTypes_args, getPermissionTypes_args._Fields>, java.io.Serializable, Cloneable, Comparable<getPermissionTypes_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionTypes_args");
 
@@ -58710,7 +61513,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getPermissionTypes_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getPermissionTypes_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
     public int offset; // required
     public int limit; // required
 
@@ -58731,6 +61534,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -58757,6 +61561,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -58769,10 +61574,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -58823,6 +61630,7 @@
       this.limit = other.limit;
     }
 
+    @Override
     public getPermissionTypes_args deepCopy() {
       return new getPermissionTypes_args(this);
     }
@@ -58836,11 +61644,12 @@
       this.limit = 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public getPermissionTypes_args setDomainId(java.lang.String domainId) {
+    public getPermissionTypes_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -58906,7 +61715,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __LIMIT_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -58935,6 +61745,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -58951,6 +61763,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -58969,8 +61782,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getPermissionTypes_args)
         return this.equals((getPermissionTypes_args)that);
       return false;
@@ -59035,7 +61846,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59045,7 +61856,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetOffset()).compareTo(other.isSetOffset());
+      lastComparison = java.lang.Boolean.compare(isSetOffset(), other.isSetOffset());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59055,7 +61866,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetLimit()).compareTo(other.isSetLimit());
+      lastComparison = java.lang.Boolean.compare(isSetLimit(), other.isSetLimit());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59068,14 +61879,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -59133,6 +61948,7 @@
     }
 
     private static class getPermissionTypes_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionTypes_argsStandardScheme getScheme() {
         return new getPermissionTypes_argsStandardScheme();
       }
@@ -59140,6 +61956,7 @@
 
     private static class getPermissionTypes_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<getPermissionTypes_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getPermissionTypes_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59191,6 +62008,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getPermissionTypes_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59213,6 +62031,7 @@
     }
 
     private static class getPermissionTypes_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionTypes_argsTupleScheme getScheme() {
         return new getPermissionTypes_argsTupleScheme();
       }
@@ -59245,6 +62064,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class getPermissionTypes_result implements org.apache.thrift.TBase<getPermissionTypes_result, getPermissionTypes_result._Fields>, java.io.Serializable, Cloneable, Comparable<getPermissionTypes_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("getPermissionTypes_result");
 
@@ -59254,8 +62074,8 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new getPermissionTypes_resultStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new getPermissionTypes_resultTupleSchemeFactory();
 
-    public java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> success; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -59273,6 +62093,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -59297,6 +62118,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59309,10 +62131,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -59359,6 +62183,7 @@
       }
     }
 
+    @Override
     public getPermissionTypes_result deepCopy() {
       return new getPermissionTypes_result(this);
     }
@@ -59373,6 +62198,7 @@
       return (this.success == null) ? 0 : this.success.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<org.apache.airavata.sharing.registry.models.PermissionType> getSuccessIterator() {
       return (this.success == null) ? null : this.success.iterator();
     }
@@ -59384,11 +62210,12 @@
       this.success.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> getSuccess() {
       return this.success;
     }
 
-    public getPermissionTypes_result setSuccess(java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> success) {
+    public getPermissionTypes_result setSuccess(@org.apache.thrift.annotation.Nullable java.util.List<org.apache.airavata.sharing.registry.models.PermissionType> success) {
       this.success = success;
       return this;
     }
@@ -59408,11 +62235,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public getPermissionTypes_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public getPermissionTypes_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -59432,7 +62260,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -59453,6 +62282,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -59466,6 +62297,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -59482,8 +62314,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof getPermissionTypes_result)
         return this.equals((getPermissionTypes_result)that);
       return false;
@@ -59539,7 +62369,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59549,7 +62379,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -59562,10 +62392,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -59620,6 +62453,7 @@
     }
 
     private static class getPermissionTypes_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionTypes_resultStandardScheme getScheme() {
         return new getPermissionTypes_resultStandardScheme();
       }
@@ -59627,6 +62461,7 @@
 
     private static class getPermissionTypes_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<getPermissionTypes_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, getPermissionTypes_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -59642,7 +62477,7 @@
                 {
                   org.apache.thrift.protocol.TList _list144 = iprot.readListBegin();
                   struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.PermissionType>(_list144.size);
-                  org.apache.airavata.sharing.registry.models.PermissionType _elem145;
+                  @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType _elem145;
                   for (int _i146 = 0; _i146 < _list144.size; ++_i146)
                   {
                     _elem145 = new org.apache.airavata.sharing.registry.models.PermissionType();
@@ -59676,6 +62511,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, getPermissionTypes_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -59704,6 +62540,7 @@
     }
 
     private static class getPermissionTypes_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public getPermissionTypes_resultTupleScheme getScheme() {
         return new getPermissionTypes_resultTupleScheme();
       }
@@ -59742,9 +62579,9 @@
         java.util.BitSet incoming = iprot.readBitSet(2);
         if (incoming.get(0)) {
           {
-            org.apache.thrift.protocol.TList _list149 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRUCT, iprot.readI32());
+            org.apache.thrift.protocol.TList _list149 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRUCT);
             struct.success = new java.util.ArrayList<org.apache.airavata.sharing.registry.models.PermissionType>(_list149.size);
-            org.apache.airavata.sharing.registry.models.PermissionType _elem150;
+            @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.PermissionType _elem150;
             for (int _i151 = 0; _i151 < _list149.size; ++_i151)
             {
               _elem150 = new org.apache.airavata.sharing.registry.models.PermissionType();
@@ -59767,6 +62604,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareEntityWithUsers_args implements org.apache.thrift.TBase<shareEntityWithUsers_args, shareEntityWithUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<shareEntityWithUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareEntityWithUsers_args");
 
@@ -59779,10 +62617,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new shareEntityWithUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareEntityWithUsers_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.util.List<java.lang.String> userList; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userList; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // required
     public boolean cascadePermission; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -59804,6 +62642,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -59834,6 +62673,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -59846,10 +62686,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -59916,6 +62758,7 @@
       this.cascadePermission = other.cascadePermission;
     }
 
+    @Override
     public shareEntityWithUsers_args deepCopy() {
       return new shareEntityWithUsers_args(this);
     }
@@ -59930,11 +62773,12 @@
       this.cascadePermission = false;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public shareEntityWithUsers_args setDomainId(java.lang.String domainId) {
+    public shareEntityWithUsers_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -59954,11 +62798,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public shareEntityWithUsers_args setEntityId(java.lang.String entityId) {
+    public shareEntityWithUsers_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -59982,6 +62827,7 @@
       return (this.userList == null) ? 0 : this.userList.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getUserListIterator() {
       return (this.userList == null) ? null : this.userList.iterator();
     }
@@ -59993,11 +62839,12 @@
       this.userList.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getUserList() {
       return this.userList;
     }
 
-    public shareEntityWithUsers_args setUserList(java.util.List<java.lang.String> userList) {
+    public shareEntityWithUsers_args setUserList(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userList) {
       this.userList = userList;
       return this;
     }
@@ -60017,11 +62864,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public shareEntityWithUsers_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public shareEntityWithUsers_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -60064,7 +62912,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CASCADEPERMISSION_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -60109,6 +62958,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -60131,6 +62982,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -60153,8 +63005,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareEntityWithUsers_args)
         return this.equals((shareEntityWithUsers_args)that);
       return false;
@@ -60247,7 +63097,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60257,7 +63107,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60267,7 +63117,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserList()).compareTo(other.isSetUserList());
+      lastComparison = java.lang.Boolean.compare(isSetUserList(), other.isSetUserList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60277,7 +63127,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60287,7 +63137,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCascadePermission()).compareTo(other.isSetCascadePermission());
+      lastComparison = java.lang.Boolean.compare(isSetCascadePermission(), other.isSetCascadePermission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60300,14 +63150,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -60393,6 +63247,7 @@
     }
 
     private static class shareEntityWithUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithUsers_argsStandardScheme getScheme() {
         return new shareEntityWithUsers_argsStandardScheme();
       }
@@ -60400,6 +63255,7 @@
 
     private static class shareEntityWithUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareEntityWithUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareEntityWithUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -60431,7 +63287,7 @@
                 {
                   org.apache.thrift.protocol.TList _list152 = iprot.readListBegin();
                   struct.userList = new java.util.ArrayList<java.lang.String>(_list152.size);
-                  java.lang.String _elem153;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem153;
                   for (int _i154 = 0; _i154 < _list152.size; ++_i154)
                   {
                     _elem153 = iprot.readString();
@@ -60474,6 +63330,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareEntityWithUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -60515,6 +63372,7 @@
     }
 
     private static class shareEntityWithUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithUsers_argsTupleScheme getScheme() {
         return new shareEntityWithUsers_argsTupleScheme();
       }
@@ -60546,9 +63404,9 @@
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list157 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list157 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.userList = new java.util.ArrayList<java.lang.String>(_list157.size);
-          java.lang.String _elem158;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem158;
           for (int _i159 = 0; _i159 < _list157.size; ++_i159)
           {
             _elem158 = iprot.readString();
@@ -60568,6 +63426,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareEntityWithUsers_result implements org.apache.thrift.TBase<shareEntityWithUsers_result, shareEntityWithUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<shareEntityWithUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareEntityWithUsers_result");
 
@@ -60578,7 +63437,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareEntityWithUsers_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -60596,6 +63455,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -60620,6 +63480,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -60632,10 +63493,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -60679,6 +63542,7 @@
       }
     }
 
+    @Override
     public shareEntityWithUsers_result deepCopy() {
       return new shareEntityWithUsers_result(this);
     }
@@ -60713,11 +63577,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public shareEntityWithUsers_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public shareEntityWithUsers_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -60737,7 +63602,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -60758,6 +63624,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -60771,6 +63639,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -60787,8 +63656,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareEntityWithUsers_result)
         return this.equals((shareEntityWithUsers_result)that);
       return false;
@@ -60842,7 +63709,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60852,7 +63719,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -60865,10 +63732,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -60921,6 +63791,7 @@
     }
 
     private static class shareEntityWithUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithUsers_resultStandardScheme getScheme() {
         return new shareEntityWithUsers_resultStandardScheme();
       }
@@ -60928,6 +63799,7 @@
 
     private static class shareEntityWithUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareEntityWithUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareEntityWithUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -60966,6 +63838,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareEntityWithUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -60987,6 +63860,7 @@
     }
 
     private static class shareEntityWithUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithUsers_resultTupleScheme getScheme() {
         return new shareEntityWithUsers_resultTupleScheme();
       }
@@ -61034,6 +63908,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeEntitySharingFromUsers_args implements org.apache.thrift.TBase<revokeEntitySharingFromUsers_args, revokeEntitySharingFromUsers_args._Fields>, java.io.Serializable, Cloneable, Comparable<revokeEntitySharingFromUsers_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeEntitySharingFromUsers_args");
 
@@ -61045,10 +63920,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeEntitySharingFromUsers_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeEntitySharingFromUsers_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.util.List<java.lang.String> userList; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userList; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -61068,6 +63943,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -61096,6 +63972,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61108,10 +63985,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -61169,6 +64048,7 @@
       }
     }
 
+    @Override
     public revokeEntitySharingFromUsers_args deepCopy() {
       return new revokeEntitySharingFromUsers_args(this);
     }
@@ -61181,11 +64061,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public revokeEntitySharingFromUsers_args setDomainId(java.lang.String domainId) {
+    public revokeEntitySharingFromUsers_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -61205,11 +64086,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public revokeEntitySharingFromUsers_args setEntityId(java.lang.String entityId) {
+    public revokeEntitySharingFromUsers_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -61233,6 +64115,7 @@
       return (this.userList == null) ? 0 : this.userList.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getUserListIterator() {
       return (this.userList == null) ? null : this.userList.iterator();
     }
@@ -61244,11 +64127,12 @@
       this.userList.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getUserList() {
       return this.userList;
     }
 
-    public revokeEntitySharingFromUsers_args setUserList(java.util.List<java.lang.String> userList) {
+    public revokeEntitySharingFromUsers_args setUserList(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> userList) {
       this.userList = userList;
       return this;
     }
@@ -61268,11 +64152,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public revokeEntitySharingFromUsers_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public revokeEntitySharingFromUsers_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -61292,7 +64177,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -61329,6 +64215,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -61348,6 +64236,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -61368,8 +64257,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeEntitySharingFromUsers_args)
         return this.equals((revokeEntitySharingFromUsers_args)that);
       return false;
@@ -61451,7 +64338,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61461,7 +64348,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61471,7 +64358,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserList()).compareTo(other.isSetUserList());
+      lastComparison = java.lang.Boolean.compare(isSetUserList(), other.isSetUserList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61481,7 +64368,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -61494,14 +64381,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -61580,6 +64471,7 @@
     }
 
     private static class revokeEntitySharingFromUsers_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromUsers_argsStandardScheme getScheme() {
         return new revokeEntitySharingFromUsers_argsStandardScheme();
       }
@@ -61587,6 +64479,7 @@
 
     private static class revokeEntitySharingFromUsers_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeEntitySharingFromUsers_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeEntitySharingFromUsers_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -61618,7 +64511,7 @@
                 {
                   org.apache.thrift.protocol.TList _list160 = iprot.readListBegin();
                   struct.userList = new java.util.ArrayList<java.lang.String>(_list160.size);
-                  java.lang.String _elem161;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem161;
                   for (int _i162 = 0; _i162 < _list160.size; ++_i162)
                   {
                     _elem161 = iprot.readString();
@@ -61650,6 +64543,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeEntitySharingFromUsers_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -61688,6 +64582,7 @@
     }
 
     private static class revokeEntitySharingFromUsers_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromUsers_argsTupleScheme getScheme() {
         return new revokeEntitySharingFromUsers_argsTupleScheme();
       }
@@ -61718,9 +64613,9 @@
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list165 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list165 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.userList = new java.util.ArrayList<java.lang.String>(_list165.size);
-          java.lang.String _elem166;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem166;
           for (int _i167 = 0; _i167 < _list165.size; ++_i167)
           {
             _elem166 = iprot.readString();
@@ -61738,6 +64633,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeEntitySharingFromUsers_result implements org.apache.thrift.TBase<revokeEntitySharingFromUsers_result, revokeEntitySharingFromUsers_result._Fields>, java.io.Serializable, Cloneable, Comparable<revokeEntitySharingFromUsers_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeEntitySharingFromUsers_result");
 
@@ -61748,7 +64644,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeEntitySharingFromUsers_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -61766,6 +64662,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -61790,6 +64687,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -61802,10 +64700,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -61849,6 +64749,7 @@
       }
     }
 
+    @Override
     public revokeEntitySharingFromUsers_result deepCopy() {
       return new revokeEntitySharingFromUsers_result(this);
     }
@@ -61883,11 +64784,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public revokeEntitySharingFromUsers_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public revokeEntitySharingFromUsers_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -61907,7 +64809,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -61928,6 +64831,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -61941,6 +64846,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -61957,8 +64863,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeEntitySharingFromUsers_result)
         return this.equals((revokeEntitySharingFromUsers_result)that);
       return false;
@@ -62012,7 +64916,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62022,7 +64926,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62035,10 +64939,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -62091,6 +64998,7 @@
     }
 
     private static class revokeEntitySharingFromUsers_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromUsers_resultStandardScheme getScheme() {
         return new revokeEntitySharingFromUsers_resultStandardScheme();
       }
@@ -62098,6 +65006,7 @@
 
     private static class revokeEntitySharingFromUsers_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeEntitySharingFromUsers_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeEntitySharingFromUsers_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -62136,6 +65045,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeEntitySharingFromUsers_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -62157,6 +65067,7 @@
     }
 
     private static class revokeEntitySharingFromUsers_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromUsers_resultTupleScheme getScheme() {
         return new revokeEntitySharingFromUsers_resultTupleScheme();
       }
@@ -62204,6 +65115,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareEntityWithGroups_args implements org.apache.thrift.TBase<shareEntityWithGroups_args, shareEntityWithGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<shareEntityWithGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareEntityWithGroups_args");
 
@@ -62216,10 +65128,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new shareEntityWithGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareEntityWithGroups_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.util.List<java.lang.String> groupList; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> groupList; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // required
     public boolean cascadePermission; // required
 
     /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
@@ -62241,6 +65153,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -62271,6 +65184,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -62283,10 +65197,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -62353,6 +65269,7 @@
       this.cascadePermission = other.cascadePermission;
     }
 
+    @Override
     public shareEntityWithGroups_args deepCopy() {
       return new shareEntityWithGroups_args(this);
     }
@@ -62367,11 +65284,12 @@
       this.cascadePermission = false;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public shareEntityWithGroups_args setDomainId(java.lang.String domainId) {
+    public shareEntityWithGroups_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -62391,11 +65309,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public shareEntityWithGroups_args setEntityId(java.lang.String entityId) {
+    public shareEntityWithGroups_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -62419,6 +65338,7 @@
       return (this.groupList == null) ? 0 : this.groupList.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getGroupListIterator() {
       return (this.groupList == null) ? null : this.groupList.iterator();
     }
@@ -62430,11 +65350,12 @@
       this.groupList.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getGroupList() {
       return this.groupList;
     }
 
-    public shareEntityWithGroups_args setGroupList(java.util.List<java.lang.String> groupList) {
+    public shareEntityWithGroups_args setGroupList(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> groupList) {
       this.groupList = groupList;
       return this;
     }
@@ -62454,11 +65375,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public shareEntityWithGroups_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public shareEntityWithGroups_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -62501,7 +65423,8 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __CASCADEPERMISSION_ISSET_ID, value);
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -62546,6 +65469,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -62568,6 +65493,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -62590,8 +65516,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareEntityWithGroups_args)
         return this.equals((shareEntityWithGroups_args)that);
       return false;
@@ -62684,7 +65608,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62694,7 +65618,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62704,7 +65628,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupList()).compareTo(other.isSetGroupList());
+      lastComparison = java.lang.Boolean.compare(isSetGroupList(), other.isSetGroupList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62714,7 +65638,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62724,7 +65648,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetCascadePermission()).compareTo(other.isSetCascadePermission());
+      lastComparison = java.lang.Boolean.compare(isSetCascadePermission(), other.isSetCascadePermission());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -62737,14 +65661,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -62830,6 +65758,7 @@
     }
 
     private static class shareEntityWithGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithGroups_argsStandardScheme getScheme() {
         return new shareEntityWithGroups_argsStandardScheme();
       }
@@ -62837,6 +65766,7 @@
 
     private static class shareEntityWithGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareEntityWithGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareEntityWithGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -62868,7 +65798,7 @@
                 {
                   org.apache.thrift.protocol.TList _list168 = iprot.readListBegin();
                   struct.groupList = new java.util.ArrayList<java.lang.String>(_list168.size);
-                  java.lang.String _elem169;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem169;
                   for (int _i170 = 0; _i170 < _list168.size; ++_i170)
                   {
                     _elem169 = iprot.readString();
@@ -62911,6 +65841,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareEntityWithGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -62952,6 +65883,7 @@
     }
 
     private static class shareEntityWithGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithGroups_argsTupleScheme getScheme() {
         return new shareEntityWithGroups_argsTupleScheme();
       }
@@ -62983,9 +65915,9 @@
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list173 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list173 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.groupList = new java.util.ArrayList<java.lang.String>(_list173.size);
-          java.lang.String _elem174;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem174;
           for (int _i175 = 0; _i175 < _list173.size; ++_i175)
           {
             _elem174 = iprot.readString();
@@ -63005,6 +65937,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class shareEntityWithGroups_result implements org.apache.thrift.TBase<shareEntityWithGroups_result, shareEntityWithGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<shareEntityWithGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("shareEntityWithGroups_result");
 
@@ -63015,7 +65948,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new shareEntityWithGroups_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -63033,6 +65966,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -63057,6 +65991,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63069,10 +66004,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -63116,6 +66053,7 @@
       }
     }
 
+    @Override
     public shareEntityWithGroups_result deepCopy() {
       return new shareEntityWithGroups_result(this);
     }
@@ -63150,11 +66088,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public shareEntityWithGroups_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public shareEntityWithGroups_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -63174,7 +66113,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -63195,6 +66135,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -63208,6 +66150,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -63224,8 +66167,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof shareEntityWithGroups_result)
         return this.equals((shareEntityWithGroups_result)that);
       return false;
@@ -63279,7 +66220,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63289,7 +66230,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63302,10 +66243,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -63358,6 +66302,7 @@
     }
 
     private static class shareEntityWithGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithGroups_resultStandardScheme getScheme() {
         return new shareEntityWithGroups_resultStandardScheme();
       }
@@ -63365,6 +66310,7 @@
 
     private static class shareEntityWithGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<shareEntityWithGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, shareEntityWithGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -63403,6 +66349,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, shareEntityWithGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -63424,6 +66371,7 @@
     }
 
     private static class shareEntityWithGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public shareEntityWithGroups_resultTupleScheme getScheme() {
         return new shareEntityWithGroups_resultTupleScheme();
       }
@@ -63471,6 +66419,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeEntitySharingFromGroups_args implements org.apache.thrift.TBase<revokeEntitySharingFromGroups_args, revokeEntitySharingFromGroups_args._Fields>, java.io.Serializable, Cloneable, Comparable<revokeEntitySharingFromGroups_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeEntitySharingFromGroups_args");
 
@@ -63482,10 +66431,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new revokeEntitySharingFromGroups_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeEntitySharingFromGroups_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String entityId; // required
-    public java.util.List<java.lang.String> groupList; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> groupList; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -63505,6 +66454,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -63533,6 +66483,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -63545,10 +66496,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -63606,6 +66559,7 @@
       }
     }
 
+    @Override
     public revokeEntitySharingFromGroups_args deepCopy() {
       return new revokeEntitySharingFromGroups_args(this);
     }
@@ -63618,11 +66572,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public revokeEntitySharingFromGroups_args setDomainId(java.lang.String domainId) {
+    public revokeEntitySharingFromGroups_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -63642,11 +66597,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public revokeEntitySharingFromGroups_args setEntityId(java.lang.String entityId) {
+    public revokeEntitySharingFromGroups_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -63670,6 +66626,7 @@
       return (this.groupList == null) ? 0 : this.groupList.size();
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.Iterator<java.lang.String> getGroupListIterator() {
       return (this.groupList == null) ? null : this.groupList.iterator();
     }
@@ -63681,11 +66638,12 @@
       this.groupList.add(elem);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.util.List<java.lang.String> getGroupList() {
       return this.groupList;
     }
 
-    public revokeEntitySharingFromGroups_args setGroupList(java.util.List<java.lang.String> groupList) {
+    public revokeEntitySharingFromGroups_args setGroupList(@org.apache.thrift.annotation.Nullable java.util.List<java.lang.String> groupList) {
       this.groupList = groupList;
       return this;
     }
@@ -63705,11 +66663,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public revokeEntitySharingFromGroups_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public revokeEntitySharingFromGroups_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -63729,7 +66688,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -63766,6 +66726,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -63785,6 +66747,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -63805,8 +66768,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeEntitySharingFromGroups_args)
         return this.equals((revokeEntitySharingFromGroups_args)that);
       return false;
@@ -63888,7 +66849,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63898,7 +66859,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63908,7 +66869,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetGroupList()).compareTo(other.isSetGroupList());
+      lastComparison = java.lang.Boolean.compare(isSetGroupList(), other.isSetGroupList());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63918,7 +66879,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -63931,14 +66892,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -64017,6 +66982,7 @@
     }
 
     private static class revokeEntitySharingFromGroups_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromGroups_argsStandardScheme getScheme() {
         return new revokeEntitySharingFromGroups_argsStandardScheme();
       }
@@ -64024,6 +66990,7 @@
 
     private static class revokeEntitySharingFromGroups_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeEntitySharingFromGroups_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeEntitySharingFromGroups_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -64055,7 +67022,7 @@
                 {
                   org.apache.thrift.protocol.TList _list176 = iprot.readListBegin();
                   struct.groupList = new java.util.ArrayList<java.lang.String>(_list176.size);
-                  java.lang.String _elem177;
+                  @org.apache.thrift.annotation.Nullable java.lang.String _elem177;
                   for (int _i178 = 0; _i178 < _list176.size; ++_i178)
                   {
                     _elem177 = iprot.readString();
@@ -64087,6 +67054,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeEntitySharingFromGroups_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -64125,6 +67093,7 @@
     }
 
     private static class revokeEntitySharingFromGroups_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromGroups_argsTupleScheme getScheme() {
         return new revokeEntitySharingFromGroups_argsTupleScheme();
       }
@@ -64155,9 +67124,9 @@
         struct.entityId = iprot.readString();
         struct.setEntityIdIsSet(true);
         {
-          org.apache.thrift.protocol.TList _list181 = new org.apache.thrift.protocol.TList(org.apache.thrift.protocol.TType.STRING, iprot.readI32());
+          org.apache.thrift.protocol.TList _list181 = iprot.readListBegin(org.apache.thrift.protocol.TType.STRING);
           struct.groupList = new java.util.ArrayList<java.lang.String>(_list181.size);
-          java.lang.String _elem182;
+          @org.apache.thrift.annotation.Nullable java.lang.String _elem182;
           for (int _i183 = 0; _i183 < _list181.size; ++_i183)
           {
             _elem182 = iprot.readString();
@@ -64175,6 +67144,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class revokeEntitySharingFromGroups_result implements org.apache.thrift.TBase<revokeEntitySharingFromGroups_result, revokeEntitySharingFromGroups_result._Fields>, java.io.Serializable, Cloneable, Comparable<revokeEntitySharingFromGroups_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("revokeEntitySharingFromGroups_result");
 
@@ -64185,7 +67155,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new revokeEntitySharingFromGroups_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -64203,6 +67173,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -64227,6 +67198,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64239,10 +67211,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -64286,6 +67260,7 @@
       }
     }
 
+    @Override
     public revokeEntitySharingFromGroups_result deepCopy() {
       return new revokeEntitySharingFromGroups_result(this);
     }
@@ -64320,11 +67295,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public revokeEntitySharingFromGroups_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public revokeEntitySharingFromGroups_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -64344,7 +67320,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -64365,6 +67342,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -64378,6 +67357,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -64394,8 +67374,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof revokeEntitySharingFromGroups_result)
         return this.equals((revokeEntitySharingFromGroups_result)that);
       return false;
@@ -64449,7 +67427,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64459,7 +67437,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -64472,10 +67450,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -64528,6 +67509,7 @@
     }
 
     private static class revokeEntitySharingFromGroups_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromGroups_resultStandardScheme getScheme() {
         return new revokeEntitySharingFromGroups_resultStandardScheme();
       }
@@ -64535,6 +67517,7 @@
 
     private static class revokeEntitySharingFromGroups_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<revokeEntitySharingFromGroups_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, revokeEntitySharingFromGroups_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -64573,6 +67556,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, revokeEntitySharingFromGroups_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -64594,6 +67578,7 @@
     }
 
     private static class revokeEntitySharingFromGroups_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public revokeEntitySharingFromGroups_resultTupleScheme getScheme() {
         return new revokeEntitySharingFromGroups_resultTupleScheme();
       }
@@ -64641,6 +67626,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class userHasAccess_args implements org.apache.thrift.TBase<userHasAccess_args, userHasAccess_args._Fields>, java.io.Serializable, Cloneable, Comparable<userHasAccess_args>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("userHasAccess_args");
 
@@ -64652,10 +67638,10 @@
     private static final org.apache.thrift.scheme.SchemeFactory STANDARD_SCHEME_FACTORY = new userHasAccess_argsStandardSchemeFactory();
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new userHasAccess_argsTupleSchemeFactory();
 
-    public java.lang.String domainId; // required
-    public java.lang.String userId; // required
-    public java.lang.String entityId; // required
-    public java.lang.String permissionTypeId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String domainId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String userId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String entityId; // required
+    public @org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId; // 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 {
@@ -64675,6 +67661,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 1: // DOMAIN_ID
@@ -64703,6 +67690,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -64715,10 +67703,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -64774,6 +67764,7 @@
       }
     }
 
+    @Override
     public userHasAccess_args deepCopy() {
       return new userHasAccess_args(this);
     }
@@ -64786,11 +67777,12 @@
       this.permissionTypeId = null;
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getDomainId() {
       return this.domainId;
     }
 
-    public userHasAccess_args setDomainId(java.lang.String domainId) {
+    public userHasAccess_args setDomainId(@org.apache.thrift.annotation.Nullable java.lang.String domainId) {
       this.domainId = domainId;
       return this;
     }
@@ -64810,11 +67802,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getUserId() {
       return this.userId;
     }
 
-    public userHasAccess_args setUserId(java.lang.String userId) {
+    public userHasAccess_args setUserId(@org.apache.thrift.annotation.Nullable java.lang.String userId) {
       this.userId = userId;
       return this;
     }
@@ -64834,11 +67827,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getEntityId() {
       return this.entityId;
     }
 
-    public userHasAccess_args setEntityId(java.lang.String entityId) {
+    public userHasAccess_args setEntityId(@org.apache.thrift.annotation.Nullable java.lang.String entityId) {
       this.entityId = entityId;
       return this;
     }
@@ -64858,11 +67852,12 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
     public java.lang.String getPermissionTypeId() {
       return this.permissionTypeId;
     }
 
-    public userHasAccess_args setPermissionTypeId(java.lang.String permissionTypeId) {
+    public userHasAccess_args setPermissionTypeId(@org.apache.thrift.annotation.Nullable java.lang.String permissionTypeId) {
       this.permissionTypeId = permissionTypeId;
       return this;
     }
@@ -64882,7 +67877,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case DOMAIN_ID:
         if (value == null) {
@@ -64919,6 +67915,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case DOMAIN_ID:
@@ -64938,6 +67936,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -64958,8 +67957,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof userHasAccess_args)
         return this.equals((userHasAccess_args)that);
       return false;
@@ -65041,7 +68038,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetDomainId()).compareTo(other.isSetDomainId());
+      lastComparison = java.lang.Boolean.compare(isSetDomainId(), other.isSetDomainId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65051,7 +68048,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetUserId()).compareTo(other.isSetUserId());
+      lastComparison = java.lang.Boolean.compare(isSetUserId(), other.isSetUserId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65061,7 +68058,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetEntityId()).compareTo(other.isSetEntityId());
+      lastComparison = java.lang.Boolean.compare(isSetEntityId(), other.isSetEntityId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65071,7 +68068,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetPermissionTypeId()).compareTo(other.isSetPermissionTypeId());
+      lastComparison = java.lang.Boolean.compare(isSetPermissionTypeId(), other.isSetPermissionTypeId());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65084,14 +68081,18 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
 
+    @Override
     public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
       scheme(oprot).write(oprot, this);
     }
@@ -65170,6 +68171,7 @@
     }
 
     private static class userHasAccess_argsStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_argsStandardScheme getScheme() {
         return new userHasAccess_argsStandardScheme();
       }
@@ -65177,6 +68179,7 @@
 
     private static class userHasAccess_argsStandardScheme extends org.apache.thrift.scheme.StandardScheme<userHasAccess_args> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, userHasAccess_args struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -65230,6 +68233,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, userHasAccess_args struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -65261,6 +68265,7 @@
     }
 
     private static class userHasAccess_argsTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_argsTupleScheme getScheme() {
         return new userHasAccess_argsTupleScheme();
       }
@@ -65296,6 +68301,7 @@
     }
   }
 
+  @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked", "unused"})
   public static class userHasAccess_result implements org.apache.thrift.TBase<userHasAccess_result, userHasAccess_result._Fields>, java.io.Serializable, Cloneable, Comparable<userHasAccess_result>   {
     private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("userHasAccess_result");
 
@@ -65306,7 +68312,7 @@
     private static final org.apache.thrift.scheme.SchemeFactory TUPLE_SCHEME_FACTORY = new userHasAccess_resultTupleSchemeFactory();
 
     public boolean success; // required
-    public org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // required
+    public @org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre; // 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 {
@@ -65324,6 +68330,7 @@
       /**
        * Find the _Fields constant that matches fieldId, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByThriftId(int fieldId) {
         switch(fieldId) {
           case 0: // SUCCESS
@@ -65348,6 +68355,7 @@
       /**
        * Find the _Fields constant that matches name, or null if its not found.
        */
+      @org.apache.thrift.annotation.Nullable
       public static _Fields findByName(java.lang.String name) {
         return byName.get(name);
       }
@@ -65360,10 +68368,12 @@
         _fieldName = fieldName;
       }
 
+      @Override
       public short getThriftFieldId() {
         return _thriftId;
       }
 
+      @Override
       public java.lang.String getFieldName() {
         return _fieldName;
       }
@@ -65407,6 +68417,7 @@
       }
     }
 
+    @Override
     public userHasAccess_result deepCopy() {
       return new userHasAccess_result(this);
     }
@@ -65441,11 +68452,12 @@
       __isset_bitfield = org.apache.thrift.EncodingUtils.setBit(__isset_bitfield, __SUCCESS_ISSET_ID, value);
     }
 
+    @org.apache.thrift.annotation.Nullable
     public org.apache.airavata.sharing.registry.models.SharingRegistryException getSre() {
       return this.sre;
     }
 
-    public userHasAccess_result setSre(org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
+    public userHasAccess_result setSre(@org.apache.thrift.annotation.Nullable org.apache.airavata.sharing.registry.models.SharingRegistryException sre) {
       this.sre = sre;
       return this;
     }
@@ -65465,7 +68477,8 @@
       }
     }
 
-    public void setFieldValue(_Fields field, java.lang.Object value) {
+    @Override
+    public void setFieldValue(_Fields field, @org.apache.thrift.annotation.Nullable java.lang.Object value) {
       switch (field) {
       case SUCCESS:
         if (value == null) {
@@ -65486,6 +68499,8 @@
       }
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public java.lang.Object getFieldValue(_Fields field) {
       switch (field) {
       case SUCCESS:
@@ -65499,6 +68514,7 @@
     }
 
     /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
+    @Override
     public boolean isSet(_Fields field) {
       if (field == null) {
         throw new java.lang.IllegalArgumentException();
@@ -65515,8 +68531,6 @@
 
     @Override
     public boolean equals(java.lang.Object that) {
-      if (that == null)
-        return false;
       if (that instanceof userHasAccess_result)
         return this.equals((userHasAccess_result)that);
       return false;
@@ -65570,7 +68584,7 @@
 
       int lastComparison = 0;
 
-      lastComparison = java.lang.Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
+      lastComparison = java.lang.Boolean.compare(isSetSuccess(), other.isSetSuccess());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65580,7 +68594,7 @@
           return lastComparison;
         }
       }
-      lastComparison = java.lang.Boolean.valueOf(isSetSre()).compareTo(other.isSetSre());
+      lastComparison = java.lang.Boolean.compare(isSetSre(), other.isSetSre());
       if (lastComparison != 0) {
         return lastComparison;
       }
@@ -65593,10 +68607,13 @@
       return 0;
     }
 
+    @org.apache.thrift.annotation.Nullable
+    @Override
     public _Fields fieldForId(int fieldId) {
       return _Fields.findByThriftId(fieldId);
     }
 
+    @Override
     public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
       scheme(iprot).read(iprot, this);
     }
@@ -65649,6 +68666,7 @@
     }
 
     private static class userHasAccess_resultStandardSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_resultStandardScheme getScheme() {
         return new userHasAccess_resultStandardScheme();
       }
@@ -65656,6 +68674,7 @@
 
     private static class userHasAccess_resultStandardScheme extends org.apache.thrift.scheme.StandardScheme<userHasAccess_result> {
 
+      @Override
       public void read(org.apache.thrift.protocol.TProtocol iprot, userHasAccess_result struct) throws org.apache.thrift.TException {
         org.apache.thrift.protocol.TField schemeField;
         iprot.readStructBegin();
@@ -65694,6 +68713,7 @@
         struct.validate();
       }
 
+      @Override
       public void write(org.apache.thrift.protocol.TProtocol oprot, userHasAccess_result struct) throws org.apache.thrift.TException {
         struct.validate();
 
@@ -65715,6 +68735,7 @@
     }
 
     private static class userHasAccess_resultTupleSchemeFactory implements org.apache.thrift.scheme.SchemeFactory {
+      @Override
       public userHasAccess_resultTupleScheme getScheme() {
         return new userHasAccess_resultTupleScheme();
       }
diff --git a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java
index b3a7ae7..b3787f8 100644
--- a/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java
+++ b/modules/sharing-registry/sharing-registry-stubs/src/main/java/org/apache/airavata/sharing/registry/service/cpi/sharing_cpiConstants.java
@@ -16,7 +16,7 @@
  */
 
 /**
- * Autogenerated by Thrift Compiler (0.10.0)
+ * Autogenerated by Thrift Compiler (0.18.1)
  *
  * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
  *  @generated
diff --git a/pom.xml b/pom.xml
index 98e072f..1293175 100644
--- a/pom.xml
+++ b/pom.xml
@@ -20,13 +20,21 @@
     under the License.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
 
     <prerequisites>
         <maven>3.0</maven>
     </prerequisites>
+    <modules>
+        <module>modules/airavata-metascheduler</module>
+        <module>modules/airavata-metascheduler/metascheduler-core</module>
+        <module>modules/airavata-metascheduler/process-scheduler</module>
+        <module>modules/computer-resource-monitoring-service</module>
+        <module>modules/airavata-metascheduler/metadata-analyzer</module>
+    </modules>
 
     <parent>
         <groupId>org.apache</groupId>
@@ -97,7 +105,7 @@
         <antrun.version>1.8</antrun.version>
         <bouncy.castle.version>1.56</bouncy.castle.version>
         <ebay.cors.filter>1.0.0</ebay.cors.filter>
-        <thrift.version>0.10.0</thrift.version>
+        <thrift.version>0.18.1</thrift.version>
         <mysql.connector.version>5.1.34</mysql.connector.version>
         <skipTests>false</skipTests>
         <google.gson.version>2.3</google.gson.version>
@@ -230,7 +238,7 @@
                 <role>PMC member</role>
             </roles>
         </developer>
-	    <developer>
+        <developer>
             <id>goshenoy</id>
             <name>Gourav Ganesh Shenoy</name>
             <email>goshenoy@apache.org</email>
@@ -440,7 +448,7 @@
                 <role>committer</role>
             </roles>
         </developer>
-	<developer>
+        <developer>
             <id>tilaks</id>
             <name>Sneha Tilak</name>
             <email>tilaks@apache.org</email>
@@ -613,13 +621,13 @@
                             </execution>
                         </executions>
                     </plugin>
-		    <plugin>
-		       <groupId>org.apache.maven.plugins</groupId>
-		       <artifactId>maven-jar-plugins</artifactId>
-		       <version>${openjpa.version}</version>
-		    </plugin>
-		    
-		    <plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-jar-plugins</artifactId>
+                        <version>${openjpa.version}</version>
+                    </plugin>
+
+                    <plugin>
                         <groupId>com.lukegb.mojo</groupId>
                         <artifactId>gitdescribe-maven-plugin</artifactId>
                         <version>3.0</version>
@@ -685,12 +693,12 @@
                         <configuration>
                             <source>11</source>
                             <target>11</target>
-                        <!--</configuration>-->
-                        <!--&lt;!&ndash;<version>3.8.0</version>&ndash;&gt;-->
-                        <!--<configuration>-->
+                            <!--</configuration>-->
+                            <!--&lt;!&ndash;<version>3.8.0</version>&ndash;&gt;-->
+                            <!--<configuration>-->
 
                             <!--<compilerArgs>-->
-                                <!--<arg>&#45;&#45;add-exports=java.base/sun.security=ALL-UNNAMED</arg>-->
+                            <!--<arg>&#45;&#45;add-exports=java.base/sun.security=ALL-UNNAMED</arg>-->
                             <!--</compilerArgs>-->
                             <!--<release>11</release>-->
                             <fork>true</fork>
@@ -713,7 +721,9 @@
                             <!-- Integration tests are run using the fail-safe plugin in the module
                                 pom -->
                             <useSystemClassLoader>false</useSystemClassLoader>
-                            <argLine>-Xmx1024m -XX:MaxPermSize=256m -javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar</argLine>
+                            <argLine>-Xmx1024m -XX:MaxPermSize=256m
+                                -javaagent:${settings.localRepository}/org/jmockit/jmockit/${jmockit.version}/jmockit-${jmockit.version}.jar
+                            </argLine>
 
                             <reuseForks>false</reuseForks>
 
@@ -823,7 +833,7 @@
                         <configuration>
                             <release>11</release>
                             <!--<compilerArgs>-->
-                                <!--<arg>&#45;&#45;add-opens=java.base/java.lang=ALL-UNNAMED</arg>-->
+                            <!--<arg>&#45;&#45;add-opens=java.base/java.lang=ALL-UNNAMED</arg>-->
                             <!--</compilerArgs>-->
                             <!--<fork>true</fork>-->
                         </configuration>
diff --git a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
index 3df85fe..51461f0 100755
--- a/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
+++ b/thrift-interface-descriptions/component-cpis/generate-cpi-stubs.sh
@@ -22,7 +22,7 @@
 # This script will generate/regenerate the thrift stubs for Airavata Components: Credential Store, Orchestrator.
 
 show_usage() {
-	echo -e "Usage: $0 [--native-thrift] [Component to generate stubs]"
+	echo -e "Usage: $0 [Component to generate stubs]"
 	echo ""
 	echo "options:"
 	echo -e "\tcs Generate/Update Credential Store Stubs"
@@ -31,7 +31,6 @@
 	echo -e "\tsharing Generate/Update Sharing Registry Stubs"
 	echo -e "\tall Generate/Update all stubs (Credential Store, Orchestrator, Registry)."
 	echo -e "\t-h[elp] Print the usage options of this script"
-	echo -e "\t--native-thrift Use natively installed thrift instead of Docker image"
 }
 
 if [ $# -lt 1 ]
@@ -46,24 +45,17 @@
 	exit 0
 fi
 
-REQUIRED_THRIFT_VERSION='0.10.0'
-THRIFT_DOCKER_IMAGE='thrift'
-THRIFT_NATIVE="false"
+REQUIRED_THRIFT_VERSION='0.18.1'
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 PARENT_DIR=`dirname "$SCRIPT_DIR"`
 
 setup() {
-    if [[ $THRIFT_NATIVE == "true" ]]; then
-        if hash thrift &> /dev/null; then
-          THRIFT_EXEC=$(which thrift)
-        else
-          THRIFT_EXEC=/usr/local/bin/thrift
-        fi
-        BASEDIR="$PARENT_DIR"
+    if hash thrift &> /dev/null; then
+        THRIFT_EXEC=$(which thrift)
     else
-        THRIFT_EXEC="docker run --rm -v $PARENT_DIR:/data $THRIFT_DOCKER_IMAGE:$REQUIRED_THRIFT_VERSION thrift"
-        BASEDIR="/data"
+        THRIFT_EXEC=/usr/local/bin/thrift
     fi
+    BASEDIR="$PARENT_DIR"
 
     VERSION=$($THRIFT_EXEC -version 2>/dev/null | grep -F "${REQUIRED_THRIFT_VERSION}" |  wc -l)
     if [ "$VERSION" -ne 1 ] ; then
@@ -226,9 +218,6 @@
             setup
             generate_thrift_stubs ${SHARING_REGISTRY_THRIFT_FILE} ${SHARING_REGISTRY_SRC_DIR}
             ;;
-    --native-thrift)
-            THRIFT_NATIVE="true"
-            ;;
     *)      echo "Invalid or unsupported option"
     	    show_usage
 	        exit 1
diff --git a/thrift-interface-descriptions/component-cpis/registry-api.thrift b/thrift-interface-descriptions/component-cpis/registry-api.thrift
index 5cbea03..7e4e898 100644
--- a/thrift-interface-descriptions/component-cpis/registry-api.thrift
+++ b/thrift-interface-descriptions/component-cpis/registry-api.thrift
@@ -737,6 +737,16 @@
            void addJob (1: required job_model.JobModel jobModel, 2: required string processId)
                         throws (1: registry_api_errors.RegistryServiceException rse)
 
+           void deleteJobs (1: required string processId)
+                                   throws (1: registry_api_errors.RegistryServiceException rse)
+
+           i32 getJobCount(1: required status_models.JobStatus jobStatus, 2: required string gatewayId,
+            3:  required double  searchBackTimeInMinutes) throws (1: registry_api_errors.RegistryServiceException rse)
+
+
+           map<string,double> getAVGTimeDistribution(1: required string gatewayId,
+            3:  required double  searchBackTimeInMinutes) throws (1: registry_api_errors.RegistryServiceException rse)
+
            string addProcess (1: required process_model.ProcessModel processModel, 2: required string experimentId)
                         throws (1: registry_api_errors.RegistryServiceException rse)
 
@@ -746,6 +756,10 @@
            string addTask (1: required task_model.TaskModel taskModel, 2: required string processId)
                         throws (1: registry_api_errors.RegistryServiceException rse)
 
+
+            void deleteTasks (1: required string processId)
+                                    throws (1: registry_api_errors.RegistryServiceException rse)
+
            experiment_model.UserConfigurationDataModel getUserConfigurationData(1: required string experimentId)
                         throws (1: registry_api_errors.RegistryServiceException rse)
 
@@ -758,6 +772,13 @@
            status_models.ProcessStatus getProcessStatus(1: required string processId)
                         throws (1: registry_api_errors.RegistryServiceException rse)
 
+
+           list<process_model.ProcessModel> getProcessListInState(1: required  status_models.ProcessState processState)
+                                   throws (1: registry_api_errors.RegistryServiceException rse)
+
+           list<status_models.ProcessStatus> getProcessStatusList(1: required  string processId)
+                                              throws (1: registry_api_errors.RegistryServiceException rse)
+
            /*
            * queryType can be TASK_ID OR PROCESS_ID
            *
@@ -2268,6 +2289,52 @@
                */
                bool isUserResourceProfileExists(1: required string userId, 2: required string gatewayID)
                      throws (1: registry_api_errors.RegistryServiceException rse)
+               /**
+                * Check if the given Compute Resource Preference exists.
+                *
+                * @param userId
+                *   The identifier for the requested User.
+                *
+                * @param gatewayID
+                *   The identifier to link gateway for the requested User Resource Profile.
+                * @param computeResourceId
+                *   The identifier for the requested computeResourcePreference.
+                *
+                * @return true if compute resource preference exisists.
+                *
+               */
+               bool isUserComputeResourcePreferenceExists(1: required string userId, 2: required string gatewayID,
+                3: required string computeResourceId)
+                     throws (1: registry_api_errors.RegistryServiceException rse)
+
+
+               /**
+                * Check if the given User Resource Profile exists.
+                *
+                * @param computeResourceId
+                *   The identifier for the requested compute resource.
+                *
+                * @param groupResourceProfileId
+                *   The identifier for the groupResourceProfileId.
+                *
+                * @return true if groupComputeResourcePreference exists.
+                *
+               */
+               bool isGroupComputeResourcePreferenceExists(1: required string computeResourceId, 2: required string groupResourceProfileId)
+                     throws (1: registry_api_errors.RegistryServiceException rse)
+
+               /**
+                * Check if the given User Resource Profile exists.
+                *
+                * @param groupResourceProfileId
+                *   The identifier for the requested groupResourceProfileId.
+                *
+                * @return true if groupResourceProfile exists.
+                *
+               */
+               bool isGroupResourceProfileExists(1: required string groupResourceProfileId)
+                     throws (1: registry_api_errors.RegistryServiceException rse)
+
 
                /**
                 * Fetch the given User Resource Resource Profile.
@@ -2579,9 +2646,12 @@
                list<status_models.QueueStatusModel> getLatestQueueStatuses()
                      throws (1: registry_api_errors.RegistryServiceException rse)
 
-               void registerQueueStatuses(1: required list<status_models.QueueStatusModel> queueStatuses)
+              void registerQueueStatuses(1: required list<status_models.QueueStatusModel> queueStatuses)
                                     throws (1: registry_api_errors.RegistryServiceException rse)
 
+              status_models.QueueStatusModel getQueueStatus(1: required string hostName,2: required string queueName)
+                                   throws (1: registry_api_errors.RegistryServiceException rse)
+
               /**
               * API Methods related to replica catalog
               **/
diff --git a/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift b/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
index 1941d64..0ec9b36 100644
--- a/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
+++ b/thrift-interface-descriptions/data-models/experiment-catalog-models/experiment_model.thrift
@@ -69,6 +69,7 @@
     9: optional string experimentDataDir;
     10: optional bool useUserCRPref;
     11: optional string groupResourceProfileId
+    12: optional list<scheduling_model.ComputationalResourceSchedulingModel> autoScheduledCompResourceSchedulingList,
 }
 
 /**
diff --git a/thrift-interface-descriptions/data-models/experiment-catalog-models/scheduling_model.thrift b/thrift-interface-descriptions/data-models/experiment-catalog-models/scheduling_model.thrift
index 66b54d9..8a653d0 100644
--- a/thrift-interface-descriptions/data-models/experiment-catalog-models/scheduling_model.thrift
+++ b/thrift-interface-descriptions/data-models/experiment-catalog-models/scheduling_model.thrift
@@ -40,5 +40,6 @@
     9: optional string staticWorkingDir,
     10: optional string overrideLoginUserName,
     11: optional string overrideScratchLocation,
-    12: optional string overrideAllocationProjectNumber
+    12: optional string overrideAllocationProjectNumber,
+    13: optional i32 mGroupCount
 }
\ No newline at end of file
diff --git a/thrift-interface-descriptions/data-models/experiment-catalog-models/status_models.thrift b/thrift-interface-descriptions/data-models/experiment-catalog-models/status_models.thrift
index 3de18f4..dda158e 100644
--- a/thrift-interface-descriptions/data-models/experiment-catalog-models/status_models.thrift
+++ b/thrift-interface-descriptions/data-models/experiment-catalog-models/status_models.thrift
@@ -57,7 +57,10 @@
     COMPLETED,
     FAILED,
     CANCELLING,
-    CANCELED
+    CANCELED,
+    QUEUED,
+    DEQUEUING,
+    REQUEUED
 }
 
 enum JobState {
@@ -96,7 +99,8 @@
     1: required ProcessState state,
     2: optional i64 timeOfStateChange,
     3: optional string reason,
-    4: optional string statusId
+    4: optional string statusId,
+    5: optional string processId
 }
 
 struct TaskStatus {
diff --git a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
index 1d64c00..06744a9 100644
--- a/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
+++ b/thrift-interface-descriptions/data-models/resource-catalog-models/compute_resource_model.thrift
@@ -90,7 +90,10 @@
     CHECK_JOB,
     SHOW_QUEUE,
     SHOW_RESERVATION,
-    SHOW_START
+    SHOW_START,
+    SHOW_CLUSTER_INFO,
+    SHOW_NO_OF_RUNNING_JOBS,
+    SHOW_NO_OF_PENDING_JOBS
 }
 
 
diff --git a/thrift-interface-descriptions/generate-thrift-stubs.sh b/thrift-interface-descriptions/generate-thrift-stubs.sh
index 2912153..3fd61fc 100755
--- a/thrift-interface-descriptions/generate-thrift-stubs.sh
+++ b/thrift-interface-descriptions/generate-thrift-stubs.sh
@@ -23,7 +23,7 @@
 #    and Data Model java beans in java, C++, PHP and Python.
 
 show_usage() {
-	echo -e "Usage: $0 [docker-machine start--native-thrift] [Language to generate stubs]"
+	echo -e "Usage: $0 [Language to generate stubs]"
 	echo ""
 	echo "options:"
 	echo -e "\tjava Generate/Update Java Stubs"
@@ -32,7 +32,6 @@
 	echo -e "\tpython Generate/Update Python Stubs."
 	echo -e "\tall Generate/Update all stubs (Java, PHP, C++, Python)."
 	echo -e "\t-h[elp] Print the usage options of this script"
-	echo -e "\t--native-thrift Use natively installed thrift instead of Docker image"
 }
 
 if [ $# -lt 1 ]
@@ -47,24 +46,17 @@
 	exit 0
 fi
 
-REQUIRED_THRIFT_VERSION='0.10.0'
-THRIFT_DOCKER_IMAGE='thrift'
-THRIFT_NATIVE="false"
+REQUIRED_THRIFT_VERSION='0.18.1'
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 AIRAVATA_DIR=`dirname "$SCRIPT_DIR"`
 
 setup() {
-    if [[ $THRIFT_NATIVE == "true" ]]; then
-        if hash thrift &> /dev/null; then
-          THRIFT_EXEC=$(which thrift)
-        else
-          THRIFT_EXEC=/usr/local/bin/thrift
-        fi
-        BASEDIR="$AIRAVATA_DIR"
+    if hash thrift &> /dev/null; then
+        THRIFT_EXEC=$(which thrift)
     else
-        BASEDIR="/data"
-        THRIFT_EXEC="docker run --rm -v $AIRAVATA_DIR:$BASEDIR $THRIFT_DOCKER_IMAGE:$REQUIRED_THRIFT_VERSION thrift"
+        THRIFT_EXEC=/usr/local/bin/thrift
     fi
+    BASEDIR="$AIRAVATA_DIR"
 
     VERSION=$($THRIFT_EXEC -version 2>/dev/null | grep -F "${REQUIRED_THRIFT_VERSION}" |  wc -l)
     if [ "$VERSION" -ne 1 ] ; then
@@ -350,9 +342,6 @@
             setup
             generate_python_stubs
             ;;
-    --native-thrift)
-            THRIFT_NATIVE="true"
-            ;;
     *)      echo "Invalid or unsupported option"
     	    show_usage
 	        exit 1
diff --git a/thrift-interface-descriptions/service-cpis/generate-service-cpi-stubs.sh b/thrift-interface-descriptions/service-cpis/generate-service-cpi-stubs.sh
index d892f18..e552175 100755
--- a/thrift-interface-descriptions/service-cpis/generate-service-cpi-stubs.sh
+++ b/thrift-interface-descriptions/service-cpis/generate-service-cpi-stubs.sh
@@ -22,13 +22,12 @@
 # This script will generate/regenerate the thrift stubs for Airavata Services: Profile Service.
 
 show_usage() {
-	echo -e "Usage: $0 [--native-thrift] [Component to generate stubs]"
+	echo -e "Usage: $0 [Component to generate stubs]"
 	echo ""
 	echo "options:"
 	echo -e "\tps Generate/Update Profile Service Stubs"
 	echo -e "\tall Generate/Update all stubs (Profile Service)."
 	echo -e "\t-h[elp] Print the usage options of this script"
-	echo -e "\t--native-thrift Use natively installed thrift instead of Docker image"
 }
 
 if [ $# -lt 1 ]
@@ -43,24 +42,17 @@
 	exit 0
 fi
 
-REQUIRED_THRIFT_VERSION='0.10.0'
-THRIFT_DOCKER_IMAGE='thrift'
-THRIFT_NATIVE="false"
+REQUIRED_THRIFT_VERSION='0.18.1'
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 PARENT_DIR=`dirname "$SCRIPT_DIR"`
 
 setup() {
-    if [[ $THRIFT_NATIVE == "true" ]]; then
-        if hash thrift &> /dev/null; then
-          THRIFT_EXEC=$(which thrift)
-        else
-          THRIFT_EXEC=/usr/local/bin/thrift
-        fi
-        BASEDIR="$PARENT_DIR"
+    if hash thrift &> /dev/null; then
+        THRIFT_EXEC=$(which thrift)
     else
-        THRIFT_EXEC="docker run --rm -v $PARENT_DIR:/data $THRIFT_DOCKER_IMAGE:$REQUIRED_THRIFT_VERSION thrift"
-        BASEDIR="/data"
+        THRIFT_EXEC=/usr/local/bin/thrift
     fi
+    BASEDIR="$PARENT_DIR"
 
     VERSION=$($THRIFT_EXEC -version 2>/dev/null | grep -F "${REQUIRED_THRIFT_VERSION}" |  wc -l)
     if [ "$VERSION" -ne 1 ] ; then
@@ -198,9 +190,6 @@
             setup
             generate_thrift_stubs ${PROFILE_SERVICE_THRIFT_FILE} ${PROFILE_SERVICE_SRC_DIR}
             ;;
-    --native-thrift)
-            THRIFT_NATIVE="true"
-            ;;
     *)      echo "Invalid or unsupported option"
     	    show_usage
 	        exit 1
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
index 1f7b591..94f84fb 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/group-manager/group-manager-cpi.thrift
@@ -38,9 +38,6 @@
 
 service GroupManagerService  extends base_api.BaseAPI {
 
-    string getAPIVersion ()
-                       throws (1: group_manager_cpi_errors.GroupManagerServiceException gse)
-
     string createGroup(1: required security_model.AuthzToken authzToken, 2: required group_manager_model.GroupModel groupModel)
                     throws (1: group_manager_cpi_errors.GroupManagerServiceException gse,
                             2: airavata_errors.AuthorizationException ae);
diff --git a/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift b/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
index a299527..f3a2bd6 100644
--- a/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
+++ b/thrift-interface-descriptions/service-cpis/profile-service/profile-user/profile-user-cpi.thrift
@@ -38,9 +38,6 @@
 
 service UserProfileService extends base_api.BaseAPI {
 
-  string getAPIVersion ()
-                       throws (1: profile_user_cpi_errors.UserProfileServiceException upe)
-
   /**
    * Create an initial UserProfile based on information in the IAM service for this user.
    */
@@ -87,4 +84,4 @@
                   throws (1: profile_user_cpi_errors.UserProfileServiceException upe,
                           2: airavata_errors.AuthorizationException ae);
 
-}
\ No newline at end of file
+}